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"
...
}
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!