
Hallo. Hab ein Python-Skript mit gettext-Übersetzung geschrieben. gettext soll auf externe mo-Dateien zugreifen. Aber irgendwie funktioniert es nicht. Würd jetzt gern wissen warum. Leider weiß ich nicht, welche Infos ich euch geben soll, da ich von Python keinerlei Fehlermeldungen bekomme. Wo könnte ich denn am besten mit der Suche anfange? Gruß Marcus _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

On Sun, 13 Feb 2005 15:19:41 +0100 Marcus Habermehl <bmh1980de@yahoo.de> wrote:
Wo könnte ich denn am besten mit der Suche anfange? Du könntest mal mit einen Script anfangen, das geht.
import gettext try: presLan_de = gettext.translation("get", "locale", languages=['de']) _ = presLan_de.ugettext except: print 'Activating fallback: C (or Py)' def _(transstring): """Dummy method, created and called when no locale is found. Uses the fallback language (called C; means english) then.""" return transstring if __name__ == '__main__': print _('Snake') Dieses speicherst du als get.py Jetzt nimmtst du pygettext, erstellst daraus eine po(t) Datei, die du übersetzt, dann mit msgfmt.py in eine mo wandelst, genauer, get.mo Dann erstellst du einen Ordner, dort, wo das Script drinnen liegt, den du "locale" benennst. Darin einen weiteren Ordner "de" und darin noch einen, "LC_MESSAGES". Dort rein kopierst du get.mo und kannst dann das Script aufrufen. grüße, Marek _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Marek Kubica schrieb:
On Sun, 13 Feb 2005 15:19:41 +0100 Marcus Habermehl <bmh1980de@yahoo.de> wrote:
Wo könnte ich denn am besten mit der Suche anfange? Du könntest mal mit einen Script anfangen, das geht.
[Skript]
Dieses speicherst du als get.py Jetzt nimmtst du pygettext, erstellst daraus eine po(t) Datei, die du übersetzt, dann mit msgfmt.py in eine mo wandelst, genauer, get.mo Dann erstellst du einen Ordner, dort, wo das Script drinnen liegt, den du "locale" benennst. Darin einen weiteren Ordner "de" und darin noch einen, "LC_MESSAGES". Dort rein kopierst du get.mo und kannst dann das Script aufrufen.
Und dann? Hab es jetzt so gemacht, wie du es beschrieben hast. Abgesehen davon, dass ich die po Datei mit msginit -l de_DE erstellt habe. Wenn ich dann get.py ausführe, wird der except-Block ausgeführt. Nur hab ich jetzt immer noch keine Fehlermeldung oder einen Anhaltspunkt, warum es nicht funktioniert. :-( Gruß Marcus __________________________________________________________________ Gesendet von Yahoo! Mail - http://mail.yahoo.de Mit Yahoo! Suche finden Sie alles: http://suche.yahoo.de _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Marcus Habermehl wrote:
Wo könnte ich denn am besten mit der Suche anfange?
Vermutlich findet gettext das mo-File nicht. Rufe mal gettext.find(<domain>) auf. Wenn da None zurückkommt, verfolge den Algorithmus von find manuell, im Debugger, oder mittels in gettext.py eingefügter print-Anweisungen. Der Kern ist die Zeile mofile = os.path.join(localedir, lang, 'LC_MESSAGES', '%s.mo' % domain) Du solltest also die Werte für localedir, lang, und domain wissen und dann selber testen, ob sich die Datei an dieser Stelle befindet. Ciao, Martin _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Martin v. Löwis schrieb:
Marcus Habermehl wrote:
Wo könnte ich denn am besten mit der Suche anfange?
Vermutlich findet gettext das mo-File nicht.
[...] Danke, habs mittleierweile gelöst. Woran es jetzt im Detail lag, kann ich nicht sagen. Die Zeile für gettext sah so aus: gettext.install('script', localedir = '../share/locale', unicode = True) Irgendwas daran war falsch oder hat ein Problem gemacht. Denn gettext.install('script', '../share/locale', True) hat dann funktioniert. Aber wie gesagt, was genau an der ersten Variante der Fehler war, weiß ich nicht. Die Gleiche hab ich nämlich in einigen Beispielen gefunden. Gruß Marcus _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

On Sun, 13 Feb 2005 15:19:41 +0100, Marcus Habermehl wrote:
Hallo.
Hab ein Python-Skript mit gettext-Übersetzung geschrieben. gettext soll auf externe mo-Dateien zugreifen.
import gettext os.environ.setdefault('LANG', 'en') gettext.install(ProgName) _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (4)
-
"Martin v. Löwis"
-
Marcus Habermehl
-
Marek Kubica
-
Thorsten Kampe