Gentoo Linux Localization Guide

Contenuti:

1.Timezone

Per impostare l'orario appropriato, /etc/localtime deve puntare al file che indica la corretta timezone. Tra quelli disponibili nella directory /usr/share/zoneinfo/ scegliete quello corrispondente alla vostra timezone o quello della città più vicina a voi. Evitate di utilizzare i file della timezone presenti in /usr/share/zoneinfo/Etc/GMT* poichè spesso i loro nomi non corrispondono a ciò che in realtà sono: ad esempio GMT-8 è di fatto GMT+8.

Esempio 1: Impostare il timezone

# ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# date
Sun Feb 16 08:26:44 CET 2003

Nota: Assicuratevi che l'indicatore della timezone, composto da tre lettere (in questo caso "CET"), sia corretto per la vostra zona.

Nota: Potrete impostare il valore di TZ secondo i valori presenti in /usr/share/zoneinfo nell'rc file della vostra shell (.bash_profile for bash) agendo cosi' a livello utente. In questo caso TZ="Europe/Berlin".

2.Orologio di sistema

In molte installazioni di Gentoo Linux, l'orologio di sistema è impostato su UTC (o GMT, Greenwhich Mean Time), quindi viene presa la timezone dall'account per determinare l'ora locale. Se, per qualche ragione, avete bisogno che il vostro orologio di sistema non sia in UTC, dovrete modificare /etc/conf.d/clock e cambiare il valore di CLOCK da UTC a local.

Esempio 2: local vs. GMT clock

(raccomandato:)
CLOCK="UTC"
(o:)
CLOCK="local"

3.La localizzazione

Cosa sono le localizzazioni? 

Una localizzazione è un insieme di informazioni che la maggior parte dei programmi utilizzano per determinare le impostazioni di nazionalità e lingua. Le localizzazioni sono parte delle librerie di sistema e possono essere trovate in /usr/share/locale nella maggior parte dei casi. Generalmente il nome di un file che faccia riferimento ad una particolare localizzazione ha la struttura ab_CD dove ab è il codice di due (o tre) lettere che identifica la lingua (secondo le specifiche ISO-639) e CD è il codice di due lettere che identifica la nazione (secondo le specifiche ISO-3199).

Variabili d'ambiente per la localizzazione 

Le informazioni sulla lingua e la nazione sono contenute nelle variabili d'ambiente. Queste, normalmente, sono impostate in /etc/env.d/02locale (per l'intero sistema) ed in ~/.bashrc (per le impostazioni relative all'utente). Queste variabili controllano aspetti differenti della localizzazione e sono elencate nella tabella che segue, quelle con alta precedenza (che dominano le variabili che le seguono) sono elencate all'inizio della tabella. Tutte le variabili accettano valori secondo il formato specificato più su: (ab_CD).

Nome della variabile Spiegazione
LC_ALL Definisce tutti i settaggi della localizzazione. Questa impostazione bypasserà tutte le altre impostazioni nella tabella.
LC_COLLATE Definisce l'ordine alfabetico delle eventuali stringhe. Questo ha effetto sull'output di un ls in una directory.
LC_CTYPE Definisce come il sistema debba gestire i tipi di carattere. Questo decide quali caratteri devono essere visti come parte dell'alfabeto, quali come numeri e così via. Questo inoltre stabilisce quale set di caratteri utilizzare, se possibile.
LC_MESSAGES Imposta le localizzazioni dei programmi per le applicazioni che utilizzano uno schema di localizzazione basato su messaggi (la maggior parte dei programmi GNU, nel prossimo capitolo vedremo quali lo fanno e come far funzionare quelli che non lo fanno)
LC_MONETARY Definisce la valuta e la formattazione del valore numerico della valuta stessa.
LC_NUMERIC Definisce la formattazione dei valori numerici che non siano di valuta. Influisce sui separatori delle migliaia e sulle virgole nei decimali.
LC_TIME Definisce il tipo di formattazione per data e ora
LC_PAPER Definisce il formato predefinito della carta.
LANG Definisce tutte le impostazioni della localizzazione. Questa variabile può comunque essere bypassata impostato LC_* individualmente o impostando la variabile LC_ALL.

Nota: Anche se la maggior parte dei programmi funzionano impostando semplicemente LC_ALL, alcuni possono presentare dei malfunzionamenti se è stata impostata LC_ALL ma non LANG. Se volete essere sicuri impostatele entrambe

La maggior parte degli utenti imposta solo le variabili LANG ed LC_CTYPE per il proprio utente semplicemente aggiungendole ai file di startup della shell, definendo così le variabili d'ambiente dalla linea di comando:

Esempio 3: impostare la localizzazione tedesca

export LANG="de_DE@euro"

Nota: Aggiungete anche @euro al file di avvio della shell se volete utilizzare questo simbolo di valuta (€)

Perchè funzioni la localizzazione basata sui messaggi nella applicazioni che la supportano, dovrete compilare tali programmi con la USE nls (Native Language Support). Molti dei programmi che utilizzano nls hanno bisogno anche della libreria gettex per estrarre ed usare i messaggi localizzati, ovviamente portage la installerà quando necessaria.

C'è inoltre una variabile addizionale chiamata LINGUAS, che influisce sui file di localizzazione installati con i programmi che supportano gettex, inoltre decide la localizzazione per alcuni pacchetti specifici, come kde-base/kde-i18n e app-office/openoffice. Questa variabile può assumere valori separati da spazi, valori espressi secondo i codici delle lingue trattati più su. E' consigliato impostare la variabile LINGUAS in /etc/make.conf:

Esempio 4: impostare LINGUAS in make.conf

# nano -w /etc/make.conf
(Inserite la variabile per LINGUAS, ad esempio per il Tedesco, il
Finnico e l'Inglese:)
LINGUAS="de fi en"

Generare localizzazioni specifiche 

Se utilizzate una localizzazione che non è disponibile di default dovrete utilizzare localedef per generare la vostra localizzazione. Ad esempio:

Esempio 5: Generare una localizzazione utilizzando localedef

# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15

Dopo avere generato la localizzazione, potete esportare la variabile LANG come abbiamo visto.

Esempio 6: Esportare la variabile LANG

# export LANG="en_US.ISO-8859-15"

La flag userlocales 

Probabilmente userete una o due localizzazioni sul vostro sistema. Compilando le glibc viene installato un set completo di localizzazioni. Adesso potete attivare la flag userlocales nelle USE di /etc/make.conf e specificare attraverso /etc/locales.build solo le localizzazioni di cui avete realmente bisogno.

Esempio 7: Attivare la flag userlocales in particolare per glibc

echo "sys-libs/glibc userlocales" >> /etc/portage/package.use

Adesso specificate la localizzazione che volete poter utilizzare:

Esempio 8: Aggiungere la localizzazione a /etc/locales.build

en_US/ISO-8859-1
en_US.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15

Il prossimo passo è ricompilare le glibc. Ovviamente potete aspettare sino al prossimo aggiornamento del pacchetto se preferite.

4.Layout della tastiera per la console

Il layout della tastiera per la console si imposta in /etc/conf.d/keymaps con la variabile KEYMAP. Valori validi per tale variabile possono essere trovati in /usr/share/keymaps/{arch}/. i386 presenta delle ulteriori sottoclassi (qwerty/, azerty/, etc.). Alcune lingue hanno opzioni multiple, così la decisione migliore potrebbe essere quella di provarne diverse per ottenere quella che meglio si adatta alle vostre necessità.

Esempio 9: impostare la keymap della console

KEYMAP="de"
KEYMAP="de-latin1"
KEYMAP="de-latin1-nodeadkeys"

5.Layout della tastiera per il server grafico

Il layout per il server grafico è specificato in /etc/X11/xorg.conf dall'opzione XkbLayout

Esempio 10: impostare la keymap per x

 Section "InputDevice"
     Identifier  "Keyboard1"
     ...
     Option "XkbLayout"    "de"
     # Option "XkbVariant"  "nodeadkeys"
     ...

6.KDE

Per KDE dovrete installare il pacchetto kde-base/kde-i18n. Kde-i18n segue le regole descritte poco più su riguardo la variabile LINGUAS

7.Il Simbolo dell'euro per la console

Per fare in modo che la vostra console mostri il simbolo dell'euro dovrete impostare la variabile CONSOLEFONT in /etc/rc.conf in modo che punti ad un file presente in /usr/share/consolefonts/ (senza .psfu.gz). lat9w-16 possiede il simbolo dell'euro.

Esempio 11: impostare i font della console

CONSOLEFONT="lat9w-16"

8.Il simbolo dell'euro in X

Per la maggior parte della applicazioni 

Ottenere che il simbolo dell'euro funzioni correttamente in X comporta un maggiore impegno. La prima cosa che dovreste cambiare è la definizione fixed e quella variable nel file /usr/X11R6/lib/X11/fonts/misc/fonts.alias in modo che finisca in iso8859-15 invece che in iso8859-1

Esempio 12: inpostare i font di default di X

fixed        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable     -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15

Alcune applicazioni utilizzano il proprio font, e dovrete essere voi ad indicargli appositamente di utilizzare i font che contengono il simbolo dell'euro. Questo lo potrete fare a livello utente nel file .Xdefaults (potete copiare questo file in /etc/skel/ in modo che sia utilizzato di default per ogni nuovo utente creato), oppure potrete impostarlo a livello globale per ogni applicazione con un file in /usr/X11R6/lib/X11/app-defaults/ (ad esempio xterm). In questi file generalmente bisogna editare una stringa già presente piuttosto che aggiungerne un'altra. Per cambiare i font di xterm ad esempio:

Esempio 13: impostare i font per xterm

(nella vostra home directory)
# echo 'XTerm*font: fixed' >> .Xresources 
# xrdb -merge .Xresources

Il simbolo dell'euro in (X)Emacs 

Per utilizzare il simbolo dell'euro in (X)Emacs aggiungete quanto segue a .Xdefaults:

Esempio 14: impostare i font in emacs

Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15

Per XEmacs (che non è esattamente come Emacs), dovrete fare qualcosa in più. Nel file /home/user/.xemacs/init.el, aggiungete:

Esempio 15: impostare i font per xemacs

(define-key global-map '(EuroSign) '[€])

Nota: Il simbolo tra parentesi quadre è appunto il simbolo dell'euro

OpenOffice.Org 

L'attuale ebuild di app-office/openoffice (o -ximian) supportano l'impostazione della variabile LINGUAS per installare i pacchetti relativi alla lingua. Gli ebuild della versione stabile di app-office/openoffice-bin non supportano ancora la variabile LINGUAS, comunque, per avere un OpenOffice.Org localizzato dovrete installare o i sorgenti o gli ebuild della versione test. Per avere un'idea dello stato della traduzione della GUI, dello stato del troncamento, dello spell-check e di altre opzioni della vostra localizzazione fate riferimento al sito che si occupa della localizzazione di OpenOffice.Org.



Ultimo aggiorn.:
2005-09-24
Alexander Holler
Autore

Steven Lucy
Redazione

Benny Chuang
Redazione

Lars Weiler
Redazione

Tobias Scherbaum
Editor

Flammie Pirinen
Editor

Raffaele Camarda
Traduttore

Sommario:  Questa guida dovrebbe aiutare gli utenti a localizzare (adattare alla propria lingua, NdT) la propria distribuzione Gentoo Linux per qualsiasi paese Europeo. Useremo il Tedesco came caso di studio, in quanto la guida è tradotta da un documento tedesco. Affronteremo anche la configurazione del sistema per utilizzare il simbolo dell'Euro.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.