Información y configuración del idioma del sistema con locale

Si únicamente queremos saber el idioma configurado en el sistema, podemos hacerlo con echo $LANGUAGE

Pero si queremos más información, tenemos dos comandos que nos permiten trabajar con el idioma del sistema: locale y localectl

En este artículo veremos el uso del comando locale.

Su uso más básico, si parámetros, nos devuelve la configuración local actual para cada categoría:

$ locale
LANG=es_ES.UTF-8
LANGUAGE=es_ES
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.utf8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=

Los valores de estas variables son: idioma_país.codificación. En mi caso, me muestra que tengo configurado en español de España y con una codificación UTF-8. Para ver todas las codificaciones disponibles, podemos usar locale -m

Podemos ver todos las configuraciones disponibles en nuestro sistema con locale -a:

$ locale -a
C
C.UTF-8
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_IL
en_IL.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_ZM
en_ZM.utf8
en_ZW.utf8
es_AR.utf8
es_BO.utf8
es_CL.utf8
es_CO.utf8
es_CR.utf8
es_CU
es_CU.utf8
es_DO.utf8
es_EC.utf8
es_ES.utf8
es_GT.utf8
es_HN.utf8
es_MX.utf8
es_NI.utf8
es_PA.utf8
es_PE.utf8
es_PR.utf8
es_PY.utf8
es_SV.utf8
es_US.utf8
es_UY.utf8
es_VE.utf8
POSIX

Por lo que en cualquier momento podría cambiar a otra configuración. Si quisiera configurar mi sistema a español de Argentina, escribiré:

sudo update-locale LANG=es_AR.UTF-8 LANGUAGE

O editando el fichero de configuración /etc/default/locale o /etc/locale.conf (según la distribución) y escribir en ese fichero:

LANG=es_AR.UTF-8

Si queremos mostrar el contenido de las variables de entorno de locale, podemos hacerlo con locale -k, excepto para las que sólo contienen una cadena, como LANG o LANGUAGE, que lo haremos con echo:

$ echo $LANG
es_ES.UTF-8
$ echo $LANGUAGE
es_ES

Para las colecciones sí que lo haremos con locale -k:

$ locale -k LC_MONETARY
int_curr_symbol="EUR "
currency_symbol="€"
mon_decimal_point=","
mon_thousands_sep="."
mon_grouping=3;3
positive_sign=""
negative_sign="-"
int_frac_digits=2
frac_digits=2
p_cs_precedes=0
p_sep_by_space=1
n_cs_precedes=0
n_sep_by_space=1
p_sign_posn=1
n_sign_posn=1
crncystr="+€"
int_p_cs_precedes=0
int_p_sep_by_space=1
int_n_cs_precedes=0
int_n_sep_by_space=1
int_p_sign_posn=1
int_n_sign_posn=1
duo_int_curr_symbol="EUR "
duo_currency_symbol="€"
duo_int_frac_digits=2
duo_frac_digits=2
duo_p_cs_precedes=0
duo_p_sep_by_space=1
duo_n_cs_precedes=0
duo_n_sep_by_space=1
duo_int_p_cs_precedes=0
duo_int_p_sep_by_space=1
duo_int_n_cs_precedes=0
duo_int_n_sep_by_space=1
duo_p_sign_posn=1
duo_n_sign_posn=1
duo_int_p_sign_posn=1
duo_int_n_sign_posn=1
uno_valid_from=10101
uno_valid_to=99991231
duo_valid_from=10101
duo_valid_to=99991231
conversion_rate=1;1
monetary-decimal-point-wc=44
monetary-thousands-sep-wc=46
monetary-codeset="UTF-8"

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.