Configurando localización en Gentoo Linux
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
# 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.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 |
# 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.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
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"
# 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 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 |
# 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.
|