Localizzazione/Guida

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Localization/Guide and the translation is 84% complete.

Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎русский

Fuso orario

Per mantenere il tempo di sistema correttamente secondo la presente posizione, è necessario impostare il fuso orario. Le istruzioni su come fare questo per OpenRC based systems e systemd based systems può essere trovato nell'articolo system time.

Sistema locale

Cosa sono le localizzazioni

A locale is a set of information that most programs use for determining country and language specific settings. The locales and their data are part of the system library and can be found at /usr/share/i18n/locales/ on most systems. A locale name is generally named ab_CD where ab is the two (or three) letter language code (as specified in ISO-639) and CD is the two letter country code (as specified in ISO-3166). Variants like @euro or @latin are often appended to locale names, e.g. de_DE@euro or nan_TW@latin. Please explore Wikipedia to read more about locales and related articles.

Variabili d'ambiente per localizzazione

Le variabili controllano aspetti diversi di impostazioni locali sono riportati nella tabella sottostante. Tutti loro prendono un nome di una localizzazione nel formato seguente ab_CD.

Nome variabile Spiegazione
LANG Definisce tutte le impostazioni locali in una sola volta, permettendo un'ulteriore personalizzazione individuale attraverso l'impostazione LC_* sottostante.
LC_COLLATE Definisce l'ordine alfabetico delle stringhe. Questo influenza, ad esempio, l'uscita di directory elencate ordinatamente.
LC_CTYPE Definisce le proprietà dei caratteri di gestione per il sistema. Questo determina quali caratteri sono visti come alfabetici, numerici, e così via. Ciò determina anche il set di caratteri utilizzato, se applicabile.
LC_MESSAGES Programmi di localizzazioni memorizzati in /usr/share/locale/ per le applicazioni che utilizzano un sistema di localizzazione basato su messaggi (la maggior parte dei programmi GNU, vedere i prossimi capitoli per ulteriori informazioni su quali programmi lo fanno, e come ottenere i programmi che non lo fanno).
LC_MONETARY Definisce l'unità monetaria e la formattazione della valuta di tipo valori numerici.
LC_NUMERIC Definisce la formattazione dei valori numerici che non sono monetari. Definisce cose come separatore delle migliaia e separatore decimale.
LC_TIME Definisce la formattazione di date e orari.
LC_PAPER Definisce il formato predefinito della carta.
LC_ALL Ignora tutte le altre impostazioni.
Note
Alcuni programmi sono scritti in modo tale che si aspettano l'ordinamento tradizionale dell'alfabeto inglese, mentre alcune localizzazioni, in particolare l'Estone, utilizzano un ordinamento diverso. Pertanto si consiglia di impostare in modo esplicito LC_COLLATE a C quando si tratta di impostazioni di sistema.
Warning
Utilizzare LC_ALL è fortemente sconsigliato poichè esclude automaticamente tutte le altre variabili LC_* (LANG non è influenzato). Ciò significa che le modifiche apportate da altri mezzi saranno nascoste fino a che LC_ALL è impostato su stringa null. Probabilmente è meglio non farlo in un file di avvio.

Più tipicamente, gli utenti impostano solo LANG variabile a livello globale.

Generazione di localizzazioni specifiche

La maggior parte degli utenti probabilmente utilizzeranno solo uno o due lingue nel loro sistema. Una localizzazione addizionale può essere specificata nel file /etc/locale.gen.

CODE Aggiungere localizzazioni su /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
Note
Utilizzare un valore @euro da /usr/share/i18n/SUPPORTED/ come localizzazione quando si utilizza il simbolo di valuta Euro (€) su un non UTF-8 localizzazione di base.

Il passo successivo è quello di eseguire locale-gen. Esso genererà tutte le localizzazioni specificate nel file /etc/locale.gen e scriverà l'archivio di localizzazione (/usr/lib/locale/locale-archive).

root #locale-gen
 * Generating 4 locales (this might take a while) with 1 jobs
 *  (1/4) Generating en_GB.ISO-8859-1 ...                       [ ok ]
 *  (2/4) Generating en_GB.UTF-8 ...                            [ ok ]
 *  (3/4) Generating de_DE.ISO-8859-1 ...                       [ ok ]
 *  (4/4) Generating de_DE.ISO-8859-15@euro ...                 [ ok ]
 * Generation complete

Verificare che le impostazioni internazionali selezionate siano disponibili eseguendo locale -a.

user $locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE@euro
deutsch
en_GB
en_GB.iso88591
en_GB.utf8
german

Il file /usr/lib/locale/locale-archive può essere mostrato con localedef.

user $localedef --list-archive

Il suo contenuto può essere visualizzato con il comando strings.

user $strings /usr/lib/locale/locale-archive | less

Impostare una localizzazione

OpenRC

Quando si utilizza OPENRC le impostazioni di localizzazione vengono memorizzate in variabili d'ambiente. Queste sono tipicamente impostate nel file /etc/env.d/02locale (per le impostazioni a livello di sistema) e nel file ~/.bashrc (per le impostazioni dell'utente specifico). Maggiori dettagli possono essere trovati nell'articolo UTF-8. Le impostazioni a livello di sistema (/etc/env.d/02locale) possono essere gestite attraverso eselect locale. Per esempio, per impostare la variabile LANG per il valore C:

root #eselect locale list
Available targets for the LANG variable:
  [1]   C 
  [2]   POSIX
  [3]   en_US
  [4]   en_US.iso885915
  [5]   en_US.utf8
  [ ]   (free form)
root #eselect locale set 1

Naturalmente, modificando il file manualmente è possibile anche diversificare le variabili di localizzazione.

FILE /etc/env.d/02localeImpostare il sistema di localizzazione predefinito in /etc/env.d/02locale
LANG="de_DE.UTF-8"
LC_COLLATE="C"

It's also possible, and pretty common especially in a more traditional UNIX environment, to leave the global settings unchanged, i.e. in the C locale. Users can still specify their preferred locale in their own shell RC file:

FILE ~/.bashrcImpostazione della localizzazione dell'utente
export LANG="de_DE.UTF-8"
export LC_COLLATE="C"

Another way of configuring system is to leave it in the default C locale, but enable UTF-8 character representation at the same time. This option is achieved using the following settings in /etc/env.d/02locale:

CODE Utilizzare la localizzazione tradizionale C specificando UTF-8
LC_CTYPE=de_DE.UTF-8

Utilizzando questo frammento di codice, gli utenti saranno in grado di vedere i nomi di file localizzati correttamente, pur non essendo costretti a utilizzare completamente la lingua selezionata.

Una volta che la localizzazione giusta è impostata, assicurarsi di aggiornare le variabili d'ambiente per rendere il sistema a conoscenza del cambiamento.

Per una localizzazione di default a livello di sistema:

root #env-update && source /etc/profile

Per la localizzazione di un utente specifico:

user $source ~/.bashrc

Dopo ciò, chiudere il server X premendo Ctrl+Alt+Backspace, disconnettersi, quindi riconnettersi come utente.

Ora, verificare che le modifiche siano state applicate:

user $locale

systemd

Con systemd impostare la localizzazione con il comando localectl. Controllare l'elenco delle zone disponibili con:

root #localectl list-locales

Quindi impostare la località desiderata:

root #localectl set-locale LANG=de_DE.utf8

Infine verificare se il risultato è corretto:

root #localectl | grep "System Locale"
   System Locale: LANG=de_DE.utf8

Layout della tastiera per la console

OpenRC

La configurazione della tastiera utilizzata dalla console si trova in /etc/conf.d/keymaps sulla variabile keymap. Valori corretti possono essere trovati in /usr/share/keymaps/YOUR_ARCH/. i386 ha ulteriori suddivisioni in layout (qwerty/, azerty/, etc.). Alcune lingue hanno più opzioni - provarne varie per decidere quale si adatta meglio alle esigenze.

FILE /etc/conf.d/keymapsImpostazione della mappa della tastiera
keymap="de"
#keymap="de-latin1"
#keymap="de-latin1-nodeadkeys"

systemd

Con systemd il layout della tastiera utilizzato per la console può essere impostato utilizzando il comando localectl. Prima controllare i layout disponibili:

root #localectl list-keymaps

Quindi impostare il layout richiesto:

root #localectl set-keymap it

Infine controllare se il layout della tastiera è stato impostato correttamente:

root #localectl | grep "VC Keymap"
       VC Keymap: it

Configurazione della tastiera per il server X

OpenRC

Il layout della tastiera, per essere utilizzato dal server X, è specificato in /etc/X11/xorg.conf.d/30-keyboard.conf nell'opzione XkbLayout. Per dettagli visitare la Xorg guide e l'articolo Keyboard layout switching.

systemd

Con systemd il layout della tastiera per il server X11 può essere impostato utilizzando il comando localectl. Prima verificare i layout disponibili per X11:

root #localectl list-x11-keymap-layouts

Quindi impostare il layout per X11 richiesto:

root #localectl set-x11-keymap it

Infine controllare se il layout per X11 è stato impostato correttamente:

root #localectl | grep "X11 Layout"
      X11 Layout: it

NLS

Per il messaggio basato su localizzazione di lavorare in programmi che la supportano e hanno la nls (supporto per la lingua nativa) USE flag, compilare il programma con questa USE flag impostata. Stringhe di messaggi sono installate nei files /usr/share/locale/<locale>/LC_MESSAGES/<package>.mo. La maggior parte dei programmi che utilizzano nls hanno anche bisogno della libreria gettext per estrarre e utilizzare messaggi localizzati. Naturalmente, Portage la installerà automaticamente quando necessario.

Dopo aver abilitato la USE flag nls, alcuni pacchetti potrebbero aver bisogno di essere ri-emersi:

root #emerge --ask --changed-use --deep --with-bdeps=y @world

LINGUAS

C'è anche una USE_EXPAND flag addizionale chiamata LINGUAS [1], che colpisce i file di localizzazione che vengono installati nei programmi gettext-base, e decide quali pacchetti di lingua GUI devono essere scaricati e installati per alcuni pacchetti software specifici, come ad esempio Firefox, Thunderbird, kde-base/kde-l10n o app-office/libreoffice-l10n. La variabile usa lo spazio per separare i codici di lingua, e un posto consigliato in cui impostarla è /etc/portage/make.conf:

root #nano -w /etc/portage/make.conf
## (Add in the LINGUAS variable. For instance, for German, Finnish and English:)
LINGUAS="de fi en"

Con LINGUAS="", la maggior parte degli ebuild installerebbero solo la lingua predefinita dei pacchetti ma nessuno dei files LC_MESSAGES. Non scaricherebbero ed installerebbero neanche nessuno degli ulteriori pacchetti relativi alla lingua. Per esempio, l'attuale stabile pacchetto app-office/libreoffice riceve supporto per la lingua attraverso app-office/libreoffice-l10n che supporta il download e l'installazione dei pacchetti di lingua definiti in LINGUAS. Dal momento che la lingua di origine del pacchetto LibreOffice è en_US, non c'è la flag en_US in app-office/libreoffice-l10n. Così con LINGUAS="", LibreOffice supporta en_US.

Una lista dei programmi installati che fanno uso della USE_EXPAND flag LINGUAS e una lista dei loro linguaggi supportati può essere vista come segue:

user $eix -I -U linguas

Una lista dei valori di LINGUAS che possono essere utilizzati è fornita su /usr/portage/profiles/desc/linguas.desc:

user $grep -i french /usr/portage/profiles/desc/linguas.desc
fr - French locale
fr_CA - French locale for Canada
fr_FR - French locale for France

Dopo impostata la USE_EXPAND flag LINGUAS può essere necessario riemergere alcuni pacchetti:

root #emerge --ask --changed-use --deep --with-bdeps=y @world
Note
LINGUAS as a USE_EXPAND'ed variable is being replaced by the L10N variable (see below). This avoids a conceptual clash with the standard gettext behaviour. After a transition time for packages to be converted, LINGUAS will become a regular environment variable.

L10N

Another USE_EXPAND variable called L10N decides which extra localization support will be installed. This is commonly used for downloads of additional language packs by packages. Similar to LINGUAS, the variable takes a space separated list of language tags, and it can be set in /etc/portage/make.conf:

root #nano -w /etc/portage/make.conf
## (Add in the L10N variable. For instance, for German and Brazilian Portuguese:)
L10N="de pt-BR"

To set it per-package, edit /etc/portage/package.use and prefix the requested language packs with "l10n_", as shown in the next example:

FILE /etc/portage/package.use
app-text/aspell l10n_de l10n_pt_BR

Note that while the common two letter language codes (like de or fr) are identical in LINGUAS and L10N, more complex entries have a different syntax because L10N uses IETF language tags (aka BCP 47). For example, pt_BR and sr@latin in LINGUAS become pt-BR and sr-Latn in L10N, respectively.

A list of L10N values that can be used is provided as /usr/portage/profiles/desc/l10n.desc:

user $grep -i portuguese /usr/portage/profiles/desc/l10n.desc
pt - Portuguese
pt-BR - Portuguese (Brazil)
pt-PT - Portuguese (Portugal)

After setting the L10N USE_EXPAND variable it may be necessary to re-emerge some packages:

root #emerge --ask --changed-use --deep --with-bdeps=y @world

Vedi anche

Risorse esterne

Riferimenti

  1. LINGUAS in Gentoo Development Guide

This article is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Alexander Holler, Steven Lucy, Benny Chuang, Lars Weiler, Tobias Scherbaum, Flammie Pirinen, nightmorph, klondike
They are listed here as the Wiki history does not allow for any external attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.