[Python] class-based gettext
Alessandro Dentella
sandro a e-den.it
Gio 8 Gen 2009 23:38:05 CET
Ciao,
sto guardando per la prima volta gettext. Leggendo la documentazione del
modulo ho seguito il suggerimento di usare la versione class-based ("It is
the recommended way of localizing your Python applications and modules"),
princialmente perché contempla un fallback (altra mail...).
Ho aggiunto la localizzazione senza grandi problemi al mio modulo... tutto
bene finché ho cambiato la variabile LANG. Quindi sono tornato all'esempio...
Il codice della documentazione che riporto nel mio esempio è::
sandro a bluff:/tmp$ cat test.py
import gettext
t = gettext.translation('example', 'locale')
_ = t.lgettext
print _('Hello World')
eseguo (senza cartella locale e senza file .po/.mo)::
sandro a bluff:/tmp$ LANG='it_IT' python test.py
Hello World
sandro a bluff:/tmp$ LANG='fr_FR' python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
t = gettext.translation('example', 'locale')
File "/usr/lib/python2.5/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: 'example'
La versione con 'bindtextdomain' invece funziona anche cambiando LANG.
Cosa sbaglio?
La traduzione non c'è neanche per it_IT...
suggerimenti?
sandro
*:-)
--
Sandro Dentella *:-)
http://sqlkit.argolinux.org SQLkit home page - PyGTK/python/sqlalchemy
Maggiori informazioni sulla lista
Python