Užitečné komponenty pro Delphi a C++ Builder, díl 89. - Balmsoft Polyglot

Dnes si ukážeme další komponentu pro překládání našich aplikací do cizích jazyků.

Balmsoft Polyglot

V překládání aplikací existují v zásadě dva hlavní postupy. V prvním případě jsou veškeré lokalizované řetězce uloženy v resources, jsou tím pádem přímo součástí exe souboru a přidávání jazyků tak vyžaduje rekompilaci celého projektu. Nové jazyky tak může přidávat prakticky pouze autor aplikace. Komponentu, která tento postup používá, jsme si už kdysi představovali. Obvykle je součástí integrovaný editor v podobě tabulky, který velmi snadno umožňuje jednotlivé odpovídající si výrazy překládat řádek po řádku a autor má vše pod kontrolou. Druhý přístup používá externích textových souborů, které veškeré řetězce obsahují a jelikož se jedná právě o běžné textové soubory (např. INI soubory), dají se snadno překládat v textovém editoru a překládat tak může nejen samotný autor, ale prakticky kdokoliv. V obou případech je obvykle možné přepínat mezi jednotlivými jazyky za běhu aplikace bez nutnosti jejího restartu. Dnešní komponenta je zástupcem zmiňovaného druhého přístupu.

Instalace této komponenty je přímo ukázková, neboť nevyžaduje téměř žádný zásah uživatele. Po spuštění instalace se zobrazí klasický průvodce instalací, kde zvolíte pouze cílovou složku a pro jaká prostředí (verze Delphi) chcete komponentu nainstalovat. Vše ostatní už je automatické a po spuštění Delphi již najdete komponenty na paletě.

Ano, množné číslo je na místě, protože se ve skutečnosti jedná o komponenty dvě. První, PolyglotManager, slouží pro přepínání jazyků, v aplikaci se vyskytuje pouze jednou a ovládá další komponentu (nebo několik), PolyglotTranslator. Ta zajišťuje vlastní přepnutí jazyka u konkrétního formuláře, na který tuto komponentu umístíte.

Postup při překladu je pak vlastně velmi jednoduchý. U hotové (nebo rozpracované) aplikace musíme nejprve vygenerovat první základní jazykový soubor. K tomu nám poslouží průvodce, kterého spustíme přes menu Project výběrem položky Generate LNG File. V tomto dialogovém okně můžeme nastavit parametry, které zásadním způsobem ovlivňují "hloubku" překladu. Necháte-li vše v základním nastavení, bude do překladu zahrnuto prakticky úplně vše, nač si jen vzpomenete. U malého zkušebního projektu, který měl vlastně jen dva textové řetězce (titulek formuláře a jeden Label) pak velikost takového vygenerovaného jazykového souboru přesáhla 15 kB. Do souboru jsou totiž zahrnuty i řetězce z resources, tj. chybová hlášení a řada dalších systémových konstant, které se obvykle nepřekládají. Pokud chcete mít překlad opravdu 100%, můžete se potrápit i s těmito texty. Kromě těchto řetězců je do souboru zahrnuta i řada vlastností vizuálních komponent, které na formuláři máte a to nejen textové, ale i pozice oken, jména a parametry použitých typů písma atd.. U obyčejné komponenty Label tak máte místo jednoho jediného řádku textu těchto řádků 20. Při rozsáhlejší aplikaci si pak snadno dokážete představit, do jakých velikostí asi může takový jazykový soubor narůst. Naštěstí lze všechny tyto parametry ovlivnit, takže můžete ve zmiňovaném průvodci zvolit seznam těch vlastností komponent, které budou překládány. Obvykle tedy vystačíme s parametry Caption, Text a podobně. Pak již stačí jen kliknout na příslušné tlačítko a soubor bude v okamžiku vytvořen.

Máme-li soubor připraven, stačí nám pak jen obyčejný textový ASCII editor úrovně Poznámkového bloku, ve kterém vytvoříme různé jazykové verze. Tyto INI soubory pak uložíme do adresáře s aplikací (či podadresáře), komponentě PolyglotManager řekneme, kde je má hledat a pak již jen za běhu aplikace změnou příslušné vlastnosti komponenty mezi jazyky přepínáme. To je vše.

Komponenta je pochopitelně freeware, ale bez zdrojových kódů. Za ty už musíte v případě zájmu zaplatit. Obsahuje i slušnou nápovědu, kde se dozvíte, jak s nástrojem pracovat, různé dobré tipy a rovněž je přibalena i ukázková aplikace. Chcete-li tedy rozšířit vaši aplikaci i mezi cizojazyčné uživatele, tato komponenta je rozhodně dobrá volba.

www
verze: 1.5
Delphi: 4 - 7
C++ Builder: ne

Diskuze (3) Další článek: Další kritická záplata pro Windows XP: zavřete dvoje vrata pro červy

Témata článku: , , , , , , , , , , , , , , , , ,