Multi-idioma en Joomla 2.5 (multi-lenguaje)

Una de las grandes mejoras en Joomla 2.5, es la posibilidad de poder crear sitios web multi-idioma.

Para este ejemplo, parto de una instalación Joomla únicamente con ingles instalado. La idea es conseguir un sitio web, que se visualice en dos idiomas, siendo el castellano el idioma principal.

Preparamos los idiomas

Una vez tenemos nuestro Joomla instalado, procedemos a instalar el idioma castellano. Este es otro gran cambio en Joomla 2.5 que nos facilita mucho las cosas. Ya no tenemos que buscar los paquetes de lenguajes que queremos instalar en internet, sino que Joomla ya tiene almacenadas las direcciones de muchos de estos paquetes. Así, solo debemos escoger el idioma que queremos y el mismo se va a encargar de instalarlo.

Vamos al «Gestor de Extensiones» a la pestaña «Instalar Lenguaje». Elejimos de la lista el Español y pulsamos el botón instalar. Si todo ha ido bien, ya tenemos el idioma instalado. Nos dirigimos a «Gestor de idiomas» y ya vemos los dos idiomas. Pulsamos en la pestaña «Instalado-Administración» y pulsamos el botón «Predeterminado» para utilizar el español en nuestro BackEnd. Realizamos el mismo paso con el idioma por defecto del sitio web. al acabar, ya podemso ver nuestra FrontEnd en castellano.

Ahora debemos crear el lenguage de contenido para el español. Dentro del gestor de Idiomas, pulsamos sobre la pestaña «Contenido» y ya en ella en el botón «Nuevo».

Nuevo idioma en joomla

Añadimos los datos necesarios. Sólo voy a explicar los datos obligatorios, ya que el resto resultan evidentes:

  1. Título: Nombre descriptivo del lenguage. En nuestro caso Español-España.
  2. Título Nativo: El mismo.
  3. Codigo Url del idioma: Este es importante porque será lo que identifique al idoma en la Url. En nuestro caso elegimos «es».
  4. Prefijo de la imagen: si elegimos «es» nuestra imagen debe llamrse «es.gif».
  5. Etiqueta del idioma: Otro campo muy importante. Debe ser el prefijo exacto del idioma. En nuestro caso «es-ES».

Ahora ya tenemos nuestros dos idiomas de contenido.

Idiomas de contenido en joomla

Poner selector de idiomas

Ahora debemos poner en nuestra web, un selector para poder cambier entre los dos idiomas de contenido que hemos creado. Para esto Joomla 2.5 nos probee de un módulo que se encarga de ello. Vamos al «Gestro de módulos» y añadimos uno nuevo del tipo «Selector de idioma». Añadimos el Título del módulo, su posición y guardamos. Vamos a ver nuestro sitio web y ¡¡¡SORPRESA!!!, no aparece nada en la posición indicada. ¿Hemos hecho algo mal? La respuesta es no, pero nos hemos dejado partes fundamentales.

Joomla 2.5 necesita tener una página de inicio por defecto para cada idioma de contenido que queramos mostrar.

Creamos los menús para cada idioma

En el «Gestor de menus» añadimos un nuevo menú. Elegimos como título «Menu Español» y como tipo «Principal Español». Añadimos un nuevo item a este menú.

Nuevo item de menu idioma en joomla

Debe quedar de la siguiente forma, como en la imagen.

  1. Tipo de elemento del menú: En mi caso, he elegido «artículos destacados», aunque podria ser otro tipo.
  2. Título del elemento del menú: El texto que tendra el enlace en el menú.
  3. Página de inicio: Seleccionamos Si, para indicarle a Joomla, que es la página de inicio del idioma.
  4. Idioma: El idioma del menú.

Repetimos los pasos anteriores para el Idioma ingles. Es decir, creamos un nuevo menú con su ítem como hemos hecho para el castellano. Volvemos a la parte pública de nuestra web y ¡¡¡SORPRESA!!!, Sigue sin aparecer el selector de idiomas. ¿Qué pasa ahora?

Activar plugin

Pues falta activar el plugin que se va a encargar de hacer funcionar los idiomas en Joomla. El encargado de la magia. Vamos a el «Gestor de plugins» y buscamos uno llamado «Sistema – Filtrar idiomas». Lo activamos y ¡¡¡SORPRESA!!! Aparecen las banderas de los idiomas, ¿O que pensabas? ;)

Si clicamos sobre las banderas, vemos como se traducen los textos estaticos de la web. Si posicionamos los menus, en sus correspondientes módulos, veremos como aparecen y desaparecen al elegir el idioma de la web.

También debemos elegir el idioma en el que aparecerán los artículos

Artículos y Categorías

Ya tenemos todo preparado para el multi-idioma en Joomla 2.5, pero…

¿Y los Contenidos?

Vamos con ello. Vamos a tener dos categorias diferentes: «Noticias» para castellano y «News» en ingles. Vamos al gestor de categorías y añadimos una nueva categoría, con título «Noticias» y idioma «Español – España». Hacemos lo mismo para el idioma ingles. No es necesario tener las categorías en los dos idiomas, es solo una elección personal para ordenar todo.

Al crear los artículos, hay que tener el cuenta el idioma en el que queremos que se vean. Si elegimos idioma ingles, deberemos añadir el articulo a la categoría «News».

Por último, creamos un nuevo item de menú en cada idioma, apuntando a la categoría en su idioma. Asi pues, las noticias en castellano sólo se mostrarán cuando el sitio web esté en castellano, y al revés para el ingles.

Con todo esto ya tenemos un sistema multi-idioma en Joomla 2.5.

Esta entrada fue publicada en Sin categoria. Guarda el enlace permanente.

38 respuestas a Multi-idioma en Joomla 2.5 (multi-lenguaje)

  1. Adrian dijo:

    Saludos, todo queda muy claro, pero tengo un pequeño gran problema, el menú principal (el que esta horizontal sobre el slideshow) no cambia de idioma… que tendrìa que hacer para que el mismo cambie cada vez que pulso sobre la bandera de idiomas ????

    Muchas gracias.

  2. todojoomla dijo:

    Deberías crear un menú para cada idioma. Cada menú, se visualiza en un módulo diferente. Pon todos los módulos de idiomas en la misma posición de la plantilla. Después asigna a cada módulo, el lenguaje en el que se puede visualizar. De este modo al cambiar el lenguaje de la web, estarás cambiando el menú que se visualiza.

    Un saludo

    • Rafa dijo:

      Yo sin embargo el menu lo tengo en la plantilla y he intentado duplicar la plantilla por idioma y no me funciona, tambien he anulado el de la platilla y he hecho modulos con el menu correspondiente tanto en el main menu como en los idiomas y no hay manera, si se os ocurre algo.
      Ademas me sale un aviaso en la cabecera:
      vmdebug My selected language by JFactory::getLanguage()->getTag() fr-FR
      vmdebug $siteLang: fr-FR self::$_jpConfig->lang fr_fr
      vmdebug vmTime: loadConfig db no: 0.00747394561767578

      cuando clico el idioma correspondiente, como si faltara por hacer algo

  3. Javier dijo:

    Gracias por tu explicación. Yo ya tengo montado el sistema multilenguaje. Los menus me aparecen en español e ingles y todo va perfectamente y sin problemas. No obstante, querría preguntarte si existe alguna extensión en joomla 2.5 que me permitiera que cada artículo en español quedara automáticamente traducido en la versión inglesa, de tal forma que, por ejemplo, coloco mi artículo en inicio versión Español-es y me salga traducido en versión English-uk. Nuevamente, gracias de antemano y un saludo.

  4. Akira dijo:

    Hola pues e seguido los pasos correctamente pero las banderas en mi web no aparecen .. Alguna idea del porque ?? .. Tengo instalado los idiomas .ingles,español,portugues brasil y japones .. Solo me aparece la bandera de españa , sabes porq seria el error ? Donde puedo rebuscar ? Mi joomla es 2.5.9 y esta vacia es una nueva instalacion .. No entiendo porq no me sale ..

  5. Dasilva dijo:

    el menú que tiene la plantilla por defecto es uno que no puedes cambiar por mas lo que tienes que hacer es crear en ese menú ítem para ingles y otros para español y cuando escojas idioma muestra uno u otro.
    DaSilVa

  6. Ya tengo instalado el inglés y español y he creado los menús y categorias… pero es posible que un item a una categoria tenga TODOS los idiomas y que aparezca en los dos menus (español e inglés) de una vez…. o tengo que ir y crarlo en español y luego ir y crearlo en ingles?

    • todojoomla dijo:

      Si has seguido el post, has creado un menú para cada idioma. Así que sólo queda la opción de crear items de menú para cada idioma. Además tiene todo el sentido, porque así puedes traducir el texto de menú para cada lenguaje de tu sitio web

  7. Martí MG dijo:

    He seguido todos los pasos y funciona. No obstante, si no entiendo mal, esto significa que si por ejemplo tengo tres idiomas en la web, tengo que crear los tres menús en cada idioma, al igual que todos mis artículos no? Entonces si mi web consta de 500 articulos tendre que escribir un total de 1500 artículos! Y el problema se agraba si mi sitio se trata de una tienda online con Virtuemart, porqué tendré que estar constantemente reajustando el inventario entre las 3 tiendas que tendre que crear no? Espero haberlo entendido mal… Sinó tendré que tirar de algún plugin tipo Google Translate…

    • Martí MG dijo:

      Pido disculpas, debí investigar más antes. Virtuemart te permite configurar la traducción para cada categoria y para cada producto, así que por el tema de inventario no habría problema, eso sí, se deben escribir los 1500 artículos, y si no me equivoco también se tienen que duplicar algunos módulos puesto que no los traduce automáticamente.

      • Mikel dijo:

        Evidentemente debes crear un artículo para cada idioma. Esto hay que tenerlo en cuenta cuando se piensa en la cantidad de idiomas en los que va a estar nuestra web, dado que se multiplica el trabajo. Aunque tal vez no todos los artículos deban existir en todos los idiomas. Además nos permite estructuras diferentes para cada lenguaje. También puedes hacer que un artículo se vea en todos los idiomas, aunque esto no es NADA recomendable (contenido duplicado). Creo existen también extensiones para realizar las traducciones (tipo joomfish), pero para mí, lo mismo es tener 1500 artículos, que 500 artículos traducidos 3 veces.
        Respecto a los módulos, no indicas el tipo de estos, pero si están correctamente programados, no tendrías por qué duplicarlos.
        Espero haber ayudado en algo…
        Un saludo

  8. Hernan dijo:

    Tengo inconvenientes con la traducción de las categorías o marcas de virtuemart todo funciona bien en el español pero cuando creo un modulo de categorías de virtuemart en ingles no se muestra en lo absoluto… no se si te ha tocado realizar una traduccion para la tienda virtual

  9. Hector Macias dijo:

    Que tal tengo una pregunta, cuando genero el menú en un segundo idioma y este lleva subniveles como los puedo activar??? a lo mejor es una pregunta muy tonta pero no le encontré la forma de solucionarlo, les agradecería mucho su ayuda

  10. fran dijo:

    Hola, buenas necesito poner mi sitio multi idioma en castellano e ingles pero al colocar el idioma del front end en castellano predeterminado algunos modulos me desaparecen, ¿a que se puede deber?

  11. Hola, seguí todos los pasos sobre una instalación joomla que ya tenía contenido y no me sale la lista de idiomas, sale la pestaña para desplegar la lista, pero no hay opciones, además me dañó los estilos del menú principal y la galería principal.
    Qué puedo hacer?

    • Mikel dijo:

      Asi a «ciegas» es dificil contestarte. Si lo has probado en la web que tienes pública, debes volverla cuanto antes a un estado anterior. Por ejemplo deshabilitando el plugin de idiomas. Si la web no es pública, revisa haber seguido correctamente todos los pasos etc..

  12. Florencio dijo:

    Antes de nada darte las gracias por el artículo. Tengo una duda. Ya me salen las banderas, pero si estoy en 1 artículo y cambio de idioma se me va la página principal del nuevo idioma. ¿Hay alguna forma de que me cambie el idioma permaneciendo en el mismo artículo?.

    Un saludo.

    • Mikel dijo:

      Si has seguido este tuto, yo creo que no se puede. Ten en cuenta que los artículos son diferentes, no el mismo artículo traducido…
      Para poder hacer lo que quieres, puedes intentar con alguna extension tipo JoomFish!

      Un saludo

  13. Adriana dijo:

    Hola, yo estoy haciendo una web con una plantilla que compré. Tiene un main menu como principal con el idioma todos (si desactivo ésto no funciona).
    Luego tengo creados varios homepage para cada idioma con su item correspondiente en el idioma al que pertenece.
    Luego hay un nav-menu (que veo que es el menú que aparece por defecto) al mostrar las posiciones curiosamente no le veo ninguna asignada y es donde han puesto todos los contenidos enlazados (en inglés).
    Aparte, puse como idioma del sitio (front-end y back-end) en español. En el selector del idioma le pongo que elija el idioma del sitio. Pero se sigue yendo al inglés, no sé si es porque los contenidos de este nav_menu están en inglés. Tengo la opción de que elija la configuración del idioma del navegador, así creo que coge directamente el castellano.
    En realidad, de momento no necesito un sitio multi-idioma, pero como viene así, tengo un poco un lío. El soporte de la plantilla es algo escaso. No sé, como hacer para dejarlo sólo en español y en el futuro añadirle el resto de idiomas.
    No sé si me puedes ayudar.
    Muchas gracias.

    • Mikel dijo:

      Hola Adriana. Tu tienes un poco de lio y yo también ;).
      De todas formas si la plantilla es de pago deberías pedirle soporte a la empresa que te la ha vendido, para que te expliquen un poco cómo funciona.

      Un saludo

      • Adriana dijo:

        Gracias Mikel por contestar, al final conseguí averiguarlo por mí solo. La verdad, la empresa que vendió la plantilla tiene el soporte más pobre que he visto en mi vida.
        Saludos

  14. Alar dijo:

    Tener contenido localizado es también un aspecto importante para cualquier sitio web. Estoy utilizando una herramienta en línea de Google y Bing para que me ayude con las traducciones: https://poeditor.com/. Estoy totalmente de recomendar el uso de este método para traducir el contenido para que pueda tener un sitio web multilingüe.

  15. Eva dijo:

    Hola, estoy creando un sitio multiidioma con la plantilla zt-zizia y todo bien pero al ir al idioma inglés, el menú principal(el que sale en horizontal en la parte superior) no sale, sólo sale el español que es el que le digo a la plantilla que debe mostrar. Cómo le asigno otro menú?? he leído que en alguna plantilla duplicas el layout del menñu pero con esta no tengo la opción para clonar… ¿Qué hago?
    http://aneucade-cp91.webjoomla.es/es/
    Gracias

    • Mikel dijo:

      No veo en tu web el «Selector de Idiomas». ¿Lo has mostrado en algun sitio? Digo porque puede ser un indicador de que no todo va bien…
      ¿Has creado los menus para cada idioma etc, como se indica en el articulo?

      Un saludo

      • Eva dijo:

        Hola, ui, qué rapidez, es que lo desactivé, lo vuelvo a activar. te cuento, en la home en español está todo Ok, pero al ir al inglés el menú de arriba no se me muestra, he tenido que crear uno lateral y esto queda fatal. He visto que algunas plantillas tienen la opci´pon de clonar el Layout donde está el menú pero esta no y no sé si de tiene que hacer por código.
        GRACIAS DE ANTEMANO

  16. Eva dijo:

    sI QUIERES por privado te doy acceso al backend, he creado todos los menús, categorías, módulos,etc para cada menú, lo único que no sale es el menú pral arriba de todo :(

  17. sanche dijo:

    A mí me pasa algo bastante curioso que nadie me ha podido resolver aún. Tengo una plantilla de joomla premium, la monté en multi idioma, todo funcionaba perfecto, pero al querer tocar algo en la configuración de la plantilla, la página en español me desaparece, no así con la de inglés.

    Hablé con el soporte de la plantilla, no me supieron decir nada al respecto, y el caso es que tocando lo arreglé(o eso parecía). Hoy me ha vuelto a pasar, he estado mirando por la web soluciones y el caso es que he vuelto después y ¡había vuelto el frontend!. Probando varias veces en el servidor de pruebas la configuración, se tira 15 minutos exactos con el frontend en blanco, y luego aparece como arte de magia. Sólo le pasa en el de Español.

    Tengo una copia de la plantilla para Español, otra para inglés y otra para «todos» con cada una sus asignaciones de menús, pues he estado cambiándolas la de inglés a español, la de Español a inglés, a todos. Cambiando configuraciones, borrando la caché cada vez que guardo, y sigue igual.
    En los registros de Apache aparece lo siguiente al intentar conectar con la página:
    [error] [client ] PHP Notice: Undefined offset: 0 in /home/xxx/domains/xxx/public_html/includes/application.php on line 483
    [error] [client ] PHP Notice: Trying to get property of non-object in /home/xxx/domains/xxx/public_html/includes/application.php on line 487
    [error] [client] PHP Notice: Undefined property: stdClass::$params in /home/xxx/domains/xxx/public_html/includes/application.php on line 252
    [error] [client] File does not exist: /home/xxx/domains/xxx/public_html/templates/system/css/template.css, referer:

    ¿A alguien más le ha pasado?

    • Mikel dijo:

      No tengo ni idea de que te puede estar pasando. Pon un link a tu web para verla ;)

      Un saludo

      • sanche dijo:

        Lo único es que es de un cliente y no quisiera ir poniendo enlaces por ahi de su web. Si te resulta curioso echarle un vistazo te lo podría pasar por privado. La verdad es que es muy curioso. Aunque ahora mismo tampoco verás la página en blanco. La plantilla es la Ammon Joomla de Hogash: http://www.hogash-demos.com/ammon_joomla/

        Además, no me había fijado en una cosa y es que el menú en la plantilla original tiene unas señales triangulares para despleglar el menú. La mía también, hasta que activé el multi idioma. Y observo que cuando pinchas en un ítem para desplegarlo, se despliega pero al bajar, si no bajas suficientemente rápido se cierra el menú.

        Tengo montado en el servidor para pruebas otra versión idéntica a la de Hogash, (la que suelen vender de demo ya configurada) y parece que no tiene ese problema, así que la montaré allí desde cero copiándolo todo. pero quisiera ver porque ocurre, ya que es rarísimo.
        Saludos

  18. leoalv dijo:

    Hola buscando soluciones de multi idiomas en joomla llegue aqui, Esta muy bien explicado por lo mismo les agradezco. asi buscando soluciones tambien encontre varios videos que habla de idiomas en Joomla 3 entro ellos un video donde hace instalación de joomla multi idiomas. los videos estan aqui. http://www.unidelfuturo.com/cursos/joomla/. lo dejo para informacion. y colaboracion.

    Gracias me sirvo el tutorial muy bien explicado

  19. Tengo mi sitio en español pero la hoja de contacto mantiene ciertas palabras en inglés, como e-mail, Miscellaneous information, address y phones. Qué debo hacer para pasarlas al español? Gracias

  20. Hola Saludos. Muchas gracias por este excelente documento.
    Uno de los problemas que he presentado es que no me sale la bandera española. ¿Cómo puedo hacer?
    saludos

  21. Hola. Desde hace tiempo hay un modulo en el directorio de extensiones de Jommla, Gtranslate, que es bien sencillo de instalar y coloca las banderitas y solo con pinchar traduce toda la web. Eso sí, lo hace con el traductor de fondo de google y la tradución suele contener errores, pero simplifica mucho el trabajo. Yo lo puse en http://www.pelig,es, y por el momento, me vale. Un saludo

  22. Perdón por la errata, debería poner «traducción», con dos «c». Es que no vi forma de editarlo para arreglarlo.

  23. Rosa dijo:

    Hola, tengo un problema para manejar idiomas con joomla 2.5, tengo un sitio que hice hace tiempo y para manejar los idiomas usé joomfish, todo funciona perfectamente, pero ahora tengo que migrar a joomla 3.x y no puedo hacerlo porque no existe una version de joomfish para joomla 3.x
    Quisiera entonces, pasar el control de idiomas de joomfish al manejador nativo de joomla 2.5 (para que después pueda hacer la migración de todo mi sitio a la version 3.x)

    Alguien puede orientarme de cómo podría hacerlo ? mil gracias !

Replica a alexandra cortes Cancelar la respuesta