Localización de FreeBSD

Autor: David Barbero

Fecha: 23/01/2005
Plataforma: FreeBSD

Se permite toda publicación, reproducción publica o privada. Permitido modificaciones manteniendo el nombre del Autor original.


¿Que es la Internacionalización ( I18N/L10N )?

La Internalización o I18N/L10N como suelen llamarlo los programadores y traductores, no es mas que la traducción de las distintas partes de los programas para adaptarlos a varios idiomas.

¿Que es I18N e I10N ?

I18N significa Internacionalización, se construye usando la primera y última letra de la palabra Internalización.
I10N significa Localización, se construye de la misma manera que la anterior.

Combinando los dos métodos, protocolos y aplicaciones, conseguimos que el usuario use su idioma preferido.

¿Que idiomas están soportados en I18N?

I18N y L10N no es algo específico de FreeBSD, Actualmente usted puede elegir entre la mayoría de idiomas del mundo, incluyendo Chino, Alemán, Japonés, Koreano, Francés, Español, Ruso, Vietnamita y otros.

Usando la Localización

En todo este esplendor, la I18N no es especifica de FreeBSD y es una convención.
La Localización está basada en tres términos: Código de Idioma, Código de país y Codificación. Los nombres de las "Locales" se construyen de estas tres partes de la siguente manera:

CódigoIdioma_CódigoPaís.Codificación

Códigos de Idioma y País

Para "localizar" un sistema FreeBSD a un Idioma específico (o cualquier otro sistema UNIX® like), el usuario necesita encontrar los códigos específicos para su país e Idioma (El Código de país le dice a las aplicaciones que variación de idioma usar). Lo siguiente son ejemplos de códigos de Idioma y País:

Idioma/País Descripción
es_US
Inglés - Estados Unidos
ru_RU
Ruso para Rusia
zh_TW
Chino tradicional para Taiwan
es_ES
Español para España

Codificación

Algunos idiomas usan codificaciones no ASCII de 8 bit, caracteres normales o multibyte, vea multibyte para más detalles. Algunas aplicaciones antigüas noreconocen estos caracteres, pero las aplicaciones actuales normalmente si reconocen caracteres 8-bit.

Configurando el Idioma

Usualmente es suficiente exportanto el valor de la variable LANG en el inicio de la shell. Esto puede ser suficiente configurandolo en el fichero ~/.login_conf de usuario o en el fichero de empiece de la shell del usuacio (~/.profile, ~/.bashrc, ~/.cshrc ).

Sóolo tendría que establecer las siguientes dos variables de entorno en su fichero de configuración:

Métodos para establecer los Idiomas

Existen dos métodos para estblecer el Idioma, los cuales describiremos aquí. El primero (Se recomienda el primero) es asignando las variables de entorno en las clases de login, y el segundo es añadiendo las variables de entorno en el sistema de inicio del shell del sistema.

Método de clases de login

Este método permite asignar las variables de entorno para poner nuestro idioma al shell y asignar lo necesario para el inicio del shell. La configuración de nivel usuario puede ser suficiente sin necesidad de previlegios y la configuración de nivel administrador requiere privilegios de root.

Configuración de nivel usuario:

Este es un ejemplo básico de .login_conf en el home del usuario con dos variables básicas:

me:
	:charset=ISO-8859-15:\
	:lang=es_ES.ISO8859-15:

Aquí os pongo otro ejemplo del fichero .login_conf que contiene las variables para español pero con mas variables para forzar a usar todas las carazteristicas del idioma.

me:\
    :lang=es_ES.ISO8859-15:\
    :lc_all=es_ES.ISO8859-15:\
    :lc_collate=es_ES.ISO8859-15:\ 
    :lc_ctype=es_ES.ISO8859-15:\
    :lc_messages=es_ES.ISO8859-15:\
    :lc_monetary=es_ES.ISO8859-15:\
    :lc_numeric=es_ES.ISO8859-15:\
    :lc_time=es_ES.ISO8859-15:\
    :charset=ISO-8859-15:

Vea login.conf(5) para mas detalles.

Configuración a nivel Administrador