Python : Pas de traduction de fichier trouvé pour le domaine à l'aide des paramètres régionaux de dossier
Je avoir la structure suivante :
/
|- main.py
|- brainz
| |- __init__.py
| |- Brainz.py
|- datas
|- locale
|- en_US
|- LC_MESSAGES
|- brainz.mo
|- brainz.po
Dans mon __init__.py
il y a les lignes suivantes :
import locale
import gettext
import os
current_locale, encoding = locale.getdefaultlocale()
locale_path = '../datas/locale/' + current_locale + '/LC_MESSAGES/'
language = gettext.translation ( 'brainz', locale_path )
language.install()
Mais lorsque j'essaie d'exécuter mon programme, j'ai eu cette erreur :
Traceback (most recent call last):
File "main.py", line 3, in <module>
from brainz.Brainz import *
File "/home/damien/BrainZ/brainz/__init__.py", line 11, in <module>
language = gettext.translation ( 'brainz', locale_path )
File "/usr/lib/python2.6/gettext.py", line 484, in translation
raise IOError(ENOENT, 'No translation file found for domain', domain)
IOError: [Errno 2] No translation file found for domain: 'brainz'
Je ne comprends pas le chemin prévu par gettext.translation
que je donne un chemin d'accès complet à la .mo
fichier.
Quelqu'un pourrait-il m'expliquer ce que j'ai à faire pour charger mes fichiers de traduction correctement ?
Merci,
Damien
- essayez locale_path ensemble de chemin complet, par exemple : locale_path="/home/xxx/"
- misoskian Ça ne fonctionne pas trop... argument du domaine (1er argument de gettext.la traduction) est mis à 'brainz'. Je suppose que c'est la référence pour le nom de fichier (brainz.mo). S'agit-il ?
Vous devez vous connecter pour publier un commentaire.
Je pense que votre
__init__.py
doit être quelque chose comme: