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:
Informace
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ň.
Ú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:
- v manuálu k ResEditu (lehce zastaralé)
- na vývojářském webu Apple (neúplné)
- na webu ResExcellence (neúplné, ale často se šablonami)
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):
- Lokalizace I: Začínáme
- Lokalizace II: Správa a překlad
- Lokalizace III: Dokončení a soubory .nib
- Lokalizace IV: Karbonové prostředky