Sitios Web Multi-lenguaje

Thank you for your contribution: 

Lived multilingualism - 2010-03-30Vivo en Europa. La Unión Europea tiene 23 lenguas oficiales. Si vas a crear sitios web en una región como esta, debes pensar acerca del multilingüismo. Existen dos desafíos que hay que superar a la hora de crear sitios web multi-lenguaje: la traducción de las cadenas de texto estáticas de Joomla! y la traducción de los elementos de contenido. Mientras que lo primero puede resolverse de una manera sencilla, lo segundo supone un auténtico desafío.

El núcleo de Joomla! está disponible en más de 40 idiomas, y se espera que haya más en no mucho tiempo.

En este capítulo, veremos cómo construir un sitio web multi-lenguaje usando Joomla! 1.7.

Los paquetes de idioma de Joomla!

Puedes descargarte los paquetes de idioma desde Joomla Code o desde el Directorio de Extensiones Joomla e instalarlos usando el gestor de extensiones. Yo lo he hecho con los paquetes francés y alemán. Tras la instalación, encontrarás los idiomas instalados visitando Extensiones - Gestor de Idiomas en el backend (Figura 1)

Installed languages

Figure 1: Idiomas instalados

Configuración de idiomas

A día de hoy, sigue siendo necesario examinar la configuración de idiomas para ver cuáles tenemos publicados (Extensiones → Gestor de idiomas → Instalados) y asegurarnos de que los atributos del contenido son correctos (Figura 2). Echa un vistazo a Extensiones → Gestor de idiomas → Contenido. Si no hay ningún elemento de contenido para el idioma instalado, crea uno haciendo clic en el icono 'Nuevo'. Esto último es lo que tuve que hacer yo cuando instalé el paquete de idioma alemán.

Language attributes

Figura 2: Editar el idioma del contenido

El plug-in Filtrar Idioma

Para que Joomla! pueda distinguir entre diferentes idiomas, el plug-in 'Sistema - Filtrar Idioma' (Extensiones → Gestor de plugins) debe estar activado. Puedes configurar el idioma a mostrar a los visitantes, ya sea el idioma que usas por defecto en tu sitio o el que tiene configurado el visitante en su navegador, simplemente usando las alternativas disponibles en 'Opciones'. Otra opción de configuración es la de Cambio automático del idioma. Cuando está activada, el idioma del contenido será cambiado automáticamente al configurado como idioma del frontend.

Cada usuario puede configurar su idioma del frontend una vez que haya iniciado sesión en la parte pública del sitio. La mayoría de las veces, habrá un menú de usuario que, dependiendo de tus permisos de usuario específicos, te mostrará determinados elementos. En este menú de usuario, podrás encontrar el enlace Tu perfil. Haciendo clic en él podrás ver y editar la información de tu perfil. En el formulario de edición del perfil, bajo Configuración básica, los usuarios pueden elegir entre otras configuraciones el idioma que usarán en el forntend (Idioma del sitio - Figura 1). Puedes usar el idioma por defecto del sitio o cualquier otro de entre los disponibles. Dependiendo de esta configuración, el plug-in de filtrar idiomas te permitirá ver el sitio en el idioma correspondiente.

Front-end language

Figura 3: Perfil de usuario - Configuración básica

El módulo selector de idioma

Activando el módulo Selector de idioma, tendrás la posibilidad de cambiar entre distintos idiomas en el frontend, sin importar si eres un visitante o un usuario que ha iniciado sesión. En la Configuración Básica del módulo puedes añadir texto y elegir si prefieres que los idiomas se muestren por su nombre o representados por el icono de su bandera. Estoy seguro de que los desarrolladores de plantillas proporcionarán posiciones en sus plantillas para este módulo en un futuro no muy lejano. En la plantilla Beez2 que trae el núcleo por defecto, la posición position-7 va muy bien con las banderas.

Language switcher

Figura 4: Selector de idioma

Elementos de contenido multilingües

Como ya he mencionado anteriormente, cada elemento de contenido, como por ejemplo un artículo, puede ser asignado a un idioma concreto. La dificultad reside en crear todos esos elementos de contenido para todos los idiomas objetivo (Figura 5). Puedes crear elementos de contenido en cualquier idioma pero, desafortunadamente, Joomla 1.7 aún no ofrece un flujo de trabajo para las traducciones, lo que significa que tendrás que prestar mucha atención al crear versiones en distintos idiomas para evitar cometer errores.

Language field

Figura 5: El campo Idioma

Un sitio web multilingüe

Mi sitio web de ejemplo consta de

  • una página principal con artículos,
  • un blog,
  • una página del tipo 'Sobre Nosotros',
  • un formulario de contacto.

Todos los elementos de contenido deben estar disponibles en diferentes idiomas (Figura 6).

Multi-language website

Figura 6: Sitio web de ejemplo

Página principal

Creo unos cuantos artículos para cada idioma con el atributo destacado (ver capítulo Un artículo típico), y un elemento de menú del tipo Página Principal para cada idioma. En la Configuración Básica, configuro el número de artículos y columnas que se mostrarán. Asigno el atributo Página de Inicio a cada uno de estos elementos haciendo clic en los iconos Inicio de cada uno de ellos (Figura 6). Cuando hagas clic en el enlace 'inicio' de la ruta de navegación, serás redirigido a una de las tres páginas principales, dependiendo del idioma seleccionado (Figura 7).

A frontpage for each language

Figura 7: Una página de inicio para cada idioma

Un blog

En mi caso y tengo un blog en cocoate.com, de modo que uso el componente Canales Electrónicos para mostrar entradas de blog externas. Creo un canal electrónico para cada idioma, así como los elementos de menú correspondientes (ver el capítulo Canales electrónicos - newsfeeds)

Una página tipo 'Sobre Nosotros'

Creo una página del tipo 'Sobre Nosotros' para cada idioma, siguiendo los pasos que ya describimos en el capítulo Cómo crear una página 'Sobre Nosotros'.

Un formulario de contacto

Uso un único formulario de contacto para consultas generales. Sólo necesito un formulario de contacto, de manera que no es necesario asignarle un idioma. Sólo si los datos de contacto difieren de un idioma a otro (por ejemplo, distintas direcciones o direcciones de correo) sería necesario crear un formulario de contacto para cada idioma.

Formulario de acceso

En cada página será visible un formulario de acceso. He copiado el módulo de acceso asignado al idioma inglés dos veces, he configurado su asignación a los elementos de menú, cambiado su título y asignado el idioma correcto. Ahora es posible iniciar sesión y registrarse en mi sitio.

Menú de usuario

He usado el menú existente, que proporciona un enlace directo a tu perfil, así como otros para crear artículos y enlaces web directamente desde el frontend (Figura 8).

Article frontend editing

Figure 8: Edición desde el frontend

Como puedes ver, crear un sitio web multilingüe con el núcleo de Joomla! 1.7 es bastante simple.

[UPDATE 2011-11-14]

New version Joomla! 1.7.3

http://community.joomla.org/blogs/commun...

Comentarios

Estoy practicamente iniciando en el mundo online y me interesó este post que publicaron sobre Joomla, por lo que me pareció fácil para una principiante como yo.

Ahorita estoy viendo en que compañia de hosting puedo poner mi página web. Acabo de leer un artículo interesante sobre hosting "Los tipos de Hosting o Alojamiento Web y sus ventajas y desventajas de cada uno" donde quedé clara que tipo de hosting debo comprar.

Ahora sólo me falta el dominio y ya casi estoy lista.

Gracias Isidro

Hola tengo creado el nuevo idioma y sus secciones pero no se como hacer que aparescan?