![]() |
Gnu Gettext verändert den Index meine Combofeldes
Hallo,
ich nutze jetzt seit einigen Tagen die Komponente Gettext für die Übersetzung meines Programmes in Englisch. Die ist an sich echt Klasse, vorallendingen, dass parsen der Dateien und dann das Pflegen der Po-Datei. Mein Problem hier ist folgendes (evtl. ein Problem, dass andere auch schon hatten): Ich habe z.B. ein Combofeld mit 2 Strings: 1. String ='manuell' 2. String ='digital' diese Strings lasse ich jetzt per
Delphi-Quellcode:
übersetzten.
UseLanguage('en');
TranslateComponent(self); Nun hat aber leider immer nach der Übersetzung der 1. String den Focus, und nicht der der zuletzt ausgewählt war :-( Also meine Frage an euch, wie sage ich Gettext, dass er auch bitte die Auswahl unberührt lassen soll? Danke schonmal.. Gruß DelphiManiac |
Re: Gnu Gettext verändert den Index meine Combofeldes
Du kannst bevor du "TranslateComponents" ausrufst den Index speichern, und denn danach wieder setzen.
[Edit]Wenn du es ganz dynamisch haben willst:
Delphi-Quellcode:
Ich hoffe mal es geht so (is nur getippt) :P
type
TData = record index : Integer; pointer : PComboBox; end; procedure TranslateComponentEx(form : TForm); var i : Integer; buffer : array of TData; begin for i := 0 to form.ComponentCount do begin if form.Components[i] is TComboBox then begin SetLength(buffer, Length(buffer) + 1); buffer[High(buffer)].index := (form.Components[i] as TComboBox).ItemIndex; buffer[High(buffer)].pointer := (form.Components[i] as TComboBox); end; end; TranslateComponent(form); for i := 0 to Length(buffer) do begin buffer[i].pointer^.ItemIndex := buffer[i].index; end; end; [/edit] |
Re: Gnu Gettext verändert den Index meine Combofeldes
Hallo,
ich will das gettext demnächst auch mal probieren. Deshalb die Frage, wie kann es sein, dass der selektierte Eintrag verändert wird ? Das TranslateComponent sollte doch als "erstes" im Form aufgerufen werden (Anfang von FormCreate), dann wird der zuletzt gewählte (gespeichert in DB oder so) per Code selektiert ? oder habe ich das falsch verstanden. Heiko |
Re: Gnu Gettext verändert den Index meine Combofeldes
Zitat:
|
Re: Gnu Gettext verändert den Index meine Combofeldes
Hi,
ja natürlich könnte ich mir alle Indizes raussuchen, mir die merken und wieder zurückschreiben, aber ehrlich gesagt, etwas müßig ist das schon :? Vielleicht gibt es da noch eine andere Möglichkeit,... (speziell für Gnu Gettext) Danke |
Re: Gnu Gettext verändert den Index meine Combofeldes
Das Problem, habe ich ja nur, wenn ich die Sprache zur Laufzeit ändere,
dann sollte man ja ReTranslate dafür nehmen, habe aber TranslateComponent genommen, evtl. behebt das das Problem, probiere es mal aus und melde mich dann.. |
Re: Gnu Gettext verändert den Index meine Combofeldes
Komischerweise gibt es die Funktion ReTranslate bei meiner Gettext Version gar nicht (nicht mehr??).
Nutzt jemand Gettext und kann mir sagen, wie ich zur Laufzeit die Sprache ändere??? Danke |
Re: Gnu Gettext verändert den Index meine Combofeldes
RetranslateComponent ;)
Zitat:
|
Re: Gnu Gettext verändert den Index meine Combofeldes
Ja sorry,
meine ja ReTranslateComponent... aber genau diese Funktion gibt es in meinem gettext nicht :gruebel: :gruebel: |
Re: Gnu Gettext verändert den Index meine Combofeldes
Also ich besitzte diese Funktion noch, und das ist ~ 1 Mon her ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 Uhr. |
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