[ubuntu-l10n-it] Re: Aiuto per l'uso di gettext

Ciao,

Presumo che tu abbia già marcato le stringhe nel codice sorgente per la
traduzione, visto che hai generato un file .pot.

Usa msginit per inizializzare un nuovo file con la lingua nella quale
vuoi tradurre il tuo programma:

        msginit -i messages.pot -l it_IT
        msginit -i messages.pot -l en_US
        etc.

Traduci quindi le stringhe contenute nel file .po così generato nella
lingua di destinazione. Puoi usare un qualsiasi editor di testo (Emacs è
molto buono, ha anche una modalità specifica per i file .po; altrimenti
prova gtranslator).

Avrai una serie di valori:

        msgid "Sentence to translate"
        msgstr "Frase tradotta"

Se stai usando gli autotools o le distutils di python (come mi auguro),
devi solo dirgli di installare i file .po compilati nel posto giusto.

Altrimenti, devi generare i file .mo dai file .po a mano con msgfmt, ed
installarli nel posto giusto in
$(prefix)/share/locale/$(locale)/LC_MESSAGES/$(nomedominioapp).mo

Ovviamente facendo le opportune sostituzioni :-).

Fare le cose a mano è parecchio fastidioso; ti consiglio di usare le
distutils di Python per compilare ed installare i cataloghi delle
stringhe tradotte nel posto giusto.
http://www.glatzor.de/projects/python-distutils-extra/

Naturalmente, puoi scegliere invece di installare i cataloghi compilati
da un'altra parte con le distutils "normali" (senza gli extra), per
esempio in una cartella nota all'applicazione (spesso
$(prefix)/share/$(nomeapplicazione)/).
In questo caso, ricordati di chiamare gettext.install da codice python
specificando anche la cartella da cui caricare i cataloghi:
http://docs.python.org/lib/node739.html

Scusa se per caso non sono stato chiarissimo, oggi scrivo di
super-fretta.

Ciao,
matteo


On lun, 2008-09-01 at 21:00 +0100, olympicmew wrote:
> Sto scrivendo un programma in Python. L'ho abilitato alla
> localizzazione, ma ora non so cosa devo fare con il messages.pot.
> Qualcuno mi spiega per filo e per segno la faccenda?
> 

Other related posts: