¿Cómo agrego locale al servidor ubuntu?

178

Actualmente tengo esos locales:

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

¿Cómo puedo instalar la ru_RUconfiguración regional en mi servidor?

Luz plateada
fuente

Respuestas:

254
  1. Compruebe qué configuraciones regionales son compatibles:

    locale -a
    
  2. Agregue las configuraciones regionales que desee (por ejemplo ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. Ejecute este comando de actualización:

    sudo update-locale 
    
PocketSam
fuente
26
... luego corresudo update-locale
Justin Force
3
¿Qué haces si no es compatible?
Kimble
44
¿Podría por favor ampliar sobre por qué son ambos ru_RUy ru_RU.UTF-8necesarios? No sé mucho sobre locales.
Sopalajo de Arrierez
15
Si trabaja con php5-fpm, necesitarásudo service php5-fpm restart
Stalinko
3
Esto era exactamente lo que necesitaba, pero tuve que reiniciar Apache para que funcionara ... ¡gracias!
Jabari
53

Me gustaría ir a otra ruta, que es IMO mejor adaptada al estilo Ubuntu. Use los paquetes provistos . Hay paquetes para cada configuración regional, y hacen todo el trabajo por usted ... no es necesario editar archivos / var, que siempre creí que no debían editarse manualmente.

sudo apt-get install language-pack-XX

donde XX representa el código del idioma. La instalación de un idioma también instalará todas las variantes específicas del país (por ejemplo, al instalar language-pack-it lo instalará_CH.utf8 y it_IT.utf8, la instalación para NL instalará nl_AW, nl_AW.utf8, nl_BE.utf8 y nl_NL.utf8 )

Palantir
fuente
Creo que esta es la mejor y más 'Ubuntu' forma de hacerlo
Luke Madhanga,
44
Pero generar las configuraciones regionales proporciona cosas como formato de fecha localizado, separador decimal, juegos de caracteres, etc. Los paquetes de idiomas también proporcionan traducciones, lo cual no es necesariamente la intención.
Oskar Berggren
1
De acuerdo con Oskar. Aún más fuerte si considera que esta instalación es para un servidor: la mayoría de las interfaces estarán en inglés de todos modos.
igorsantos07
2
Tenía miedo de que esto también cambiara la localización actual, pero no. Todo esta bien. Parece la mejor aproximación de la OMI. En particular, no necesito "traducciones u otras cosas", pero si uso específicamente una configuración regional por alguna razón, espero que esté completa.
Balmipour
43
  1. Compruebe qué configuraciones regionales son compatibles:

    less /usr/share/i18n/SUPPORTED
    
  2. Agregar configuración regional a la lista de generados

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Regenerar lista (invocará locale-gen ...)

     sudo dpkg-reconfigure locales
    
usuario123231
fuente
44
Tuve que agregar la segunda columna: echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local(UTF-8 ocurre dos veces) en Ubuntu 15.04. De lo contrario, funciona.
jfs
16

He encontrado que locale-gen es tu amigo. como en (agregando hebreo utf8 por ejemplo):

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

incluso puedes repetirlo así:

root@world:~# dpkg-reconfigure locales

y verifica que lo hiciste bien:

root@world:~# locale -a

Encontré esta solución mucho más simple que agregar cosas a los archivos de texto, a pesar de que es lo que hace.

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

Recibo el siguiente mensaje en el punto 3: "Error: entrada incorrecta 'ru_RU.UTF8'"

Este trabajo para mi:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
usuario123
fuente
Esto funcionó para mí. En mi caso, tuve ese error de entrada incorrecta para las configuraciones regionales en_GB. He actualizado mi /var/lib/locales/supported.d/mintlocalearchivo para contener las líneas en_GB UTF-8y en_GB.UTF-8 UTF-8(faltaba el UTF-8 extra).
Samir Aguiar
4

Usa paquetes de idiomas de Ubuntu. Todos los idiomas admitidos están disponibles en repositorios predeterminados:

apt-cache search language-pack

Un ejemplo completo de cambio de configuración regional en la versión de Ubuntu (servidor):

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

Todos los entornos locales disponibles (es decir, ya instalados) se pueden enumerar con:

locale -a

Mi ubicación actual es 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:~$

Como no tenía ru locales, tengo que instalar el paquete de idioma ru:

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:~$ 

Ahora los ru locales están disponibles. La configuración regional predeterminada del sistema se establece editando /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:~$

Vuelva a iniciar sesión y compruebe su nueva configuración regional:

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:~$ 
usuario272735
fuente
2

Modifique /etc/locale.gen, descomente o agregue las configuraciones regionales que desea generar. Entonces corre sudo locale-gen.

Puede verificar que se agreguen las configuraciones regionales locale -a, que mostrarán todas las configuraciones regionales.

Hunse
fuente
oh, mi locale-gen creó toneladas de locales, ignorando el archivo locale.gen. Por lo tanto, use este consejo con precaución.
Dzenly
0
  1. Compruebe qué configuraciones regionales ya son compatibles con su distribución. Abra catel archivo /usr/share/i18n/SUPPORTEDy copie la configuración regional que desee agregar.
  2. en la terminal entrar sudo locale-gen locale_name.

    Por ejemplo sudo locale-gen de_DE.iso885915@euro

  3. entrar sudo update-locale

  4. Compruebe si la configuración regional está instalada con locale -a

BugShotGG
fuente
0

No puedo comentar, así que tengo que agregar esto como respuesta.

Necesitaba agregar un tipo de locale 'especial' sr_RS.utf8@latin en Ubuntu.

Mando:

sudo locale-gen sr_RS.utf8@latin

no agrega @latin a las configuraciones regionales disponibles. Para tener éxito en eso, el comando debería verse así:

sudo locale-gen [email protected]

El comando:

sudo locale -a

ahora muestra:

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

Preste atención a la diferencia de sintaxis entre el resultado locale -ay la forma en que los locale-gencomandos lo agregan .

Milan Oparnica
fuente
-2

Hice las cosas de manera similar para aplicar el sistema de configuración regional a todo el mundo sin reiniciar ni tener que cerrar sesión.

Primero, descargue el paquete de idioma:

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

A continuación, verifique qué versiones son compatibles:

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

Ahora, aplique el resultado (¡casi siempre use la versión UTF-8 para casi cualquier idioma!):

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

Finalmente, actualice su archivo predeterminado, búsquelo y listo:

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

aplicar los cambios al sistema:

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

y verifica tus resultados:

locale
mchid
fuente
Nota: Si está ejecutando Ubuntu normal y no el servidor Ubuntu, los cambios no se transferirán más allá de la consola (si decide abrir una nueva pestaña o cerrar el terminal) hasta después de la próxima vez que inicie sesión. Sin embargo, al usar el servidor Ubuntu, generalmente debe iniciar sesión para abrir una nueva consola de todos modos, por lo que no debería importar.
mchid
Esta pregunta es etiquetada con el servidor . Y quién y por qué rechazó este, por favor explique.
Nikos Alexandris