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 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
# cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime
# 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 |
clock="UTC"
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 |
# 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.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
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 |
# 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.
|