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: Software, Programování, Download, Textový řetězec, Integrovaný editor, První spuštění, LNG, První parametr, Label, Komponenta, Automatický překlad, Díl, Pace


Určitě si přečtěte

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Takhle zemřete, když asteroid dopadne na vaše město

Takhle zemřete, když asteroid dopadne na vaše město

** Jak by to dopadlo, kdyby na světovou metropoli či do nedalekého moře dopadl velký asteroid? ** Simulovali to odborníci z University of Southampton ** Výsledky jsou velmi zajímavé

Petr Kubala | 32

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 44

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 57

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

** Vědci spočítali, jak velká by musela být posádka pro vícegenerační let k nejbližší hvězdné soustavě ** Proxima Centauri se nachází 4,3 světelných let od nás ** Za současných technologií bychom k ní letěli 6300 let

Petr Kubala | 57


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji