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/timezone. È 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 Roma)
(Per prima cosa copiare la zona appropriata nel file localtime)
# cp /usr/share/zoneinfo/Europe/Rome /etc/localtime
(Ora specificare il proprio fuso orario)
# nano -w /etc/timezone
TIMEZONE="Europe/Rome"
# 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/Rome".

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/hwclock (o se si usa Gentoo BSD: /etc/conf.d/adjkerntz) 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.UTF-8 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. Tutte le variabili accettano valori secondo il formato ab_CD specificato in precedenza.

Nome della variabile Spiegazione
LANG Definisce tutte le impostazioni della localizzazione in una volta sola, lasciando però la possibilità di ulteriori personalizzazioni tramite le diverse variabili LC_* elencate di seguito.
LC_COLLATE Definisce l'ordine alfabetico delle stringhe. Questo ha effetto, per esempio, sull'output dell'elenco ordinato del contenuto di una directory.
LC_CTYPE Definisce il modo in cui il sistema debba gestire i tipi di carattere. Questo determina quali caratteri devono esser visualizzati 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.
LC_ALL Una variabile speciale che scavalca tutte le altre impostazioni.

Nota: Alcuni programmi sono scritti in modo tale da aspettarsi un'ordinamento dell'alfabeto in Inglese tradizionale, mentre alcune localizzazioni, specialmente l'Estone, usano un ordine differente. Perciò è raccomandabile di impostare esplicitamente LC_COLLATE a C quando si ha a che fare con le impostazioni globali di tali variabili.

Avvertenza: L'uso di LC_ALL è fortemente scoraggiato e non può essere annullato successivamente. Si prega di usarlo solamente in fase di test e non impostarlo mai in un file d'avvio.

La maggior parte degli utenti imposta solo la variabile LANG a livello globale. Questo esempio è per una localizzazione Italiana unicode:

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

LANG="it_IT.UTF-8"
LC_COLLATE="C"

Nota: Usare it_IT@euro come propria variabile LANG se si vuole utilizzare il simbolo di valuta dell'Euro (€) o una locale non basata su UTF-8.

Una lista di localizzazioni che può essere usata è fornita da file /usr/portage/profiles/desc/linguas.desc:

Codice 3.2: Ottenere una localizzazione utilizzabile per la lingua italiana

$ grep -i Italian /usr/portage/profiles/desc/linguas.desc
it - Italian locale
it_IT - Italian locale

È anche possibile, e molto comune specialmente in ambienti UNIX più tradizionali, lasciare le impostazioni globali invariate, ad es. con locale a "C". Gli utenti potranno comunque specificare la localizzazione preferita nei propri script d'avvio della shell:

Codice 3.3: Impostare la localizzazione utente in ~/.bashrc

export LANG="it_IT.UTF-8"
export LC_COLLATE="C"

Un altro modo per configurare il sistema consiste nel lasciale la localizzazione C come predefinita, abilitando al tempo stesso la rappresentazione UTF-8 dei caratteri. Per ottenere questo risultato è sufficiente specificare in /etc/env.d/02locale i seguenti valori:

Codice 3.4: Mantenere la localizzazione tradizionale C abilitando UTF-8

LC_CTYPE=it_IT.UTF-8

Usando questo frammento di codice, gli utenti saranno in grado di vedere correttamente i nomi localizzati dei file, senza esser forzati ad adottare la vostra lingua preferita.

Perché la localizzazione basata sui messaggi funzioni 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.5: 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.6: Verificare le modifiche dell'ambiente

$ locale

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-l10n e app-office/libreoffice. 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/portage/make.conf:

Codice 3.7: Impostare LINGUAS in make.conf

# nano -w /etc/portage/make.conf
(Inserire la variabile LINGUAS, ad esempio per l'italiano, il tedesco, il finlandese e l'inglese:)
LINGUAS="it de fi en"

Generare localizzazioni specifiche

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.8: Aggiungere le localizzazioni a /etc/locale.gen

en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
it_IT ISO-8859-1
it_IT@euro ISO-8859-15
it_IT.UTF-8 UTF-8

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="it"
keymap="it-latin1"
keymap="it-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 "InputClass"
    Identifier "keyboard-all"
    Driver "evdev"
    Option "XkbLayout" "it"
    #Option "XkbModel" "pc105"
    MatchIsKeyboard "on"
EndSection

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 "InputClass"
    Identifier "keyboard-all"
    Driver "evdev"
    Option "XkbLayout" "us,ru"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
    MatchIsKeyboard "on"
EndSection

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 i pacchetti kde-base/kde-l10n e app-office/calligra-l10n, che rispettano le regole descritte in precedenza riguardo alla 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  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

LibreOffice.Org

Gli attuali ebuild stabili di app-office/libreoffice e app-office/libreoffice-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 web delle traduzioni di LibreOffice.



Stampa

Aggiornato il 13 gennaio 2013

La versione originale di questo documento non è più mantenuta

Oggetto: Questa guida dovrebbe aiutare gli utenti a localizzare (adattare alla propria lingua, NdT) la propria distribuzione Gentoo Linux per qualsiasi paese Europeo. 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

Joshua Saddler
Redazione

Francisco Blas Izquierdo Riera
Redazione

Raffaele Camarda
Traduzione

Cristiano Chiucchiolo
Traduzione

Andrea Perotti
Traduzione

Donate to support our development efforts.

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