Gentoo Logo

Configurando localización en Gentoo Linux

Contenido:

1.  Zona horaria

Para mantener la hora apropiadamente, debe seleccionar la zona horaria para que el sistema pueda conocer su ubicación. Busque su zona horaria en /usr/share/zoneinfo. Ajuste entonces su zona horaria en /etc/timezone. Por favor evite las zonas horarias /usr/share/zoneinfo/Etc/GMT* ya que sus nombres no indican las zonas esperadas. Por ejemplo, GMT-8 es, de hecho, GMT+8.

Listado de Código 1.1: Establecer la zona horaria

# ls /usr/share/zoneinfo
(Vamos a usar como ejemplo a Madrid)
(En primer lugar, copie la zona apropiada a localtime)
# cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime
(Ahora especifique su zona horaria)
# nano -w /etc/timezone
Europe/Madrid

#date
Wed Mar  8 00:46:05 CET 2006

Nota: Asegúrese que el indicador de zona horaria de tres letras (en este caso "CET") sea el correcto para su área.

Nota: Puede personalizar el valor de la variable de entorno TZ al texto que sigue /usr/share/zoneinfo en el archivo rc de su intérprete de comandos (.bash_profile en el caso de bash). En este caso TZ="Europe/Madrid".

2.  El reloj del sistema

En la mayoría de las instalaciones de Gentoo Linux installations, el reloj del sistema está puesto a la hora UTC (o GMT, Greenwich Mean Time) y luego se ajusta tomando en cuenta la zona horaria para establecer la hora actual, local. Si por alguna razón requiere que la hora del reloj del sistema no sea UTC, tendrá que modificar /etc/conf.d/hwclock (si utiliza Gentoo BSD: /etc/conf.d/adjkerntz) y cambiar el valor de clock de UTC a local.

Listado de Código 2.1: Reloj local vs. GMT

(recomendado:)
clock="UTC"
(o:)
clock="local"

3.  Localizaciones (locales)del sistema

¿Qué son las localizaciones?

Las localizaciones son un conjunto de datos que muchos programas utilizan para determinar los ajustes específicos de país e idioma. Las localizaciones y sus datos forman parte de la biblioteca del sistema y se encuentran en /usr/share/locale en la mayoría de los sistemas. Una localizaciones generalmente tiene el nombre de forma ab_CD donde ab representa las dos (o tres) letras del su código del idioma (según la ISO-639) y CD representa las dos letras del su código del país (según la ISO-3166). Las variantes suelen agregarse a las localizaciones, por ejemplo en_GB.UTF-8 o de_DE@euro. Por favor explore la página de Wikipedia (en inglés) para más información acerca de las localizaciones y otros artículos relacionados.

Variables de entorno para las localizaciones

Los ajustes de las localizaciones se almacenan en las variables de entorno. Éstos se ajustan normalmente dentro de /etc/env.d/02locale (para ajustar todo el sistema) y ~/.bashrc (para ajustar un usuario especifico). Las variables que controlan diferentes aspectos de las localizaciones se muestran en la tabla inferior. Todas las variables toman un nombre de una localización en el formato ab_CD ya comentado arriba.

Nombre de la Variable Explicación
LANG Define todas las localizaciones inmediatamente, a la vez que permite personalización individual a través de los ajustes LC_* comentados abajo.
LC_COLLATE Define el orden alfabético la cadena. Esto afecta, por (ej. la salida ordenada del listado de un directorio).
LC_CTYPE Define el carácter que maneja las propiedades del sistema. Determina qué caracteres se consideran parte del alfabeto, numérico, etc. ... También determina si el juego de caracteres usado es aplicable.
LC_MESSAGES Las localizaciones para aplicaciones que usan el esquema de localización basado en mensajes (la mayoría de los programas GNU, vea los capítulos siguientes para una información más exacta sobre lo que hacen, y cómo obtener los programas).
LC_MONETARY Define las unidades monetarias y el formato de los valore numéricos del tipo de moneda.
LC_NUMERIC Define el formato de los valores numéricos tradicional que no son de moneda. Afecta a cosas, como el separador para los miles y el separador decimal.
LC_TIME Define el formato de fechas y horas.
LC_PAPER Define el tamaño por defecto del papel.
LC_ALL Una variable especial para pasar por alto los demás ajustes.

Nota: Algunos programas se escriben de tal forma que esperan que el orden del alfabeto sea el del inglés tradicional, mientras que algunas localizaciones, más notablemente la de Estonia, usa un orden diferente. Por lo tanto se recomienda ajustar explícitamente LC_COLLATE a C cuando se trata con ajustes que afectan a todo el sistema.

Aviso: Por la misma razón, el uso de LC_ALL está fuertemente desaconsejado. Por favor úselo solo para pruebas y nunca lo ajuste en un fichero de arranque.

La mayoría de los usuarios solo ajustan la variable LANG de forma global. Este ejemplo es para la localización española unicode:

Listado de Código 3.1: Ajustar la localización por defecto del sistema en /etc/env.d/02locale

LANG="es_ES.UTF-8"
LC_COLLATE="C"

Nota: Utilice es_ES@euro como su variable LANG si quiere usar el símbolo del Euro (€) en localizaciones basadas en UTF-8.

La lista de localizaciones que se pueden utilizar se muestra en el fichero /usr/portage/profiles/desc/linguas.desc:

Listado de Código 3.2: Obtener localizaciones utilizables para español

$ grep -i spanish /usr/portage/profiles/desc/linguas.desc
es - Spanish locale
es_AR - Spanish locale for Argentina
es_CL - Spanish locale for Chile
es_CO - Spanish locale for Columbia
es_CR - Spanish locale for Costa Rica
es_ES - Spanish locale for Spain
es_LA - Spanish locale for Latin America
es_MX - Spanish locale for Mexico
es_VE - Spanish locale for Venezuela

También es posible y bastante común, especialmente en un entorno UNIX tradicional, dejar los ajustes globales intactos, esto es en la localización "C". Los usuarios aún pueden especificar su localización preferida en su propio fichero RC del intérprete de comandos:

Listado de Código 3.3: Establecer la localización del usuario en ~/.bashrc

export LANG="es_ES.UTF-8"
export LC_COLLATE="C"

Otra forma de configurar el sistema es dejarlo en la localización por defecto C, sin embargo se debe activar la representación de caracteres UTF-8. Esta opción se consigue usando los siguientes ajustes en /etc/env.d/02locale:

Listado de Código 3.4: Usar la localización C tradicional mientras se especifica UTF-8

LC_CTYPE=es_ES.UTF-8

Usando el trozo de código de arriba, los usuarios podrán ver los nombres de ficheros de localización de forma correcta, sin ser forzados a su idioma preferido.

Para que los programas puedan trabajar con la localización que eligió, probablemente necesitará compilar los programas con la opción nls (soporte para lenguaje nativo, "Native Language Support"), indicado en sus USE. La mayoría de los programas usan nls pero también necesitan la librería gettext para extraer y utilizar mensajes localizados. Por supuesto, el Portage de Gentoo lo instalará automáticamente cuando se requiera.

Una vez establecida la localización adecuada, asegúrese de actualizar las variables de entorno para que el sistema esté al tanto de los cambios:

Listado de Código 3.5: Actualizar el entorno

(Para la localización por defecto del sistema:)
# env-update && source /etc/profile

(Para una localización específica de usuario:)
$ source ~/.bashrc

Después de esto, reinicie el servidor X pulsando Ctrl-Alt-Backspace, haga log out y luego login como el usuario.

Ahora, verifique que los cambios han surtido efecto:

Listado de Código 3.6: Verificar los cambios del entorno

$ locale

Hay también localizaciones adicionales para la variable llamada LINGUAS, que afecta a los ficheros de localización que se instalan con los programas basados en gettext, y decide la localización que se tiene que usar para algunos programas específicos, por ejemplo: kde-base/kde-l10n y app-office/libreoffice. La variable toma como valor una lista de códigos separada por espacios y el lugar recomendado para darle valor es el fichero /etc/portage/make.conf:

Listado de Código 3.7: Ajustar LINGUAS en make.conf

# nano -w /etc/portage/make.conf
(Añada la variable LINGUAS. Por ejemplo para el Español, Alemán
e Inglés:)
LINGUAS="es de en"

Generando localizaciones específicas

Probablemente utilice uno, tal vez dos localizaciones en su sistema. Puede especificar las localizaciones que va a necesitar en /etc/locale.gen.

Listado de Código 3.8: Añadir localizaciones a /etc/locale.gen

en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES@euro ISO-8859-15

El siguiente paso es ejecutar locale-gen, el cual generará todas las localizaciones especificadas en el archivo /etc/locale.gen.

Nota: locale-gen está disponible en el glibc-2.3.6-r4 y más recientes. Si tiene una versión más antigua de glibc, debería actualizarlo ya.

Puede verificar que las localizaciones seleccionadas están disponibles ejecutando la orden locale -a.

4.  Distribución del teclado para la consola

La distribución del teclado para la consola se configura en el fichero /etc/conf.d/keymaps mediante la variable keymap. Los valores válidos pueden encontrarse en /usr/share/keymaps/ {arch}. El subdirectorio i386 está divido por distribución de teclas (qwerty/, azerty/, etc.). Algunos idiomas tienen múltiples opciones, por lo que tal vez desee experimentar para decidir cuál le sirve mejor.

Listado de Código 4.1: Establecer el mapa de teclado para la consola

keymap="es"
keymap="es-latin1"
keymap="es-latin1-nodeadkeys"

5.  Distribución del teclado en el servidor X

La distribución del teclado a ser usado bajo el servidor X está pautado en /etc/X11/xorg.conf por la opción XkbLayout.

Listado de Código 5.1: Configurar el mapa del teclado para X

Section "InputClass"
       Identifier "keyboard-all"
       Driver "evdev"
       Option "XkbLayout" "es"
       #Option "XkbModel" "pc105"
       MatchIsKeyboard "on"
EndSection

Si tiene un teclado internacional, debería configurar la opción XkbModel a pc102 o pc105, ya que esto permitirá reconocer las teclas adicionales específica al teclado.

Las teclas muertas permitirán pulsar teclas que no se verán inmediatamente pero que podrán ser combinadas con otra letra para producir un carácter como é,è,á,à, etc. El configurar la opción XkbVariant a nodeadkeys permite ingresar estos caracteres a los terminales X.

Si desea cambiar entre varios mapas de teclado (por ejemplo entre inglés y ruso), lo único que tiene que hacer es agregar unas pocas líneas al archivo xorg.conf para especificar las distribuciones deseadas y los atajos de teclado.

Listado de Código 5.2: Cambiar entre distribuciones de teclado

Section "InputDevice"
    Identifier  "Keyboard1"
    ...
    Option "XkbLayout"    "us,ru"
    Option "XkbOptions"   "grp:alt_shift_toggle,grp_led:scroll"

Acá XkbOptions permite pasar de un teclado a otro sencillamente pulsando Alt-Shift. Esto también prenderá o apagará la luz Scroll Lock, gracias a la opción grp_led:scroll, constituyendo un práctico indicador visual señalando cuál distribución está en uso.

6.  KDE

Para KDE se debe instalar el paquete kde-base/kde-l10n y app-office/calligra-l10n. Se instalan respetando la variable LINGUAS descrita anteriormente.

7.  El símbolo del Euro en la consola

Para obtener el símbolo del Euro en la consola, hará falta configurar la variable consolefont en el archivo /etc/conf.d/consolefont a uno de los archivos bajo /usr/share/consolefonts/ (sin incluir el .psfu.gz). El archivo lat9w-16 tiene el símbolo del Euro.

Listado de Código 7.1: Configurar la fuente de la consola

consolefont="lat9w-16"

Debe verificar que consolefont está en el nivel de ejecución boot:

Listado de Código 7.2: Verificar el nivel de ejecución adecuado

# rc-update -v show | grep consolefont

Si no se muestra un nivel de ejecución para consolefont, agréguelo al nivel adecuado:

Listado de Código 7.3: Agregar consolefont al nivel de ejecución boot

# rc-update add consolefont boot

8.  El símbolo del Euro en X

Para la mayoría de las aplicaciones

Obtener el símbolo del Euro bajo X es algo más difícil. Lo primero es cambiar las definiciones de fixed y variable en /usr/X11R6/lib/X11/fonts/misc/fonts.alias para que terminen en iso8859-15 en vez de iso8859-1 .

Listado de Código 8.1: Configurar las fuentes por defecto de X

fixed        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable     -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15

Algunas aplicaciones usan sus propias fuentes y habrá que decirle a cada una que hagan uso de fuentes con el símbolo del Euro. Puede hacer esto por usuario en .Xdefaults (puede copiar este archivo a /etc/skel/ para que pueda ser aprovechado por los nuevos usuarios) o a nivel global para cualquier aplicación con un archivo de recursos en /usr/X11R6/lib/X11/app-defaults/ (como xterm). En estos archivos generalmente hay que cambiar una línea preexistente en vez de agregar líneas. Para cambiar nuestra fuente en xterm haríamos:

Listado de Código 8.2: Cambiar la fuente de xterm

(en su directorio home)
# echo 'XTerm*font: fixed' >> .Xresources
# xrdb -merge .Xresources

El símbolo del Euro en (X)Emacs

Para usar el símbolo del Euro en (X)Emacs, agregue lo siguiente al archivo .Xdefaults :

Listado de Código 8.3: Cambiar la fuente de emacs

Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15

Para XEmacs (no el Emacs original), hay que hacer un poco más. En /home/user/.xemacs/init.el, agregue:

Listado de Código 8.4: Cambiar la fuente de xemacs

(define-key global-map '(EuroSign) '[€])

Nota: El símbolo entre corchetes [] es el del Euro.

LibreOffice

Los ebuilds actuales de app-office/libreoffice y app-office/libreoffice-bin soportan la variable LINGUAS para seleccionar la instalación de paquetes GUI de lenguajes. Para ver el estado de las traducciones de los mensajes del GUI, uso de guiones, corrección ortográfica y demás localizaciones de su idioma, por favor visite la sitio web de traducciones de LibreOffice.



Imprimir

Página actualizada 13 de enero, 2013

Sumario: Este documento explica qué pasos se ha de seguir para transformar un sistema Gentoo Linux a un idioma distinto al inglés. También explica cómo llegar a mostrar el símbolo del Euro.

Alexander Holler
Autor

Steven Lucy
Traductor/Editor

Benny Chuang
Editor

Lars Weiler
Editor

Tobias Scherbaum
Editor

Flammie Pirinen
Editor

Joshua Saddler
Editor

Francisco Blas Izquierdo Riera
Editor

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Eduardo Robles Elvira
Traductor

Tomás Cayuelas Ruiz
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.