8. Internazionalizzazione e traduzioni

Debian supporta un numero sempre crescente di lingue naturali. Anche se si è un madrelingua inglese e non si parla un'altra lingua, è parte del proprio dovere come maintainer essere a conoscenza delle problematiche di internazionalizzazione (i18n abbreviato perché ci sono 18 lettere tra la 'i' e la 'n' in internazionalizzazione). Pertanto, anche se non si hanno problemi con programmi solo inglesi, vi consigliamo di leggere la maggior parte di questo capitolo.

According to Introduction to i18n from Tomohiro KUBOTA, I18N (internationalization) means modification of software or related technologies so that software can potentially handle multiple languages, customs, and other differences, while L10N (localization) means implementation of a specific language for already-internationalized software.

l10n e i18n sono interconnessi, ma le difficoltà relative a ciascuno di essi sono molto diverse. Non è davvero difficile consentire ad un programma di cambiare la lingua in cui vengono visualizzati i testi sulla base di impostazioni utente, ma in realtà è molto dispendioso tradurre questi messaggi. D'altro canto, impostare la codifica dei caratteri è banale, ma adattare il codice per utilizzare diverse codifiche di carattere è un problema veramente difficile.

Lasciando da parte i problemi i18n, dove non è possibile dare alcuna linea guida generale, non vi è in realtà alcuna infrastruttura centrale per l10n in Debian che potrebbe essere confrontata con il meccanismo buildd per il porting. Così la maggior parte del lavoro deve essere fatto manualmente.

8.1. Come le traduzioni sono effettuate in Debian

La gestione della traduzione dei testi contenuti in un pacchetto è ancora un compito manuale e il processo dipende dal tipo di testo che si desidera vedere tradotto.

For program messages, the gettext infrastructure is used most of the time. Most of the time, the translation is handled upstream within projects like the Free Translation Project, the GNOME Translation Project or the KDE Localization project. The only centralized resources within Debian are the Central Debian translation statistics, where you can find some statistics about the translation files found in the actual packages, but no real infrastructure to ease the translation process.

Package descriptions have translations since many years and Maintainers don't need to do anything special to support translated package descriptions; translators should use the Debian Description Translation Project (DDTP).

Per i modelli debconf, i maintainer dovrebbero utilizzare il pacchetto po-debconf per facilitare il lavoro dei traduttori, che potrebbero usare il DDTP per fare il loro lavoro (ma i team francesi e brasiliani non lo usano). Alcune statistiche possono essere trovate sia sul sito del DDTP (su ciò che è stato effettivamente tradotto) e sul sito Central Debian translation statistics (su ciò che è integrato nei pacchetti).

Per le pagine web, ogni squadra l10n ha accesso alle VCS rilevanti, e sono disponibili presso il sito Central Debian translation statistics.

Per la documentazione di carattere generale su Debian, il processo è più o meno lo stesso che per le pagine web (i traduttori hanno accesso al VCS), ma non ci sono pagine di statistiche.

Per la documentazione di un pacchetto specifico (pagine man, documenti info, altri formati), quasi tutto resta da fare.

8.2. I18N e L10N FAQ per i maintainer

Questa è un elenco di problemi che i maintainer potrebbero dover affrontare in materia di i18n e l10n. Durante la lettura di questo documento, tenere presente che non esiste un vero consenso su questi punti all'interno di Debian e che questo è solo un consiglio. Se si ha un'idea migliore per un dato problema, o se si è in disaccordo su alcuni punti, non esitare a fornire il proprio feedback, in modo che questo documento possa essere migliorato.

8.2.1. Come ottenere un certo testo tradotto

To translate package descriptions or debconf templates, you have nothing to do; the DDTP infrastructure will dispatch the material to translate to volunteers with no need for interaction on your part.

Per tutti gli altri materiali (file gettext, pagine man, o altra documentazione), la soluzione migliore è quella di mettere il testo da qualche parte su Internet e chiedere su debian-i18n una traduzione in diverse lingue. Alcuni membri del team di traduzione sono iscritti a questa lista e si prenderanno cura della traduzione e del processo di revisione. Una volta finito, si avrà il proprio documento tradotto da loro nella vostra casella di posta.

8.2.2. Come ottenere una revisione di una data traduzione

Di volta in volta, gli individui traducono alcuni testi nel proprio pacchetto e vi chiederanno l'inserimento della traduzione nel pacchetto. Questo può diventare un problema se non si parla correntemente la lingua data. È una buona idea inviare il documento alla mailing list l10n corrispondente, chiedendo una revisione. Una volta che è stata fatta, ci si dovrebbe sentire più sicuri della qualità della traduzione e sentirsi sicuri da includerla nel proprio pacchetto.

8.2.3. Come ottenere una data traduzione aggiornata

Se si dispone di alcune traduzioni di un dato testo in giro, ogni volta che si aggiorna l'originale, si dovrebbe chiedere al traduttore precedente di aggiornare la traduzione con le nuove modifiche. Tenete a mente che questo compito richiede tempo, almeno una settimana per ottenere l'aggiornamento revisionato e tutto il resto.

Se il traduttore non risponde, si può chiedere aiuto sulla mailing list l10n corrispondente. Se tutto fallisce, non dimenticare di mettere un avviso nel documento tradotto, affermando che la traduzione è in qualche modo obsoleta e che il lettore dovrebbe fare riferimento al documento originale, se possibile.

Evitare di rimuovere una traduzione del tutto perché è obsoleta. La vecchia documentazione è spesso migliore di nessuna documentazione per chi non parla inglese.

8.2.4. Come gestire una segnalazione di bug riguardante una traduzione

La soluzione migliore potrebbe essere quella di marcare il bug come trasmesso al maintainer originale e trasmetterlo sia al traduttore precedente e alla loro squadra (utilizzando la mailing list debian-l10n-XXX corrispondente).

8.3. I18N & L10N FAQ per traduttori

Durante la lettura di questo documento, si tenga presente che non esiste una procedura generale all'interno di Debian relativa a questi punti, e che in ogni caso, si dovrebbe collaborare con il team e il maintainer del pacchetto.

8.3.1. Come aiutare lo sforzo di traduzione

Scegliere ciò che si desidera tradurre, assicurarsi che nessuno stia già lavorando su di esso (con la tua mailing list debian-l10n-XXX), tradurlo, chiedere la sua revisione da altri madrelingua sulla propria mailing list l10n e fornirlo al maintainer del pacchetto (si consulti il punto successivo).

8.3.2. Come fornire una traduzione per l' inclusione in un pacchetto

Assicurarsi che la traduzione sia corretta (chiedere la revisione sulla propria mailing list l10n) prima di fornirla per l'inclusione. Ciò consentirà di risparmiare tempo a tutti e di evitare il caos conseguente all'avere diverse versioni dello stesso documento nelle segnalazioni di bug.

The best solution is to file a regular bug containing the translation against the package. Make sure to use both the patch and l10n tags, and to not use a severity higher than 'wishlist', since the lack of translation never prevented a program from running.

8.4. L'attuale pratica consigliata riguardanti l'l10n

  • Come maintainer, mai modificare le traduzioni in qualsiasi modo (anche di riformattare il layout), senza chiedere sulla mailing list l10n corrispondente. Si rischia ad esempio di rompere la codifica del file in questo modo. Inoltre, quello che si considera un errore può essere corretto (o addirittura necessario) nella lingua data.
  • Come traduttore, se si trova un errore nel testo originale, assicurarsi di segnalarlo. I traduttori sono spesso i lettori più attenti di un dato testo, e se non segnalano gli errori che trovano, nessuno lo sarà.
  • In ogni caso, si ricordi che il problema principale con l10n è che richiede a più persone di collaborare, e che è molto facile iniziare discussioni su piccoli problemi a causa di incomprensioni. Quindi, se si hanno problemi con il proprio interlocutore, si chieda aiuto sulla mailing list l10n corrispondente, su debian-i18n, o anche su debian-devel (ma attenzione, discussioni l10n molto spesso diventano flame su quella lista :)
  • In ogni caso, la cooperazione può essere raggiunta solo con il rispetto reciproco.