Lokalizace IV: Karbonové prostředky - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Seriály

Více seriálů



Začínáme s

Lokalizace IV: Karbonové prostředky

7. září 2004, 00.00 | Na závěr si řekneme několik základních věcí o lokalizaci karbonových prostředků, ať už obsažených v samostatných souborech .rsrc nebo přímo v aplikaci.

Na závěr si řekneme několik základních věcí o lokalizaci karbonových prostředků, ať už obsažených v samostatných souborech .rsrc nebo přímo v aplikaci.


Soubory .rsrc – data a prostředky

V balíku karbonové aplikace je uživatelské rozhraní, často spolu s dalšími lokalizovatelnými prostředky (resources) aplikace, uloženo v souborech s příponou .rsrc, o kterých jsem si už něco řekli v prvním díle a zatím si z nich umíme pouze vyfiltrovat řetězce AppleGlotem.

Původně byly prostředky vždy v samostatné části souboru – resource forku, zatímco pro běžná data byl vyhrazen data fork. Tato struktura je zakotvená přímo v souborovém systému HFS a nejlépe si ji představíte, jako dva soubory (pro prostředky a pro data) přiřazené jedné cestě (tedy umístění a jménu souboru) a vystupující tedy z hlediska uživatele jako soubor jediný. Při komunikaci s jinými platformami se obvykle přenese jen datová část, ta totiž odpovídá souboru v souborových systémech Windows nebo Linuxu.

Ve starém Mac OS sestávaly všechny aplikace z jednoho souboru, v datové části byl u moderních aplikací spustitelný kód, u starších libovolná data, v prostředkové části všechny prostředky aplikace: metainformace, prvky UI, ikony, obrázky, řetězce, zvuky a další. V karbonových aplikacích lze sice zůstat u starého schématu, ale většina z nich v Mac OS X přešla na balíky, o kterých jsme mluvili v předchozích dílech.

Jako pozůstatky starého systému, obsahují ovšem balíky karbonových aplikací často soubory s prostředky (s příponou .rsrc). Už ovšem není třeba mít druhou část pro data nebo spustitelný kód, proto Apple doporučuje, aby prostředky byly sice v tomtéž formátu, ale v datové části souboru. Pokud takový soubor otevřete v ResEditu, bude vám sděleno, že prostředková část je prázdná. Abychom s takovými soubory mohli pracovat v ResEditu, potřebujeme nejdřív umět přenášet prostředky z jedné části souboru do druhé. Na to můžete použít můj nástroj resdump, který můžete spustit následujícími příkazy:

resdump -dr zdroj cíl   Zkopíruje datovou část souboru zdroj do prostředkové části souboru cíl.
resdump -rd zdroj cíl Zkopíruje prostředkovou část souboru zdroj do datové části souboru cíl.
resdump -dr /dev/null cíl Smaže prostředkovou část souboru cíl.
resdump -dd /dev/null cíl Smaže datovou část souboru cíl.
resdump Vypíše krátkou anglickou nápovědu.

Pokud jste s podobným nástrojem ještě nepracovali, příkazy vkládejte tak, že do okna Terminálu místo textu „resdump“ vhodíte samotný nástroj, místo textů „zdroj“ a „cíl“ vhoďte do okna dané soubory (může to být dvakrát tentýž soubor, jednou pracujeme s jeho datovou, jednou prostředkovou částí). Ostatní opište, a kde je mezera, udělejte aspoň jednu. Pak odřádkujte, tím se příkaz vykoná. Pozor na to, že případný omyl nelze vzít zpět, vždy tedy mějte po ruce záložní kopii.

Příklad použití pro úpravu prostředků v datové části je:

resdump -dr Localized.rsrc Localized.rsrc
(provedení úprav v ResEditu)
resdump -rd Localized.rsrc Localized.rsrc
resdump -dr /dev/null Localized.rsrc


Práce s ResEditem

ResEdit budeme potřebovat jednak na překlad AppleGlotem nezpracovaných prostředků, jednak abychom doladili rozvržení prvků rozhraní. Po otevření souboru v ResEditu, se nám zobrazí ikony označené čtyřpísmennými kódy, které označují jednotlivé typy prostředků (na obrázku okno v pozadí). Poklepáním na některou z ikon se otevře seznam všech prostředků daného typu (na obrázku vpravo dole), které můžeme poklepáním otevřít v samostatném okně a upravovat. Prostředky jsou v rámci jednoho typu identifikovány unikátním číslem, ID. Jméno prostředku je volitelné, obvykle se sice nepoužívá pro identifikaci, ale ani se nezobrazuje v aplikaci, nepřekládá se tedy. Při editaci dávejte pozor na to, že funkce Undo často není dostupná, a pokud je, má jen jednu úroveň.

ResEdit - editace


Úpravy grafického rozhraní v ResEditu

Elementy, jejichž velikost budeme upravovat, najdeme v prostředcích ‚DITL‘, což jsou obsahy oken (na obrázku v popředí). Pokud stiskneme klávesu alt, zmizí čísla položek a je lépe vidět, jaké je rozmístění položek. S objekty se manipuluje podobně jako v grafickém editoru. Měnit lze jednak jednotlivé ovládací prvky, jednak velikost samotného okna.


Překlad zbylých prostředků v ResEditu

Podobně jako u některých typů souborů v adresáři Resources se může stát, že nejsou přeloženy některé méně obvyklé typy prostředků. Podívejme se alespoň na několik typů, které stojí za pozornost:


texty – ‚TEXT‘ a ‚styl

Prostředky typu ‚TEXT‘ (delší texty) jsou sice automaticky přeloženy AppleGlotem, často jsou s nimi ovšem asociované (tzn. mají stejné ID) prostředky typu ‚styl‘, které obsahují formátování textu (stejný typ formátování jako v Zápisníku II a aplikacích s ním kompatibilních). Nahrazením původního textu lokalizovaným se ale případné formátování poškodí. Nejsnazší způsob opravy je zkopírování do Zápisníku II nebo lepšího kompatibilního editoru, přeformátování a vložení zpět.


obrázky – ‚PICT

Tyto obrázky jsou ve formátu QuickDraw PICT. Lze je upravovat zkopírováním do grafického editoru a opětovným vložením. Pozor na to, že mohou být i vektorové a bitmapové editory je pak často bez varování převedou na bitmapu. Vektorové obrázky PICT lze editovat například v AppleWorks. Jinak platí totéž, co jsme si o obrázcích řekli v minulém díle.


ikony – ‚icns‘, ‚cicn‘, ‚ICON‘, ‚SICN‘, ‚ICN#‘ a asociované

Ikony, které jsou přiřazené typům souborů a aplikaci samotné, se nelokalizují (nejsou proto ani v souborech Localized.rsrc), to se týká většiny prostředků typu ‚icns‘, případně ‚ICN#‘ a asociovaných typů. V rozhraní aplikace se objevují především prostředky typu ‚cicn‘, ty lze editovat přímo nebo zkopírovat do externího editoru. Prostředky ‚icns‘ mají formát totožný se soubory s příponou .icns, po vložení do souboru je lze editovat příslušnou aplikací (např. Icon Composer z Xcode Tools).


další typy a tipy

Informace o dalších typech najdete:

Pokud potřebujeme upravit prostředek pro který nemá ResEdit editor, poohlédněte se po odpovídajícím editoru nebo šabloně (template, ‚TMPL‘) na internetu, některé jsou dostupné na ResExcellence. Obdobně lze vytvořit šablony přímo pro AppleGlot podle dokumentace k Monte SDK.


Lokalizace jednosouborových aplikací

V případě, že lokalizovaná aplikace není balík, jsou všechny její prostředky v prostředkové části samotného souboru aplikace (aplikace tedy obsahuje vždy jen jednu lokalizaci). Místo souboru Localized.rsrc upravujeme tedy v závěru lokalizace samotnou aplikaci. Je třeba mít na paměti, že aplikace obsahuje jak prostředky, které lokalizaci vyžadují, tak ty, které jsou pro všechny jazykové verze společné, a to bez jakéhokoli odlišení.


Na závěr

Dočetli jste poslední díl seriálu, v němž jsem se pokusil o úvod do technické problematiky lokalizace. Záměrně jsem se nezabýval překladem samotným a terminologií. Stejně tak by rámec přesahovaly návody na práci se všemi existujícími komerčními nástroji, místo toho jsem se soustředil na principy lokalizace vysvětlené na příkladech volně dostupných aplikací.

Než se do lokalizace pustíte, určitě si nainstalujte aktuální lokalizaci Mac OS X, a kde je to možné, používejte jí zavedenou terminologii. V případě, že by se vám překlad v lokalizaci nezdál vhodný, můžete to konzultovat s lokalizátory. Na prvním místě je vždy konzistence terminologie. Kde je to možné, využijte alespoň automatické kontroly pravopisu. S lokalizovaným systémem získáte korektor od společnosti Lingea. který nedovoluje učení nových slov, možná proto raději využijete volně šiřitelný cocoAspell (slovníky mají podobnou úroveň).

Při lokalizování je také třeba dbát na meze stanovené zákonem. Lokalizovaný software nebo jeho část (například adresář .lproj) je stále modifikací původního softwaru a lze ho tedy distribuovat jen, pokud to dovolí autor, resp. licenční podmínky.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Začínáme s  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

serial

Autor: iMacek Muž

Založeno: 07.09.2004, 00:11
Odpovědí: 0

..diky,bylo to podnetne.

Odpovědět na příspěvek

Carbon prostředky

Autor: Jan Cinert Muž

Založeno: 09.12.2004, 16:39
Odpovědí: 0

Při lokalizaci prostředků se nemusí při práci s lokalizovanou aplikaci zobrazovat diakritika. Je potřeba v prostředcích TxTr nastavit písma typu CE např. Geneva CE. Prostředky TxTr obsahují informace o písmu pro různé situace.
Carbon aplikace psané v CodeWarrior od společnosti Metrowerks obsahují pro lokalizaci velmi důležité prostředky CTYP, které definují přizpůsobené typy uživatelského rezhraní a velmi často obsahují text, který je třeba lokalizovat. S každou takovou aplikací jsou v souboru Localized.rsrc přiloženy prostředky pro všechny přizpůsobené typy použité v této aplikaci. Soubor s těmito prostředky je potřeba umístit do složky, kterou lokalizační nástroj (AppleGlot, PowerGlot) používá jako zdroj prostředků TMPL.
Alternativou pro ResEdit a Resorcerer jsou plně nativní Cocoa aplikace Rezilla – obsahuje přes 300 prostředkuůTMPL, open source pod sourceforge, ResFool, ResKnife, Resfork. Stále nejsou dost dobré, ale jsou plně vyvíjeny. Jsou k dispozici i jiné.
Při překladu prostředků TEXT je třeba jejich obsahovat zformátovat, protože se změnou jejich obsahu formátování poruší.
Jan Cinert
www.macos.kvalitn
e.cz

Odpovědět na příspěvek

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: