Gentoo Logo

Guida alla localizzazione di Gentoo Linux

Indice:

1.  Fuso Orario (Time zone)

Per avere una corretta gestione dell'ora va prima impostato il fuso orario (timezone) così che il sistema possa sapere in quale parte del mondo si trova. Cercare il proprio fuso orario nella directory /usr/share/zoneinfo/, dopodichè impostarlo in modo appropriato nel file /etc/conf.d/clock. È sconsigliabile riferirsi ai fusi orari 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.

Codice 1.1: Impostare le informazioni del fuso orario

# ls /usr/share/zoneinfo
(Supponendo di voler usare il fuso orario di Brussels)
# nano -w /etc/conf.d/clock
TIMEZONE="Europe/Brussels"
# date
Wed Mar  8 00:46:05 CET 2006

Nota: Assicurarsi che l'indicatore del fuso orario (in questo caso "CET") sia corretto per la propria zona.

Nota: È possibile impostare il valore di TZ secondo i valori presenti in /usr/share/zoneinfo nel file rc della propria shell (.bash_profile per bash) agendo così 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 preso il fuso orario dall'account per determinare l'ora locale. Se per qualche ragione si desidera che il proprio orologio di sistema non sia in UTC, va modificato il file /etc/conf.d/clock e cambiato il valore di CLOCK da UTC a local.

Codice 2.1: Ora locale vs. GMT

(consigliato:)
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 si possono trovare in /usr/share/locale nella maggior parte dei casi. Generalmente il nome di una 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-3166). Le varianti sono spesso aggiunte in fondo ai nome delle localizzazione, ad es. en_GB.utf8 o de_DE@euro. Per maggiori informazioni sulle localizzazioni visitare Wikipedia.

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, ordinate per importanza. Tutte le variabili accettano valori secondo il formato ab_CD specificato in precedenza.

Nome della variabile Spiegazione
LC_ALL Definisce tutti le impostazioni della localizzazione. Questa impostazione scavalcherà tutte le altre impostazioni nella tabella.
LC_COLLATE Definisce l'ordine alfabetico delle eventuali stringhe. Questo ha effetto, per esempio, sull'output dell'elenco ordinato del contenuto di 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 insieme 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 si vedrà 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 scavalcata 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. Per essere sicuri impostarle entrambe

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

Codice 3.1: Impostare la localizzazione in ~/.bashrc

export LANG="de_DE@euro"

Nota: Aggiungere anche @euro al file di avvio della shell se si vuole utilizzare questo simbolo di valuta (€)

E' anche possibile impostare una localizzazione predefinita per l'intero sistema che verrà utilizzata da tutti gli utenti e da tutte le applicazioni:

Codice 3.2: Impostare la localizzazione predefinita di sistema in /etc/env.d/02locale

LC_ALL="de_DE@euro"
LANG="de_DE@euro"

Comunemente si imposta la localizzazione solo per i singoli utenti mentre per l'intero sistema non viene definita. In questo caso la localizzazione per l'intero sistema assume lo speciale valore "C", che per ragioni storiche corrisponde a quella Inglese.

Perchè funzioni la localizzazione basata sui messaggi nella applicazioni che la supportano, bisogna compilare tali programmi con la USE nls (Native Language Support, "Supporto al Linguaggio Nativo" ndT). Molti dei programmi che utilizzano nls hanno bisogno anche della libreria gettext per estrarre ed usare i messaggi localizzati, ovviamente Portage la installerà quando necessaria.

Una volta impostata la localizzazione corretta, assicurarsi di aggiornare le variabili d'ambiente per rendere effettive le modifiche:

Codice 3.3: Aggiornare l'ambiente

(Per localizzazioni definite per l'intero sistema:)
# env-update && source /etc/profile

(Per localizzazioni limitate al singolo utente:)
$ source ~/.bashrc

Fatto ciò, è necessario terminare il server X premendo Ctrl+Alt+Backspace, effettuare il logout, e poi di nuovo il login come utente.

Ora verificare che le modifiche siano state applicate:

Codice 3.4: Verificare le modifiche dell'ambiente

$ env | grep -i LC_

Esiste inoltre una variabile addizionale chiamata LINGUAS, che influisce sui file di localizzazione installati con i programmi che supportano gettext e sulla 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 in precedenza. E' consigliabile impostare la variabile LINGUAS in /etc/make.conf:

Codice 3.5: Impostare LINGUAS in make.conf

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

Generare localizzazioni specifiche

Se si utilizza una localizzazione che non è disponibile in modo predefinito bisogna utilizzare localedef per generare la propria localizzazione. Ad esempio:

Codice 3.6: Generare una localizzazione utilizzando localedef

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

Dopo avere generato la localizzazione, è possibile esportare la variabile LANG come visto prima

Codice 3.7: Esportare la variabile LANG

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

Assicurarsi di aggiornare l'ambiente dopo la modifica:

Codice 3.8: Aggiornare l'ambiente

# env-update && source /etc/profile

Fatto ciò, è necessario terminare il server X premendo Ctrl+Alt+Backspace, effettuare il logout, e poi di nuovo il login come utente.

Creare le localizzazioni per le glibc

Probabilmente sul proprio sistema si utilizzeranno una o due localizzazioni. È possibile abilitare solo le localizzazioni di cui si ha bisogno inserendole in /etc/locale.gen.

Codice 3.9: Aggiungere le localizzazioni a /etc/locale.gen

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

Fatto ciò eseguire locale-gen. Questo comando genera le localizzazioni specificate nel file /etc/locale.gen.

Nota: locale-gen è disponibile a partire dalle glibc-2.3.6-r4. Se si ha una versione più vecchia delle glibc, è consigliabile aggiornarlo.

E' possibile verificare se le localizzazioni selezionate sono disponibili tramite il comando locale -a.

4.  Layout della tastiera per la console

Il layout della tastiera per la console si imposta in /etc/conf.d/keymaps tramite 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 proprie necessità.

Codice 4.1: Impostare la keymap della console

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

5.  Layout della tastiera per il server grafico

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

Codice 5.1: Impostare il layout della tastiera per X

 Section "InputDevice"
     Identifier  "Keyboard1"
     ...
     Option "XkbLayout"     "de"
     # Option "XkbModel"    "pc105"    ## questo è per le tastiere internazionali.
     # Option "XkbVariant"  "nodeadkeys" ## questo sarebbe usato per l'input xterm.
     ...

Se si ha un layout di tastiera internazionale, impostare l'opzione XkbModel a pc102 oppure a pc105, dato che questo consentirà la mappatura dei tasti addizionali specifici per la propria tastiera.

Le deadkeys consentono di premere tasti che non verranno mostrati immediatamente sullo schermo, ma saranno combinati con un'altra lettera per produrre un singolo carattere come é,è,á,à,ecc... Impostare XkbVariant a nodeadkeys consente di immettere questi caratteri speciali all'interno dei terminali X.

Se si desidera passare tra più di un layout di tastiera (per Inglese e Russo), tutto quello che occorre fare è aggiungere poche linee a xorg.conf per specificare i layout desiderato e il comando abbreviato.

Codice 5.2: Passare da un layout di tastiera ad un altro

  Section "InputDevice"
     Identifier  "Keyboard1"
     ...
     Option "XkbLayout"   "us,ru"
     Option "XkbOptions"  "grp:alt_shift_toggle,grp_led:scroll"

Qui XkbOptions consente di passare da un layout di tastiera ad un altro, semplicemente premendo ALT+Shift. Questo farà anche accendere e spegnere il led Scroll Lock, grazie all'opzione grp_led:scroll. Si tratta di un indicatore visivo a portata di mano, che mostrerà quale layout di tastiera si starà usando in un dato momento.

6.  KDE

Per KDE bisogna 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 propria console mostri il simbolo dell'euro bisogna impostare la variabile CONSOLEFONT in /etc/conf.d/consolefont al nome di uno dei file presenti in /usr/share/consolefonts/ (senza .psfu.gz). lat9w-16 possiede il simbolo dell'Euro.

Codice 7.1: Impostare i font della console

CONSOLEFONT="lat9w-16"

Verificare che CONSOLEFONT sia nel runlevel di boot:

Codice 7.2: Verificare il giusto runlevel

# rc-update -v show | grep -i consolefont

Se non viene mostrato alcun runlevel per CONSOLEFONT, aggiungerlo al giusto livello:

Codice 7.3: Aggiungere consolefont al runlevel di boot

# rc-update add consolefont boot

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 da cambiare sono le definizioni di fixed e di variable nel file /usr/share/fonts/misc/fonts.alias in modo che finiscano in iso8859-15 invece che in iso8859-1

Codice 8.1: Impostare i font predefiniti 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 bisogna indicare loro manualmente di utilizzare i font che contengono il simbolo dell'euro. Ciò è possibile a livello utente tramite il file .Xdefaults (si può copiare questo file in /etc/skel/ in modo che sia utilizzato in modo predefinito per ogni nuovo utente creato), oppure impostarlo a livello globale per ogni applicazione con un file in /usr/share/X11/app-defaults/ (ad esempio xterm). In questi file generalmente bisogna modificare una stringa già presente piuttosto che aggiungerne un'altra. Per cambiare i font di xterm ad esempio:

Codice 8.2: Impostare i font per xterm

(nella propria 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 aggiungere quanto segue a .Xdefaults:

Codice 8.3: Impostare i font in emacs

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

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

Codice 8.4: Impostare i font per xemacs

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

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

OpenOffice.Org

Gli attuali ebuild stabili di app-office/openoffice e app-office/openoffice-bin supportano l'impostazione della variabile LINGUAS per installare i pacchetti relativi alla lingua. Per avere un'idea dello stato della traduzione dell'interfaccia grafica (GUI), della sillabazione, del controllo ortografico e di altre opzioni della propria localizzazione fare riferimento al sito che si occupa della localizzazione di OpenOffice.Org.



Stampa

Aggiornato il 4 ottobre 2007

Oggetto: Questa guida dovrebbe aiutare gli utenti a localizzare (adattare alla propria lingua, NdT) la propria distribuzione Gentoo Linux per qualsiasi paese Europeo. Verrà usato il Tedesco come caso di studio, in quanto la guida è tradotta da un documento tedesco. Verrà affrontata anche la configurazione del sistema per utilizzare il simbolo dell'Euro.

Alexander Holler
Autore

Steven Lucy
Redazione

Benny Chuang
Redazione

Lars Weiler
Redazione

Tobias Scherbaum
Redazione

Flammie Pirinen
Redazione

Raffaele Camarda
Traduzione

Cristiano Chiucchiolo
Traduzione

Andrea Perotti
Traduzione

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.