Sprachumschaltung gettext und poedit
Hallo,
ich weiß, ich habe die Frage schon einmal gestellt aber leider keine Antwort erhalten die mein Problem löst.
Schreibe gerade ein Programm zur Sprachumschaltung mit gettext und poedit.
Das ist erstmal das Quellprogramm:
Das ist der Quellcode:
Nun kompiliere ich bisher immer folgendermaßen:
1. kompilieren mit gcc
2. kompilieren mit xgettext(sodass eine pot Datei entsteht)
3. kompilieren mit msginit (msginit --Input=test.pot --output=test.po)
Dann lasse ich die po Datei mit poedit übersetzen, die entstandene po Datei und mo Datei speichere ich im ordner
z.b. Computer/de/LC_MESSAGES ab
4. anschließend kompiliere ich das Quellprogramm mit msgfmt test.po -o test.mo in dem Ordner indem das Quellprogramm auch ist.
5. Ich möchte ausgeben ./test
Nun sollte das Programm je nach gesetzter Umgebungsvariable
also z.B. Export LANG=en_US in entsprechender Sprache ausgegeben werden, das tut es aber nicht.
Hat hier vielleicht jemand eine Idee woran das liegen könnte?
ich weiß, ich habe die Frage schon einmal gestellt aber leider keine Antwort erhalten die mein Problem löst.
Schreibe gerade ein Programm zur Sprachumschaltung mit gettext und poedit.
Das ist erstmal das Quellprogramm:
Das ist der Quellcode:
#include <stdio.h>
#include <string.h>
#include <libintl.h>
#include <locale.h>
int main()
{
setlocale (LC_ALL, "");
textomain("de");
bindtextdomain ("de","home/Computer");
printf(gettext("Dieser Text soll übersetzt werden."))
return 0;
}
Nun kompiliere ich bisher immer folgendermaßen:
1. kompilieren mit gcc
2. kompilieren mit xgettext(sodass eine pot Datei entsteht)
3. kompilieren mit msginit (msginit --Input=test.pot --output=test.po)
Dann lasse ich die po Datei mit poedit übersetzen, die entstandene po Datei und mo Datei speichere ich im ordner
z.b. Computer/de/LC_MESSAGES ab
4. anschließend kompiliere ich das Quellprogramm mit msgfmt test.po -o test.mo in dem Ordner indem das Quellprogramm auch ist.
5. Ich möchte ausgeben ./test
Nun sollte das Programm je nach gesetzter Umgebungsvariable
also z.B. Export LANG=en_US in entsprechender Sprache ausgegeben werden, das tut es aber nicht.
Hat hier vielleicht jemand eine Idee woran das liegen könnte?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 374741
Url: https://administrator.de/forum/sprachumschaltung-gettext-und-poedit-374741.html
Ausgedruckt am: 16.02.2025 um 19:02 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
wenn ich mir das so ansehe, tippe ich darauf das deine po Files falsch benannt sind. Sie sollten gleich heisen wie deine bindtextdomain.
Schau dir das hier mal an da wird das sehr einfach gezeigt, wie die Strukturen u. Dateinamen auszusehen haben.
wenn ich mir das so ansehe, tippe ich darauf das deine po Files falsch benannt sind. Sie sollten gleich heisen wie deine bindtextdomain.
Schau dir das hier mal an da wird das sehr einfach gezeigt, wie die Strukturen u. Dateinamen auszusehen haben.