Locale (Italiano)
I Locale sono utilizzati in linux per definire la lingua che l'utente utilizza. Così come i Locale definiscono il set di caratteri in uso, impostare il locale corretto è particolarmente importante se il linguaggio contiene caratteri non ASCII.
Il nome dei Locale sono definiti utilizzando il seguente formato:
<lingua>_<territorio>.<codeset>[@<modifificatori>]
Abilitare il Locale necessario
Prima che un locale possa essere utilizzato nel sistema, deve essere attivato. Per elencare tutte le versioni locali disponibili, utilizzare il comando:
$ locale -a
Per abilitare un locale, decommentare il nome del locale nel file /etc/locale.gen
. Questo file contiene tutte le variabili locali che possono essere utilizzati sul sistema. Ripristinare il processo per disabilitare un locale. Dopo che i locali necessari sono abilitati, il sistema deve essere aggiornato con le nuove impostazioni locali:
# locale-gen
Per mostrare i locale che sono attualmente in uso, digitare:
$ locale
Esempio IT Italiano
Per prima cosa decommentare il seguente locale in /etc/locale.gen
:
it_IT.UTF-8 UTF-8
Successivamente aggiornare il sistema come root:
# locale-gen
Impostare il locale a livello di sistema
Per definire il locale a livello di sistema utilizzato sul sistema, impostare la variabile LANG
in /etc/locale.conf
:
locale.conf
contiene un elenco per l'assegnazione delle variabile di ambiente in una nuova linea separata: oltre LANG
, supporta tutte le variabili LC_*
, con l'eccezione di LC_ALL
.
/etc/locale.conf
non esiste per impostazione predefinita e va creato manualmente. # locale > /etc/locale.conf
mentre si è ancora in ambiente chroot./etc/locale.conf
LANG="it_IT.UTF-8"
Ecco un esempio di configurazione avanzata:
/etc/locale.conf
# Abilitare UTF-8 con impostazioni Italiane. LANG="it_IT.UTF-8" # Mantenere l'ordine predefinito (ad esempio i file che iniziano con un '.' # dovrebbe apparire all'inizio di un elenco di directory). LC_COLLATE="C" # Impostare la data (test con "date +%c") LC_TIME="it_IT.UTF-8"
È possibile impostare la lingua di default in locale.conf
anche usando localectl
, per esempio:
# localectl set-locale LANG="it_IT.UTF8"
Si veda localectl(1) e locale.conf(5) per maggiori dettagli.
Queste modifiche avranno effetto dopo il riavvio del sistema e sarà impostato per le singole sessioni di login .
Impostare un locale di ripiego
Nei programmi che utilizzano gettext per il rispetto delle traduzioni, l'opzione LANGUAGE
è aggiunta alle consuete variabili. Questo permette agli utenti di specificare una lista di localizzazioni che verranno utilizzati in questo ordine. Se una traduzione per il locale preferito non è disponibile, un altro da un locale simile verrà usato al posto di quello di default. Ad esempio, un utente italiano potrebbe voler ricadere sull'ortografia britannica, piuttosto che su quella degli Stati Uniti:
~/.bashrc
export LANGUAGE="it_IT:en_GB:en"
oppure a livello di sistema
/etc/locale.conf
LANG="it_IT" export LANGUAGE="it_IT:en_GB:en"
Impostazione dei locali utente
Come abbiamo accennato in precedenza, alcuni utenti potrebbero voler definire un locale diverso da quello a livello di sistema locale.
Lo script etc/profile.d/locale.sh
sostituisce il locale 'a livello di sistema"' con quello riscontrato in ~/.config/locale.conf
. Questo file non esiste per impostazione predefinita.
~/.config/locale.conf
LANG="it_IT.UTF-8" LANGUAGE="it_IT.UTF-8"
Impostare il collation
L'ordinamento (collation), è un po 'diverso. L'ordinamento è una stupida bestia poiché i vari locale si comportano in modo diverso. Per ovviare a potenziali problemi, Arch utilizza impostare LC_COLLATE="C"
in /etc/profile
. Tuttavia, questo metodo è obsoleto. Per abilitare questo comportamento, è sufficiente aggiungere la seguente variabile in /etc/locale.conf
:
LC_COLLATE="C"
Ora il comando ls
ordinerà i dotfile per primi, seguito da nomi di file che iniziano con maiuscole e minuscole. Si noti che senza una opzione LC_COLLATE
, le applicazioni ripiegano sul valore di locale specificato da LC_ALL
o LANG
, ma l'impostazione di LC_COLLATE
verranno sovrascritti se LC_ALL
è impostato. Se ciò crea dei problemi, assicurarsi che LC_ALL non sia impostato aggiungendo quanto segue in /etc/profile
:
export LC_ALL=
Si noti che LC_ALL è l'unica variabile LC che non deve essere impostata in /etc/locale.conf
.
Impostare il primo giorno della settimana
In molti paesi il primo giorno della settimana è Lunedì. Per regolare questo comportamento, modificare o aggiungere le seguenti righe nella sezione LC_TIME
in /usr/share/i18n/locales/<tuo_locale>
:
week 7;19971130;5 first_weekday 2 first_workday 2
E aggiornare il sistema:
# locale-gen
Risoluzione dei problemi
Il mio terminale non supporta UTF-8
Sfortunatamente alcuni terminali non supportano UTF-8. In questo caso dovreste utilizzare un terminale differente. Questa è una lista di alcuni terminali che hanno il supporto per UTF-8:
- vte-based terminals
- gnustep-terminal
- konsole
- mlterm
- rxvt-unicode
- xterm
Xterm non supporta UTF-8
xterm supporta UTF-8 solo se eseguito come uxterm
o xterm -u8
.
Gnome-terminal o rxvt-unicode non supportano UTF-8
È necessario avviare queste applicazioni da un locale UTF-8 o cadrà il supporto ad UTF-8. Abilitare il en_US.UTF-8
locale (o il vostro locale UTF-8 alternativo) come spiegato precedentemente e impostarlo come la lingua predefinita, quindi riavviare.
Altre Fonti
- Guida di Gentoo Linux sulla localizzazione
- http://wikigentoo.ksiezyc.pl/Locales.htm
- Test interattivo ICU sull'ordinamento[link interrotto 2021-05-17]
- Free Standards Group Open Internationalisation Initiative
- The Single UNIX Specification definizione di locale dell'Open Group
- Variabili d'ambiente Locale