Übersetzungsdateien von gettext in Python-Datei selber?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Hallo,

wenn ich ein Programm mit gettext übersetzen möchte, habe ich ja anscheinend nachher mehrere der .mo-Dateien, die ich in einem vorgegebenen Ordner einrichten muss. Bei einem normalen Programm ist das ja kein Problem, allerdings ist es doch etwas nervig, wenn ich mir nur ein Skript schreibe, welches ich auf eine einzige Python-Datei begrenzen möchte. Eine einzige Datei lässt sich halt etwas einfacher handhaben/weitergeben.

Ist es irgendwie wohl möglich, die .mo-Datei nachher praktisch wieder in die Python-Datei zu schreiben? .mo-Dateien sind ja anscheinend Binärdateien, aber ich denke, das könnte man mit Base64 o.ä. umwandeln. Ich sehe vor allem das Problem, dass ich bei „gettext.install('myapplication', '/usr/share/locale')“ eben ein Verzeichnis angeben muss. Könnte ich da nicht irgendwie ein einfaches Dictionary angeben, wo die Übersetzungen folgendermaßen gespeichert sind?

Code: Alles auswählen

{
"de": "djhfhdhfajkdfhadfhdjkfhadfjk",
"fr": "dfjdjfjadfjdjfjdsfkjdhtuahfuhafdf"
...
}
Oder könnte ich so ein Verzeichnis irgendwie „simulieren“? Oder gibt es eine andere Möglichkeit?
Ich könnte mir natürlich auch relativ banal einfach eine Funktion schreiben, die die Zeichenketten manuell verwaltet, aber dann habe ich ja die ganzen Komfortfunktionen von gettext (z.B. Plural-Varianten) nicht, außerdem müsste ich irgendwie selber Ordnung über die ganzen Zeichenketten halten.

Am bequemsten wäre wahrscheinlich eine Python-Internationalisierungsbibiliothek, wo nachher die ganzen Übersetzungen auch im Klartext im Code gespeichert werden würden.

Danke!
Antworten