Add italian documentation.

This commit is contained in:
Hamlet 2017-08-17 16:10:12 +02:00 committed by Diego Martínez
parent 7b818cb4af
commit 5e25b301e7
4 changed files with 172 additions and 0 deletions

43
README-it.md Normal file
View File

@ -0,0 +1,43 @@
# Libreria di internazionalizzazione per Minetest
Di Diego Martínez (kaeza).
Rilasciata sotto licenza Unlicense. Si veda `LICENSE.md` per i dettagli.
Questo modulo è un tentativo per fornire il supporto di internazionalizzazione
per i moduli (cosa che attualmente manca a Minetest).
Se aveste qualunque commento o suggerimento, per piacere scriveteli nella
[discussione sul forum][topic]. Per i rapporti sui bug, usate il
[tracciatore di bug][bugtracker] su Github.
## Come usarla
Se siete un* giocatrice/tore che vuole i testi tradotti,
[installate][installing_mods] questo modulo come qualunque altro,
poi abilitatelo tramite l'interfaccia grafica.
Il modulo tenta di rilevare la vostra lingua, ma dato che al momento non c'è
un metodo portabile per farlo, prova diverse alternative:
* `language` impostazione in `minetest.conf`.
* `LANGUAGE` variabile d'ambiente.
* `LANG` variabile d'ambiente.
* Se nessuna funziona, usa `en`.
In ogni caso, il risultato finale dovrebbe essere il
[codice di lingua ISO 639-1][ISO639-1] del linguaggio desiderato.
### Sviluppatrici/tori di moduli
Se siete un* sviluppatrice/tore di moduli desideros* di aggiungere il supporto
per l'internazionalizzazione al vostro modulo, leggete `doc/developer-it.md`.
### Traduttrici/tori
Se siete un* traduttrice/tore, leggete `doc/translator-it.md`.
[topic]: https://forum.minetest.net/viewtopic.php?id=4929
[bugtracker]: https://github.com/minetest-mods/intllib/issues
[installing_mods]: https://wiki.minetest.net/Installing_mods
[ISO639-1]: https://it.wikipedia.org/wiki/ISO_639-1

66
doc/developer-it.md Normal file
View File

@ -0,0 +1,66 @@
# Intllib - documentazione per sviluppatrici/tori
## Abilitare l'internazionalizzazione
Per abilitare l'internazionalizzazione del vostro modulo, dovete copiare il file
`lib/intllib.lua` nella cartella principale del vostro modulo, poi inserite
questo codice standard nei file che necessitano la traduzione:
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
Dovrete anche aggiungere la dipendenza facoltativa da intllib per il vostro
modulo, per farlo aggiungete `intllib?` su una riga vuota nel vostro
`depends.txt`. Si noti anche che se intllib non è installata, le funzioni di
acquisizione del testo sono fatte in modo da restituire la stringa di testo
originale. Questo è stato fatto in modo che non dobbiate spargere tonnellate
di `if` (o costrutti simili) per controllare se la libreria è installata.
Dopo avere messo il codice, dovete marcare le stringhe di testo che necessitano
una traduzione. Per ciascuna stringa traducibile nei vostri codici sorgenti,
usate la funzione `S` (si veda sopra) per restituire la stringa tradotta.
Per esempio:
minetest.register_node("miomod:mionodo", {
-- Stringa semplice:
description = S("Il mio fantastico nodo"),
-- Stringa con inserti:
description = S("Macchina @1", "Blu"),
-- ...
})
La funzione `NS` è l'equivalente di `ngettext`. Dovrebbe essere usata quando la
stringa da tradurre ha forma singolare e plurale. Per esempio:
-- Il primo `count` è per consentire a `ngettext` di stabilire quale forma
-- usare. Il secondo `count` è per il sostituto effettivo.
print(NS("Avete un oggetto.", "Avete @1 oggetti.", count, count))
## Generare e aggiornare cataloghi
Questo è il procedimento di base per lavorare con [gettext][gettext]
Ogni volta che avete nuove stringhe da tradurre, dovreste fare quanto segue:
cd /percorso/del/modulo
/percorso/degli/strumenti/intllib/xgettext.sh file1.lua file2.lua ...
Lo script creerà una cartella chiamata `locale` se non esiste già, e genererà
il file `template.pot` (un modello con tutte le stringhe traducibili). Se avete
già delle traduzioni, lo script provvederà al loro aggiornamento con le nuove
stringhe.
Lo script fornisce alcune opzioni al vero `xgettext` che dovrebbero essere
sufficienti per la maggior parte dei casi. Se lo desiderate potete specificare
altre opzioni:
xgettext.sh -o file.pot --keyword=blaaaah:4,5 a.lua b.lua ...
NOTA: C'è anche un file batch di Windows `xgettext.bat` per gli utenti di
Windows, ma dovrete installare separatamente gli strumenti di gettext per la
riga di comando. Si veda la parte superiore del file per la configurazione.
[gettext]: https://www.gnu.org/software/gettext/

43
doc/localefile-it.md Normal file
View File

@ -0,0 +1,43 @@
# Formato del file di traduzione
*Nota: Questo documento spiega il vecchio formato in stile conf/ini.
La nuova interfaccia usa file [gettext][gettext] `.po`.
Si veda [Il formato dei file PO][PO-Files] per ulteriori informazioni.*
Questo è un esempio per un file di traduzione in Italiano (`it.txt`):
# Un commento.
# Un altro commento.
Questa riga viene ignorata dato che non ha il segno di uguale.
Hello, World! = Ciao, Mondo!
String with\nnewlines = Stringa con\na capo
String with an \= equals sign = Stringa con un segno di uguaglianza \=
I file "locale" (o di traduzione) sono file di testo semplice formati da righe
nel formato `testo originale = testo tradotto`. Il file deve stare nella
sottocartella `locale` del modulo, e il suo nome deve essere lo stesso del
[codice di lingua ISO 639-1][ISO639-1] della lingua che volete fornire.
I file di traduzione dovrebbero usare la codifica UTF-8.
Le righe che iniziano con un cancelletto sono commenti e vengono ignorate dal
lettore. Si noti che i commenti si estendono solo fino al termine della riga;
non c'è nessun supporto per i commenti multiriga. Le righe senza un segno di
uguale sono anch'esse ignorate.
I caratteri che sono considerati "speciali" possono essere "escaped" di modo
che siano presi letteralmente. Inoltre esistono molte sequenze di escape che
possono essere utilizzate:
* Qualsiasi `#`, `=` può essere escaped di modo da essere preso letteralmente.
La sequenza `\#` è utile se il vostro testo sorgente inizia con `#`.
* Le sequenze di escape comuni `\n` e `\t`, significano rispettivamente
newline (a capo) e tabulazione orizzontale.
* La sequenza speciale di escape`\s` rappresenta il carattere di spazio.
È utile principalmente per aggiungere spazi prefissi o suffissi ai testi
originali o tradotti, perché altrimenti quegli spazi verrebbero rimossi.
[gettext]: https://www.gnu.org/software/gettext
[PO-Files]: https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
[ISO639-1]: https://it.wikipedia.org/wiki/ISO_639-1

20
doc/translator-it.md Normal file
View File

@ -0,0 +1,20 @@
# Intllib - documentazione per traduttrici/tori
#### Nuova interfaccia
Usate i vostri strumenti preferiti per modificare i file `.po`.
#### Vecchia interfaccia
Per tradurre nella lingua che desiderate un modulo che supporta intllib,
copiate il file `locale/template.txt` come `locale/LINGUA.txt` (dove `LINGUA` è
il [codice di lingua ISO 639-1][ISO639-1] del vostro linguaggio.
Aprite il nuovo file nel vostro editor preferito, e traducete ciascuna riga
inserendo il testo tradotto dopo il segno di uguale.
Si veda `localefile-it.md` per ulteriori informazioni sul formato del file.
[gettext]: https://www.gnu.org/software/gettext/
[ISO639-1]: https://it.wikipedia.org/wiki/ISO_639-1