Delphi-PRAXiS

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 Konstanten mit GNU GetText übersetzen (https://www.delphipraxis.net/139541-konstanten-mit-gnu-gettext-uebersetzen.html)

Hermann85 31. Aug 2009 09:32


Konstanten mit GNU GetText übersetzen
 
Hallo,

Ich übersetze schon eine Weile erfolgreich mit GetText, bin allerdings jetzt auf ein Problem gestoßen, wo ich einfach nicht weiter komme: Wie kann man Konstanten übersetzen?

Hier ein kleines Beispiel:

Delphi-Quellcode:
procedure TuebersetzenForm.bt_uebersetzenClick(Sender: TObject);
const MyStringTable: array[0..2] of String = ('Erste Zeile',
                                            'Irgendwas',
                                            'Dritte Zeile');
var i:integer;
begin
  for i := 0 to Length(MyStringTable)-1 do
  begin
    ShowMessage(MyStringTable[i]);
  end;
end;
_() funktioniert schon mal nicht.

Ich hoffe mir kann einer helfen.

vg Hermann

Touchdown 31. Aug 2009 09:49

Re: Konstanten mit GNU GetText übersetzen
 
Du machst doch gar nichts mit den Strings und Konstanten sehe ich auch nicht.

Hermann85 31. Aug 2009 10:15

Re: Konstanten mit GNU GetText übersetzen
 
ich könnte jetzt z.b. die Strings in _() setzen:
Delphi-Quellcode:
procedure TuebersetzenForm.bt_uebersetzenClick(Sender: TObject);
const MyStringTable: array[0..2] of String = (_('Erste Zeile'),
                                            _('Irgendwas'),
                                            _('Dritte Zeile'));
aber wie ich schon geschrieben habe funktioniert das nicht, da 'const' davor steht.

Sherlock 31. Aug 2009 10:30

Re: Konstanten mit GNU GetText übersetzen
 
Die Biester werden ja wohl hoffentlich mangels Nutzung wegoptimiert. Die dürften in Deinem Binary also gar nicht mehr vorhanden und folglich nicht für GetText zugreifbar sein.

Ausserdem sollte man schon das Kennwort Delphi-Referenz durchsuchenResourceString verwenden. Wenns denn Array sein müssen, kannst Du die ja mit Resourcestrings bestücken.

Delphi-Quellcode:
procedure TuebersetzenForm.bt_uebersetzenClick(Sender: TObject);
resourcestring rsErsteZeile = 'Erste Zeile';
rsIrgendwas = 'Irgendwas';
rsDritteZeile = 'Dritte Zeile';
const MyStringTable: array[0..2] of String = (rsErsteZeile,
                                            rsIrgendwas,
                                            rsDritteZeile);

Sherlock

Hermann85 31. Aug 2009 10:46

Re: Konstanten mit GNU GetText übersetzen
 
danke, hat funktioniert


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.

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