Hey Leute,
mir ist im XE2 im Übersetzungseditor etwas aufgefallen was ich mir nicht so richtig erklären kann, vllt kennt jemand dieses Phänomen.
Ich möchte mehrere recourcestrings anlegen und diese im Übersetzungseditor entsprechend meinen angelegte Sprachen übersetzen.
(Übersetzungseditor ist eingerichtet-> Sprachen sind angelegt und .dfm Dateien lassen sich auch im Editor bearbeiten)
Ich habe nun folgendes Problem:
ich erstelle in meinem Code recourcestrings in dieser Weise:
Delphi-Quellcode:
...
var
Form1: TForm1;
resourcestring
greetings2 = 'Hello world22';
greetings3 = 'Hello world33';
...
Jedoch nach 'kompilieren' aller Projekte und 'loaklisierte Projekte aktualisieren' erscheinen diese Resourcenstrings nicht im Übersetzungseditor.
Nach ewigem rumprobieren habe ich rausbekommen das dieses resourcenstrings ausschließlich im Übersetzungseditor erscheinen, wenn ich diese Strings irgendwo im 'implementation' Teil auch verwende...
Sprich es ist notwendig:
Delphi-Quellcode:
....
var
Form1: TForm1;
resourcestring
greetings2 = 'Hello world22';
greetings3 = 'Hello world33';
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption := greetings2;
end;
...
hier wird der resourcestring zb der Caption übergeben, sobald dies geschieht wird nach kompilieren und aktualisieren auch der Übersetzungseditor mit der Variable bestückt...
Ohne das der resourcestring irgendwo im implemantationteil ist es scheinbar auch nicht möglich ihn in den Editor zu laden.
Das heißt es ist nicht möglich vorab einen Block mit Resourcenstrings anzulegen diesen im Editor zu übersetzen wenn die strings gar nicht verwendet werden?
Macht das Sinn und muß das ganze so sein?
Jetzt kann man sich natürlich fragen warum man solch einen Block anlegen soll auch wenn man nicht alle Strings verwendet aber das lassen wir ersteinmal unberücksichtigt, mir gehts um die Logik die dahinter steckt
Viele Grüße an alle!