Hallo,
ich verwende dxGetText seit Jahren ohne Probleme. Dabei gehe ich so vor:
Ich erstelle die Oberfläche komplett in Englisch (habe auch eine englische delphi-Version. Daher sind auch alle internen Meldungen bzw. Resourcen in Englisch.
Dann übersetze ich die Resourcen mit POEdit in die gewünschte(n) Sprache(n).
Im Programm wird jeweils in OnCreate der folgende Code ausgeführt:
Delphi-Quellcode:
UseLanguage(MeineGewuenschteSprache);
TranslateComponent(Self)
Die Variable "MeineGewuenschteSprache" bezeichnet dabei die sprache auf die umgeschaltet werden soll. Verwendet man "UseLanguage" nicht so richtet sich dxGetText nach der Sprache die auf dem aktuellen System Default ist. Auf einem französischen Windows würde dxGetText also versuchen nach Französisch umzuschalten.
Findet dxGetText keine Übersetzungen im Verzsichnis "<APPLICATIONSVERZEICHNIS>\locale\<SPRACHE>\LC_MES SAGES" so tut es eigentlich nichts und es findet keine Übersetzung statt. In meinem Fall würde also alles in Englisch dargestellt.
In welchen Verzeichnissen hast du denn die jeweiligen DEFAULT.MO Dateien für die unterschiedlichen Sprachen gespeichert?
Wie gesagt: sie gehören nach: "<APPLICATIONSVERZEICHNIS>\locale\<SPRACHE>\LC_MES SAGES". Sprache sollte dabei der 2-Buchstaben ISO code der Sprache sein, also z.B. "de" für deutsch oder "fr" für Französisch. Falls nötig kann man das auch noch genauer machen: z.B. "de_AT" für Östereich.
Ciao,
Ralf