Difference between revisions of "Locale (Español)"

From ArchWiki
Jump to: navigation, search
(Configuración del locale de todo el sistema)
Line 60: Line 60:
 
LC_COLLATE="C"
 
LC_COLLATE="C"
  
# Establecer la fecha (comprobación con "date +%c")
+
# Establecer la fecha al formato YYYY-MM-DD  (comprobación con "date +%c")
 
LC_TIME="es_ES.UTF-8"
 
LC_TIME="es_ES.UTF-8"
 
}}
 
}}

Revision as of 14:55, 10 July 2013

Los locales se utilizan en Linux para definir el idioma que el usuario utiliza. En la medida que los locales definen los juegos de caracteres utilizados, establecer la configuración regional correcta es especialmente importante si el idioma contiene caracteres no ASCII.

Los nombres de los «locales» (configuración regional) se definen utilizando el siguiente formato:

<idioma>_<territorio>.<codeset>[@<modificadores>]

Activar el «locale» necesario

Antes de que un locale puede utilizarse en el sistema, tiene que ser activado primero. Para mostrar una lista de todos las versiones locales disponibles, utilice el comando:

$ locale -a

Para habilitar un locale, descomente el nombre del locale en el archivo /etc/locale.gen. Este archivo contiene todos los locales disponibles que se pueden utilizar en el sistema. El proceso es reversible deshabilitando (comentando) el locale. Después de que los locales necesarios están habilitados, el sistema necesita ser actualizado con las nuevas configuraciones regionales:

# locale-gen

Para mostrar ahora los locales actualmente en uso, escriba:

$ locale
Sugerencia: Aunque lo más probable es que se utilice un sólo idioma en su máquina, puede ser útil o incluso necesario habilitar otros locales también. Si usted está funcionando en un sistema multi-usuario con usuarios que no hablan, por ejemplo, en_US, sus otros locales personales deben, del mismo modo, ser soportados en su sistema.

Ejemplo ES Español

Primero descomente los locales siguientes en /etc/locale.gen:

es_ES.UTF-8 UTF-8

A continuación, actualice el sistema como root:

# locale-gen

Configuración del locale de todo el sistema

Para definir la configuración regional de todo el sistema, establezca la variable LANG en /etc/locale.conf:

Nota: El archivo /etc/locale.conf no existe por defecto, hay que crearlo manualmente.
Sugerencia: Si la salida de locale durante la instalación es de su agrado, puede ahorrar un poco de tiempo haciendo: # locale | cat > /etc/locale.conf mientras se encuentra en el entorno chroot.
/etc/locale.conf
LANG="es_ES.UTF-8"

He aquí un ejemplo de configuración avanzada:

/etc/locale.conf
# Habilitar UTF-8 con valores españoles.
LANG="es_ES.UTF-8"

# Mantener el orden predeterminado (por ejemplo, archivos que comienzan con un '.'
# en caso de aparecer al principio de una lista de directorios).
LC_COLLATE="C"

# Establecer la fecha al formato YYYY-MM-DD  (comprobación con "date +%c")
LC_TIME="es_ES.UTF-8"

Para usarlos, el locale debe ser especificado en /etc/locale.gen y generados usando el comando locale-gen:

/etc/locale.gen
es_ES.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES@euro ISO-8859-15  
# locale-gen

La configuración regional de todo el sistema estará completamente actualizada después de reiniciar y quedará establecida para las sesiones individuales iniciadas.

Configuración de locales de reserva

En los programas que usan gettext para las traducciones comparadas, la opción LANGUAGE se añade además de las variables habituales. Esto permite a los usuarios especificar una lista de locales que se utilizarán en ese orden. Si la traducción de la configuración regional preferida no está disponible, otra de un escenario similar se utilizará en lugar de la predeterminada. Por ejemplo, un usuario argentino puede desear recurrir a la ortografía española, en defecto de la argentina, antes que a la de Chile, por ejemplo:

~/.bashrc
export LANGUAGE="es_AR:es_ES:es"

o, para todo el sistema:

/etc/locale.conf
LANG="es_AR.UTF-8"
export LANGUAGE="es_AR:es_ES:es"

Configuración de locales de usuarios

Como mencionamos anteriormente, algunos usuarios podrían querer definir una configuración regional diferente a la del entorno regional del sistema. Para ello, exporte la variable LANG con el local especificado al archivo ~/.bashrc. Por ejemplo, para utilizar el locale es_ES.UTF-8:

export LANG=es_ES.UTF-8

Los locales se actualizarán la próxima vez que sea leido ~/.bashrc. Puede actualizar, ya sea reiniciando sesión o de forma manual:

$ source ~/.bashrc

Configuración de la intercalación

La intercalación, (colación o clasificación), es un poco diferente a lo anterior. La clasificación es un mecanismo torpe, dado que locales diferentes se comportan de modo diverso. Para evitar posibles problemas, Arch utiliza la configuración LC_COLLATE="C" en /etc/profile. Sin embargo, este método es considerado obsoleto. Para habilitar este comportamiento, sólo tiene que añadir la siguiente variable a /etc/locale.conf:

LC_COLLATE="C"

Ahora, el comando ls ordenará primero los archivos que comienzan con un punto, seguido por los nombres de archivos que inicien con mayúsculas y minúsculas. Tenga en cuenta que sin una opción LC_COLLATE, las aplicaciones volverán a los valores especificados en LC_ALL o LANG, pero la configuración de LC_COLLATE se sobrescribirá si LC_ALL está definida. Si ésto crea problemas, asegúrese de que no se ha establecido ningún valor para LC_ALL añadiendo lo siguiente en el archivo /etc/profile:

export LC_ALL=

Tenga en cuenta que LC_ALL es la única variable LC que no puede ser configurada en /etc/locale.conf.

Configuración del primer día de la semana

En muchos países, el primer día de la semana es el lunes. Para regular este comportamiento, cambie o agregue las líneas siguientes de la sección LC_TIME en /usr/share/i18n/locales/<tus_locales> (por ejemplo, es_ES):

week            7;19971130;5
first_weekday   2
first_workday   2

Y a continuación, actualice el sistema:

 # locale-gen
Sugerencia: Si experimenta algún tipo de problema con su sistema y le gustaría pedir ayuda en el foro, lista de correo o de otra forma, por favor, incluya en la salida del comportamiento anormal del programa la variable export LC_MESSAGES=C delante del mensaje. Esto configurará los mensajes de salida (los errores y advertencias) en inglés, lo que permiterá a más personas entender cuál puede ser el problema. Esto no es relevante si está escribiendo en un foro en lengua no inglesa.

Solución de problemas

Mi terminal no es compatible con UTF-8

Desafortunadamente, algunos terminales no son compatibles con UTF-8. En este caso, usted tiene que utilizar un terminal diferente. Aquí tiene una lista con algunos terminales que tienen soporte para UTF-8:

  • vte-based terminals
  • gnustep-terminal
  • konsole
  • mlterm
  • rxvt-unicode
  • xterm

Xterm no es compatible con UTF-8

xterm sólo es compatible con UTF-8 si lo ejecuta como uxterm o xterm -u8.

Gnome-terminal o rxvt-unicode no es compatible con UTF-8

Es necesario poner en marcha estas aplicaciones desde una localización UTF-8 o caerá el soporte UTF-8. Activar el locale en_US.UTF-8 (o su locale UTF-8 alternativo) como se explicó anteriormente, y establézcalo como el idioma por defecto, reiniciando, a continuación, el sistema.

Véase también