Bonjour,
Je n'arrive pas à faire fonctionner gettext sous windows
Sous Linux, pas de problème, j'ai créé mon arborescence,
compiler message.po en message.mo et appelé gettext dans le programme comme ceci.locale/fr_Fr/LC_MESSAGES/messages.po
Sous Windows, ce code ne marche pas. J'ai testé plusieurs solutions celle-ci me semble avancer un peu les choses et me renvoie cette erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 import gettext gettext.install("messages", "/usr/local/share/ohraimeur/locale" ) [...] _("chaine à traduire")
(Le répertoire local se trouve dans le même répertoire que le programme)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 import gettext import locale os.environ['LC_MESSAGES'] = locale.getdefaultlocale()[0] locale.setlocale(locale.LC_ALL, '') print ( locale.getdefaultlocale() ) # ('fr_FR', 'cp1252') gettext.install("messages", "locale" )Quelqu'un à une idée ?Traceback (most recent call last):
File "C:\Documents and Settings\Maillol\Bureau\version\ohraimeur-0.4-win-Pall\ohraimeur.py", line 43, in <module>
gettext.install("messages", "locale" )
File "C:\Python31\lib\gettext.py", line 441, in install
t = translation(domain, localedir, fallback=True, codeset=codeset)
File "C:\Python31\lib\gettext.py", line 426, in translation
t = _translations.setdefault(key, class_(fp))
File "C:\Python31\lib\gettext.py", line 176, in __init__
self._parse(fp)
File "C:\Python31\lib\gettext.py", line 316, in _parse
catalog[str(msg, charset)] = str(tmsg, charset)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 11: ordinal not in range(128)
Merci d'avance.
Partager