[Python-de] gettext
Marcus Habermehl
bmh1980de at yahoo.de
Don Dez 16 21:31:19 CET 2004
Hi.
Am Donnerstag, den 16.12.2004, 19:49 +0100 schrieb Marek Kubica:
> > Ich wollte mich jetzt mal mit der Übersetzung von meinen
> > Python-Skripten beschäftigen.
> >
> > Allerdings funktioniert das nicht so richtig. Mit der Fehlermeldung,
> > die ich von dem Modul gettext bekomme, kann ich aber auch nichts
> > anfangen.
> >
> > Nach dem ich das Skript angepasst habe, hab ich eine pot-Datei
> > erzeugt.
> >
> > $ xgettext -o test.pot -L Python --from-code=Python test-de.py
> Ich habe gettext.py genutzt, das ist für Python am besten.
Blöde Frage: Wie? Habe jetzt doch noch (durch diesen Tipp mit einem
Python-Skript) noch das Skript pygettext.py gefunden. Mit dem klappt das
anscheinend weitaus besser, als mit xgettext.
> > Danach hab ich die deutsche Übersetzung wie folgt erstellt.
> >
> > $ msginit -l de_DE
> >
> > Und zu guter Letzt die Datei de.po bearbeitet und nach
> > ./de/LC_MESSAGES verschoben.
> Dazu habe ich msgfmt.py benutzt
>
> Ich habe dann die MO nach LC_MESSAGES verschoben.
So hab ich ich es jetzt auch gemacht.
> Code in meinem Python Script:
> import gettext
> try:
> lang_de =gettext.translation('mathengine','locale',languages=['de'])
> _ = lang_de.ugettext
> except:
> def _(transstring):
> """Dummy method, created and called when no locale is found.
> Uses the fallback language (called C; means english) then."""
> return transstring
Ich habe nur dieses in meinem Skript:
import gettext
gettext.install('test', localedir = '.', unicode = True)
print _('Hello World') # Nur mal ein dummes, aber bekanntes Beispiel
Jetzt funktioniert alles wunderprächtig. ;-)
Hier noch mal den Link, den ich gefunden habe.
http://docs.python.org/lib/node317.html
Für den Fall, dass mal jemand über dieses Thread stolpert. ;-)
Ich frage mich nur, warum ich den Link damals nicht gefunden habe.
Vielleicht deshalb.
"Release 2.4, documentation updated on 30 November 2004."