Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zwischen Sprachen umschalten? (https://www.delphipraxis.net/139219-zwischen-sprachen-umschalten.html)

AlexII 26. Aug 2009 18:33

Re: Zwischen Sprachen umschalten?
 
Jetzt stehe ich vor der Frage wie man auf die Ursprungssprache wechselt, also ich die Sprache in der das Prog. geschrieben wurde, es gibt ja für sie keine .po-Datei. :gruebel:

Einfach mit

Delphi-Quellcode:
ReTranslateComponent(Self);
Geht nicht, wie dann? :gruebel:

Ralf Kaiser 26. Aug 2009 18:48

Re: Zwischen Sprachen umschalten?
 
Also ich entwickele Anwendungen immer in Englisch (englisches Delphi wegen der Systemmeldungen, eigene englische Originaltexte in den Formularen). Da dxGetText als "Indexsprache" Englisch benutzt gibt es dafür (normalerweise) auch keine PO Datei.

So reicht dann ein simples

UseLanguage('EN');
RetranslateComponent(self);

um wieder aufs Original umzuschalten.

Generell gilt dabei, dass die Originale, also die Strings aus den Formularen, immer dann benutzt werden wenn eine PO Datei für die gewählte Sprache nicht gefunden werden kann! Ein "UseLanguage('WUPPDI')" würde also auch dazu führen, dass die Originale wieder angezeigt werden.

AlexII 26. Aug 2009 18:50

Re: Zwischen Sprachen umschalten?
 
Ja das klappt, thx. :thumb:

AlexII 29. Aug 2009 14:16

Re: Zwischen Sprachen umschalten?
 
Komischerweise wird Itemindex der ComboBox immer auf 0 gesetzt :gruebel:
Ich denke weil TranslateComponent(Self); vor dem Auslesen der Daten in die ComboBox geschieht.

Auslesen der Daten in die ComboBox geschieht bei mir aber in OnShow und wenn ich erst danach TranslateComponent(Self); ausführe ist ItemIndex 1 (wird auch so in der .ini abgespeichert), wie erwartet, aber wenn ich das Programm das zweite mal öffne (und immer wieder) ist es wieder 0 :gruebel: Voll komisch

OldGrumpy 29. Aug 2009 16:12

Re: Zwischen Sprachen umschalten?
 
TranslateComponent() setzt Comboboxen auf -1 bzw. 0 zurück (je nach Typ), da für die Übersetzung die alten Texte raus und die neuen rein müssen. Steht so auch in der Doku. Abhilfe: ItemIndex erst nach TranslateComponent setzen oder notfalls mit einer lokalen Variable merken.

AlexII 29. Aug 2009 16:18

Re: Zwischen Sprachen umschalten?
 
Ach so..... ok muss ich mal ändern. Thx :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz