# 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

Suggerimento: Anche se è molto probabile che una sola lingua è utilizzata sul vostro computer, può essere utile o addirittura necessario consentire anche altri locali. Se si sta eseguendo un sistema multi-utente, con gli utenti che non parlano inglese, il loro locale individuale dovrebbe almeno essere supportata dal sistema.

### 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`.

Nota: `/etc/locale.conf` non esiste per impostazione predefinita e va creato manualmente.
Suggerimento: Se l'output del locale è di vostro gradimento durante l'installazione, è possibile salvare un po 'di tempo eseguendo : `# 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 `man 1 localectl` e `man 5 locale.conf` 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
- Gentoo Wiki Archives: Locales
- Test interattivo ICU sull'ordinamento
- Free Standards Group Open Internationalisation Initiative
- The Single UNIX Specification definizione di locale dell'Open Group
- Variabili d'ambiente Locale

Category:

- Internationalization (Italiano)