Gentoo Linux Localization Guide
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 |
CLOCK="UTC"
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
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 |
# 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.
|