Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - Ako najjednoduchšie lokalizovať program do viac jazykov?

Kedysi za čias TP som to raz skúsil. Robil som to štýlom:

const
  textzmazat = 1;
  textpridat = textzmazat + 1;

A takto to pokračovalo ďalej. V externom súbore som mal texty a tie som uložil do poľa. K tomuto poľu som už potom pristupoval ako k normálnym reťazcom pomocou uvedených konštánt.

Teraz uvažujem nad podobným problémom v Delphi. Napadlo ma, že už vtedy som tie číselné konštanty mohol nahradiť vymenovaným typom a práca by bola jednoduchšia o to pričítanie jednotky. Viem, že v Delphi je nejaká takáto možnosť pomocou zdrojov *.res, ale mojou podmienkou je prehľadný textový súbor s lokalizovanými textami ako v Total Commanderi alebo v PSPade. K poľu by som pristupoval ako k inicializačnému súboru *.ini (ako je to v PSPade) a na začiatku načítal celé pole textov. Samozrejme pri inicializácii formulárov sa musia nastaviť všetky texty na formulári podľa zvolenej lokalizácie.

Je aj jednoduchší spôsob lokalizácie v Delphi alebo je práve táto cesta správna?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nemohu si pomoci, ale nejlépe měl lokalizace vyřešen AmigaOS 3.0 a vyšší - v zásadě textové soubory…
touchwood 20.05.2006 08:56
touchwood
Takže sčasti v tom vidím aj odpoveď na otázku vyššie položenú. Ak je program rozsiahly, čo zatiaľ u…
msx. 20.05.2006 13:46
msx.
Interni Delphi lokalizator dela vlastne DLL, ktere obsahuji nejen lokalizovane retezce, ale i pozice…
Jan Fiala 20.05.2006 13:53
Jan Fiala
Áno, ten program mám ešte teraz živý v pamäti.:)) Keď som ho upravoval minulý rok na inú aplikáciu,… poslední
msx. 20.05.2006 13:58
msx.

Nemohu si pomoci, ale nejlépe měl lokalizace vyřešen AmigaOS 3.0 a vyšší - v zásadě textové soubory s databázovým formátem s podporou napříč OS a aplikacemi. Bohužel implementace češtiny byla (kvůli konfliktům s některými řídicím znaky) docela problém.

Jinak správně -- základem je abstrakce od kódu. V závislosti na velikosti SW a tudíž i počtu lokalizovatelných stringů bych volil buď plaintext, nebo nějakou strukturu.

Takže sčasti v tom vidím aj odpoveď na otázku vyššie položenú. Ak je program rozsiahly, čo zatiaľ u mňa nehrozí, tak z konfiguračného súboru načítavať stringy postupne a keď malýá, tak na začiatku načítať všetko.

Ešte otázka: Ako to vlastne funguje v Delphi pomocou zdrojov? Tam sa dá tiež lokalizovať do viac jazykov, ale s tým, že nebudú lokalizované texty bežne prístupné a z hľadiska programového kódu sa pristupovať k lokalizovaným textom už jednoduchšie nedá. Mám pravdu?

Interni Delphi lokalizator dela vlastne DLL, ktere obsahuji nejen lokalizovane retezce, ale i pozice prvku na formulari. Tam si totiz muzes pohnout pri lokalizaci i s ovladacimi prvky, pokud by ti prekazely - male mito na text apod.
Ale operavdu to neni lokalizovatelne "zvenku"

Podivej se na priklad:
\Program Files\Borland\Delphi7\Demos\RichEdit\

Zpět do poradny Odpovědět na původní otázku Nahoru