Traduzione italiana di Drupal

Questa pagina raccoglie le informazioni sulla realizzazione e sull'uso della traduzione italiana di Drupal.
La traduzione è liberamente scaricabile direttamente sul sito ufficiale o dalla pagina di download qui, su Drupal Italia.

Come utilizzare la traduzione

In questo paragrafo, destinato agli amministratori di siti Drupal, verrà descritto come ottenere ed inserire il file di traduzione per ottenere un sito Drupal con interfaccia in lingua italiana.

Principi generali

Drupal utilizza un potente sistema di traduzione, per rendere possibile la resa dell'interfaccia in diverse lingue, comprese lingue nuove o personalizzate. Le traduzioni già pronte vengono rese disponibili tramite file in formato .po (GNU Gettext).

Per attivare la traduzione dell'interfaccia utente di un sito Drupal, è necessario per prima cosa attivare il modulo lingua ('locale'), quindi importare la lingua scelta, e infine renderla disponibile agli utenti. La procedura verrà descritta nel dettaglio qui sotto.

Come utilizzare la traduzione

Si presuppone che tu abbia già installato il tuo sito Drupal e creato l'utente amministratore come descritto nella Drupal Administration Guide (in lingua inglese).

Per attivare l'interfaccia in lingua italiana, è necessario per prima cosa procurarsi un file di traduzione (per Drupal 5.1, vai alla pagina di download per la versione 4.7.x) aggiornato. I files di traduzione sono disponibili sul sito ufficiale di Drupal. Una volta scaricato in locale il pacchetto ed estratto il file it.po, procedi nel seguente modo:

  1. Apri il tuo sito Drupal in un browser e autenticati come amministratore.
  2. All'interno del menù di navigazione, seleziona "administer -> modules" per ottenere l'elenco dei moduli attivi
  3. Attiva il modulo "locale" e salva le impostazioni
  4. Nel menù di navigazione compare ora la nuova voce "administer -> localization". Selezionala per accedere alla pagina di configurazione delle lingue
  5. Seleziona "add language", scorri la tendina per selezionare la lingua italiana, e conferma con il tasto "Add language"
  6. E' possibile finalmente importare il file di traduzione. Selezionare "import", verificare di stare importando nella lingua italiana, quindi caricare il file it.po e dare conferma. Dopo qualche secondo, il sistema darà conferma dell'avvenuta importazione.
  7. Imposta l'italiano come lingua predefinita: seleziona "list" e seleziona le finestrelle "enabled" per abilitarlo, "default" per renderlo la lingua predefinita.

Il processo di traduzione di Drupal (per traduttori)

Hai deciso di collaborare al progetto Drupal Italia? Benvenuto a bordo!

Il documento ufficiale contenente tutte le istruzioni per la traduzione, è la Drupal Translator Guide. E' bene che tutti i traduttori la leggano.

Seguono comunque alcune note riassuntive del processo di traduzione.

Modularità di Drupal e traduzione
Drupal è costituito da un'insieme di moduli:

  • moduli base (core): sono distribuiti con il pacchetto di base di Drupal, fornendo le funzionalità principali (admin, page, system, user etc.)
  • moduli aggiuntivi (contributed): sono tutti i moduli aggiuntivi che vanno installati a parte rispetto al pacchetto iniziale, e aumentano le funzionalità di Drupal

A partire da Drupal 4.5, ciascun modulo (base o aggiuntivo) va tradotto singolarmente: i file di traduzione vengono quindi depositati in formato GNU Gettext (.po) sul server CVS di gestione delle versioni.
Le traduzione dei moduli base vengono raccolte in un'unica directory da cui vengono prelevate da uno script. Lo script le riunisce in un unico file it-xxx.po, messo poi a disposizione sul sito ufficiale drupal.org.
Al momento in cui scrivo, sono presenti sul repository due file relativi ai moduli base

  • L'ultima versione 'stabile', al momento è Drupal 5.1: 5.x-1.4
  • La versione 'in lavorazione', non terminata, è per Drupal 4.7.x: 4.7.x-1.x-dev

La traduzione dei moduli aggiuntivi vengono inserite sullo stesso server CVS, ma nell'alberatura relativa al modulo a cui si riferiscono. Per esempio, la traduzione del modulo smileys si troverà nella directory smileys/po del modulo. In questo modo è possibile scaricarle assieme al modulo stesso. Se volete iniziare a tradurre un modulo aggiuntivo andate nel post: Note di traduzione dei moduli aggiuntivi.

Nota 1: per iniziare a tradurre un modulo, è necessario iniziare da un template di traduzione, un file con estensione POT, contenente le stringhe traducibili. Spesso è inserite assieme alle traduzioni in altre lingue, nella cartella po del modulo. A volte però non è aggiornato, oppure non è proprio presente. Per ovviare a questo, usate il modulo POTX. Per usarlo, installalo in drupal, abilitate i moduli potx e locale e controllate di aver abilitato anche il modulo di cui volete creare il template E TUTTI I MODULI CHE DIPENDONO DA QUESTO; esempio: se il modulo event ha un sotto-modulo che richiede il modulo gmap, dovrete abilitare anche gmap e il sotto-modulo di event che lo richiede!. Andate su localizzazione e su manage strings. Selezionate il modulo e premete extract. Se un pacchetto modulo, comprende più file .module, estraete tutte le stringhe in un solo file pot. L'opzione la trovate proprio sopra il link a scomparsa. (per maggiori informazioni, Template di traduzione)

Nota 2: nelle versioni precedenti di Drupal, la traduzione veniva inserita tramite un'unico enorme file it.po. Scomporre questo file è possibile ma laborioso. A meno di esigenze particolari, è quindi consigliabile iniziare ogni nuova traduzione dal template di traduzione relativo al modulo da tradurre.

Nota 3: nel realizzare la traduzione di un modulo, occorre assicurarsi di stare lavorando sull'ultima versione disponibile del relativo template di traduzione xxx-module.po.

Strumenti di traduzione
Per quanto riguarda la descrizione del formato GNU Gettext in cui vengono tradotti i moduli, vi rimando alla Drupal Translator Guide. I programmi di traduzione sono documentati qui. Personalmente utilizzo PoEdit, che ho trovato piuttosto semplice da utilizzare sia sotto Win che Linux. Raccomando di conoscere le linee guida per la coerenza della traduzione.

Nota: sono stati riscontrati problemi di compatibilità nell'importare i file .po tradotti con Kbabel. L'uso di questo programma è sconsigliato

Nota sui plurali
Il formato Gettext consente di gestire i plurali in modo diversi a seconda della lingua. Per l'italiano, utilizzate la stringa

    nplurals=2; plural=n != 1;

Per PoEdit, questa stringa va inserita nel menù

    Catalogo > Impostazioni > Forme di plurale

Nota sulle variabili
Nel realizzare una traduzione, vi capiterà di trovare spesso dei nomi preceduti da un segno di percentuale %, come %date, %author, %user, etc. Questi nomi sono delle variabili e vengono sostituiti da Drupal con il corrispondente contenuto durante la creazione della pagina.

Nella traduzione, le variabili vanno lasciate invariate altrimenti il sistema non sarà in grado di riconoscerle.

Esempio:

    By %author on %date = Da %author il %date

Nota: lo stesso principio vale per tutti i caratteri speciali e in particolar modo per gli URL in HTML.

Aggiornamento di moduli di traduzione a una nuova versione
Può capitare di avere a disposizione la traduzione di una vecchia versione di un modulo (p.e. smiley-module.po, versione 4.7.x) e di volerlo aggiornare a una nuova versione (p.e. 5.1).
Per fare questo, è necessario per prima cosa ottenere un template della nuova versione, dal server CVS (vedi sotto) o generandolo in autonomia.

Una volta ottenuto il template, con PoEdit, aprire il vecchio file. Selezionare poi

    Catalogo > Aggiorna da file POT

e scegliere il nuovo template. Le nuove frasi verranno aggiunte, e le frasi obsolete scartate, ottenendo una traduzione parziale ma coerente con il nuovo template.

Nota: con PoEdit, avendo a disposizione un certo numero di moduli già tradotti, è possibile impostare l'opzione 'catalogo' per la traduzione automatica delle frasi. Leggi la documentazione di PoEdit per saperne di più.

Server CVS Drupal.
L'ambiente di lavoro dei traduttori è il server CVS di drupal.org. Il server utilizza il sistema di versioning CVS descritto qui: è possibile chiedere un'utenza qui (viene attivata normalmente nel giro di un paio di giorni). Come descritto nel README del server, tutti gli utenti autorizzati possono inserire nuovi files nel server CVS, ma vale una politica di 'buone maniere'. Se avete realizzato una traduzione di cui non siete direttamente responsabili, contattate il responsabile e rendetegliela disponibile.

Il server di traduzione online (l10n server): come scaricare ed usare le traduzioni

La guida è stata scritta da Almack e revisionata da Psicomante.

Introduzione:


Questa breve guida ha lo scopo di spiegare, in maniera molto semplice, come fare ad importare una traduzione di un modulo nel proprio sito. Grazie ad un potente modulo (l10n_server) è stato possibile centralizzare gran parte delle traduzioni dei moduli in un unico luogo. Noi di Drupalitalia.org usiamo il nostro sito di traduzione, raggiungibile all'indirizzo: http://l10n.drupalitalia.org.
Questo fa si che l'utente può trovare ad ogni momento l'ultima versione della traduzione del modulo richiesto. Con questo sistema viene facilitato sia il traduttore che l'utente comune.

Fase iniziale:


Per procedere nella guida occorre aver installato il modulo autolocale nel proprio sito. Questo modulo ci servirà per importare le nuove stringhe automaticamente. Se si sta usando Drupal6 questo modulo non serve perchè è già integrato. Volendo potete scaricare il pack dell'ultima versione di Drupal dalla pagina di download di Drupal Italia.

Come scaricare la nuova traduzione:


Come accennato nell'introduzione tutti i moduli tradotti si trovano in una pagina dove sono raggruppati.

  • Per accedere a questo "server" copiate/scrivete questo indirizzo nel vostro browser:

  • http://l10n.drupalitalia.org/

  • entrare nella sezione "Progetti"
  • trovare il modulo da dove si vuole prelevare la traduzione
  • cliccare su "Esporta" per aprire il pannello di esportazione file
  • selezionare la versione desiderata del pacchetto
  • tipo di esportazione: Traduzione
  • selezionare "Drupal 5 with autolocate module" (se si usa Drupal 6, selezionare ovviamente Drupal 6)
  • premere su "Esporta"
  • salvare il file in locale
  • scompattare il file tar

Come importare la nuova traduzione in drupal:


Arrivati a questo punto si tratta di caricare i file e poi farli riconoscere da Drupal. Per fare questo basta seguire questi semplici passi:

  • usare un qualsiasi programma per caricare la/e traduzione/i nella cartella/e del server. La traduzione deve essere messa nella cartella /po all'interno del modulo da tradurre. Esempio, se voglio tradurre abuse devo mettere i file di traduzione in /cartella_dei_moduli/abuse/po
  • per far riconoscere a drupal che le nuove traduzioni sono presenti andare nel pannello di amministrazione -> Localizzazione -> Automatic import
  • selezionare la lingua "italiano" (se non ci dovrebbe essere cliccare sull'etichetta "Aggiungi lingua" e selezionare "italiano" nella sezione "Elenco lingue" e "aggiungi lingua" per confermare)
  • lasciare attivo la funzione "rimuovi traduzioni esistenti"
  • confermare

Conclusioni:


Con l'uso del server l10n e il modulo autolocale importare una traduzione non è mai stato così semplice.

Il server di traduzione online (l10n server): come usarlo per tradurre


Topic di riferimento: http://www.drupalitalia.org/node/3356

Linee guida di traduzione per la 6.x

In questo topic sono elencati una serie di suggerimenti ai traduttori, con lo scopo di ottenere una traduzione il più possibile coerente. Ho ritenuto il vecchio topic come oramai vecchio, in modo da tenere solo i nuovi commenti.

E' benvenuta qualsiasi discussione riguardo a possibili nuove traduzioni, interpretazioni o modi di tradurre. Il forum dove discutere è il Gruppo Traduzioni.

Costruzione delle frasi:

  • Nelle frasi destinate agli utenti e agli amministratori del sito, evitare il più possibile di tradurre you come tu
  • Esempio: welcome to your new Drupal installation => benvenuto nella nuova installazione di Drupal
    Sono tipiche costruzioni dell'inglese e in italiano non rendono bene.

  • Mantenere i termini più vicini possibile all'originale, dove non perdano di senso.
  • Esempio: authentication = autenticazione

  • Cercare di ottenere frasi più brevi possibili, purché non perdano di senso.
  • La maggior parte dei termini inglesi hanno degli equivalenti italiani (vedi sotto). Alcuni termini, tuttavia, sono termini strettamente tecnici, quindi è opportuno evitare di tradurli.
  • Esempio: browser, download, log, ping.

  • Mantenere una traduzione professionale, evitando "neologismi" come "pingare", "bannare", etc.
  • Dove necessario, fare una perifrasi.
    Esempio: ping server = esegui ping del server

    Frasi tipiche

    Accenti

    Gli accenti vanno in UTF-8. Possibilmente anche quelli maiuscoli. è,è,à,ò,ì,ù e non e',a',o',i',u'.

    Maiuscoli: É, È, À, Á, Ì, Í, Ò, Ó, Ù, Ú

    Tag HTML

    Correggere i tag HTML in XHTML 1.0 se sbagliati.

    <b> diventerà <strong>
    <i> diventerà <em>

    Nomi dei moduli

    Quando i vocaboli indicano il nome del modulo, per distinguerli dalle traduzioni si è deciso di tenere il nome in inglese, tra apici, sempre minuscolo:

    Esempio:
    book module = modulo 'book'
    Book module = modulo 'book'
    update book module = aggiorna il modulo 'book'

    Vocaboli suggeriti

    Guarda il glossario dei termini.
    http://www.drupalitalia.org/glossary

    Termini su cui discutere:

    Top, Directory, Toolbar, Font, Plugin, Maintain, Authored, Match, Denied, Allowed, Token, Toggle

    Commenti utili nel vecchio topic:

    http://www.drupalitalia.org/node/46#comment-4408
    http://www.drupalitalia.org/node/46#comment-4413
    http://www.drupalitalia.org/node/46#comment-4417
    http://www.drupalitalia.org/node/46?page=1#comment-5526

    Tabella dei traduttori di Drupal 4.x [OLD]

    Di seguito lo stato della traduzione dei moduli di base di Drupal
    aggiornata al 29/01/2006. Le traduzioni sono incluse nel corrispondente
    file it-{versione}.po.

    Questa tabella è outdated, guardare la tabella aggiornata per Drupal 6

    Modulo Traduttore Drupal
    4.5
    Drupal
    4.6
    Drupal
    4.7b
    aggregator fax8 ok ok ok
    archive giuvax ok ok ok
    block negen ok ok ok
    blog giuvax ok ok ok
    blogapi giuvax parziale ok ok
    book giuvax ok ok ok
    comment giuvax ok ok ok
    common-inc michele - ok ok
    contact giuvax - parziale ok
    drupal giuvax ok ok ok
    file-inc giuvax - ok ok
    filter giuvax manca
    help
    ok ok
    forum giuvax ok ok ok
    general matteo ok ok ok
    locale giuvax ok ok ok
    locale-inc giuvax - ok ok
    menu negen ok ok -2 msg
    node giuvax manca
    help
    ok ok
    page giuvax - - ok
    path giuvax manca
    help
    ok ok
    ping - ok - ok
    poll negen ok ok ok
    profile giuvax ok ok ok
    queue - ok ok -
    search negen ok ok -5 msg
    statistics ok ok ok
    story ok - -
    system matteo ok ok ok
    taxonomy ok ok ok
    throttle ok ok -2 msg
    tracker parziale ok ok
    unicode-inc - - ok
    upload psicomante ok ok ok
    user psicomante ok ok ok
    watchdog matteo ok ok ok

    Siete pregati di segnalare eventuali inesattezze o errori.
    Lo Staff di DrupalItalia

    Tabella dei traduttori di Drupal 5.x [OLD]

    Situazione al 17.1.07 Questa tabella è outdated, guardare la tabella aggiornata per Drupal 6

    Modulo v 5.0 RC1 Traduttore Stato
    1
    aggregator-module.pot fax8 inserito
    2
    block-module.pot giuvax inserito
    3
    blog-module.pot giuvax inserito
    4
    blogapi-module.pot drupal.it inserito
    5
    book-module.pot giuvax inserito
    6
    color-module.pot fax8 inserito
    7
    comment-module.pot Uccio inserito
    8
    common-inc.pot drupal.it inserito
    9
    contact-module.pot oRi0n inserito
    10
    content_types-inc.pot drupal.it inserito
    11
    drupal-module.pot theCrow inserito
    12
    file-inc.pot drupal.it inserito
    13
    filter-module.pot drupal.it inserito
    14
    forum-module.pot drupal.it inserito
    15
    general.pot maroth inserito
    16
    installer.pot fax8 inserito
    17
    locale-inc.pot drupal.it respinto
    18
    locale-module.pot drupal.it inserito
    19
    menu-module.pot parasite inserito
    20
    node-module.pot giuvax inserito
    21
    path-module.pot drupal.it inserito
    22
    poll-module.pot drupal.it inserito
    23
    profile-module.pot giuvax inserito
    24
    search-module.pot drupal.it inserito
    25
    statistics-module.pot drupal.it da rivedere
    26
    system-install.pot drupal.it inserito
    27
    system-module.pot parasite inserito
    28
    taxonomy-module.pot drupal.it inserito
    29
    theme-inc.pot fax8 inserito
    30
    throttle-module.pot drupal.it inserito
    31
    tracker-module.pot fax8 inserito
    32
    unicode-inc.pot drupal.it inserito
    33
    upload-module.pot Psicomante inserito
    34
    user-module.pot Psicomante inserito
    35
    watchdog-module.pot drupal.it inserito

    Tabella dei traduttori di Drupal 6.x

    Lo stato di traduzione della versione 6 di Drupal

    Traduzione dei template per il core

    Moduli e files del core da tradurre
    File da tradurreicona ordinamento Traduttore delle versioni passate N° stringhe Traduttore versione 6.x Stato
    general.it.po matteo / maroth 239 0
    includes.it.po michele / drupal.it 416 possibile assegnamento 2+ traduttori 0
    installer.it.po fax8 183 0
    misc.it.po nessuno 7 0
    modules-aggregator.it.po fax8 116 0
    modules-block.it.po negen / giuvax 81 0
    modules-blog.it.po giuvax 20 0
    modules-blogapi.it.po giuvax / drupal.it 36 0
    modules-book.it.po giuvax 73 0
    modules-color.it.po fax8 16 0
    modules-comment.it.po Giuvax / Uccio 131 0
    modules-contact.it.po oRi0n / Giuvax 67 0
    modules-dblog.it.po matteo / drupal.it 32 0
    modules-filter.it.po giuvax / drupal.it 134 0
    modules-forum.it.po giuvax / drupal.it 74 0
    modules-help.it.po nessuno 8 (il file ha poche stringhe ma sono molto lunghe) 0
    modules-locale.it.po giuvax / drupal.it 77 0
    modules-menu.it.po negen / parasite 64 0
    modules-node.it.po giuvax / Psicomante 252 0
    modules-openid.it.po nessuno 34 0
    modules-path.it.po giuvax / drupal.it 32 0
    modules-php.it.po nessuno 9 0
    modules-ping.it.po nessuno 6 0
    modules-poll.it.po negen / drupal.it 58 0
    modules-profile.it.po giuvax 86 0
    modules-search.it.po negen (4.x) / drupal.it (5.x) 54 0
    modules-statistics.it.po michele - matteo (4.x) / drupal.it (5.x) 65 0
    modules-syslog.it.po nessuno 16 0
    modules-system.it.po matteo (4.x) / parasite (5.x) 459 Come per includes, anche questo necessiterebbe di 2+ t. 0
    modules-taxonomy.it.po michele / drupal.it 102 0
    modules-throttle.it.po michele / drupal.it 17 0
    modules-tracker.it.po michele / fax8 12 0
    modules-translation.it.po nessuno 17 0
    modules-trigger.it.po nessuno 31 0
    modules-update.it.po nessuno 57 0
    modules-upload.it.po Psicomante 56 0
    modules-user.it.po Psicomante 306 0
    root.it.po nessuno 1 0
    themes-chameleon.it.po / themes-garland.it.po / themes-pushbutton.it.po nessuno 5 0

    Template di traduzione (per traduttori)

    Avete deciso di tradurre un modulo (base o aggiuntivo). Potete usare il nuovissimo server di traduzione online qui su Drupal Italia, oppure tradurla autonomamente sul vostro computer.

    Se decidete di usare il server di traduzione (l10n server), leggete la guida su come usarlo e come utilizzare le traduzioni. Altrimenti se volete tradurre autonomamente, senza usare strumenti di condivisione avete bisogno di due cose:

    • un template di traduzione del modulo
    • il programma di traduzione

    Il template non è altro che un file di testo contenente tutte le frasi che compaiono (in inglese) nel modulo. Drupal utilizza per le traduzioni il formato .po di Gnu GetText: si tratta in pratica di un file di testo che contiene la frase originale, la frase tradotta corrispondente più alcune informazioni aggiuntive (p.e. come gestire i plurali, etc). I template (cioé l'insieme delle frasi da tradurre) ha di solito l'estensione .pot (da cambiare in .po dopo la traduzione.
    Possono presentarsi due situazioni:

    • il template esiste già, perché messo a disposizione dal realizzatore del modulo o perché esiste già una traduzione in un'altra lingua. Per esempio, i template di tutti i moduli di base (del core) sono disponibili qui.
    • Attenzione perchè spesso le traduzioni in altre lingue non sono aggiornate. E' quindi sempre consigliabile seguire il punto 2, cioè creare un nuovo template di traduzione tramite il modulo POTX.

    • il template non è disponibile, e quindi andrà creato. Per ovviare a questo, usate il modulo POTX.

      Andate su localizzazione e su manage strings. Selezionate il modulo e premete extract. Se un pacchetto modulo, comprende più file .module, estraete tutte le stringhe in un solo file pot. L'opzione la trovate proprio sopra il link a scomparsa.
      Potrete così scaricare il file .pot da iniziare a tradurre.

    Traduzione dei moduli aggiuntivi

    Le traduzioni possono essere scaricate dal nostro sito di traduzione, il localization server, alla pagina dell'esportazione dei file di traduzione.

    Per vedere tutti i progetti (moduli) in traduzione puoi vedere la lista dei progetti.

    Almack ha fatto una guida per esportare i file di traduzione. Le pagine sono leggermente cambiate ma dovrebbero andare bene lo stesso. Se ne volete fare un'altra aggiornata siete i benvenuti.

    Per partecipare come traduttore potete seguire il video che ho realizzato e iscrivendovi nel sito di traduzione, anche tramite il vostronome@www.drupalitalia.org e la vostra password che usate qui.