[Python] Gettext.
Marco Giusti
marco.giusti a posteo.de
Gio 21 Maggio 2015 13:56:25 CEST
On Thu, May 21 2015, Gabriele Battaglia wrote:
>
>
> Carlos Catucci, alle 11:03 del 21/05/2015, digitò:
> >
> >2015-05-21 11:01 GMT+02:00 Gabriele Battaglia <iz4apu a libero.it
> ><mailto:iz4apu a libero.it>>:
> >
> > import gettext
> > help(gettext)
> >
> >
> >Perdonami Gabriele, non riesco a capire se il problema sia nel fatto che
> >non hai cpaito a cosa serva l'istruzione help oppure se sia quanto
> >tornato dalla stessa.
> Ciao Carlos e perdonami tu, sono stato poco chiaro.
> Ho letto l'help perchè sto cercando di rendere localizzabile una specie di
> giochino che ho scritto in Python e che vorrei far provare ad amici che non
> parlano italiano.
> Le alternative sono 2: modifico tutte le prints dello script e gli mando la
> copia modificata, oppure, imparo ad usare questa gettext che mi pare
> consenta di trasferire in un file sorgente della lingua, tutti i messaggi
> che compaiono nello script.
> Così facendo puoi continuare a sviluppare una sola versione, aggiornando e
> traducendo i messaggi in un file esterno, quando serve.
>
> Chiedevo alla lista un esempio di come funziona questa classe gettext, così
> per avere uno spunto di partenza.
> Mi chiedevo, come si scriverebbe il classico helloworld.py, usando gettext?
> Grazie per l'interesse.
> GB.
Eccola servita:
# import locale
# locale.setlocale(locale.LC_ALL, '')
import gettext
gettext.install("hellogettext", "locale", codeset="utf8",
names=["gettext"])
s_t = _("hello gettext")
print s_t
In allegato trovi un paio di script per estrarre le stringe da tradurre
e compilare i relativi file. Procedi così:
$ bash l10nextract.sh hellogettext.py
Modifica i relativi file *.po generati cambiando il CHARSET e la stringa
da tradurre:
...
"Content-Type: text/plain; charset=utf-8\n"
...
#: hellogettext.py:7
msgid "hello gettext"
msgstr "ciao gettext"
e compila i file *.po:
$ bash l10ncompile.sh
$ python hellogettext.py
ciao gettext
$ echo $LANG
it_IT.UTF-8
$ LANG= python hellogettext.py
hello gettext
$ LANG=fr_FR python hellogettext.py
salut gettext
$ LANG=de_DE python hellogettext.py
hallo gettext
Eccoti anche un link che può esserti d'aiuto:
http://pymotw.com/2/gettext/index.html
Ci sono alcuni dettagli che sono un po' oscuri, come la directory dove
vengono cercati i file *.mo. Non so' se la documentazione sia chiara a
proposito.
ciao
marco
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: l10ncompile.sh
Tipo: application/x-sh
Dimensione: 344 bytes
Descrizione: non disponibile
URL: <http://lists.python.it/pipermail/python/attachments/20150521/11a5cade/attachment.sh>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: l10nextract.sh
Tipo: application/x-sh
Dimensione: 476 bytes
Descrizione: non disponibile
URL: <http://lists.python.it/pipermail/python/attachments/20150521/11a5cade/attachment-0001.sh>
Maggiori informazioni sulla lista
Python