Configurando localización en Gentoo Linux
1.
Zona horaria
Para mantener la hora apropiadamente, debe 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
# cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime
# 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 |
CLOCK="UTC"
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.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 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). Las variables que controlan diferentes aspectos de las
locales se muestran en la tabla inferior. Todas las variables toman un
nombre de una locale en el formato ab_CD ya comentado arriba.
| Nombre de la Variable |
Explicación |
| LANG |
Define todas las locales 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 locales, 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 sólo 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 locale española unicode:
Listado de Código 3.1: Ajustando la locale por defecto del sistema en /etc/env.d/02locale |
LANG="es_ES.UTF-8"
LC_COLLATE="C"
|
Nota:
Use es_ES@euro como su variable LANG si quiere usar el símbolo del
Euro (€).
|
También es posible y bastante común, especialmente en un entorno UNIX
tradicional, dejar los ajustes globales intactos, esto es en la locale
"C". Los usarios aún pueden especificar su locale preferida en su
propio fichero shell RC:
Listado de Código 3.2: Estableciendo el locale del usuario en ~/.bashrc |
export LANG="es_ES.UTF-8"
export LC_COLLATE="C"
|
Otra forma de configurar el sistema es dejarlo en la locale 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.3: Usando la locale 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 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.4: Actualizando el entorno |
# env-update && source /etc/profile
$ 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.5: Verifique 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/openoffice. La variable toma
como valor una lista de códigos separada por espacios y el lugar
recomendado para darle valor es elel fichero /etc/make.conf:
Listado de Código 3.6: Ajustando LINGUAS en /etc/make.conf |
# nano -w /etc/make.conf
LINGUAS="es de en"
|
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.7: 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.8: Exportando la varible de entorno LANG |
# export LANG="es_ES.ISO-8859-15"
|
Asegúrese de actualizar el entorno depués del cambio:
Listado de Código 3.9: 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 las locales para glibc
Probablemente utilize uno, tal vez dos localizaciones en su sistema. Puede
especificar las locales que va a necesitar en /etc/locale.gen.
Listado de Código 3.10: Añadiendo locales 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 locales 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 locales seleccionadas 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 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: Configurando el mapa del teclado para X |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "es"
# Option "XkbModel" "pc105"
# Option "XkbVariant" "nodeadkeys"
...
|
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 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 los comandos de atajo.
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-l10n y
app-office/koffice-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: 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
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: 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 |
# 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 app-office/openoffice y
app-office/openoffice-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, guionización, corrección ortográfica
y demás localizaciones de su idioma, por favor visite a la
página web de
localizaciones de OpenOffice.Org.
|