Difference between revisions of "Translation for developers/it"
(Created page with "Traduzione per sviluppatori") |
|||
(49 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{translations}} | {{translations}} | ||
Parallelamente alla pura [[translation/it|traduzione]], il '''codice sorgente di Kiwix necessita di essere sincronizzato con Translatewiki'''. | |||
La sincronizzazione con Translatewiki consta di tre tipi di operazioni: | |||
* '' | *''Aggiungere una stringa'' a Kiwix e Translatewiki, per esempio introducenso una stringa dinamica che verrà rimpiazzata dalla traduzione corrispondente in fase di esecuzione. | ||
* '' | *''Aggiornare le stringhe di Kiwix'' con le traduzioni prese da Translatewiki. | ||
* '' | *''Aggiungere il supporto a Kiwix per una nuova lingua su Translatewiki''. | ||
== | ==Requisiti== | ||
Hai bisogno di un sistema operativo GNU/Linux. É possibile fare lo stesso con un altro sistema operativo, ma sarebbe più complicato creare un ambiente di lavoro. | |||
Devi tenere a mente alcune cose: | |||
* | *I file di traduzione diKiwix sono tutti nella cartella "kiwix/chrome/locale". | ||
* | *Ci sono 2 tipi di file di traduzione per tradurre l'Interfaccia Utente (Dà un'occhiata ai file *.js e *.xul in kiwix/chrome/content/main per capire come funziona): | ||
** "main.dtd" | **"main.dtd" che fornisce traduzioni per tutti i file *.xul; | ||
** "main.properties" | **"main.properties" che fornisce traduzioni per tutti i file *.js. | ||
* Translatewiki | *Le traduzioni da Translatewiki sono importate separatamente nel repository del codice di Kiwix nel giro di una settimana e perciò abbiamo sempre bisogno di sincronizzare questi file col codice Kiwix in entrambe le direzioni (KW->TW e TW->KW). | ||
''' | '''ATTENZIONE: Prima di qualsiasi modifica del codice sorgente di Kiwix, aggiorna i tuoi repository locali con "git pull origin master" per ognuno di loro.''' | ||
== | == Verifica il codice e avvia Kiwix == | ||
Prima di iniziare a integrare nuove stringhe nel codice di Kiwix è preferibile [[compilation/it|compilare Kiwix]]: | |||
* | *Scarica il codice non stabile | ||
* | *Compilalo | ||
* | *Avvialo andando nella sottocartella kiwix e eseguendo "kiwix". | ||
'' | ''Nota: Se non sei capace di compilare Kiwix o non hai xulrunner (è il caso per esempio di Ubuntu Oneiric e successivi) sarai comunque in grado di avviare kiwix e avere un'interfaccia anche se l'applicazione non funziona correttamente, ma è sufficiente per manipolare file XUL. In questo caso dovrai fare operazioni aggiuntive come aggiungere la nuova riga "MaxVersion=42.*" in kiwix/application.ini e avviare Kiwix usando il comando "firefox-app application.ini" nella cartella "kiwix"''. | ||
== | == Aggiungi una stringa alle traduzioni == | ||
=== | === Cerca una stringa da tradurre === | ||
Naviga tra i file *.xul e *.js per trovare stringhe con codice (in inglese). | |||
Se ne trovi una, cerca l'identificatore della stringa (ad esempio foobar), dà un'occhiata alle stringhe già tradotte per vedere come dovrebbe apparire. La cosa più importante da ricordare è che nei file *.xul dovrebbe apparire come "&foobar;" mentre nei file *.js come "getProperty('foobar')". | |||
=== Translate it in the master language English === | === Translate it in the master language English === | ||
Avrai bisogno di farlo in due posti. Prima nel main.dtd o nel file main.properties di "kiwix/chrome/locale/en/main/". In questo modo l'applicazione Kiwix sa cosa mostrare se l'interfaccia utente è in inglese. | |||
=== | === Aggiorna i file Translatewiki === | ||
Devi anche dire a Translatewiki di aggiungere questa stringa alla lista delle stringhe da far tradurre (per i traduttori di Translatewiki). Per questo devi verificare altra parte del repository di Kiwix. Per favore esci dal tuo repository locale di Kiwix col comando: | |||
<source lang="bash"> | <source lang="bash"> | ||
Line 48: | Line 48: | ||
</source> | </source> | ||
Ora hai sul tuo computer le traduzioni di Translatewiki. Ciò che ti serve e solo aggiornare il file "en" la quale è il file della lingua principale per Translatewiki. Quindi aggiungi la nuova stringa seguendo l'esemio degli altri che l'hanno già fatto e spedisci il tuo file "en". | |||
Qualcuno da Translatewiki controlla settimanalmente il file "en" in cerca di nuove stringhe e se necessario sincronizza Transatewiki con questo file. | |||
=== | === Crea una bozza di traduzione della tua nuova stringa per tutte le lingue === | ||
L'ultima cosa che devi fare è creare una bozza di traduzione della tua nuova stringa per tutte le lingue dell'interfaccia utente di Kiwix. Se non lo fai Kiwix non funzionerà correttamente in una lingua diversa dall'inglese. | |||
A questo proposito devi usare lo script TW2PL.pl (è uno script in perl, perciò devi aver installato perl) come segue (va nella cartella dei file di Translatewiki): | |||
<source lang="bash"> | <source lang="bash"> | ||
Line 63: | Line 63: | ||
=== Commit the new Kiwix translation files === | === Commit the new Kiwix translation files === | ||
Now, all the locale file in kiwix/chrome/locale should be | Now, all the locale file in kiwix/chrome/locale should be updated and you should have a lot of (modified) files listed by typing: | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 69: | Line 69: | ||
</source> | </source> | ||
Dopo aver verificato che tutto sia corretto, puoi spedire le tue modifiche, cioè la cartella kiwix/chrome/locale e i file *xul e *js che hai modificato. | |||
== | == Aggiorna le traduzioni di Kiwix == | ||
Altra attività è aggiornare lingue già supportate da Kiwix con le ultime stringhe provenienti da Translatewiki. La prima cosa da sapere è che nel repository remoto i file di Translatewiki (in maintenance/translatewiki) sono aggiornati ogni due settimane dai contributori di Translatewiki. Ciò significa che devi solo aggiornare il tuo repository locale e aggiornare e spedire le traduzioni del codice di Kiwix come segue: | |||
<source lang="bash"> | <source lang="bash"> | ||
Line 81: | Line 81: | ||
git push origin master | git push origin master | ||
</source> | </source> | ||
Il percorso completo dovrebbe essere la cartella moulinkiwix, non la cartella kiwix che contiene. | |||
== | == Aggiungi a Kiwix il supporto ad una nuova lingua == | ||
Kiwix | Kiwix prova ad aggiungere solo le lingue tradotte al 100% da Translatewiki. Così succede spesso che ci sono più lingue nella cartella "maintenance_tools/translatewiki" che nella cartella "kiwix/kiwix/chrome/locale". In questo caso significa semplicemente che la lingua di Translatewiki non era ancora integrata nel codice base di Kiwix. Spieghiamo ora come fare. | ||
Prima di tutto devi creare i file di traduzione in una nuova cartella del tipo "kiwix/kiwix/locale/codice_iso_della_tua_lingua" come segue: | |||
<source lang="bash"> | <source lang="bash"> | ||
Line 93: | Line 93: | ||
</source> | </source> | ||
Dopo questo devi andare nella cartella del codice sorgente di Kiwix "kiwix/chrome" e modificare i file "chrome.manifest" e "chrome.mainfest.prod". Nessuna spiegazione, fallo come è già stato fatto per le altre lingue supportate. | |||
Successivamente modifica "chrome/content/main/js/language.js" e aggiungi anche qui la nuova lingua. | |||
Ora aggiorna CHANGELOG e crea una notifica dell'aggiunta della nuova lingua supportata. | |||
Aggiungi la cartella della nuova lingua e spediscila come segue: | |||
<source lang="bash"> | <source lang="bash"> | ||
Line 107: | Line 107: | ||
</source> | </source> | ||
== | == Vedi anche == | ||
* [[Translation]] | * [[Translation|Traduzione]] | ||
* [[Compilation]] | * [[Compilation|Compilazione]] | ||
[[Category:Developer's Guide]] | [[Category:Developer's Guide/it|Guida per sviluppatori]] |
Latest revision as of 21:59, 15 January 2015
Parallelamente alla pura traduzione, il codice sorgente di Kiwix necessita di essere sincronizzato con Translatewiki.
La sincronizzazione con Translatewiki consta di tre tipi di operazioni:
- Aggiungere una stringa a Kiwix e Translatewiki, per esempio introducenso una stringa dinamica che verrà rimpiazzata dalla traduzione corrispondente in fase di esecuzione.
- Aggiornare le stringhe di Kiwix con le traduzioni prese da Translatewiki.
- Aggiungere il supporto a Kiwix per una nuova lingua su Translatewiki.
Requisiti
Hai bisogno di un sistema operativo GNU/Linux. É possibile fare lo stesso con un altro sistema operativo, ma sarebbe più complicato creare un ambiente di lavoro.
Devi tenere a mente alcune cose:
- I file di traduzione diKiwix sono tutti nella cartella "kiwix/chrome/locale".
- Ci sono 2 tipi di file di traduzione per tradurre l'Interfaccia Utente (Dà un'occhiata ai file *.js e *.xul in kiwix/chrome/content/main per capire come funziona):
- "main.dtd" che fornisce traduzioni per tutti i file *.xul;
- "main.properties" che fornisce traduzioni per tutti i file *.js.
- Le traduzioni da Translatewiki sono importate separatamente nel repository del codice di Kiwix nel giro di una settimana e perciò abbiamo sempre bisogno di sincronizzare questi file col codice Kiwix in entrambe le direzioni (KW->TW e TW->KW).
ATTENZIONE: Prima di qualsiasi modifica del codice sorgente di Kiwix, aggiorna i tuoi repository locali con "git pull origin master" per ognuno di loro.
Verifica il codice e avvia Kiwix
Prima di iniziare a integrare nuove stringhe nel codice di Kiwix è preferibile compilare Kiwix:
- Scarica il codice non stabile
- Compilalo
- Avvialo andando nella sottocartella kiwix e eseguendo "kiwix".
Nota: Se non sei capace di compilare Kiwix o non hai xulrunner (è il caso per esempio di Ubuntu Oneiric e successivi) sarai comunque in grado di avviare kiwix e avere un'interfaccia anche se l'applicazione non funziona correttamente, ma è sufficiente per manipolare file XUL. In questo caso dovrai fare operazioni aggiuntive come aggiungere la nuova riga "MaxVersion=42.*" in kiwix/application.ini e avviare Kiwix usando il comando "firefox-app application.ini" nella cartella "kiwix".
Aggiungi una stringa alle traduzioni
Cerca una stringa da tradurre
Naviga tra i file *.xul e *.js per trovare stringhe con codice (in inglese).
Se ne trovi una, cerca l'identificatore della stringa (ad esempio foobar), dà un'occhiata alle stringhe già tradotte per vedere come dovrebbe apparire. La cosa più importante da ricordare è che nei file *.xul dovrebbe apparire come "&foobar;" mentre nei file *.js come "getProperty('foobar')".
Translate it in the master language English
Avrai bisogno di farlo in due posti. Prima nel main.dtd o nel file main.properties di "kiwix/chrome/locale/en/main/". In questo modo l'applicazione Kiwix sa cosa mostrare se l'interfaccia utente è in inglese.
Aggiorna i file Translatewiki
Devi anche dire a Translatewiki di aggiungere questa stringa alla lista delle stringhe da far tradurre (per i traduttori di Translatewiki). Per questo devi verificare altra parte del repository di Kiwix. Per favore esci dal tuo repository locale di Kiwix col comando:
git pull origin master
Ora hai sul tuo computer le traduzioni di Translatewiki. Ciò che ti serve e solo aggiornare il file "en" la quale è il file della lingua principale per Translatewiki. Quindi aggiungi la nuova stringa seguendo l'esemio degli altri che l'hanno già fatto e spedisci il tuo file "en".
Qualcuno da Translatewiki controlla settimanalmente il file "en" in cerca di nuove stringhe e se necessario sincronizza Transatewiki con questo file.
Crea una bozza di traduzione della tua nuova stringa per tutte le lingue
L'ultima cosa che devi fare è creare una bozza di traduzione della tua nuova stringa per tutte le lingue dell'interfaccia utente di Kiwix. Se non lo fai Kiwix non funzionerà correttamente in una lingua diversa dall'inglese.
A questo proposito devi usare lo script TW2PL.pl (è uno script in perl, perciò devi aver installato perl) come segue (va nella cartella dei file di Translatewiki):
./TW2KW.pl --path=/full/path/to/the/kiwix/code/directory --allLanguages=kw
Commit the new Kiwix translation files
Now, all the locale file in kiwix/chrome/locale should be updated and you should have a lot of (modified) files listed by typing:
git status kiwix/chrome/locale
Dopo aver verificato che tutto sia corretto, puoi spedire le tue modifiche, cioè la cartella kiwix/chrome/locale e i file *xul e *js che hai modificato.
Aggiorna le traduzioni di Kiwix
Altra attività è aggiornare lingue già supportate da Kiwix con le ultime stringhe provenienti da Translatewiki. La prima cosa da sapere è che nel repository remoto i file di Translatewiki (in maintenance/translatewiki) sono aggiornati ogni due settimane dai contributori di Translatewiki. Ciò significa che devi solo aggiornare il tuo repository locale e aggiornare e spedire le traduzioni del codice di Kiwix come segue:
cd /full/path/to/the/kiwix/maintenance_tools/translatewiki
./TW2KW.pl --path=/full/path/to/the/kiwix/code/directory --allLanguages=kw
git commit /full/path/to/the/kiwix/code/directory/kiwix/chrome/locale
git push origin master
Il percorso completo dovrebbe essere la cartella moulinkiwix, non la cartella kiwix che contiene.
Aggiungi a Kiwix il supporto ad una nuova lingua
Kiwix prova ad aggiungere solo le lingue tradotte al 100% da Translatewiki. Così succede spesso che ci sono più lingue nella cartella "maintenance_tools/translatewiki" che nella cartella "kiwix/kiwix/chrome/locale". In questo caso significa semplicemente che la lingua di Translatewiki non era ancora integrata nel codice base di Kiwix. Spieghiamo ora come fare.
Prima di tutto devi creare i file di traduzione in una nuova cartella del tipo "kiwix/kiwix/locale/codice_iso_della_tua_lingua" come segue:
./TW2KW.pl --path=/full/path/to/your/kiwix/code/base/directory/ --language=your_language_iso_code
Dopo questo devi andare nella cartella del codice sorgente di Kiwix "kiwix/chrome" e modificare i file "chrome.manifest" e "chrome.mainfest.prod". Nessuna spiegazione, fallo come è già stato fatto per le altre lingue supportate.
Successivamente modifica "chrome/content/main/js/language.js" e aggiungi anche qui la nuova lingua.
Ora aggiorna CHANGELOG e crea una notifica dell'aggiunta della nuova lingua supportata.
Aggiungi la cartella della nuova lingua e spediscila come segue:
git add kiwix/chrome/locale/language_iso_code
git commit CHANGELOG kiwix/chrome/chrome.manifest kiwix/chrome/chrome.manifest.prod kiwix/chrome/locale/ kiwix/chrome/content/main/js/gui.js
git push origin master