Lokalizace produktů patří k činnostem, které kladou velký důraz na znalosti nejen výchozího a počátečního jazyka, ale i kultury země, pro kterou se překládá.
Příkladem může být např. diskuse nad překladem celkem neškodného
slovíčka Cancel na dřívější Zrušit, současné Storno (pamětníci
Windows 3.1 jistě znají potvrzovací hlášku při snaze jejich ukončení
zrovna při probíhajícím tisku: Tisk všech úloh bude zrušen s tlačítky
OK a Zrušit). Podobně pokus o překlad OK na Budiž vyvolávalo rozpaky
nejednoho uživatele (pravdou je, že toto bylo Microsoftu spíše uměle a
škodolibě předhazováno).
Lokalizace se skládá z mnoha činností, kterými bývají překlady
krabic, ve kterém se software dodává, příprava reklamní strategie (co
zabírá např. v Německu nemusí nutně zabrat v Korei), upravení reálií
(britský program používající např. představení „naší královny“ se
pro náš trh změní na představení „našeho presidenta“, ale také
vlastí překlad uživatelského prostředí aplikace. A právě pro poslední
jmenovanou činnost se výborně hodí Language Localizator (dále jen LL).
Lokalizování aplikací se běžně provádí několika způsoby. První
spočívá ve vytváření několika verzí pro různé jazyky, pro které jsou
texty napevno zadrátované ve zdrojových textech a tedy i výsledné
aplikaci. Další — poněkud lepší — nahrazuje texty „zástupkami“ a
konkrétní texty (a případně i další atributy jako jsou pozice, velikost,
…) se získávají z externích souborů nebo z databáze. Konečně
způsob, který využívá i LL, je přímá editace zdrojů (resources)
v daném PE souboru (typicky EXE či DLL soubor).
LL je modulární aplikací založenou na COM objektech, kterou je možné
dle potřeby dále rozšiřovat. Díky tomu je možné mít např. modul pro
lokalizování aplikací pro platformu Win32 či Linux nebo modul pro lokalizaci
informace o verzi, ale i například modul pro export/import textů či modul
pro statistiky. Jejich seznam je v aplikaci uveden a lze jej měnit.
Po spuštění LL si vyberete jazyk, do kterého budete chtít překládat a
přidáte všechny soubory, které je potřeba přeložit. LL jednotlivým
modulům (souborům) sice říká projekt, ale bohužel si nejde uložit např.
skupinu tří souborů.
Po zadání souboru pro lokalizaci (projektu) se načtou všechny dostupné
zdroje (resp. zdroje, které používané moduly umí načíst) a zobrazí se ve
stromové struktuře. Zde jsou umístěny kurzory, dialogy, řetězce a další.
Pro každý konkrétní zdroj je pak připraven editor, který jej umožňuje
změnit. U řetězců vidíte kromě originálního textu a vašeho překladu
i název zdroje a jeho ID. Lokalizace obrázků spočívá pouze v načtení
jiného z disku, takže v tomto případě je potřeba mít nějaký
bitmapový editor. Dobře je propracovaný editor dialogů. Ten je rozdělen na
několik částí. Horní obsahuje editor řetězců (resp. v případě
programu napsaného v Delphi hodnot řetězcových vlastností komponent na
formuláři použitých), numerických hodnot, datumů, binárních dat (např.
seznamu obrázků) a množin. Zde nejde o množiny v pravém slova smyslu, ale
jedná se o vlastnosti typu objekt — díky tomu můžete např. pro různé
jazyky mít odlišné hlavní menu a zde si nastavíte to správné. V druhé
části pak vidíte, jak formulář přibližně vypadá a dokonce lze hýbat
jak s ním, tak s komponentami, které obsahuje. Změny se pak promítnou do
editoru. Ne vždy však LL reaguje správně na myš a dochází k nechtěnému
přeskupení či jiným změnám v designu.
Při lokalizaci je příjemná možnost bez složité manipulace sekvenční
přecházení okny editorů jednotlivých zdrojů pomocí příkazů v menu, ke
kterým (a nejen k nim) si lze definovat vlastní klávesové zkratky.
Jak postupně (či na přeskáčku) provádíte změny, můžete si označit
jednotlivé lokalizační jednotky jako zlokalizované či nezlokalizované (na
začátku jsou všechny označeny jako nové) a případně je zamknout, aby
lokalizovat nešly — ne vždy se totiž může vše zlokalizovat a pokud se
tak přesto stane, může se výsledná aplikace chovat jinak, než jak popisuje
dokumentace.
Přiznejme si, že pokud bychom měli lokalizovat z jednoho jazyka do
druhého několik (desítek) aplikací, asi bychom brzy vykvetli z neustálého
překládání stejných textů. Tomu naštěstí dokáží zabránit
uživatelské slovníky, které mohou ušetřit i hodiny práce. Navíc díky
modularitě systému je možné exportovat nepřeložené texty do potřebné
podoby, nechat text přeložit externí firmou a následně načíst zpět.
Při práci s programem jsem měl ze začátku docela problémy, protože mi
LL nepřipadal příliš intuitivní, místy bych dokonce volil jiné řešení
uživatelského rozhraní. Také nápověda chybí, k dispozici je pouze
krátký manuál, ve kterém ovšem není řečeno vše, co by řečeno být
mělo. Občas mě LL potěšil chybovou, ne příliš srozumitelnou
zprávou.
LL je i přes uvedené výhrady velmi dobrý pomocník při lokalizaci
aplikací. Připočteme-li k zajímavé ceně i skutečnost, že ve
vývojových nástrojích společnosti Borland rozumně lokalizovat nelze,
dostaneme se k takovému, který by u vývojáře vícejazyčných aplikací
neměl chybět. V současné době je dostupná verze i pro .NET
Framework.
Plusy, mínusy, závěr
Plusy
- Modularita
- Dostupné slovníky pro některé jazyky
Mínusy
- Nápověda
- Nedotaženosti v uživatelském prostředí
Závěr
- Nástroj pro lokalizaci aplikací.
Kontakt, cena
Tento článek byl napsán pro časopis Softwarové noviny 11/2003.
Upozornění: tento text neprošel redakční úpravou, takže je
tak, jak byl napsán včetně případných chyb. Žádná část tohoto
článku nesmí být použita bez předchozího souhlasu autora.
Seznam mých dalších článků je v tomto přehledu.