1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
930
930
EMPFEHLEN
-
26.07.10 13:28 #1
Hallo an alle,
habe mal wider ein Problem. Ich habe vor eine Software in C++ mit wxWidgets zu entwickeln (das steht fest!). Doch ich will von Anfang an, dass das Programm mehrsprachig ist, denn später den ganzen Code ändern, ist so eine Sache.
wxWidgets unterstützt gettext. Im Buch zu wxWidgets steht, man könnte das Programm "PoEdit" zu Vereinfachung der Übersetzung benutzen.
Doch immer tritt ein (derselbe immer) Fehler in PoEdit auf, wenn ich versuche einen neuen Katalog zu erstellen. Im Anhang ist die Fehlermeldung.
Ich habe diese Schritte gemacht:- PoEdit gestartet
- Menü->Datei->Neuer Katalog
- Name, Übersetzerteam...eintragen
- Beim Reiter Pfade, habe ich das Hauptverzeichnis des Projektes angegeben
- [OK] geklickt
- "default.po" im folgenden Ordner gespeichert: [ProjektPfad]\locale\de_DE\LC_MESSAGES\default.po
- ==>FEHLERMELDUNG
Ich hoffe jemand kennt sich mit PoEdit aus und kann mir helfen. Ich bin auch für andere Möglichkeiten zur Internationalisierung offen.
Vielen Dank im Voraus!mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
27.07.10 16:09 #2
Ich weiß, dass das nicht erlaubt ist, aber weiß wirklich niemand irgend etwas?
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
28.07.10 13:48 #3daersc Tutorials.de Gastzugang
Ich habe das gleiche Problem.
Ich bekomme es nicht hin, dass das Projekt automatisch durchsucht wird - dank dieser Fehlermeldung...
-
28.07.10 20:16 #4
Zum Glück bin ich nicht der Einzige!
Ich habe noch in einem anderen Forum diese Frage gestellt.
Unter anderem hat der "eine" mir diesen Link gegeben (auch auf Englisch): Click!
Da steht, dass man zuerst mit xgettext eine *.pot-Datei erzeugen soll, doch nichtmal das kriege ich hin...mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
29.07.10 09:09 #5
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.
Wenn du eine .pot (ein .po Template) erzeugt hast, dann müßtest du einen neuen Katalog über "neuen Katalog aus POT Datei" erzeugen können.
Wie ist denn die Fehlermeldung? Es gibt wohl keine Anhänge mehr?
Übrigens speichert man die po Dateien üblicherweise einfach nur in [ProjektPfad]/po - die Ordnerstruktur mit de-de/LC_MESSAGES etc. wird dann später generiert und dann zur Laufzeit verwendet.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
29.07.10 18:49 #6
Erstmal Danke für deine Antwort deepthroat!
Doch wie erzeuge ich eine *.pot-Datei?
Ich bekomme keine Fehler, aber auch keine *.pot-Datei.
Folgendes habe ich probiert:
Code :1 2 3 4 5 6 7 8
// Ändern des aktuellen Verzeichnisses cd C:\...\TestProject xgettext -d TestProject -s --keyword=_ -p ./po -o TestProject.pot main.cpp fMain.cpp // Das funktioniert auch nicht xgettext -d C:\...\TestProject\TestProject -s --keyword=_ -p ./po -o C:\...\TestProject\TestProject.pot main.cpp fMain.cpp
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
29.07.10 22:22 #7
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.
Hast du denn in deinem Quelltext das Makro _ überhaupt verwendet?
/edit: es wäre evtl. auch nicht verkehrt wenn du einfach nochmal die Fehlermeldung postest.
GrußGeändert von deepthroat (29.07.10 um 22:26 Uhr)
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
30.07.10 10:58 #8
Das ist die Lösung! Jetzt klappt alles hervorragend!
Aber ich habe noch eine Frage zu der Ordnerstruktur: soll die so aussehen:?
- C:\
- TestProjekt\
- main.cpp
- fMain.cpp
- po\
- TestProjekt.pot
- de_de.po
- en_us.po
- TestProjekt\
Und später, wenn ich mein Programm veröffentlichen will, wie muss ich dann die Ordnerstruktur genau anpassen?
EDIT: Danke-Button für deepthroat gedrückt
Geändert von ComFreek (30.07.10 um 11:03 Uhr)
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
- C:\
-
30.07.10 12:30 #9
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.Ja. Wobei du allerdings direkt eine Sprache in der Anwendung verwendest, meist ist das ja en_US, da brauchst du dafür natürlich keine .po Datei.
Laut ISO 3166 bestehen Ländercodes aus Großbuchstaben.
Das willst du doch nicht per Hand machen, oder?! Verwende z.B. bakefile, CMake oder ähnliches. Schau dir doch einfach mal ein Projekt (z.B. Poedit an).
Die .po Dateien werden zu .mo Dateien kompiliert und dann üblicherweise unter /usr/share/locale/<LocaleName>/LC_MESSAGE/<Anwendung>.mo (bei Linux Systemen) bzw. neben die Anwendung in <AnwendungsOrdner>/share/locale/<LocaleName>/LC_MESSAGES/<Anwendung>.mo installiert.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
30.07.10 15:26 #10mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
30.07.10 16:21 #11
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Im Quelltext verwendest du doch eine bestimmte Sprache. Normalerweise Englisch.
Nicht-lokalisierter Quelltext:
Mit gettext:Code cpp:1 2 3
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.Code cpp:1 2 3
int main() { printf(_("hello, world")); }
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ßIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
30.07.10 16:54 #12
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:
Aber im Prinzip ist es doch egal, oder? Solange die Dateien von wxWidgets gefunden werden.Code :1 2 3 4 5 6 7 8
internat | --de |--internat.mo |--internat.po --fr |--internat.mo |--internat.po
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
30.07.10 17:21 #13
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
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!
Ja.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
31.07.10 11:28 #14Achso, ok, dann werde ich das so machen.
Zitat von deepthroat
Vielen Dank für die Hilfe
[ERLEDIGT] (es gibt ja kein Button mehr dafür...)mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
Ähnliche Themen
-
XSLT und gettext?
Von MS47475 im Forum XML TechnologienAntworten: 6Letzter Beitrag: 19.09.07, 08:38 -
getText und setText
Von chrisjahl im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 15Letzter Beitrag: 17.06.07, 23:42 -
problem bei gettext
Von xyba im Forum PHPAntworten: 2Letzter Beitrag: 27.01.06, 01:07 -
gettext putenv()
Von südpol im Forum PHPAntworten: 2Letzter Beitrag: 24.12.04, 11:33 -
GNU gettext Problem
Von at0m1c im Forum PHPAntworten: 0Letzter Beitrag: 16.08.04, 00:15






Zitieren
Login




