mirror of
https://github.com/minetest-mods/intllib.git
synced 2025-01-09 01:20:25 +01:00
Add italian documentation.
This commit is contained in:
parent
7b818cb4af
commit
5e25b301e7
43
README-it.md
Normal file
43
README-it.md
Normal 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
66
doc/developer-it.md
Normal 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
43
doc/localefile-it.md
Normal 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
20
doc/translator-it.md
Normal 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
|
Loading…
Reference in New Issue
Block a user