Wenn ich das Programm starte, werden zwar alle Texte in der richtigen Sprache angezeigt, aber bei dem deutschen Meldungen werden die Umlaute durch Fragezeichen ersetzt!
Das Programm selbst läuft unter Woody, und verwendet FLTK 1.0.11. Das Problem tritt aber auch bei normalen printf-Ausgabe auf der Konsole auf.
Im Makefile erstelle ich die Kataloge wie folgt. Die Übersetzung erfolgt mit poedit.
Code: Alles auswählen
.po.mo:
$(MSGFMT) -o $@ $<
$(PACKAGE).pot: $(POTFILES)
xgettext --default-domain=$(PACKAGE) --keyword=_ $(POTFILES)
mv $(PACKAGE).po $(PACKAGE).pot
Im Programm selbst sieht die Anbindung eigentlich ganz normal aus. Ich habe lediglich für die Testphase den Pfad auf eine lokales Verzeichnis zeigen lassen.
Code: Alles auswählen
#include <libintl.h>
#include <locale.h>
setlocale(LC_MESSAGES,"");
bindtextdomain(PACKAGE,"./locale");
textdomain(PACKAGE);
printf(_("set locales for %s\n"),PACKAGE);
Die Übersetzung arbeitet --wie auch der Rest-- mit 8-bit iso-8859-1 Zeichensätzen.
Code: Alles auswählen
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: main.cxx:99
#, c-format
msgid "set locales for %s\n"
msgstr "setze locales für %s\n"