[gettext] Utiliser gettext sous windows
Bonjour,
Je n'arrive pas à faire fonctionner gettext sous windows :(
Sous Linux, pas de problème, j'ai créé mon arborescence,
Citation:
locale/fr_Fr/LC_MESSAGES/messages.po
compiler message.po en message.mo et appelé gettext dans le programme comme ceci.
Code:
1 2 3 4 5
|
import gettext
gettext.install("messages", "/usr/local/share/ohraimeur/locale" )
[...]
_("chaine à traduire") |
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.
(Le répertoire local se trouve dans le même répertoire que le programme)
Code:
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" ) |
Citation:
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)
Quelqu'un à une idée ?
Merci d'avance.