Come faccio ad aggiungere le impostazioni locali al server Ubuntu?


178

Al momento ho quelle localizzazioni:

locale -a

C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Come posso installare le ru_RUimpostazioni internazionali sul mio server?

Risposte:


254
  1. Controlla quali locali sono supportati:

    locale -a
    
  2. Aggiungi le impostazioni locali desiderate (ad esempio ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. Esegui questo comando di aggiornamento:

    sudo update-locale 
    

26
... quindi corrisudo update-locale
Justin Force

3
Cosa fai se non è supportato?
Kimble,

4
Potresti ampliare il motivo per cui sono entrambi ru_RUe ru_RU.UTF-8necessari? Non so molto sui locali.
Sopalajo de Arrierez,

15
Se lavori con php5-fpm ti serviràsudo service php5-fpm restart
Stalinko il

3
Era esattamente quello di cui avevo bisogno, ma ho dovuto riavviare Apache per farlo funzionare ... grazie!
Jabari,

53

Vorrei seguire un'altra strada, che è IMO più adatta allo stile di Ubuntu. Usa i pacchetti forniti . Ci sono pacchetti per ogni locale e fanno tutto il lavoro per te ... non c'è bisogno di modificare i file / var, che ho sempre creduto non fossero fatti per essere modificati manualmente.

sudo apt-get install language-pack-XX

dove XX sta per il codice della lingua. L'installazione di una lingua installerà anche tutte le varianti specifiche del paese (ad esempio, l'installazione di language-pack installerà it_CH.utf8 e it_IT.utf8, l'installazione per NL installerà nl_AW, nl_AW.utf8, nl_BE.utf8 e nl_NL.utf8 ).


Penso che questo sia il modo migliore e più 'Ubuntu' per farlo
Luke Madhanga,

4
Ma la generazione dei locali fornisce elementi come il formato della data localizzato, il separatore decimale, i set di caratteri, ecc. I Language Pack forniscono anche traduzioni, che non è necessariamente l'intenzione.
Oskar Berggren,

1
D'accordo con Oskar. Ancora più forte se si considera che questa installazione è per un server - la maggior parte delle interfacce sarà comunque in inglese.
igorsantos07,

2
Temevo che questo avrebbe cambiato anche le impostazioni locali attuali, ma no. Va tutto bene. Sembra il miglior imo di approvazione. Non ho particolarmente bisogno di "traduzioni o altre cose", ma se uso specificamente una localizzazione per qualche motivo, mi aspetto che sia completa.
Balmipour,

43
  1. controlla quali locali sono supportati:

    less /usr/share/i18n/SUPPORTED
    
  2. Aggiungi impostazioni locali all'elenco di generati

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Rigenera elenco (invocherà locale-gen ...)

     sudo dpkg-reconfigure locales
    

4
Ho dovuto aggiungere la seconda colonna: echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local(UTF-8 si verifica due volte) su Ubuntu 15.04. Altrimenti funziona.
jfs,

16

Ho trovato locale-gen come tuo amico. come in (aggiungendo l'ebraico utf8 per esempio):

root@world:~# locale-gen he_IL.UTF-8

puoi anche ripassarlo in questo modo:

root@world:~# dpkg-reconfigure locales

e controlla di aver fatto bene:

root@world:~# locale -a

Ho trovato questa soluzione molto più semplice dell'aggiunta di roba ai file di testo, anche se è quello che fa.


6
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local

Ricevo il seguente messaggio al punto 3: "Errore: voce errata 'ru_RU.UTF8'"

Questo lavoro per me:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local

Questo ha funzionato per me. Nel mio caso, ho riscontrato quell'errore di inserimento errato per le versioni locali di en_GB. Ho aggiornato il mio /var/lib/locales/supported.d/mintlocalefile per contenere le righe en_GB UTF-8e en_GB.UTF-8 UTF-8(mancava l'UTF-8 extra).
Samir Aguiar,

4

Usa i language pack di Ubuntu. Tutte le lingue supportate sono disponibili nei repository predefiniti:

apt-cache search language-pack

Un esempio completo di cambio locale nella versione di Ubuntu (server):

jani@example:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Tutti i locali disponibili (ovvero già installati) possono essere elencati con:

locale -a

La mia locale attuale è en_IE:

jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov  1 15:36:51 UTC 2014
jani@example:~$

Poiché non avevo ru locales, devo installare ru language pack:

jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
  ru_RU.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
jani@example:~$ 

Ora le versioni locali sono disponibili. Le impostazioni internazionali predefinite del sistema vengono modificate modificando /etc/default/locale:

jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$

Effettua nuovamente il login e controlla la tua nuova locale:

jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб.  1 15:43:45 UTC 2014
jani@example:~$ 

2

Modifica /etc/locale.gen, decommenta o aggiungi le impostazioni locali che desideri vengano generate. Quindi corri sudo locale-gen.

Puoi verificare che le impostazioni locali vengano aggiunte locale -a, che mostrerà tutte le impostazioni locali.


oh, il mio locale-gen ha creato un sacco di locali, ignorando il file locale.gen. Quindi usa questo consiglio con cautela.
Dzenly

0
  1. Verifica quali locali sono già supportati nella tua distribuzione. Apri o catil file /usr/share/i18n/SUPPORTEDe copia le impostazioni internazionali desiderate da aggiungere.
  2. sul terminale inserire sudo locale-gen locale_name.

    Per esempio sudo locale-gen de_DE.iso885915@euro

  3. accedere sudo update-locale

  4. Controlla se la locale è installata con locale -a


0

Non posso commentare, quindi devo aggiungere questo come risposta.

Avevo bisogno di aggiungere un tipo "speciale" di locale sr_RS.utf8@latin in Ubuntu.

Comando:

sudo locale-gen sr_RS.utf8@latin

non aggiunge @latin alle impostazioni locali disponibili. Per avere successo, il comando dovrebbe apparire così:

sudo locale-gen sr_RS@latin.utf8

Il comando:

sudo locale -a

ora mostra:

sr_RS
sr_RS@latin
sr_RS.utf8
sr_RS.utf8@latin

Prestare attenzione alla differenza di sintassi tra il risultato di locale -ae il modo in cui viene aggiunto dai locale-gencomandi.


-2

Ho fatto le cose in modo simile per applicare il sistema locale in modo ampio senza riavviare o disconnettersi.

Innanzitutto, scarica il language pack:

sudo apt-get install language-pack-ru-base

Quindi, controlla quali versioni sono supportate:

less /usr/share/i18n/SUPPORTED | grep ru_RU

Ora applica il risultato (usa quasi sempre la versione UTF-8 per quasi tutte le lingue!):

echo 'ru_RU.UTF-8 UTF-8' | sudo tee /var/lib/locales/supported.d/local
sudo dpkg-reconfigure locales

Infine, aggiorna il file delle impostazioni predefinite, procuralo e quindi hai finito:

echo 'LANG=ru_RU.UTF-8' | sudo tee /etc/default/locale

applicare le modifiche al sistema:

. /etc/default/locale
LANGUAGE=ru_RU.UTF-8

e controlla i tuoi risultati:

locale

Nota: se si esegue Ubuntu normale e non un server Ubuntu, le modifiche non verranno trasferite oltre la console (se si decide di aprire una nuova scheda o chiudere il terminale) fino al successivo accesso. Tuttavia, utilizzando il server Ubuntu in genere è necessario accedere per aprire una nuova console, quindi non dovrebbe importare.
mchid,

Questa domanda è tagget con il server . E chi e perché ha votato in negativo questo, per favore, spiegalo.
Nikos Alexandris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.