Gettext: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
|||
(44 versioni intermedie di 34 utenti non mostrate) | |||
Riga 1:
{{Software
Le utility [[GNU]] '''gettext''' sono un pacchetto di strumenti volti a permettere l'[[Internazionalizzazione e localizzazione|internazionalizzazione]] (i18n) del software, ovvero a semplificare la traduzione dei messaggi rivolti all'utente in ogni lingua voluta.▼
|Logo =
|Screenshot =
|Didascalia =
|Sviluppatore =
|UltimaVersione =
|DataUltimaVersione =
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = multipiattaforma
|Linguaggio =
|Genere = IDE
|Licenza =
|SoftwareLibero = sì
|Lingua =
}}
▲Le utility [[GNU]] '''gettext''' sono un pacchetto di strumenti volti a permettere l'[[
==Compatibilità==
Line 6 ⟶ 23:
==Modo d'utilizzo==
===Sviluppatore===
[[File:Gettext.svg|thumb|Flusso di lavoro]]
Per prima cosa è necessario utilizzare la funzione GNU gettext all'interno del codice sorgente. Questo avviene in modo diverso a seconda del linguaggio di programmazione adottato per il proprio progetto, ma segue regole comuni per i linguaggi più comunemente adottati. Queste prevedono che il programmatore racchiuda all'interno della funzione <
<syntaxhighlight lang="C">
printf("My name is %s\n", mio_nome);▼
</syntaxhighlight>
diverrebbe:
<syntaxhighlight lang="C">
</syntaxhighlight>
In seguito, il comando <
<syntaxhighlight lang="gettext">
▲ printf(_("My name is %s\n"), mio_nome);
▲In seguito, il comando <tt>xgettext</tt> filtrerà il codice alla ricerca della funzione <tt>gettext</tt> appena inserita, per creare il file modello '''.pot''', sulla base delle stringhe estratte dai sorgenti.
▲Un esempio di file .pot per un codice contenete le righe precedenti sarebbe:
</syntaxhighlight>
▲ #: src/name.c:36
▲ msgid "My name is %s\n"
▲ msgstr ""
===Traduttore===
Il traduttore deriverà un file '''.po''' dal file modello facendo uso del programma <
msginit --locale=fr --input=name.pot
Il programma creerà il file fr.po, di contenuto simile al seguente:
<syntaxhighlight lang="gettext">
</syntaxhighlight>
A questo punto, il traduttore non dovrà far altro che tradurre la stringa alla riga msgstr, manualmente o tramite appositi programmi quale ad esempio [[poEdit]]. Il risultato sarà simile a questo:
<syntaxhighlight lang="gettext">
</syntaxhighlight>
Al termine, i file '''.po''' verranno compilati in file binari '''.mo''' tramite il comando <
===Utente===▼
▲ #: src/name.c:36
L'utente non dovrà far altro che eseguire il programma, poiché questo utilizzerà la traduzione del file '''.mo''' corrispondente al valore della [[variabile d'ambiente (Unix)|variabile d'ambiente]] LANGUAGE, comunemente preimpostata in tutte le distribuzioni di [[
▲ msgid "My name is %s\n"
▲ msgstr "Je m'appelle %s\n"
==Altri progetti==
▲Al termine, i file '''.po''' verranno compilati in file binari '''.mo''' tramite il comando <tt>msgfmt</tt>, dopodiché saranno pronti per la distribuzione assieme al pacchetto software dello sviluppatore.
{{interprogetto}}
▲===Utente===
▲L'utente non dovrà far altro che eseguire il programma, poiché questo utilizzerà la traduzione del file '''.mo''' corrispondente al valore della [[variabile d'ambiente]] LANGUAGE, comunemente preimpostata in tutte le distribuzioni di [[Software Libero]].
==Collegamenti esterni==
* {{Collegamenti esterni}}
[[Categoria:Software libero]]▼
{{GNU}}
▲[[de:GNU gettext]]
|