Umíme to s Delphi: 110. díl – různé jazykové verze aplikací: řetězcové resources

Diskuze čtenářů k článku

Birkof  |  02. 12. 2003 22:36

Zdar, omlouvám se za to, že se můj příspěvek jaksi vyskytl nekolikrát. Hlásilo mi to, po odeslání, že stránka na serveru neexistuje. problém byl v KPF4, který blokuje reklamy atd.. ještě jenou sorry.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Birkof  |  02. 12. 2003 22:31

Zdravím

Resource hacker, je dobrý jak z názvu vyplývá na crackování. Dájí se s tím nejen stupidním únavným způsobem vyeditovat stringy, ale dají se v něm dělat i jiné užitečnější věci. No nic. Co se týče té slečny programátorky, tak pokud si pamatuju, tak kdysi jsem měl komponentu ještě do Delphi 2 pro jazykové lokalizace, a dokonce existuje program pro Delphi na lokalizace. Bohužel moje webové stránky, kde jsem o tomto programu psal, díky mojí enteligenci podlehly zkartaci a jméno si už nepamatuju. Ale jednalo se dokonce o český program. No nic. k článku, krom toho, že je zajímalý bych rád přispěl tím, že profesionální programy mají jazykové lokalizace uloženy v externím souboru, ale v drtivé většině to nejsou textové soubory, ale nějaké binárky. No už něco podobného tady zaznělo a celkem nevidím důvod proč vymýšlet něco co už někdo vymyslel. Jinak pokud bych se držel popsaného schématu v článku, tak bych použil to, že pod ID1 bych napsal český string, pod ID2 bych napsal anglický string atd. a jelikož bych znal strukturu ID, tak bych načítal jen příslušné ID. Toť E.O.F

PS: Chtělo by to spíš kontrolu češtiny, sorry za chyby v textu, čeština není můj programovací jazyk, mám radši Pascal, Cčko a assembler.

Birkof

Souhlasím  |  Nesouhlasím  |  Odpovědět
Václav Kadlec  |  03. 12. 2003 14:31

Díky za příspěvek, jen bych dodal, že hovoříte pravděpodobně o programu Language Localizator, viz http://www.localizator.com.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Birkof  |  02. 12. 2003 22:30

Showmessage("Zdravím");

Resource hacker, je dobrý jak z názvu vyplývá na crackování. Dájí se s tím nejen stupidním únavným způsobem vyeditovat stringy, ale dají se v něm dělat i jiné užitečnější věci. No nic. Co se týče té slečny programátorky, tak pokud si pamatuju, tak kdysi jsem měl komponentu ještě do Delphi 2 pro jazykové lokalizace, a dokonce existuje program pro Delphi na lokalizace. Bohužel moje webové stránky, kde jsem o tomto programu psal, díky mojí enteligenci podlehly zkartaci a jméno si už nepamatuju. Ale jednalo se dokonce o český program. No nic. k článku, krom toho, že je zajímalý bych rád přispěl tím, že profesionální programy mají jazykové lokalizace uloženy v externím souboru, ale v drtivé většině to nejsou textové soubory, ale nějaké binárky. No už něco podobného tady zaznělo a celkem nevidím důvod proč vymýšlet něco co už někdo vymyslel. Jinak pokud bych se držel popsaného schématu v článku, tak bych použil to, že pod ID1 bych napsal český string, pod ID2 bych napsal anglický string atd. a jelikož bych znal strukturu ID, tak bych načítal jen příslušné ID. Toť E.O.F

ShowmMessage("Zdravím");

PS: Chtělo by to spíš kontrolu češtiny, sorry za chyby v textu, čeština není můj programovací jazyk, mám radši Pascal, Cčko a assembler.

Birkof

Souhlasím  |  Nesouhlasím  |  Odpovědět
Birkof  |  02. 12. 2003 22:25

Showmessage("Zdravím");

Resource hacker, je dobrý jak z názvu vyplývá na crackování. Dájí se s tím nejen stupidním únavným způsobem vyeditovat stringy, ale dají se v něm dělat i jiné užitečnější věci. No nic. Co se týče té slečny programátorky, tak pokud si pamatuju, tak kdysi jsem měl komponentu ještě do Delphi 2 pro jazykové lokalizace, a dokonce existuje program pro Delphi na lokalizace. Bohužel moje webové stránky, kde jsem o tomto programu psal, díky mojí enteligenci podlehly zkartaci a jméno si už nepamatuju. Ale jednalo se dokonce o český program. No nic. k článku, krom toho, že je zajímalý bych rád přispěl tím, že profesionální programy mají jazykové lokalizace uloženy v externím souboru, ale v drtivé většině to nejsou textové soubory, ale nějaké binárky. No už něco podobného tady zaznělo a celkem nevidím důvod proč vymýšlet něco co už někdo vymyslel. Jinak pokud bych se držel popsaného schématu v článku, tak bych použil to, že pod ID1 bych napsal český string, pod ID2 bych napsal anglický string atd. a jelikož bych znal strukturu ID, tak bych načítal jen příslušné ID. Toť EOF

ShowmMessage("Zdravím");

PS: Chtělo by to spíš kontrolu češtiny, sorry za chyby v textu, čeština není můj programovací jazyk, mám radši Pascal, Cčko a assembler.

Birkof

nopopups();

Souhlasím  |  Nesouhlasím  |  Odpovědět
Birkof  |  02. 12. 2003 22:24

Showmessage("Zdravím");

Resource hacker, je dobrý jak z názvu vyplývá na crackování. Dájí se s tím nejen stupidním únavným způsobem vyeditovat stringy, ale dají se v něm dělat i jiné užitečnější věci. No nic. Co se týče té slečny programátorky, tak pokud si pamatuju, tak kdysi jsem měl komponentu ještě do Delphi 2 pro jazykové lokalizace, a dokonce existuje program pro Delphi na lokalizace. Bohužel moje webové stránky, kde jsem o tomto programu psal, díky mojí enteligenci podlehly zkartaci a jméno si už nepamatuju. Ale jednalo se dokonce o český program. No nic. k článku, krom toho, že je zajímalý bych rád přispěl tím, že profesionální programy mají jazykové lokalizace uloženy v externím souboru, ale v drtivé většině to nejsou textové soubory, ale nějaké binárky. No už něco podobného tady zaznělo a celkem nevidím důvod proč vymýšlet něco co už někdo vymyslel. Jinak pokud bych se držel popsaného schématu v článku, tak bych použil to, že pod ID1 bych napsal český string, pod ID2 bych napsal anglický string atd. a jelikož bych znal strukturu ID, tak bych načítal jen příslušné ID. Toť EOF

ShowmMessage("Zdravím");

PS: Chtělo by to spíš kontrolu češtiny, sorry za chyby v textu, čeština není můj programovací jazyk, mám radši Pascal, Cčko a assembler.

Birkof

Souhlasím  |  Nesouhlasím  |  Odpovědět
Programátorka  |  02. 12. 2003 12:44

Zřejmě nemůžu dělat reklamu, ale já používám na lokalizaci jeden prográmek, který dělá přesně, to, co tu jeden z přispěvatelů požadoval - sosá textové řetězce z exe souboru - neumí to však u každého, já lokalizuji exáče vytvořené Delphi a tam je pouze nutno dodržet podmínku uvedení všech řetězců v sekci resourcestring. Pak jsou tyto v lokalizačním programu viditelné a lze je jednoduše přeložit. Formuláře Delphi jsou tomuto způsobu lokalizace přizpůsobeny automaticky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
honza  |  30. 11. 2003 10:35

Kolik aplikaci jste pamove lokalizovali? Ja to delam porad (letos už 12)

Slusne udelana "lokalizovatelna aplikace" musi byt schopna nacitat textovy soubor! Tedy pri vytvoreni objektu si jej musi projit a nacist vsechny texty (caption, hinty, ...) ze spravneho souboru dle zvolene verze.

Aplikace musi byt na lokalizaci pripravena (graficke rozmisteni, zarovnani textu, ...). Soubor s texty musi byt nejakym zpusobem strukturovan (treba kazdy dialog ma svoji kapitolu, ...) aby pri prekladu nove verze stacilo jednoduse dohledat doplnky a ty dohledat.

Uvital bych tema podrobnejsi, napr: jak napsat aplikaci, ktera si automaticky pri vytvareni nejakeho dialogu projde jeho prvky a nahraje lokalizovane texty z textoveho souboru. Aplikace by mela generovat nejaky chybovy soubor s chybami typu: text 123 z dialogu ABC chybi, text 321 se navejde do pole na obrazovku, ...

zdravim

Honza

 

 

 

Souhlasím  |  Nesouhlasím  |  Odpovědět
.:Kralik:.  |  10. 10. 2005 19:47

Jenze tys nepochopil ze tenhle navod neni o lokalizaci, ten je o RESOURCES.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Ladis  |  26. 11. 2003 10:13

<a href="http://www.in1.cz/delphi/">http://www.in1.cz/delphi/</a>

Souhlasím  |  Nesouhlasím  |  Odpovědět
Uživatel63  |  25. 11. 2003 07:56

Tohle moc nechápu... My používáme externí .LNG soubory (plain text), které si program při změně jazykové verze načte.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Václav Kadlec  |  25. 11. 2003 10:50

Ale ano, plne s Vami souhlasim, moznosti je cela rada. Jen bych rad upresnil, ze cilem clanku nebylo tvrdit, ze textove resources jsou jedinou moznosti pri jazykovych lokalizacich. Cilem clanku bylo jen ukazat na prikladu jazykove lokalizace princip textovych resources.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Radek  |  24. 11. 2003 01:09

Těm kterým se nechce trápit s uvedenými veterány od Borlandu vřele doporučuji Reshacker, na lokalizace cizích aplikací je přímo geniální (umí editovat resource i v EXE!!!), dovede i přímou práci s *.RES.

Podotýkám že i Borland dřív dodával k Borland Pascalu for Windows nástroj jménem "Resource Workshop", ten uměl v podstatě totéž co Reshacker (nejen obrázky, ale i stringtable, dialogy, menu...) ale byl jenom na 16 bitů

Takže Image Editor+Notepad+BRCC No More!!!

PS: Překládat "Resources" jako "Zdroje" zní hovadsky... nenapadá někoho trefnější slovo?

Souhlasím  |  Nesouhlasím  |  Odpovědět
????  |  24. 11. 2003 06:41

Koukám že jseš totálně mimo. Resoucehacker je tak akorád dobrej na překlad již hotových aplikaci. Tenhle článek pojednává o tom jak lze NAPROGRAMOVAT více jazyčnou aplikaci. Dobrej programátor používá notepad.

Souhlasím  |  Nesouhlasím  |  Odpovědět
vladimir  |  24. 11. 2003 08:07

dobrej programator pouziva notepad? nechybi mu cislovani radek, zvyraznovani syntaxe, makra atd.? podle mne dobrej programator pouziva vim

Souhlasím  |  Nesouhlasím  |  Odpovědět
bacil  |  24. 11. 2003 11:10

1. podla mna je podstatne jednoduchsie dat si to do 2 INC suborov v textovej forme a podmienenou kompilaciou si nastavit aku verziu chcem
napr:

{$IFDEF SKVER}
{$I GridSK.inc}
{$ELSE}
{$I GridCZ.inc}
{$ENDIF}

GridSK.inc
.
.
const

STR_COPY = '&Kopírovať...';
STR_EXPORT = '&Exportovať...';
STR_FORMAT = '&Formátovať...';
STR_FILTER = 'F&ilter...';
STR_PRINT = '&Tlač zostavy...';

GridCZ.inc
.
.
const
STR_COPY = '&Kopírovat...';
STR_EXPORT = '&Exportovat...';
STR_FORMAT = '&Formátovat...';
STR_FILTER = 'F&iltr...';
STR_PRINT = '&Tisk sestavy...';


RADEK nechcel by som prekladat aplikaciu ktora ma tak 150 formov pomocou RH, bolo by to fakt peklo a pri novej kompilacii by si to mohol absolvovat znova... RH je na vypajcnutie ikoniek, pripadne drobne zmeny v cudzich applikaciach
???? Dobrej programátor používá FAR manager s pluginmi a nie notepad :o)

Souhlasím  |  Nesouhlasím  |  Odpovědět
Mitch  |  24. 11. 2003 18:19

Preferuji radsi XML nebo INI soubory. I mene zkuseny koncovy uzivatel muze podle vzoru udelat novou mutaci a poslat ji programatorovi. Ja uz mam takhle polstinu, nemcinu.....

Porad se tu pise jak pridavat resources pred kompilaci, ale ja potrebuju vedet jak pracovat s resources (vseobecne - texty, grafika....) jiz v kompilovanem EXE/DLL.

 

Souhlasím  |  Nesouhlasím  |  Odpovědět
?????  |  27. 11. 2003 19:57

No jako autorovy by se mi asi nelibilo, aby jen tak upravoval nejakej resource v mem EXE. Uz jen kvuli tomu, ze muze zmenit celkovy vzhled programu a nehlede na to ze to je v rozporu s autorskym zakonem. Co se tyka freeware, tak je to asi jedno. A Open Source? Tam je to i se zdrojakem, tak si udelam cesej resource a prekompiluju to. Ale mam pocit ze ve vsech pripadech by se mel uvedomit prvne autor a to i kdyz se jedna o Open Source ci Freeware.

Souhlasím  |  Nesouhlasím  |  Odpovědět
.:Kralik:.  |  10. 10. 2005 19:41

Myslim ze u opensource nemusis uvedomit autora... von s tim souhlasi predem dyz to dava jako OpenSource...

Jo, ja taky nechci aby mi nekdo modifikoval resources, proto sem jako prvni string do string table dal checksum,
ktery v sobe uchovava delku vsech stringu ktere pouzivam. Kdyz nekdo stringy zmeny (o checksumu nevi) tak se mu pak palikace nespusti...

Souhlasím  |  Nesouhlasím  |  Odpovědět
.:Kralik:.  |  10. 10. 2005 19:41

chtel sem rict aplikace

Souhlasím  |  Nesouhlasím  |  Odpovědět
Blazen  |  15. 04. 2004 15:38

Jo jo, lokalizaci jsem potreboval uz davno, to tu jeste na to nebyl zadnej navod, a tak sem to vyresil pres INI a bylo....uf

Application.Terminate;

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor