In questa sezione sono descritti i passi necessarri per effettuare la prima traduzione della propria vita. Vengono fornite informazioni sufficientemente dettagliate sul formato dei file PO; è necessario comunque premettere che una traduzione non banale richiede anche le informazioni presentate in Sezione 4 - Sintassi dei file PO e in Sezione 5 - Architettura di GNOME
Il modo più semplice di ottenere un file PO è di farselo dare da chi già lo ha. In particolare della lista dei moduli orfani della pagina dei traduttori italiani di GNOME e dalla lista delle statistiche di traduzione di GNOME. (FIXME: inserire i rispettivi collegamenti)
I file PO qui disponibili sono generati in modo automatico ad intervalli regolari. Se si ha paura di pasticciare, questo è il modo consigliato per procurarsi il file.
In alternativa è possibile crearsi da soli il file PO. Per fare ciò è necessario avere sia i sorgenti dell'applicazione (meglio se la versione di sviluppo da CVS), sia intltool installato nel proprio sistema.
Per creare quindi da soli un nuovo file pot si procede come segue:
Qualora invece vengano evidenziati degli errori, allora è bene segnalarli agli sviluppatori dell'applicazione. Spesso si tratta di un aggiornamento dei file sorgenti dell'applicazione a cui non è corrisposto un aggiornamento dei file marcati come contenti stringhe traducibili. L'elenco di tali file è mantenuto nel file POTFILES.in presente nella stessa directory po. Per aggirare il problema prima dell'intervento degli sviluppatori si puà provare ad eliminare da tale file i riferimenti ai file che non sono stati trovati.
A questo punto è sufficiente copiare o rinominare il file applicazione.pot come it.po per proseguire poi con l'effettiva traduzione.
I file PO, come preannunciato, non sono altro che file di testo semplice che elencano le stringhe segnate come da tradurre dagli sviluppatori e lasciano dello spazio per inserire le traduzioni. Ovviamente questi file debbono rispettare una certa sintassi.
Per poterli editare è quindi sufficiente un editor di testo. L'unica richiesta dei file PO per i moduli del progetto GNOME è che il file PO sia codificato in UTF-8, quindi anche l'editor di testo deve poter leggere e salvare in tale set di caratteri.
L'editor di testo fornito con lo GNOME Deskop è sufficiente per iniziare a lavorare, ma non è adatto per la modifica e la manutenzione di grosse traduzioni. Esistono programmi specifici per la gestione dei file PO quali Gtranslator e KBabel (questo secondo fa parte dell'ambiente desktop KDE), ma la loro descrizione esula dagli scopi di questo documento.
Ogni traduttore coraggioso usa come editor di testo Emacs. Questo infatti fornisce una modalità detta po-mode che rende semplice la gestione di file di ogni dimensione. Per maggiori informazioni, consultare Sezione 7 - Usare Emacs.
Una volta scelto quindi il proprio editor di testo o programma specifico per i file PO preferito, per inizare la traduzione è sufficiente aprire con questo il file it.po appena generato o scaricato da Internet.
Il seguente è un esempio di file PO appena generato; i numeri sulla sinistra non compaiono nel file, ma saranno utili nel seguito per poter fare riferimento ai vari elementi.
1 # SOME DESCRIPTIVE TITLE. 2 # Copyright (C) YEAR Free Software Foundation, Inc. 3 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 4 # 5 #, fuzzy 6 msgid "" 7 msgstr "" 8 "Project-Id-Version: PACKAGE VERSION\n" 9 "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" 10 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 11 "Language-Team: LANGUAGE <LL@li.org>\n" 12 "MIME-Version: 1.0\n" 13 "Content-Type: text/plain; charset=CHARSET\n" 14 "Content-Transfer-Encoding: 8bit\n" 15 16 #: src/main.c:32 17 msgid "First string" 18 msgstr "" 19 20 #: src/main.c:48 21 msgid "Second string" 22 msgstr ""
Ogni messaggio da tradurre è racchiuso tra due " e preceduto dalla parola chiave msgid; il corrispondente messaggio tradotto va inserito tra la coppia di virgolette subito dopo, quelle precedute dalla parola chiave msgstr. Ogni coppia di messaggi è preceduta da un commento che indica il file e la riga da cui il messaggio da tradurre è prelevata; nel commento possono anche essere presenti informazioni utili per la traduzione, rese disponibili dagli sviluppatori, o indicazioni su particolari formati che saranno spiegati in Sezione 4 - Sintassi dei file PO.
L'intestazione di un file PO è a sua volta una stringa traducibile. Il testo di tale stringa è vuoto (cfr. riga 6 dell'esempio sopra), mentre la stringa tradotta deve seguire una particolare sintassi.
Per poter completare la traduzione di questo file è necessario modificare nel modo opportuno l'intestazione e insereire le traduzioni dei messaggi negli appositi spazi, come spiegato qui di seguito:
La prima cosa da modificare è l'intestazione del file PO. I dati da modificare sono quelli scritti in maiuscolo, in particolare:
Anche le righe di commento all'intestazione vanno modificate secondo le indicazioni che seguono:
Tra la riga 2 e 3 andrebbe poi aggiunta una ulteriore riga di commento
# This file is distributed under the same license as the applicazione package
Infine, per completare questa prima fase, va elimata la riga 5, quella con la scritta fuzzy. Se non si cancella questa riga, infatti, anche traducendo tutti i messaggi della traduzione, questa non verrà poi compilata. Per maggiori informazioni sulle stringhe fuzzy e sul loro uso, consultare .
Non passare al prossimo paragrafo prima aver letto due volte questo ed aver imparato a memoria i passi descritti.
Il file PO d'esempio, dopo aver apportato le operazioni preliminari alla traduzione descritte in Sezione 3.4 - Modifica dell'intestazione, appare come segue (le parole in corsivo sono quelle variabili in funzione dei dati del traduttore e/o dell'applicazione):
1 # Italian tranlation of Applicazione. 2 # Copyright (C) 2001-2005 Free Software Foundation, Inc. 3 # This file is distributed under the same license as the applicazione package 4 # Pluto Bar <pluto@bar.net>, 2005. 4 5 7 msgid "" 8 msgstr "" 9 "Project-Id-Version: applicazione x.y.z" 10 "PO-Revision-Date: 2005-02-12 10:45 +0100\n" 11 "Last-Translator: Pluto Bar <pluto@bar.net>\n" 12 "Language-Team: Italian <tp@lists.linux.it>\n" 13 "MIME-Version: 1.0\n" 14 "Content-Type: text/plain; charset=UTF-8\n" 15 "Content-Transfer-Encoding: 8bit\n" 16 17 #: src/main.c:32 18 msgid "First string" 19 msgstr "" 20 21 #: src/main.c:48 22 msgid "Second string" 23 msgstr ""
A questo punto per completare la traduzione è sufficente modificare le righe 19 e 23 in modo tale che tra le "" di ciascuna riga ci sia la traduzione di quanto riportato alla riga che precede.
In pratica, alla fine della fase di traduzione la parte finale del file PO apparirà come segue:
[...] 16 17 #: src/main.c:32 18 msgid "First string" 19 msgstr "Prima stringa" 20 21 #: src/main.c:48 22 msgid "Second string" 23 msgstr "Seconda stringa"
A traduzione completata è possibile procedere con la fase di revisione ed invio del file, secondo quanto previsto dal proprio gruppo di traduzione. Ovviamente sarebbe opportuno verificare che la traduzione non presenti errori tecnici, ossia che dopo le modifiche apportate il file applicazione.it.po rispetti la sintassi dei file PO.