locale
El comando locale el cual permite definir las configuraciones regionales y lingüísticas del sistema. Estos parámetros afectan cómo se muestran y manejan ciertos tipos de datos, como fechas, números, monedas, y texto. es decir, que el locale
adapta la forma en que el sistema y las aplicaciones muestran información según las convenciones de un idioma o región específica.
Aspectos
El comando locale
se divide en varias categorías que cubren diferentes aspectos de la localización entre los que se encuentra:
LANG
: Define ellocale
general del sistema. Es el valor principal que afecta a todas las demás configuraciones si no se especifican individualmente.LC_CTYPE
: Define el comportamiento de la clasificación de caracteres y cómo se manejan los caracteres especiales. Es crucial para determinar cómo se interpretan las letras mayúsculas/minúsculas, y la codificación de caracteres como UTF-8.LC_NUMERIC
: Controla el formato de los números, como la forma en que se muestran los separadores decimales y de miles.LC_TIME
: Afecta cómo se muestran las fechas y las horas, incluyendo el formato de la hora (24 horas vs. 12 horas), la presentación de los días de la semana, meses y demás.LC_COLLATE
: Define las reglas de ordenación y comparación de cadenas de texto, es decir, cómo se ordenan los datos en listas alfabéticas.LC_MONETARY
: Define el formato en el que se muestra el dinero, incluyendo el símbolo de la moneda, el separador decimal, y la ubicación del símbolo de moneda respecto al valor numérico.LC_MESSAGES
: Afecta el idioma en el que se muestran los mensajes del sistema y de las aplicaciones, como los mensajes de error.LC_PAPER
,LC_NAME
,LC_ADDRESS
,LC_TELEPHONE
,LC_MEASUREMENT
,LC_IDENTIFICATION
: Estas categorías se encargan de detalles más específicos, como el tamaño de papel predeterminado, la representación de nombres y direcciones, los formatos de números de teléfono, las unidades de medida (métrico o imperial), y otros datos de identificación.LC_ALL
: Es un valor especial que anula todas las configuraciones anteriores. Si se estableceLC_ALL
, este tiene prioridad sobre las demás variablesLC_*
yLANG
.
Configuración
Regularmente se hace mediante una terminal con los comandos que se describe a continuación
- Hay que instalar el paquete, para ello se realiza con la siguiente instrucción:
sudo dnf install glibc-langpack-es
. Con esto se brinda el soporte para UTF-8. - Ahora hay que crear el locale, eso se hace con la ayuda del comando
sudo nano /etc/locale.conf
. Dentro de este archivo debe de llevar la siguientes lineas:- LANG=es_ES.UTF-8
- LC_ALL=es_ES.UTF-8
- Luego de guardar los cambios en el fichero locale.conf, es momento de establecer el tipo de configuración, para ello se ejecuta el comando:
sudo localectl set-locale LANG=es_ES.UTF-8
. - No olvidar verificar la configuración, para ello se ejecuta el siguiente comando:
localectl list-locales | grep es_ES.UTF-8
. - Reinicie el sistema operativo con el comando
sudo reboot
- Compruebe la configuración con el comando
locale
.
Errores
Los errores que suelen aparecer o indicar que no se tiene configurado o instalado el locale
suelen ser los siguiente:
- Failed to issue method call: Locale es_ES.UTF-8 not installed, refusing.
- locale: Cannot set LC_CTYPE to default locale: No such file or directory
- locale: Cannot set LC_MESSAGES to default locale: No such file or directory
- locale: Cannot set LC_ALL to default locale: No such file or directory
Aprendizaje
Regularmente cuando te brindan los servidores de desarrollo o producción no suele preocuparse uno por las configuraciones lingüísticas debido a que ya va pre-configurado. Pese a que a que se utilicen diversas técnicas que te permite mostrar la acentuación en español de manera adecuada. Como hacer uso de etiquetas meta en el html o de funciones que te permite tener ese tipo de cuidado del lado del lenguaje de programación.