Per rendere più semplice il lavoro dei traduttori le pagine sono generate in un modo leggermente differente da quello al quale si è normalmente abituati. Le pagine web sono generate a partire da sorgenti wml. Ci sono delle directory separate per ogni lingua.
Se si ha l'intenzione di cominciare una nuova traduzione del sito web di Debian, dare un'occhiata alla sezione su come cominciare una nuova traduzione.
L'uso del WML consente di separare il contenuto di una pagina dagli elementi comuni a più pagine. Ciò significa che è necessario tradurre i sorgenti WML e non i file HTML. Bisogna usare CVS per ottenere i sorgenti aggiornati. Si dovrebbe effettuare il check out almeno di due directory: webwml/english/ e webwml/<lingua>/.
Per tradurre una singola pagina dall'inglese in un'altra lingua, deve essere tradotto il file .wml originale e la traduzione deve essere messa nella directory dell'altra lingua. Il percorso relativo ed il nome devono essere uguali a quelli della directory inglese per consentire ai link di funzionare.
È fortemente
raccomandato che il traduttore aggiunga una riga agli header
dopo l'ultima dichiarazione #use per segnalare l'esatto numero di revisione del
file originale che è stato tradotto, così da rendere l'aggiornamento più
facile. La riga deve essere come questa:
#use wml::debian::translation-check translation="x.y"
Alcuni team di traduttori usano questa riga anche per associare ad ogni pagina web
il nome del traduttore. Così il traduttore può essere avvisato automaticamente via e-mail
quando viene modificata la versione inglese della pagina che mantiene e quindi deve
aggiornare la sua traduzione. È sufficiente aggiungere il nome del traduttore come
maintainer alla fine della riga #use come nel seguente
esempio:
#use wml::debian::translation-check translation="x.y" maintainer="nome del traduttore"
È anche necessario istruire il robot su chi si sia, sulla frequenza con la quale si vuole ricevere le mail automatiche e sul loro contenuto. Per ottenere ciò, editare (o far editare dal proprio cordinatore) il file webwml/lingua/international/lingua/translator.db.pl nel CVS. La sintassi dovrebbe essere facilmente comprensibile e si può usare il file del team francese come modello se ancora non esiste per la propria lingua. Il robot può acquisire diversi tipi di informazioni e per ognuna di esse si può scegliere la frequenza con la quale esse saranno inviate al traduttore. I differenti tipi di informazione sono:
Poi, per ognuno dei tipi elencati, va specificato uno dei seguenti valori: 0 (mai), 1 (mensilmente), 2 (settimanalmente) o 3 (quotidianamente).
Un esempio può essere:
'Mario Rossi' => {
email => 'mario.rossi@tuxfamily.org',
summary => 3,
logs => 3,
diff => 3,
tdiff => 0,
file => 0
},
L' header della pagina web può essere fatto semplicemente usando lo script copypage.pl posto nella directory radice webwml. Lo script copierà la pagina al posto giusto, creando directory e makefile (se necessari) e aggiungendo automaticamente gli header richiesti.
In altre parole dopo aver eseguito ./copypage.pl file.wml, tradurre il testo originale del file. Commenti nei file indicheranno se ci sono cose da non tradurre: vanno rispettati. Non bisogna cambiare la formattazione; se fossero necessarie correzioni esse dovrebbero essere fatte nel file originale.
Essendo usato il content negotiation, i file HTML non sono chiamati file.html ma file.<lang>.html, dove <lang> è il codice di due caratteri della lingua, in accordo con ISO 639 (p.e. it per l'italiano).
Si possono ottenere i file HTML da quelli WML eseguendo make file.<lang>.html. Se funziona, si controlli la validità della sintassi con weblint file.<lang>.html.
Le pagine web saranno ricostruite dal CVS sul server www-master e questo processo è in grado di superare la maggior parte degli errori. Comunque, se si fa il commit di un file errato nel top level della traduzione (p.e. il file top-level index.wml), si potrebbe interrompere il processo di costruzione e mandare in stallo tutti gli altri aggiornamenti del sito web. Bisogna porre una particolare attenzione a questi file.
Una volta che si è controllata la pagina, si può fare il commit nel CVS. Se si hanno i permessi per farlo da soli, eseguire cvs commit; altrimenti, inviare il file a qualcuno con accesso in scrittura al repository.
Se si vuole iniziare una traduzione da zero delle pagine web Debian in una nuova lingua, mandare un'email (in inglese) a webmaster@debian.org.
Prima di tutto, assicurarsi di aver fatto un esatto checkout del nostro albero dei sorgenti, come descritto nella nostra pagina di introduzione al CVS.
Dopo aver fatto il checked out delle directory webwml/ (almeno) webwml/english/, cominciare creando una nuova directory per la traduzione, accanto ad english/ e alle altre. Il nome della directory con la traduzione deve essere in inglese ed interamente in caratteri minuscoli (p.e. "italian" non "Italiano").
Copiare i file Make.lang e .wmlrc dalla directory english/ alla nuova directory. Questi file sono indispensabili per costruire la traduzione dai file WML. Sono stati fatti in modo tale che dopo che siano stati copiati nella directory per una nuova lingua, restino solo da cambiare le seguenti cose:
Dopo aver fatto ciò, scrivere la seguente linea in un nuovo file chiamato "Makefile" in quella directory:
include $(subst webwml/yourlanguagedir,webwml/english,$(CURDIR))/Makefile
(Naturalmente, sostiuire yourlanguagedir con il nome della directory con la traduzione).
Ora creare una subdirectory nella directory con la traduzione chiamata "po", e copiare lo stesso Makefile in quella subdirectory (cp ../Makefile .).
Nella directory po/ , eseguire make init-po per generare il set iniziale di file *.po
Ora che lo scheletro di base è pronto, si può iniziare ad aggiungere le traduzioni dei tag WML condivisi usati nei template. I primi template che dovrebbero essere tradotti sono quelli che compaiono in tutte le pagine web, come le keyword degli header, i componenti della barra di navigazione e i pié di pagina.
Iniziare la traduzione dei file in po/templates.xy.po
(dove xy è il codice di due lettere della lingua). Per ogni
msgid "qualcosa" c'è un
msgstr "" dove si dovrebbe mettere la traduzione di
qualcosa tra le virgolette dopo msgstr.
Non è necessario tradurre tutte le stringhe in tutti i file .po,
solo quelle che servono nelle pagine tradotte. Per vedere se
è necessario tradurre una stringa, guardare i commenti nel file .po sopra ogni dichiarazione
msgid. Se il riferimento è ad un file in
english/template/debian, la traduzione va fatta subito.
Altrimenti può essere rimandata a quando si tradurrà la
sezione di pagine web che la richiedono.
Lo scopo dei file in po/ è di rendere più facili le cose ai traduttori, in modo che non debbano (quasi) mai modificare nulla nella directory english/template/debian . Se si trova qualsiasi errore nel modo in cui qualcosa è impostata nella directory template, ci si assicuri che il problema abbia una soluzione generale (si chieda pure a qualcun altro di farlo per voi), piuttosto che inserire delle traduzioni nei template, cosa che potrebbe (quasi sempre) creare problemi maggiori.
Se non si è sicuri di fare bene qualcosa, si chieda sulla mailing list debian-www prima di fare il commit.
Nota: se pensate di dover fare qualsiasi altra modifica mandate una e-mail a debian-www specificando le modifiche e le motivazioni in modo che il problema possa essere corretto.
Dopo che anche i template sono pronti, si può iniziare con la traduzione della pagina iniziale e degli altri file *.wml. Per una lista dei file che dovrebbero essere tradotti prima, si legga Suggerimenti utili per la traduzione. Si traducano le pagine *.wml come descritto all'inizio di questa pagina.
Quanto scritto sopra sarà probabilmente sufficiente per iniziare. Sotto si trovano dei riferimenti a documenti contenenti spiegazioni più dettagliate ed altre informazioni utili.
Speriamo che si trovi il lavoro che abbiamo fatto utile per tradurre con facilità le pagine. Come già detto, se si hanno delle domande le si pongano pure alla mailing-list debian-www.