Problem mit Gettext, PoEdit

Wie meinst du das?
Im Quelltext verwendest du doch eine bestimmte Sprache. Normalerweise Englisch.

Nicht-lokalisierter Quelltext:
C++:
int main() {
  printf("hello, world");
}
Mit gettext:
C++:
int main() {
  printf(_("hello, world"));
}
D.h. die Sprache im Code ist immer noch Englisch und wenn du keine Übersetzungstexte erstellst, bzw. die C Locale verwendest, dann werden die Texte aus dem Quelltext verwendet und es findet keine Übersetzung statt.

Ich benutze als IDE Code::Blocks und als Compiler MinGW. Gibt es bei denen eine Funktion oder Einstellung dafür?
Nein. Du könntest z.B. bakefile verwenden (welches ursprünglich für die Benutzung mit wxWidgets entwickelt wurde), das kann z.B. Makefiles für MinGW generieren. Diese kannst du dann z.B. mit Code::Blocks verwenden.

Schau dir am besten mal ein wxWidget Projekt an, wie das da gemacht wird - kein Grund sich alles von Grund auf neu auszudenken.

Gruß
 
Danke für deine Antwort.


1.) Ich dachte, man sollte Kürzel verwenden (z.B. "txt_welcome"). Dann funktioniert das eben nicht. Aber ich will auch nicht ganze Sätze schreiben.

2.) Ja, es gibt sogar ein Beispiel. Da ist die Ordnerstruktur folgende:
Code:
internat
|
--de
   |--internat.mo
   |--internat.po
--fr
   |--internat.mo
   |--internat.po
Aber im Prinzip ist es doch egal, oder? Solange die Dateien von wxWidgets gefunden werden.
 
1.) Ich dachte, man sollte Kürzel verwenden (z.B. "txt_welcome").
Das ist gerade der Vorteil von gettext, das man genau das nicht macht. Wer weiß denn schon was txt_welcome bedeutet wenn er auf den Code schaut?!

Außerdem wäre das ziemlich fatal wenn die Übersetzungen nicht gefunden werden. Die Texte bleiben im Programm!
Aber im Prinzip ist es doch egal, oder? Solange die Dateien von wxWidgets gefunden werden.
Ja.

Gruß
 
deepthroat hat gesagt.:
Das ist gerade der Vorteil von gettext, das man genau das nicht macht. Wer weiß denn schon was txt_welcome bedeutet wenn er auf den Code schaut?!
Achso, ok, dann werde ich das so machen.

Vielen Dank für die Hilfe


[ERLEDIGT] (es gibt ja kein Button mehr dafür...)
 
Zurück