Aiutare il Software Libero

Carlo Contavalli, Stefano Melchior, Cristian Rigamonti, Fabio Pani, Emanuele Rocca, Francesco Donadon, Giuseppe Sacco

Per aiutare il Software Libero non è necessario essere dei tecnici o conoscere un linguaggio di programmazione. Riveste grande importanza infatti la localizzazione dei software, ovvero la presenza di software e documentazione scritti in una lingua comprensibile per tutti gli utenti. Per tradurre del Software Libero è sufficiente conoscere l’utilizzo di un editor di testi, conoscere sia l’Italiano che l’Inglese e avere un minimo di dimestichezza con alcuni strumenti.

Indice

1 Introduzione 1

2 Raccomandazioni generiche 2

3 Tradurre l’output dei comandi ed il contenuto delle interfacce 2 3.1 Suggerimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4 Tradurre HOWTO/LIBRI/FAQ... 4 4.1 Suggerimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Tradurre la descrizione dei pacchetti Debian (DDTP) 8 5.1 Vita delle traduzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2 Suggerimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6 Tradurre i menù di installazione di debconf 9 6.1 Suggerimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

7 Tradurre le pagine del sito web Debian 10 7.1 La scelta della pagina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.2 Il WML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.3 Scaricare la pagine in WML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.4 La traduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.5 L’aggiornamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.6 In pratica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.7 Suggerimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.8 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1 Introduzione

Esistono diverse parti del sistema operativo Debian GNU (o comunque GNU) che dovrebbero essere localizzate:

• le pagine di manuale (file troff)

• la documentazione dei programmi e le HOWTO/FAQ/... (docbook, sgml, xml, latex)

• l’output dei comandi ed il contenuto delle interfacce (.po di gettext)

In più, per quanto riguarda Debian GNU, è importante che vengano tradotti:

• la descrizione dei pacchetti (ddtp) - visibili con “apt-cache” ed i vari frontend per apt e dpkg (dselect, aptitude, ...)

• i menù di installazione (.po per debconf) - visibili durante l’installazione di un pacchetto

• le pagine web del sito Debian - (sorgenti .wml)

Questo documento è il frutto del primo Debian Translation Party, tenutosi a Milano il 13 Dicembre 2003 ed organizzato da:

• <fabiux at fabiopani.it>

• <stefano.melchior at openlabs.it>

• <cri at linux.it>

• <ccontavalli at debian.org>

In collaborazione con Debian Italia http://www.debian.org/index.it.html

e l’associazione culturale OpenLabs http://www.openlabs.it/ .

Il documento è stato redatto in un tempo molto breve. Se vedete qualche inesattezza, credete che una correzione sia necessaria o vi piacerebbe che venissero aggiunte delle informazioni (o vi piacerebbe scrivere una nuova sezione), vi preghiamo di contattarci. Grazie!

2 Raccomandazioni generiche

• In questo documento non si entrerà nel merito delle traduzioni. Ovvero, si parlerà di come fisicamente effettuare una traduzione, cioè di dove reperire il materiale da tradurre e quali strumenti utilizzare per tradurlo, ma non delle forme grammaticali né di come scrivere delle buone traduzioni, anche se nel corso del documento verrà dato qualche spunto. Per maggiori informazioni sullo stile linguistico da utilizzare e su come tradurre la terminologia tecnica, vi consigliamo di consultare: http://ddtp.debian.org/ddtp-text/guides/guide-it.txt http://ddtp.debian.org/ddtp-text/guides/

  guide-it.txt

ed il glossario ufficiale dei traduttori italiani

http://disastro.cuore.org/˜ em http://disastro.cuore.org/~em . Ad ogni modo, sulle mailing list indicate, vi sapranno dare degli ottimi consigli.

• Utilizzate le mailing list: sono uno strumento indispensabile. Nessuno è lì per giudicare la vostra abilità o per prendersi gioco di voi. Scopo principale delle mailing list è coordinare il lavoro di persone lontane tra loro, conoscersi e tentare insieme di raggiungere un determinato scopo. Per cui, non vergognatevi a chiedere! Nella peggiore delle ipotesi, nessuno vi risponderà! Solitamente, invece, avrete la possibilità di conoscere un sacco di persone.

• Accertatevi che la vostra traduzione sia comprensibile non solo per un neofita, ma anche per un “tecnico”. Se un vostro amico con competenze tecniche maggiori delle vostre guarda la traduzione arricciando le sopracciglia ed esclamando “che diavolo vuol dire questo?”, probabilmente avete esagerato :). Come venne ripetuto più volte su diverse mailing list: una traduzione deve tradurre, non spiegare (glossario ufficiale).

• Accettate di buon grado i consigli che vi vengono dati: nessuno vuole scoraggiarvi (perché mai vorrebbe farlo?), nessuno vuole dire che avete fatto un brutto lavoro (se non l’aveste fatto voi, chi l’avrebbe fatto?) o che non siete stati bravi (poteva farlo chi vi sta criticando!!!). Spesso nelle email non traspaiono i sentimenti, i toni di voce o il significato reale che si vuole attribuire ai termini utilizzati. Quindi, se vi vengono dati dei suggerimenti, è semplicemente perché si vuole migliorare la qualità del lavoro già svolto, che anche solo per il fatto che è stato completato, è da considerare fondamentale per la comunità.

3 Tradurre l’output dei comandi ed il contenuto delle interfacce

1. Scegliete un programma da tradurre :).

2. Verificate che il programma non sia già stato tradotto o che qualcuno non stia già lavorando su tale traduzione (come? scrivete su una delle mailing list per le traduzioni!! Principalmente, per i tool GNU tp@lists.linux.it, scrivendo qualcosa del tipo “Vorrei tradurre ... qualcuno ci sta già lavorando?”, aspettate una settimana e se nessuno vi risponderà, allora potrete iniziare la vostra traduzione in serenità)

3. Procuratevi i sorgenti del programma che si vuole tradurre (file .tar.gz o .tar.bz2)

4. Decomprimete i sorgenti (tar -xvzf file.tar.gz o tar -xjvf file.tar.bz2)

5. Cercate un file con estensione “.pot”, file che di norma contengono i template di gettext (find . -name ’*.pot’)

6. Copiate il file .pot che avete trovato in un file con nome “it.po”. Il file deve essere copiato nella stessa directory dove si trova il file .pot originale o comunque tutti gli altri file .po. Esempio:

     cp /home/src/pippo-1.2/po/pippo.pot /home/src/pippo-1.2/po/it.po

7. Aprite il file “it.po” con un editor di testo oppure con un tool specifico (kbabel, gtranslator, poedit).

8. Riempite i campi vuoti :). Come?

• NON toccate MAI ciò che viene dopo “msgid”. msgid serve a gettext per individuare il messaggio. Per cui, modificando questo campo, il po non funzionerà.

• dopo “Language-Team:” specificate “Italian <tp@lists.linux.it>” oppure “Italian <debian-l10n-italian@lists.debian.org>”, a seconda della mailing list che avrete contattato per verificare la correttezza della traduzione.

• dopo “Last-Translator:” scrivete il vostro “Nome Cognome <indirizzo@email.com>”

• al posto di CHARSET, specificate “ISO-8859-1” oppure “UTF-8” (solo ed esclusivamente se state utilizzando un editor con supporto per UTF-8 e se tale supporto è abilitato). Se non sapete cosa UTF-8 sia, utilizzate “ISO-8859-1”, a meno che non dobbiate tradurre un componente di GNOME, nel qual caso vi conviene utilizzare “UTF-8” e far sì che il vostro editor salvi in tale formato (leggete il manulae del vostro editor!!! in caso contrario, il vostro .po potrebbe non funzionare).

• dopo “Project-Id-Version:” scrivete il nome e la versione del programma con “nomeprogramma 1.0” (nomeprogramma spazio 1.0), dove nomeprogramma potrebbe essere, per esempio, “apache” ed “1.3” la versione del programma stesso.

• completate anche i campi Project-Id-Version, POT-Creation-Date e PO-Revision-Date, come indicato nel file .po stesso.

• dopo ogni “msgstr”, tra “” e “”, scrivete la traduzione del messaggio, rispettando il formato indicato nel

rispettivo “msgid”. Esempio:

    msgid ""
    "The domain name is used to construct the base DN of your LDAP directory. "
    "Entering foo.bar.org will give you the base DN dc=foo, dc=bar, dc=org."
    msgstr ""
    "Il nome di dominio è utilizzato per costruire il base DN della vostra "
    "directory LDAP. Per esempio, inserendo foo.bar.org verrà utilizzato come "
    "base DN dc=foo, dc=bar, dc=org."

Fate attenzione agli spazi alla fine della riga! Senza lo spazio dopo “vostra”, il messaggio sarebbe stato “DN della vostradirectory LDAP”! Allo stesso modo, state attenti a non mettere uno spazio sia all’inizio che alla fine della riga, per non avere doppi spazi!

• prima di ogni “msgstr”, gettext inserisce un commento (preceduto da “#”) che indica la provenienza del messaggio da tradurre, ovvero da che file del programma il messaggio è stato estratto. Questa informazione vi può essere utile per contestualizzare il messaggio (cioè: c’è la parola “fork” da tradurre. Si tratta della sezione di un programma che parla di forchette o della “fork” come chiamata di sistema? L’unico modo per saperlo è capire dove il messaggio è stato utilizzato, guardando i sorgenti).

9. Una volta che avete riempito tutti i campi, inviate il vostro file .po ad una mailing list, come, per esempio, tp@lists.linux.it o debian-l10n-italian@lists.debian.org chiedendo cosa gli altri ne pensino della vostra traduzione. Questa fase è fondamentale: se avete tradotto un testo, è quasi impossibile che siate anche in grado di correggerlo. Non vedrete gli errori che avete commesso.

10. Apportate le modifiche suggerite dalla mailing list.

11. Inviate il vostro file .po all’autore del programma che avete tradotto o alla mailing list di discussione, con un messaggio simile a:

Hello!
  Since I believe your wonderful software would be
more enjoyable by italian users if its messages/menus
were written in italian, I took care of translating
the .po file. The file has been reviewed by members of
the mailing list [specificare mailing list] and I
believe it to be correct.
  You can find the it.po file in the attachment, and
I'd like it to be included in the next release of your
wonderful software.
Cheers,
[vostro nome]

Se la traduzione ha a che vedere con il sistema Debian ed i menù di installazione di Debian, leggete le prossime sezioni!

12. Bene! Avete tradotto il vostro primo software!

3.1 Suggerimenti

• Utilizzare un programma specifico per le traduzioni può essere di grande aiuto! (provate kbabel, gtranslator o poedit). Anche emacs ha delle funzionalità specifiche per i file .po.

• Per le traduzioni, chiedete consigli sulle varie mailing list! Non coniate neologismi incomprensibili!

• Rifatevi alle traduzioni già esistenti! Consultate il glossario “ufficiale” per i traduttori italiani (è importante mantenere una certa uniformità!)

• Preoccupatevi della lunghezza della vostra traduzione e del contesto in cui verrà visualizzata. Ad esempio, se un messaggio di errore è più lungo del previsto e viene visualizzato in una finestrella dove il testo viene mandato a capo automaticamente, allora non è un problema. Se invece dovete tradurre “History” nel menù di un browser, probabilmente non potete usare qualcosa come “Storia dei siti utilizzati più recentemente in ordine di data”, a meno che non vogliate essere voi gli unici utenti di tale browser.

4 Tradurre HOWTO/LIBRI/FAQ...

Generalmente, le HOWTO/LIBRI/FAQ sono scritti utilizzando qualche forma di SGML, XML oppure latex. Se il documento che volete tradurre è scritto in latex e la vostra fonte primaria di informazioni è questo documento, allora potete rinunciare serenamente alla vostra traduzione: qua non si parlerà di latex (anche se ci piacerebbe :). Vi parleremo invece di SGML ed XML.

Per cui:

1. Scegliete quale documento volete tradurre

2. Cercate i sorgenti del documento, ovvero un file .sgml o .xml che l’autore originale del documento ha realizzato, da cui poi è stato generato il .pdf o l’html che probabilmente avete letto. Se trovate un file .tex, allora siete caduti nel caso di latex. Se non trovate questo file, non preoccupatevene più di tanto: tenteremo di porvi rimedio più avanti. Tenete comunque presente che quasi tutte le HOWTO vengono conservate su http://www.tldp.org http://www.tldp.org , anche in questi formati.

3. Contattate l’autore del documento, per:

• verificare che nessuno stia già lavorando a tale traduzione.

• verificare che non vi sia una nuova versione del documento quasi pronta per essere rilasciata (sarebbe alquanto fastidioso terminare la traduzione per vederla immediatamente obsoleta o scoprire che avete tradotto una vecchia versione del documento stesso).

• far sì che l’autore abbia un riferimento da poter contattare o da poter inserire sul suo sito per poter consultare il suo documento in italiano.

• verificare che l’autore non adotti qualche politica particolare per le traduzioni (che so, dovete lavorare sulla versione in CVS, mantenendo dei commenti contenenti i titoli originali delle sezioni...) o che non vi sia qualche restrizione prevista da licenza per quanto concerne le traduzioni (capita).

Potreste, per esempio, inviare un messaggio del tipo:

     Hello!
       While reading your [document/howto] titled [titolo dell'opera]
     fetched from [url del sito dove avete trovato il documento], I
     realized nobody had translated it in Italian.
       I can't believe Italians could survive such a long time without
     having a document like yours translated in their own language.

4. Tradurre HOWTO/LIBRI/FAQ... 6

  I'd thus like to translate it in such a foolish language
[se aiutati da una mailing list, aggiungete: , with the help of
the mailing list [nome della mailing list]].
  However, before starting the [se l'howto è particolarmente
lunga, aggiungete: huge] job, I'd like to hear from you:
     - if anybody is already working on such translation
     - if I should be aware of any licensing issue involved
       with translating your document in italian (eg, can I
       translate it in italian?)
     - if I should follow any particular procedure or convention
       while working on your [sgml o xml] files.
     - if you are working on a new version of your document that will
       be released soon
     - if there's a newer version of your document available on
       the internet (where can I fetch it?)
     [solo se non avete trovato il file sorgente, ovvero il file
      .sgml o .xml del documento, aggiungete:
     - where I can find the sources you used to write your
       document (sgml or xml files, I hope)]
  While working on the translation, translated [sgml o xml] files
will be put on [indicare il sito dove metterete la traduzione del
file man mano che completerete il lavoro].
Thank you,
Cheers
[vostro nome]

4. Attendete una risposta dell’autore, ed in base a questa decidete come procedere.

5. Se avrete deciso di proseguire nel vostro intento di tradurre il documento, aprite il file corrispondente con un editor di testo.

6. Ogni cosa scritta tra un < ed un > è un tag che, come nell’html, serve per specificare che cos’è o come deve essere formattato il testo che segue il tag stesso, e non deve quindi essere tradotta. Come ogni regola, c’è un’eccezione: capita qualche raro caso dove il valore di un attributo, testo racchiuso tra e preceduto da un =, deve essere tradotto. Per esempio, in <tag attributo=valore attr2=valore2 title=Questo è un titolo che deve essere tradotto>, Questo è un titolo che deve essere tradotto deve essere tradotto, al contrario di title, attributo, tag o attr2, che devono essere lasciati così come sono (non provate nemmeno a pensare di doverli tradurre!).

7. Ogni altro testo che trovate nel documento deve essere tradotto. Esempio:

<!doctype linuxdoc system>
<article>
<title>How to drink forty cans of beer in 10 seconds</title>
<author>A group of anonymous drunk writers</author>
<date>13th December 2003 4:30 AM</date>
<abstract>
This document describes the methods, procedures and technics
involved with cans of beer drinking. Along this document, the
reader will have the opportunity to complete many exercises that
will help him in achieving the
minimum knowledge needed to drink forty cans of beer in less
than 10 senconds.

     </abstract>
     <toc title="Main Index">
     <sect id="intro">Introduction<p>
     [...]

Ok, questo breve documento potrebbe essere tradotto come:

     <!doctype linuxdoc system>
     <article>
     <title>Come bere quaranta lattine di birra in 10 secondi</title>
     <author>Un gruppo anonimo di scrittori ubriachi</author>
     <date>13 Dicembre 2003 4:30</date>
     <abstract>
     Questo documento descrive i metodi, le procedure e le
     tecniche coinvolte nel bere lattine di birra.
     Nel corso del documento il lettore avrà l'opportunità
     di completare molti esercizi che lo aiuteranno nel raggiungere
     le conoscenze minime necessarie per poter bere quaranta lattine
     di birra in meno di 10 secondi.
     </abstract>
     <toc title="Indice Principale">
     <sect id="intro">Introduzione<p>
     [...]

Nell’esempio precedente (peraltro piuttosto irrealistico dal punto di vista del formato utilizzato), notate come il testo tra i tag sia stato tradotto, ma non il nome dei tag stessi. Notate inoltre che l’attributo “title” del tag toc è stato tradotto, ma non l’attributo “id” del tag sect. Questo perchè l’attributo “title” verrà visualizzato nel pdf/html di output, ma non l’id, che viene utilizzato solo internamente per facilitare la creazione di riferimenti incrociati. Come regola semplice, traducete solo quello che verrà visualizzato nel formato di output. In realtà, bisognerebbe conoscere la famiglia di tag utilizzati e decidere in base a ciò che il manuale dice (in questo caso, il manuale di “linuxdoc”).

8. Completato il documento, contattate l’autore comunicandogli l’esito della traduzione e l’url dove questa verrà resa disponibile. Per esempio, potreste scrivere all’autore qualcosa come:

     Hello!
       I finally completed the translation of your document. You can
     find it in the attachment or at the url [inserire l'url del documento].
     Cheers,
     [vostro nome]

Se il documento originale è stato inserito in un archivio come

http://www.tldp.org http://www.tldp.org , sarebbe carino che anche la vostra traduzione venisse inserita in tale archivio. Parlatene con l’autore e seguite le procedure indicate sul sito dell’archivio.

9. Stappate una bottiglia di spumante ed invitate i vostri nipoti (ormai saranno diventati grandi) per celebrare il termine della vostra traduzione!

4.1 Suggerimenti

• È imperativo conservare una copia originale non tradotta del documento che state traducendo. È fondamentale! Quando una nuova versione di tale documento verrà rilasciata, sarete in grado, utilizzando il comando “diff” o “vimdiff”, di vedere immediatamente quali modifiche sono state apportate (confrontando la vecchia e la nuova versione), e di correggere le traduzioni di conseguenza, senza dover rileggere l’intero documento! Non avere la versione originale da cui avete tradotto potrebbe segnare la condanna della vostra traduzione.

• Tradurre un’intera HOWTO o un documento di qualche decina di pagine da soli può essere frustrante.Cercate quindi sempre l’aiuto di altre persone cercando di reclutare volontari nelle varie mailing list, e spezzettate il lavoro in maniera che ognuno possa tradurre un singolo pezzo. Verificate poi un pezzo per volta la correttezza e l’uniformità della traduzione.

• Non vergognatevi a pubblicizzare il fatto che avete iniziato a tradurre un HOWTO, e non vergognatevi a tenere su internet delle copie del vostro lavoro a disposizione del pubblico man mano che lo completate. Una HOWTO può essere lunga da tradurre, ed è normale che vi capiti di non avere più tempo per lavorarci per sopraggiunti impegni/problemi lavorativi/amorosi/... Rendendo disponibile una copia del vostro lavoro (anche se poco) su internet, consentirete ad altri di non dover iniziare da zero!

• Se deciderete comunque di andare avanti da soli, chiedete consigli alle varie mailing list, avvaletevi del glossario “ufficiale”, e cercate revisori che vi correggano tutto o parte del documento (magari inviandone pezzetti alle varie mailing list).

• In un documento di queste dimensioni, potrebbe essere auspicabile eseguire di tanto in tanto un controllo ortografico (usando, per esempio, “ispell -h -d italian file.sgml_o_xml” o “aspell -H check –lang=it file.sgml_o_xml”) e verificare la correttezza dell’output generato a partire dal vostro file .xml o .sgml (magari, per errore, avete eliminato un tag necessario, oppure avete aggiunto un carattere non valido). La verifica, però, dipende significativamente dal formato in cui il documento è stato scritto (va bene xml o sgml, ma utilizzando quale famiglia di tag? docbook? linuxdoc? che versione di docbook?). Allo stesso modo, interpretare gli errori dei tool di conversione può non essere facile. Consultate le mailing list e, se disponibile, utilizzate il “Makefile” fornito dall’autore. In quest’ultimo caso, per ottenere l’output in .pdf o .html, vi basterà installare tutte le utility necessarie (non ci riuscirete mai :-) e lanciare “make”.

5 Tradurre la descrizione dei pacchetti Debian (DDTP)

Recentemente in Debian è stato aggiunto il supporto per l’utilizzo da parte di “apt” e dei frontend di apt di un elenco dei pacchetti con la descrizione tradotta nella lingua dell’utente.

Ciò vuol dire che tutte le descrizioni dei pacchetti dovrebbero essere tradotte in italiano.

Per lavorare sulle traduzioni delle descrizioni dei pacchetti:

• Inviate una mail a: pdesc@ddtp.debian.org, contenente nel campo Subject (oggetto) il testo “GET nomepacchetto it” oppure “GET 1 it”. Nel primo caso, vi verrà inviata la descrizione del pacchetto “nomepacchetto” perché venga tradotta. Nel secondo, invece, vi verrà inviata una descrizione a caso.

• Nel giro di qualche ora, riceverete una mail dal server con la vostra descrizione da tradurre. Se avete richiesto un pacchetto a caso, non ci saranno problemi. Se avete richiesto un pacchetto particolare, potrebbe capitare che qualcuno abbia già tradotto il pacchetto specificato.

• Salvate l’allegato contenuto nella mail, apritelo con un editor di testo qualsiasi e sostituite “<trans>” con il testo corrispondente tradotto. Esempio:

     Description: A tetris clone.
      Gnome is the "GNU Network Object Model Environment"
      .
      It is a project to build a complete, user-friendly desktop based
      entirely on free software
     Description-it: <trans>
      Gnome sta per "GNU Network Object Model Environment".
      .
      <trans>

dovrebbe diventare:

     Description: A tetris clone.
      Gnome is the "GNU Network Object Model Environment"
      .
      It is a project to build a complete, user-friendly desktop based
      entirely on free software
     Description-it: Un clone di tetris.
      Gnome sta per "GNU Network Object Model Environment".
      .
      Si tratta di un progetto per costruire un ambiente grafico
      facile da usare e completamente basato su software libero.

Notate l’utilizzo degli spazi, del “.” ed il fatto che il “Description” originale non è stato modificato al pari di alcuni campi che non sono stati (e non devono!) tradotti. Limitatevi ad eliminare tutti i <trans> sostituendoli con delle (buone) traduzioni.

• Rispondete alla mail ricevuta, includendo come attachment il file da voi tradotto.

• Festeggiate! Avete appena completato la vostra prima traduzione.

5.1 Vita delle traduzioni

Utilizzando il DDTS (Debian Description Translation Server), il testo di un messaggio, deve:

• Essere tradotto. Per chiedere di poter effettuare la traduzione di un pacchetto, utilizzate il comando “GET” descritto precedentemente.

• Essere verificato, da almeno tre revisori. Per chiedere di poter rivedere la traduzione di qualcun altro, utilizzate il comando “REVIEW” nello stesso formato utilizzato da “GET”.

• Ogni volta che un revisore effettua una correzione, il processo di revisione rinizia da capo, fin tanto che la traduzione non viene approvata.

• Una volta che una traduzione viene approvata, viene inclusa nell’archivio, e diventa soggetta a BUG.

• Dopo che una traduzione è stata inclusa, infatti, qualcuno si potrebbe accorgere di eventuali errori ed aprire un BUG.

• In questo caso, verrà contattato l’autore originale per richiedere che il BUG venga corretto.

5.2 Suggerimenti

• Attenzione che la descrizione di un pacchetto è composta da due parti. La prima, in qualsiasi linguaggio venga tradotta, non deve superare i 60 caratteri.

• Ricevuta la traduzione da effettuare, se non la completerete entro un certo periodo di tempo, questa verrà affidata a qualcun altro.

• Per maggiori informazioni, date un occhio al file “guide-it.txt”, che potete trovare all’indirizzo “ http://ddtp.debian.org/ddtp-text/guides/guide-it.txt http://ddtp.debian.org/ddtp-text/guides/

  guide-it.txt ”.

• Navigando sulle pagine del DDTP http://ddtp.debian.org/ troverete sicuramente un sacco di informazioni curiose ed interessanti.

6 Tradurre i menù di installazione di debconf

I menù di installazione di debconf sono quei menù che vi compaiono quando utilizzate “apt-get”, solitamente a sfondo blu con “finestrelle” grigie. Questi menù sono scritti utilizzando due formati diversi all’interno di alcuni templates. Il primo formato, dichiarato obsoleto, utilizza un meccanismo proprietario di Debian. Il secondo formato, quello di cui si parlerà all’interno di questo documento, è basato su gettext e su file .po. In ogni modo, per tradurre i menù di installazione di debconf:

1. Andate sul sito http://www.debian.org/international/l10n/po-debconf/it http://www.debian.org/

  international/l10n/po-debconf/it

2. Guardate le statistiche per rendervi conto di quanto il vostro aiuto ed il vostro sforzo sia necessario.

3. Nell’elenco dei pacchetti da tradurre, scegliete la vostra vittima.

4. Banalmente, cliccateci sopra con il vostro browser.

5. Scaricate il file “templates.pot”.

6. Rinominatelo in “it.po”.

7. Traducetelo utilizzando la procedura descritta nella sezione “Tradurre l’output dei comandi ed il contenuto delle interfacce”, dal punto 7 in poi.

8. Mandate la vostra traduzione su debian-l10n-italian@lists.debian.org, chiedendo agli iscritti cosa ne pensino.

9. Apportate le modifche suggerite dalla mailing list.

10. Aprite un “whishlist” bug sul pacchetto che avete tradotto chiedendo che la vostra traduzione venga inclusa. Per aprire un whishlist bug, dovete mandare una semplice mail a: submit@bugs.debian.org, scrivendo nelle prime 3 righe del corpo del messaggio “Package: nomepacchetto” e “Severity: whishlist”, come mostrato nell’esempio:

       Package: [nomepacchetto]
       Severity: whishlist
          Hello! In the attachment, you'll find a file
       containing the Italian translation of your templates.pot
       file. It has already been verifyed by the mailing list
                debian-l10n-italian@lists.debian.org
       and I believe it to be correct. Please include it in
       the next version of your package.
       Cheers,
       [vostro nome]

Notate le prime due righe: se state traducendo i messaggi di “openldap2” (il nome su cui avete cliccato), al posto di “[nomepacchetto]” scrivete “openldap2”. Notate infine le righe vuote: quella tra “Severity” ed “Hello!” è obbligatoria!!!

11. Complimenti! Avete appena tradotto il vostro primo template di debconf!

6.1 Suggerimenti

• Per procurarvi il file “templates.pot”, potete anche scaricare i sorgenti del pacchetto intero (con “apt-get source nomepacchetto”, prestando attenzione a prendere il pacchetto dalla distribuzione “unstable”). In questo caso, il file “templates.pot” si troverà nella directory “debian”.

• Recentemente è stata estesa la funzionalità del DDTS per consentire la traduzione anche dei templates di debconf, con un meccanismo simile a quello precedentemente descritto. Purtroppo però, nel momento in cui stiamo scrivendo questo documento il server non è in funzione, e non è stato possibile per noi reperire le informazioni riguardanti l’utilizzo di questo metodo. Speriamo che questa sezione verrà aggiornata in futuro.

• Dal  sito  internet  http://www.debian.org/international/l10n/  http://www.debian.org/

     international/l10n/

è anche possibile vedere le statistiche relative alla traduzione dei pacchetti. La percentuale di quanto un pacchetto è tradotto viene calcolata sulla differenza dei messaggi in inglese dal file originale templates.pot al file it.po.

7 Tradurre le pagine del sito web Debian

Questo tipo di traduzione è parecchio diversa dalle altre, sia perché si tratta di documenti con un altro tipo di scopo, sia perché sono scritti in un linguaggio che si chiama “WML” sia perché hanno un’alta frequenza di modifica.

Questo non vuol dire che la loro traduzione sia più difficile, anzie è a volte più facile proprio perché, a causa dei frequenti aggiornamenti, si diventa facilmente padroni del testo.

Il sito web è piuttosto grande ed è composto da centinaia di pagine, suddivise in varie directory. La traduzione italiana è supervisionata da un coordinatore che traduce e controlla le prime traduzioni dei traduttori.

Ogni traduttore sceglie cosa vuole tradurre: ci sono le pagine legate alla sicurezza, quelle relative ai vari “port”, quelle per gli sviluppatori, quelle per i vari sottoprogetti Debian (debian-jr, debian-med, debian-NP, ...) insomma ce n’è per tutti i gusti. Ci sono poi delle pagine che non vengono mai cambiate, come quelle degli avvisi della sicurezza (DSA), oppure ce ne sono che vengono generate automaticamente, come gli indici, ma ce ne sono anche alcune che vengono cambiate molto spesso, come quelle dei progetti in grande fermento, quali il debian-installer.

7.1 La scelta della pagina.

La scelta della pagina è semplice, basta andare sul sito e vedere che cosa non è tradotto. Le pagine tradotte appariranno in italiano, le altre, normalmente, in inglese.

Le pagine che sono state tradotte ma che non sono aggiornate da molto tempo, avranno come prima riga un’avvertenza che rimanda alla versione originale inglese.

Inoltre, all’indirizzo http://www.debian.org/devel/website/stats/it.html#untranslated http://www.debian.org/

devel/website/stats/it.html#untranslated

potete trovare un elenco delle pagine che non sono state tradotte.

Dopo aver scelto delle pagine è il caso di inviare un email al coordinatore per avvisarlo che le si vogliono tradurre, in modo da evitare che si faccia del lavoro già svolto da altri. Per i più indecisi è possibile chiedere dei suggerimenti sulle pagine da tradurre al coordinatore, che in genere propone delle pagine semplici, che non siano modificate spesso. C’è inoltre sul sito una pagina che spiega qual è la priorità data alle varie parti del sito, per vedere quale andrebbe tradotta con più urgenza.

7.2 Il WML

Il linguaggio utilizzato per le pagine web di debian è un misto tra perl e HTML, chiamato WML. La parte che interessa al traduttore è solo quella HTML, che è sempre separata dal codice perl da qualche riga di commento dell’autore della pagina inglese.

Il fatto che le pagine siano in WML non è assolutamente un ostacolo alla traduzione, anzi, proprio grazie a questo è possibile inserire dei comandi che facciano da soli alcune parti della pagina: indici, titoli, rimandi, ...

L’unica pecca del WML è che la pagina non è direttamente visualizzabile da chi lal traduce, perché serve un processo di compilazione che la converta in HTML statico. (In effetti sul sito Debian non si usa nient’altro che HTML statico: niente javascript, gif animate, animazioni flash o coockie.)

7.3 Scaricare la pagine in WML

Tutte le pagine sono sul CVS debian, nel modulo webwml, ma forse anche questo CVS verrà spostato su Alioth, come è stato per il debian-installer, quindi si deve fare un po’ di attenzione. Ad ogni modo, dal CVS è possibile scaricare la versione inglese, e l’eventuale italiana, delle pagine tramite l’accesso anonimo in sola lettura. Per la scrittura invece serve un account non anonimo. All’inizio conviene sempre mandare la traduzione al coordinatore, poi, dopo un po’ tempo, il coordinatore propone di creare un account privato sul CVS per il traduttore.

È molto importante avere sia la versione inglese che quella italiana per lo stesso motivo spiegato in precedenza per le traduzioni di altri testi. Se non ci fosse la versione inglese usata per la precedente traduzione si avrebbero grandi difficoltà ad aggiornare la traduzione. Per fortuna tutto questo è semplificato dall’uso del CVS.

Se non avete mai utilizzato CVS, la sezione “In pratica” contiene un elenco di semplici passi che potete seguire per utilizzare questi strumenti e per aiutare comunque nelle traduzioni.

7.4 La traduzione

Una volta scelta la pagina dalla quale partire, averla concordata col coordinatore e averla scaricata dal CVS è possibile tradurla avendo cura di inserire, tra le prime righe, al seguente

     #use wml::debian::translation-check translation="1.6" maintainer="Mario Rossi"

avendo cura di inserire il proprio nome al posto di “Mario Rossi” e la versione del documento inglese al posto di “1.6”. Il numero di versione è quello riportato dal CVS. Se si accede al CVS via web è quello riportato proprio con il file, nella pagina dalla quale si scarica il documento, se invece si accede con il comando “cvs” allora si tratta della versione memorizzata nel file CVS/Entries.

Il numero di versione è indispensabile per l’aggiornamento delle traduzioni.

Dopo aver tradotto la pagina è il caso di inviarla al coordinatore che la converte in HTML e la controlla, risolvendo gli eventuali problemi, per poi metterla sul CVS. In genere ogni 4 ore il sito debian viene ricostruito, quindi prima di vedere la propria pagina sul sito si deve aspettare un po’; un po’ di più per vederla sui vari mirror.

7.5 L’aggiornamento

Una volta che il coordinatore inserisce sul CVS la nuova pagina, sarà sua cura aggiornare il programma che si occupa delle notifiche ai traduttori. Ogni traduttore difatti riceve un email automatico, la mattina presto, per tutte le pagine che lui traduce che siano state modificate nella versione originale.

L’email contiene solo la notifica con il nome della pagina, mentre una pagina web riporta esattamente quali sono le modifiche avvenute sulla pagina originale.

Queste differenze sono mostrate da un programma perl che si trova sul CVS, dal nome “check_trans.pl”. Il traduttore può controllare di persona quali siano queste differenze invocando il programma in questo modo:

     check_tran.pl -d -v italian directory

7.6 In pratica

Ecco i passi da seguire per tradurre le pagine del sito web di Debian:

1. Andate sul sito http://www.debian.org/devel/website/stats/it.html http://www.debian.org/devel/

     website/stats/it.html

col vostro browser preferito.

2. Date un’occhiata alle statistiche e rendetevi conto che c’è veramente bisogno del vostro aiuto.

3. Andate su http://www.debian.org/devel/website/stats/it.html#untranslated http://www.debian.org/

     devel/website/stats/it.html#untranslated

e scegliete la pagina che più vi aggrada.

4. Login anonimo sul server CVS Debian

          cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml login

(premete semplicemente invio alla richiesta della password)

5. Scaricate i sorgenti già tradotti in italiano:

          cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout -l \
          webwml webwml/italian

6. Prendete le immagini gif del sito e gli script perl (questi ultimi utili per automatizzare alcuni processi)

          cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout \
          webwml/Perl webwml/english/template webwml/italian/Pics

7. Create il file webwml/language.conf scrivendovi:

          italian

8. Scaricate il sorgente della pagina che vi interessa.Per esempio, se CD/vendors/legal fosse la pagina che desiderate tradurre:

          cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout \
          webwml/english/CD/vendors/legal.wml

9. Entrate nella directory webwml/ e lanciate uno di quei fantastici script di cui sopra, ovvero copypage.pl in questo modo:

     ./copypage.pl english/CD/vendors/legal.wml

10. Editate il file

     italian/CD/vendors/legal.wml

sostituendo alla prima riga (campo title) il titolo tradotto e nella seconda aggiungendo il campo maintainer con il vostro nome e cognome. Esempio:

     #use wml::debian::template title="Informazioni di licenza per i fornitori di CD"
     #use wml::debian::translation-check translation="1.10" maintainer="Emanuele Rocca"

11. Finalmente eccoci alla traduzione vera e propria: banale, ma ora è il momento di tradurre la pagina! :)La doverosa raccomandazione è di non tradurre i link né i commenti (le linee che iniziano con #).

12. Se avete dei dubbi, non esitate a contattare debian-l10n-italian@lists.debian.org.

13. Se doveste incontrare problemi a scaricare tutto da CVS, potreste voler provare ad utilizzare l’interfaccia web del CVS (http://cvs.debian.org/), scaricando le singole pagine.

14. Una volta terminato il lavoro, inviatelo ai coordinatori delle traduzioni delle pagine web. http://www.debian.org/devel/website/translation_coordinators http://www.debian.org/devel/

website/translation_coordinators .

15. Complimenti! Avete appena tradotto la vostra prima pagina del sito web Debian!

7.7 Suggerimenti

• Il server CVS contenente le pagine del sito Debian è navigabile via web. http://cvs.debian.org/webwml/?cvsroot=webwml http://cvs.debian.org/webwml/?cvsroot=

webwml

Potrebbe essere molto comodo.

• Maggiori informazioni sulla traduzione delle pagine web sono disponibili (chiaramente in italiano), su http://www.debian.org/devel/website/translating http://www.debian.org/devel/website/

translating

• Ulteriori approfondimenti sull’organizzazione del sito web Debian sono inoltre disponibili.

http://www.debian.org/devel/website/ http://www.debian.org/devel/website/

• Per approfondire l’argomento CVS consiglio il libro The CVS Book http://cvsbook.red-bean.com/ , leggibile gratuitamente online.

• Per quanto riguarda il Website META Language (WML), l’url di riferimento è

http://www.engelschall.com/sw/wml/ http://www.engelschall.com/sw/wml/

7.8 Conclusioni

Tradurre le pagine web non è una passeggiata, ma il lavoro da fare è molto e la diversità degli argomenti trattati fa sì che spesso si trovino pagine su argomenti veramente interessanti.

C’è sempre bisogno di altri traduttori, quindi fatevi avanti senza timori!