que tienen la siguiente estructura:Python: Sin archivo de traducción encontrados para dominio con carpeta personalizada local
/
|- main.py
|- brainz
| |- __init__.py
| |- Brainz.py
|- datas
|- locale
|- en_US
|- LC_MESSAGES
|- brainz.mo
|- brainz.po
En mi __init__.py
hay las siguientes líneas:
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()
Pero cuando trato de ejecutar mi programa me dio este error:
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'
No entiendo qué camino se espera por gettext.translation
como doy una ruta completa al archivo .mo
.
¿Podría alguien explicarme qué debo hacer para cargar mis archivos de traducción correctamente?
Gracias,
Damien
try establece locale_path a la ruta completa, por ejemplo: locale_path = "/ home/xxx /" –
@ juan misoskian No funciona demasiado ... el argumento de dominio (primer argumento de gettext.translation) se establece en 'brainz'. Supongo que es la referencia al nombre del archivo (brainz.mo). Lo es ? –