Wenn ich versuche ein Programm mittels sys.exit(_('string')) abzubrechen, dessen String bei der übersetzten Version ein Umlaut enthält, bekomme ich Fehlermeldungen. Allerdings nur dann, wenn ich xgettext benutze um .pot-Dateien zu erstellen. Benutze ich pygettext (was ja veraltet sein soll), funktioniert es einwandfrei.
Am liebsten würde ich deswegen pygettext verwenden, da es einwandfrei funktionierte. Doch warum sollte ich veraltete Software einsetzen? Hat jemand eine Idee dazu?
Ausserdem: Gibt es ein vim-Plugin um vorhandene .po-Dateien mit neueren .pot-Dateien zu aktualisieren? Dabei möchte ich nicht auf externe Programme wie poEdit zugreifen. Ich hab da mal ein Plugin gefunden, ist aber, denke ich, nicht das, was ich suche.
Code: Alles auswählen
#: ../../src/mathpyx_console.py:390
msgid "Please specify a command"
msgstr "Bitte wählen Sie ein Kommando"
Code: Alles auswählen
Traceback (most recent call last):
File "/usr/bin/mathpyx", line 414, in <module>
ConsoleInterface().start()
File "/usr/bin/mathpyx", line 408, in start
(options, args) = self._parse_args()
File "/usr/bin/mathpyx", line 390, in _parse_args
parser.error(_('Please specify a command'))
File "/usr/lib/python2.5/site-packages/mathpyx/cmdoptparse.py", line 184, in error
'message': msg})
File "/usr/lib/python2.5/optparse.py", line 1551, in exit
sys.stderr.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 24: ordinal not in range(128)
parser ist ein Objekt. error() eine Methode, die wiederrum sys.exit ausführt.
Alle anderen Umlaute funktionieren sonst. Any ideas?
Grüsse
Pot