Gentoo Logo

Configurando localización en Gentoo Linux

Contenido:

1.  Zona horaria

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

Listado de Código 1.1: Estableciendo la zona horaria

# ls /usr/share/zoneinfo
(Vamos a usar como ejemplo a Madrid)
# nano -w /etc/conf.d/clock
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 shell (.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 habrá que modificar /etc/conf.d/clock para 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.  Locales del Sistema

¿Qué son las locales?

Las locales son un conjunto de datos que muchos programas utilizan para determinar los ajustes específicos de país e idioma. Las locales 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 locale 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 locales, por ejemplo en_GB.utf8 or de_DE@euro. Por favor explore la página de Wikipedia (en inglés) para más información acerca de las locales y otros artículos relacionados.

Variables de entorno para las Locales

Los ajustes de las locales 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) fichero. Las variables que controlan diferentes aspectos de las locales se muestran en la tabla de abajo, esas con la precedencia más alta (ej. eliminan acciones de otras de más abajo) son las que están más arriba de la tabla. Todas las variables toman un nombre de una local como ab_CD formato ya comentado arriba.

Nombre de la Variable Explicación
LC_ALL Define todas las locales inmediatamente. Éste es el nivel superior para las locales y sobreescribirá cualquier otro ajuste.
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. ... Tambien determina si el juego de caracteres usado, es aplicable.
LC_MESSAGES Las localizaciones de los programas para aplicaciones que usan el mensaje de localización basado en esquemas (la mayoría de los programas GNU, vea los capítulos siguientes para una información mas exacta sobre lo que hacen, y como conseguir los programas).
LC_MONETARY Define las unidades monetarias y el formato de los actuales valores numericos.
LC_NUMERIC Define el formato de los valores numericos que no son monetarios. Afecta a cosas, como el separador para los miles y el separador decimal.
LC_PAPER Define el tamaño por defecto del papel
LANG Define todos los ajustes de las locales inmediatamente. Este ajuste se puede ver sobreescrita si se usan ajustes individuales del tipo LC_* o incluso por LC_ALL.

Nota: Aunque la mayoría de los programas trabajan con LC_ALL solamente, alguno de ellos podría tener un mal funcionamiento, si LC_ALL es elegida y LANG no. Si usted quiere estar seguro, elija ambas.

La mayoría de los usuarios solo eligen la variable LANG, y quizás la variable LC_CTYPE a nivel de usuario agregando definiciones al interprete de comandos para el lanzamiento de archivos que definen manualmente la variable de entorno desde la linea de comandos:

Listado de Código 3.1: Configurar las locales en ~/.bashrc

export LANG="es_ES@euro"

Nota: Añada @euro a sus locales si quiere usar el símbolo del Euro (€)

También es posible establecer el locale a nivel de sistema para todos los usuarios y programas:

Listado de Código 3.2: Estableciendo el locale por defecto en /etc/env.d/02locale

LC_ALL="es_ES@euro"
LANG="es_ES@euro"

Es práctica común usar solamente las locales por usuario y dejar los valores por defecto sin configurar. En este caso el locale del sistema queda establecido en un valor especial "C", el cual, por razones históricas equivale al locale para el idioma inglés.

Para que los programas puedan trabajar con la localizacion que usted eligió, usted 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 establecido el locale adecuado, asegúrese de actualizar las variables de entorno para que el sistema esté al tanto de los cambios:

Listado de Código 3.3: Actualizando el entorno

(Para el locale por por defecto del sistema:)
# env-update && source /etc/profile

(Para un locales específico 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.4: Verifique los cambios del entorno

$ env | grep -i LC_

Hay tambien localizaciones adicionales para la variable llamada LINGUAS, que afecta a los ficheros de localizacion que se instalan con los programas basados en gettext, y decide la localizacion que se tiene que usar para algunos programas especificos, por ejemplo: kde-base/kde-i18n and app-office/openoffice. Dicha variable se especifica dentro del fichero /etc/make.conf:

Listado de Código 3.5: Ajustando LINGUAS en /etc/make.conf

# nano -w /etc/make.conf
(Añada la variable LINGUAS. Para nosotros, 
usaremos el Castellano:)
LINGUAS="es"

Generando localizaciones específicas

Si utiliza una localización que no esté disponible por defecto, debe usar localedef para generar su propia localización. Por ejemplo:

Listado de Código 3.6: Generando una localización con localedef

# localedef -c -i es_ES -f ISO-8859-15 es_ES.ISO-8859-15

Luego de generar la localización, podrá exportar su variable de entorno LANG tal como lo desee.

Listado de Código 3.7: Exportando la varible de entorno LANG

# export LANG="es_ES.ISO-8859-15"

Asegúrese de actualizar el entorno luego del cambio:

Listado de Código 3.8: Actualizando el entorno

# env-update && source /etc/profile

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

Generando los locales para glibc

Probablemente utilize uno, tal vez dos localizaciones en su sistema. Hasta ahora, la compilación de glibc genera un conjunto completo de todas las localizaciones disponibles. Puede especificar los locales que va a necesitar en el archivo /etc/locale.gen.

Listado de Código 3.9: Añadiendo locales a /etc/locale.gen

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

El paso siguiente es ejecutar locale-gen, el cual generará todos los locales especificados en el archivo /etc/locale.gen.

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

Puede verificar que los locales seleccionados están disponibles ejecutando el comando locale -a.

4.  Distribución del teclado para la consola

La distribución del teclado para la consola se configura con la variable KEYMAP, en el archivo /etc/conf.d/keymaps. Los valores válidos podrán 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.

El castellano requiere el uso de "teclas muertas", así que es preferible no desactivarlas. Esto le librará de tener que pulsar la barra espaciadora tras escribir caracteres como ~.

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

KEYMAP="es"
KEYMAP="es euro2"

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: Configurando el mapa del teclado para X

Section "InputDevice"
    Identifier  "Keyboard1"
    ...
    Option "XkbLayout"    "es"
    # Option "XkbModel"     "pc105"    ## para teclados internacionales.
    # Option "XkbVariant"  "nodeadkeys" ## usado para xterm
    ...

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 en seguida, pero que podrán ser combinadas con otra letra para producir un caracter 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 el comando de intercambio. that specify the desired layouts and the shortcut command.

Listado de Código 5.2: Cambiando 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-i18n. Referente a Kde-i18n variable LINGUAS descrita anteriormente.

7.  El símbolo 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: Verifique que está en el nivel de ejecución apropiado

# rc-update -v show | grep -i consolefont

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

Listado de Código 7.3: Agregando 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

Obteniendo 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: Configurando 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: Cambiando la fuente de xterm

(en su directorioin your home directory)
# 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: Cambiando 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: Cambiando la fuente de xemacs

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

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

OpenOffice.Org

Los ebuilds actuales de los ebuilds app-office/openoffice y app-office/openoffice-bin soportan la variable LINGUAS para seleccionar la instalación de lenguajes. Para ver el estado de las traducciones de los mensajes del GUI, guionización, corrección ortográfica y demás localizaciones en su idioma, por favor refiérase a la página web de localizaciones de OpenOffice.Org.

Por favor haga cuenta que este paquete ahora utiliza la variable de entorno LINGUAS para especificar la localización. El sistema con la variable antigua LANGUAGE=ENUS|PORT ya no funciona. El lenguaje por defecto es "US English". Si desea cambiar el lenguaje por defecto de OpenOffice, revise el mismo ebuild para obtener el código de idioma apropiado.



Imprimir

Actualizado 4 de octubre, 2007

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

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Eduardo Robles Elvira
Traductor

Tomás Cayuelas Ruiz
Traductor

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

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