Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Jak ve VB vytvořit vícejazyčnou aplikaci. |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 23.10.2003
| Publikováno: 23.10.2003
| Čtenářů: 2795
| Unikátních: 2764
|
Možná řešení s jejich klady a zápory.
Chcete-li vytvořit aplikaci umožňující výběr jazyka, ve kterém je aplikace zobrazena máte v podstatě dvě možnosti. První možností je použití
resouce souboru (souboru zdrojů), druhou možností je použití externího souboru s definicí jazyka.
Rozeberme si obě metody a řekněme si jaké mají výhody a nevýhody. V případě použití Resource souboru máte ve Visual Basicu jednotně
uložená data zdrojů do resource souboru můžete totiž uložit obrázky, zvuky, ikony a texty.
Při použití resource souboru musíme jednotlivým textům (ikonám, obrázkům) z programu v jednotlivých jazycích přidělovat stále stejná čísla
navýšená o konstantu, která odděluje od sebe jednotlivé jazyky. Tedy například české texty vkládáme pod ID v rozsahu 1000-3000, anglické texty
pak v rosahu ID 4000-6000, německé v rozmezí 7000-9999 atd.
Uživateli potom umožníme volby jazyka a program přistupuje k textům v res souboru přes vzorec kde k ID Jazyku (CZ=1000,EN=4000,DE=7000) přičteme
ID Textu.
Nevýhoda je, že při změně RES souboru musíme znovu zkompilovat aplikaci (RES soubor se stává po kompilaci součástí EXE souboru), je tedy mnohem problematičtější
přidat další jazyk, nebo měnit již vyplněné hodnoty.
Ve druhém případě (použití externího souboru) máte samozřejmě mnoho možností.
Můžete použít databázi, XML soubor, speciálně formátovaný textový soubor, vlastní definici nebo cokoliv jiného Vás napadne :o))
Toto řešení má jednu ohromnou výhodu, pokud zveřejníte formát tohoto "jazykového" souboru, může jazykové mutace vytvářet v podstatě kdokoliv
bez nutnosti znovu překompilovávat aplikaci. Toto řešení využívá například (Total Commander, Direct Connect ++, Inno Setup).
Je tedy jen na Vás pro které řešení se rozhodnete, já jsem se Vám pouze pokusil nastínit
některá PRO a PROTI, která by Vám ve vašem rozhodování mohla pomoci.
|