Tecnología y Coaching para Emprendedores

WordPress: Guía Práctica de qTranslate

plugins-wordpress

Estoy traduciendo los contenidos de este sitio web. Para ello, utilizo un plugin llamado qTranslate. En su momento tuve dudas entre qTranslate y otro plugin llamado WPML. Finalmente me decidí por qTranslate, porque WPML presentaba varios inconvenientes:

  • WPML ha dejado de ser un plugin open-source para pasar a ser una versión puramente comercial.
  • WPML tiene una arquitectura mucho más compleja que obliga al uso de hooks para modificar y filtrar las funciones que devuelven resultados en un idioma específico.
  • A pesar que con WPML cada página web se guarda como distinta de las demás (así para index.php, habrán tantas versiones de esta página web como idiomas), te obliga a modificar el nombre, con lo que no es posible tener dos páginas web llamadas, por ejemplo, bio.php

En este artículo veremos:

  • ventajas de qTranslate.
  • instalación de qTranslate.
  • uso de qTranslate.

Ventajas de qTranslate

  • Viene con muchos idiomas disponibles y es relativamente sencillo agregar nuevos idiomas.
  • Al editar un artículo del blog, te aparecen pestañas para cada idioma, igual que con las pestañas Visual y HTML, lo que facilita la edición de contenidos en varios idiomas.
  • Te permite escoger el idioma que quieres del panel de administración de WordPress con un sólo clic.
  • Te da la opción de escoger entre 3 modos de mostrar la URL del respectivo idioma: http://tudominio.com/?lang=es, http://tudominio.com/es o bien http://es.tudominio.com
  • Una única URL para cada idioma, lo cual favorece el SEO. En el caso de tener el idioma en un subidrectorio, como http://tudominio.com/es, en Google Webmaster Tools podrás añadir cada idioma como si fuera una URL diferente, con lo que si por ejemplo tienes la web en alemán, podrás especificar la geolocalización a Alemania.
  • Una amplia comunidad online de apoyo. Yo he encontrado solución a todas mis dudas gracias a los foros online.

Como principal desventaja he de señalar que si decides desinstalarlo, sea porque te has cansado de traducir tus artículos, sea porque quieres cambiar a otro plugin o desarrollar el código de manera manual, tendrás que deshacer todo de manera manual, pues en otro caso te quedará todo en dos idiomas en el mismo sitio. Así, si tienes, por ejemplo, un artículo en castellano e inglés y decides eliminar el inglés, tendrás que ir al artículo y borrar la parte en inglés, o aparecerá la versión castellana seguida de la inglesa.

Con todo ello, recomiendo su uso en caso de estar seguros de querer mantener los contenidos en varios idiomas, si es por experimentar, tu web o blog será caótico en caso que lo desinstales. Dicho esto, veamos ahora como instalar y utilizar qTranslate

Instalación de qTranslate

Empezamos por los pasos habituales de instalación y activación, asegurándonos de instalar la última versión de qTranslate. Al loro con las actualizaciones de WordPress, antes de actualizar WordPress asegurarse que la versión de qTranslate que tenemos instalada es compatible con la última actualización de WordPress.

Una vez hemos activado el plugin, en el panel lateral veremos que en Apariencia aparece un enlace llamado Idiomas:

Aunque es obvio, muestro la imagen porque la primera vez que lo instalé me llevó a confusión, al buscar qTranslate y no Idiomas. Si sólo tienes instalados 5 plugins, lo detectas enseguida, pero cuando tienes un montón y más, te puede llevar a la duda.

Aclarado esto, una vez clicamos en idiomas, en la parte inferior de la pantalla que aparece vemos este panel:

 

En la parte derecha salen los idiomas que vienen instalados por defecto. Nota: en la imagen sale catalán porque lo he instalado yo para traducir este sitio web, pero no viene por defecto. Si queremos activar uno de los idiomas, lo que hemos de hacer es dar a “Habilitar”. Por defecto aparecen activados el castellano, inglés y chino, a no ser que os dirijáis a un público chino, si queréis desactivar este idioma o el inglés (o ya puestos, ambos), hacéis clic en “Deshabilitar”.

Instalar un idioma que no viene por defecto

Si queremos instalar un idioma que no viene por defecto, lo primero que tenemos que hacer es una copia del archivo .mo del idioma en la carpeta:

wp-content > languages

Sin ánimo de ofender a nadie, cojo el catalán como ejemplo porque es el idioma que he instalado yo. Si hubiese instalado el islandés, cogería este otro idioma como ejemplo para evitar temas de nacionalismos. Dicho esto, expliquemos como he instalado el catalán.

Seguro que hay algún sitio web dónde encontrar todos los archivos .mo de los idiomas, pero yo fui por la vía rápida. Descargué la versión del WordPress en catalán y, sin instalarlo, fui a la carpeta wp-content>languages y copié el archivo ca.mo en la carpeta de mi WordPress local wp-content>languages. El archivo de instalación de WordPress de un idioma concreto lleva el fichero del idioma correspondiente, así que, si como yo, no tenéis la paciencia de buscarlo en Google, este es un método seguro y rápido para encontrarlo.

Una vez hecho esto, vamos de nuevo a Apariencia -> Idiomas. Al lado izquierdo de donde aparecen las banderas, nos permite la instalación de un nuevo idioma. Lo que vemos es lo siguiente:

 

El código del idioma es el código ISO. En el caso del catalán, es CA. Si no lo sabes, tienes un enlace con información al respecto. Luego escoges la bandera, que será la que se mostrará tanto en el panel de administración como en el sitio web, en caso de tener las banderas activadas. En el caso concreto del catalán, la bandera era ca.alt.png.

El código local es la especificación del idioma. Este apartado es muy importante! Tiene que coincidir con el nombre del archivo .mo, sin especificar la extensión. Así, en el caso del catalán el archivo es ca.mo y por tanto el código local es ca. Es fundamental que tengáis el archivo .mo en wp-content>languages y que aquí coincida el nombre, o en otro caso el idioma en concreto no os funcionará.

Los otros parámetros son menos importantes, es obligatorio rellenar el de “Mensaje no disponible”. Imagina que un artículo del blog no lo tienes disponible en ese idioma en concreto, este es el mensaje que aparecerá alguien que lo busque en su idioma.

Una vez hecho esto, ya tenemos qTranslate instalado y funcionando. Para ver la opción de escoger idioma, tenemos un widget disponible:

Ten en cuenta que aunque cambies de idioma, nada funcionará todavía, ya que todavía no has hecho ninguna traducción.

Traducir los contenidos

Hay 3 maneras para insertar las traducciones en qTranslate, cada una para un uso específico y no se pueden intercalar. Una vez entiendas bien su uso, te será sumamente sencillo traducir los contenidos con este plugin. En el caso de los artículos del blog, no requieren el uso manual de ningún método, ya que te aparecen las pestañas que te permiten elegir. En mi caso concreto, tengo instalados castellano y catalán y mi panel de edición se ve ahora mismo así:

Para traducir los artículos, las páginas creadas en el panel de administración de WordPress, las categorías y las etiquetas utilizaremos este método en que no es necesario nada de código manual. Pero para que sepamos que hay detrás, explicamos a continuación los 3 métodos que decíamos al principio:

 

Este es el código que utiliza qTranslate cuando traduce un artículo, una etiqueta o una categoría. Importante: No lo podemos utilizar directamente en archivos php. Lo digo porque la primera vez que yo utilicé el plugin me pensaba que no funcionaba porque probaba con esta línea de código en mi header.php. De las 3 opciones, esta es la que menos utilizaremos con diferencia, por el hecho de que viene automatizada en el panel de administración y no nos pide insertar este código.

 

Este fragmento de código se pone en los widgets y en el título del blog, esto es, en Ajustes>Generales>Título. Así, en un widget pondremos, por ejemplo:

 

 

Es por este motivo que os comentaba al principio de todo que si quitáis qTranslate, vuestro código se vería en dos idiomas, pero mientras lo tengáis activado, funcionará todo perfectamente.

Y finalmente, la parte que como desarrollador web utilizarás más:

 

Esta línea de código la utilizarás en todos los archivos .php que quieras traducir. En la zona de texto puedes utilizar etiquetas de párrafo y salto de página.

Cambiar el logo según el idioma

Esto es una edición de marzo 2012, después de que varios usuarios me hayan preguntado el código para cambiar el logo o cualquier otra imagen según el idioma. El código es éste:

 <?php 
  if(qtrans_getLanguage() == "es") {
echo    "<img src=\"" .  get_bloginfo('stylesheet_directory') . "/images/nombre_imagen_es.jpg" />"   ;
}
?>


 <?php 
  if(qtrans_getLanguage() == "en") {
echo    "<img src=\"" .  get_bloginfo('stylesheet_directory') . "/images/nombre_imagen_en.jpg" />"     ;
}
?>

Este ejemplo presupone que las imágenes están en el directorio del tema dentro de la carpeta “images”.

Cambiar archivo JavaScript según el idioma

Aprovecho para explicar esto. Si tenemos un formulario y lo queremos validar, es posible que necesitemos dos archivos JavaScript. Para cambiarlo, necesitamos este código:


 <?php 
  if(qtrans_getLanguage() == "en") {
echo    "<script src=\"" .  get_bloginfo('stylesheet_directory') . "/js/jquery.validate_en.js\" type=\"text/javascript\"></script>"   ;
}
?>

 <?php 
  if(qtrans_getLanguage() == "de") {
echo    "<script src=\"" .  get_bloginfo('stylesheet_directory') . "/js/jquery.validate_de.js\" type=\"text/javascript\"></script>"   ;
}
?>

Conclusión

He intentado hacer una guía práctica sobre el uso de qTranslate, teniendo en cuenta mi propia experiencia con este plugin. Si alguien le ha quedado alguna duda, estaré más que encantada de ayudar en la medida de lo posible. Espero que el artículo os haya sido útil y que, en caso de decidiros por este plugin, os sirva de referencia.

mi firma

Comentarios

  • Andres

    Hola, he conseguido traducir los contenidos y poner la banderita del idioma en la cabecera pero pincho sobre el icono y no me traduce la página es decir no me cambia de idioma,me puedes decir que código necesito poner para que al pinchar coja el ingles por ejemplo.
    Gracias

    • Sandra

       Hola Andrés, el contenido lo tienes que traducir tú manualmente siguiendo las instrucciones de este tutorial, qTranslate no es un traductor automático. A mí me pasó lo mismo la primera vez que lo usé.

  • Pablo

    Me gustaría desactivar el idioma inglés que viene por defecto pero no me permite hacerlo. He buscado por el código y he modificado la variable del idioma ‘en’ por ‘es’ pero nada. Tenéis alguna idea de cómo se puede conseguir esto? Gracias.

  • Yurica

    Muchas gracias!!! por la informacion estaba que sufria con qTraslate sobre como traducir mis Widgets ya lo iba a dar por perdido pero me devuelves las esperanzas =)

  • Orei82

    Hola Sandra no consigo que me funcione el cambio de logo:
    El código que tengo insertado
     <a href="”> <img src="” alt=”” /> <img src="/logo.png” alt=”” />       

    Si me pudieras ayudar, muchas gracias

  • Luis

    Hola, me ha parecido muy interesante tu artículo.
    1-Tengo un problema,que parece que es frecuente y no encuentro la solución, no se me ven las banderas en la página, las activo pero no aparecen.

    Otra cosa:
    2-Como hago para que traduzca todos los widgets en el sidebar, me traduce unos, por ejemplo(archivos), pero otros no.

    Gracias por la ayuda.

    • Sandra

      Hola Luis,
      hay dos maneras para ver las banderitas: una, con el widget de qTranslate y la otra, de manera manual. 

      El tema de la traducción de los widgets, algunos requieren la traducción manual siguiendo las instrucciones de este post. 

      Cualquier duda, me dices y lo miramos.

  • Daniel Torres

    Muchas Gracias! Saludos Daniel Torres

  • Sandra

    Hola Orei, Disqus no permite insertar código en los comentarios, envíame un email con el código y lo miramos.

    • Tessoriano

      Hola Sandra, yo tengo el mismo problema no consigo hacer que funcione el código para cambiar la imagen según idioma, se rompe la instalación. Podrías ayudarme? Muchas Gracias!!! Increible el tutorial, ojalá todos estuvieran así de bien explicados

  • Raul

    Buenas, tengo un problemilla con qtranslate, cuando cambio de idioma no me traduce los titulos de las paginas padres. todo el resto esta, solo ocurre con las paginas que contienen subpaginas. Agradeceria inmensamente su ayuda, ya que me he trabado en esto y no he podido resolverlo. Utilizo el QTrasnlate 2.5.24 y WP 3.2.1

    • Sandra

       Si las páginas las creas desde el panel de administración, has de ir a la página en cuestión y poner el título en cada uno de los idiomas.

  • aleinco

    Hola Sandra!!!

    Estoy intentado cambiar con las etiquetas el idioma de los slide de la home  y no es posible, la plantilla es esta:

    http://demo.wpbakery.com/architectos/

    Gracias de antemano

    • Sandra

       Hola, por lo que veo en la plantilla las etiquetas están en un archivo JavaScript, tienes que ir al mismo, buscar donde están las etiquetas definidas. y aplicar lo que se ve en la imagen adjunta. Espero te sirva.

  • Hector

    Hola,

    Muchas gracias por el tutorial! con él me he metido de lleno en el mundo de los plugins. Aunque tengo un problemilla…
    He visto un comentario de una persona que quería desactivar el idioma inglés, a mi me pasa lo mismo.Pero en el “pantallazo” que le has insertado en tu respuesta tu idioma por defecto es el castellano, en mi caso es el inglés, y no me permite desactivar el idioma que tiene por defecto.¿cómo cambio el idioma por defecto del inglés al castellano?
    Muchas gracias de antemano!
    Héctor.

    • Sandra

      es fácil, vas a Settings –> Languages y allí lo primero que te sale es escoger el idioma por defecto. Si no te sale el castellano como a mí, entonces vas a la lista de abajo y en Spanish das a Enable y te aparecerá.

      • Hector

        Muchas Gracias! si que era fácil, jeje
        Un saludo!

  • Miguel

    Buenas tardes Sandra!

    Tengo una duda. Yo he instalado qTranslate y todo me funciona de maravilla, el único problema es que quiero poder añadir las banderas en la cabecera -arriba a la derecha concretamente-, junto a las pestañas de la web. 

    Me podrías indicar dónde debo copiar el php para que así sea?

    Muchas gracias y genial artículo!

  • Adonai

    Buenas, 

    Tengo un problema, no consigo desactivar entradas en un blog wordpress para que solo se vean en el idioma que tiene el texto, y en el que no tiene texto, que no salga la entrada en la página principal, o sea, ocultar aquellas entradas que en un idioma no tengan texto. Eso es posible?gracias! 

    • Sandra

       Hola, has de marcar la casilla  “Ocultar contenido que no esté disponible para el idioma seleccionado.”, te adjunto una imagen para que lo veas.

  • Alberto

    Hola, he instalado correctamente qtranslate y lo estoy usando, pero el problema que tengo es que el tema que estoy utilizando no me deja poner el widget en la cabecera. Me gustaría poner las banderas que genera qtranslate en la cabecera.
    Qué código debo poner en el archivo header.php???
    Gracias!!!!

  • Giordi_p

    Hola,
    antes de todo gracias por compartir tu experiencia con los otros!!
    Te quería preguntar si hay manera de mover el plugins en el header en lugar que en el sidebar.

    Gracias

    • Sandra

       Sí, es fácil, vas a Apariencia -> Widgets y allí arrastras el widget de qTranslate a donde prefieras que aparezca

  • Angel Navas Estades

    Hola, estoy usando el qtranslate y por ahora me funciona perfectamente, pero no consigo traducir  las categorías. Tengo la plugin configurado para ingles y castellano, pero solo me deja introducirlas en castellano. He probado con los ejemplos que pones, pero nada, algo debo hacer mal. ¿Me podrías dar alguna pista?

    • Sandra

       Hoola Ángel, has de ir al panel lateral del panel de administración Entradas -> Categorías. Allí le das a editar cada una de las categorías y te dará la opción de traducirlas manualmente. Espero haberte ayudado!

  • Jose

    Buenas noches a todos llevo varias semanas intentando que qtranslate en los menús me funcione correctamente pero no lo he conseguido. Después de numerosos intentos y de ir de un sitio a otro me ha sido imposible encontrar la solución y el tiempo se acaba. Les explico mi problema viene con el menu, cuando le doy al idioma que quiero ver me aparece esta direccion :http://www.designastudio.es/www/en/ y todo es correcto pero pasan unas milesimas de segundo y salta ha esta dirección http://www.designastudio.es/www/#/en/ y el menú vuelve a su idioma original (el español) aunque el articulo se queda traducido, el segundo problema es que cuando haga clic en cualquier lugar del menu toda ya es español. AYUDA, gracias

  • Mariak2

    Hola, tengo un problemilla con qTranslate, al instalar el plugin active inglés, español y alemán, cree varios contenidos y menús en los tres idiomas y luego deshabilite el alemán, ahora cuando intento volver a habilitarlo se me queda la pagina en blanco y cuando vuelvo a entrar en idiomas siguen solo el español y el inglés, no activa el alemán. he probado a desinstalar el plugin, incluso actualizar la versión pero sigo con el mismo problema. ¿se te ocurre donde puedo tener el fallo? Gracias

    • Sandra

       La verdad es que no te sé decir, no me ha sucedido nunca, quizás te sepan decir algo en los foros de qTranslate, siento no poder ayudarte, pero ni idea..

  • Esmicompra

    HOLA
    Gracias por compartir esta infoSucede que acabo de abrir una website que queria que esté en inglés (principalmente) y en español tambien.Sucede que mi sitio está construido con WordPress y en el home tiene algunas secciones del tipo Widgets como el “Side Bar” o “Top Sidebar” que tambien contienen texto…sin embargo, creo que qTranslate no me permite editar estos textos de los Widgets¿Hay alguna forma de traducir estos textos como se hace con las Páginas-posts?Gracias de antemano

    • Sandra

      hola, hay que hacerlo de manera manual en los archivos php del plugin, lo que requiere conocimientos de php. Eso o utilizar otro plugin.

      • Esmicompra

        Hola Sandra
        Navegando por el foro de qTranslate (inglés) encontré la manera más sencilla de hacerlo…es colocando estas etiquetas en los Widgets y problema resuelto: 
        [:en]english text here[:es]texto en español aqui

        • Sandra

           esto también está aquí explicado.. por eso pensé que necesitabas ir al código fuente. Me alegro lo hayas solucionado.

        • Esmicompra

          Disculpa ¿Dónde está explicado?

        • Sandra

          En el apartado “Traducir los contenidos” pone “Este fragmento de código se pone en los widgets y en el título del blog,
          esto es, en Ajustes>Generales>Título. Así, en un widget
          pondremos, por ejemplo:..” Allí lo explica:-))

  • Aresrroin

    El problema que encuentro yo es a la hora de traducir el template. ¿Cómo podría por ejemplo poner en español e inglés el código de la imagen adjunta?

    Muchas gracias de antemano

  • Sandra

    Hola, esto escapa a la dimensión de este post, tendrás que preguntarlo en los foros de qTranslate..

  • Martha Roca

    Hola chicos,

    Tengo algunos problemas con las traducciones!!!

    Lo primero es que estoy usando el Evolution Theme de Elegant y tres idiomas (español, inglés y francés) al mismo tiempo. Poner los idiomas fue muy sencillo. Pero ahora que ya todos los links a las páginas están traducidos encontré un fallo que no he podido arreglar y es que El Home y el logo me envían la página siempre al idioma por defecto, que en este caso puse español. Así que si estoy en inglés o francés y oprimo el botón o logo me envía a la página deseada pero en español. Sé que esto es de redireccionamiento pero no he encontrado el lugar donde puedo poner esas variables y cómo hacerlo.

    Lo otro es que mi plantilla viene con 2 espacios bastante interesantes que se editan directamente en el editor que ofrece Elegant y son el slogan y los trabajos recientes. Al segundo pude cambiarle el idioma del título, ese no fue problema alguno, pero para cambiar los cuerpos de texto y que me salgan bien para cada uno de los idiomas ha sido complicado. He intentado con [:es]Texto en español[:en]Texto en inglés[:fr]Texto en francés y nada que me soluciona el problema. Intenté variando entonces la plantilla con PHP pero cada vez que pongo el código < ? p h p _ e ( " english textspanish textfrench text ” ) ; ? > en el lugar supuestamente deseado desaparece absolutamente todo.

    Cómo puedo arreglar esto?

    Gracias

    • Sandra

       A la primera parte de la pregunta, has de ir al código fuente y modificar el enlace del logo. El home me imagino que lo tienes en el menú, por lo que has de modifcar la URL, poniendo cada una de las extensiones para cada uno de los idiomas (por ejemplo: [:es]www.tuweb.com[:en]www.tuweb.com/en).

      A la segunda parte no te puedo contestar sin tener la web y el código delante..

      • Martha Roca

        Sandra, muchas gracias por tu pronta respuesta. Pero no sé dónde está el código fuente de modificación del logo (la imagen la subo directamente con el administrador que da la plantilla, pues esta es un tema de Elegant Themes) y cada vez que intento crear un nuevo menú para hacer el inicio como lo requiero, me deja crear las etiquetas pero no guarda las direcciones especificadas, por lo tanto se crea la etiqueta pero no aparece la opción de link.

      • Martha Roca

        Lo siento, de momento no tengo acceso a la página que te di porque por intentar solucionar el problema instalé un plugin que me dañó todo y me toca reiniciar. Cuando Esté lista nuevamente para solucionar el problema del que te hablé te contacto.

        • Sandra

           ok, lo que necesitas saber de HTML para modificar el código, el logo lo tienes en el archivo header.php

        • Martha Roca

          Hola, no, definitivamente no he logrado hacer que cambie el logo automáticamente con el idioma y que el home y el link del logo no me lleven al idioma por defecto. Y el mismo problema del idioma por defecto lo encuentro en la barra del search… :S será que me puedes colaborar con ello? 

          La página es martha roca . com (todo unido, lógico).

          Gracias…

        • Omartinez

           Tienes que completar la URL del enlace que lleva el logo, para indicarle que cargue el idioma, para ello tienes que hacer un echo qtrans_getLanguage()

          <a href="//”>

        • Martha Roca

          Puff… por fin logré arreglar todos los códigos que necesitaba. En realidad esto cambia de acuerdo a la plantilla que se tiene. Igual, lo único que me hace falta es el cambio del logo y ya estoy a punto de decidir que simplemente dejo el inicial…

          En todo caso muchas gracias por la información tan valiosa, eso no me resolvió el problema pero sí me dio pistas para hacerlo.

  • Omartinez

    Muchas gracias por tu ayuda.
    Me pasa una cosa curiosa que no se como solucionar.
    Utilizo el plugin de qtranslate para tambien traducir otro plugin. Este último genera un menú. Los enlaces a este menú no cambia dependiendo del idioma. Sin embargo todo los enlaces de páginas que he creado si funcionan correctamente.
    Que debo tocar para que los enlaces (URLs) cambien dependiendo del idioma elegido.

    un saludo

  • Maria

    Hola,
    Estoy usando este plugin para mi wordpress. Lo he colocado en la sidebar con un widget que viene con él. Me gustaría saber si hay forma de editarlo, porque viendo los archivos no tiene css. Me han comentado que hay otro plugin que complementa este y que permite cambiar algunas cosas, alguna sugerencia? 

    • Martha Roca

      Bueno, pues yo arreglé especialmente la posición de las banderas desde el css de la misma página para ponerlas en el header hacia la derecha. Luego si lo que quieres es poner unas imágenes diferentes para las banderas imagino que en el mismo css le puedes hacer la variación.

    • Martha Roca

      El código que yo puse en el CSS para poner las banderas en el header fue:

      /* — QTRANSLATE —*/.qtrans_language_chooser {float: right; list-style-type: none;}.qtrans_language_chooser li { bottom: 0; float: right; margin-right: 10px; margin-top: 25px}

      Funciona correctamente, lo único es que invierte el orden de las banderas como se tenían.

  • Martha Roca

    Sandra, acabo de poder arreglar el link del home! Básicamente los pasos para el que se encuentre en la misma situación y no lo haya logrado con las instrucciones aquí recomendadas lo que se necesita hacer es:

    1. Crear un menú personalizado.
    2. Para el Inicio sólo se llena el campo de Navigation Label así:

    [:es] Bienvenido [:en] Welcome

    (Perdón por los espacios)

    Y finalmente dejen VACIO el campo donde se pone supuestamente la URL.

    Pero Sandra, de resto no he podido solucionar nada… mi plantilla no es la que viene por defecto y no he logrado cambiar el logo de acuerdo con el lenguaje, el link del logo… y fuera de eso tengo problemas con la barra de búsqueda que también al usarla me pasa al idioma por defecto, muy a pesar de utilizar palabras en el idioma en que esté (inglés o francés)…

  • Lola

    He instalado el WP 3.4.1. despues de ver que el nuevo plugin de qTranslate 2.5.30 que DECIA que era compatible 100% pero me da error.
    He recuparado la copia del aTranslate anterior pero me da igualmente error.
    Me gustaria no tener que volver al WP 3.4 ¿me podeis dar una solucion? gracias.

    • Martha Roca

      Extraño porque a mí me ha funcionado muy bien. Lo único es que cuando te salga actualización de wordpress necesitarás esperar un tiempo para que qTranslate también tenga su actualización. Igual, ya me ha sucedido 2 veces que lo he actualizado sin esperar, bajo el nuevo qTranslate, me funciona todo sólo que para escribir los nuevos post inicialmente es aburridor porque le toca a uno poner el código de traducción, pero en el momento en que qTranslate se actualiza nuevamente queda todo perfecto y vuelves a ver todo normal.

  • Ramón

    Buen artículo.
    Me podéis ayudar, tengo dos idiomas, y desde cualquier idioma al clicar en Home siempre se va al idioma por defecto. ¿Cómo solucionarlo? Gracias

    • Martha Roca

      Me pasaba lo mismo. Y lo solucioné con los siguientes pasos:

      1. Creé un menú personalizado
      2. Para el home sólo escribí en el “Navegation label” 

          [:es]Bienvenido[:en]Welcome[:fr]Bienvenu3. Deja la URL vacía.Con eso ya tienes el home funcionando correctamente.Ahora, el logo siempre te seguirá llevando al idioma por defecto por lo cual deberás ir a header.php y buscar <a href="”>Eso lo reemplazas por <a href="”> Y listo.Así me funcionó a mí.

  • Iván

    Hola, gracias por el artículo. Con Qtranslate tengo dos problemas: no consigo cambiar el logo según el idioma (utilizo tema Responsive, he probado varias soluciones y lo que he conseguido es cargarme la instalación del blog) pero bueno, no es mi prioridad, lo que me importa más es que en las búsquedas en google, en mi blog sale lo de “traducir esta página” y quiero que no aparezca. Lo he detectado desde hace unos días (creo que antes no me aparecía eso). ¿Alguien tiene idea de qué debo hacer?
    Gracias

    • Ramón

      yo no tengo logo, pero he cambiado tanto la web www como el título de la web, lo he tocado en el archivo header.php de mi plantilla, de la siguiente manera:
      http://www.web.es http://www.web.es/uk/“> título en castellano título en inglés

      el logo de haría de la misma manera.

  • Sergio Blanco Periago

    Es genial éste artículo. Y por si fuera poco la autora se preocupa por resolver todas las dudas que van surgiendo. Impresionante.
    Ahora tengo que hacer mi web a 3 idiomas con qtranslate y lo voy a tomar como refencia.

    • Sandra

      muchas gracias, Sergio, la verdad es que lleva tiempo resolver las dudas, pero para mí los seguidores de este blog sois importantes y por eso intento resolver las dudas que van surgiendo:-)

  • Uriteixido

    Buenas Sandra;
    Tengo un problema y es que he instalado el qtranslate y me va muy bien pero al instalar el catalan como comentas, las palabras de plantilla como “seguir leyendo” salen en ingles en vez de catalan. Que puedo hacer?

    • Sandra

      tienes que ir a la plantilla y modificarlo allí tal y como se explica en este artículo

  • Mdborrat

    Hola Sandra.He actualizado la última version del qT y me da este error en Ajustes->Idiomas
    No ha podido escribir en “/var/www/ofertas-inmobiliarias.es/datos/web/wp-content/languages”,las Bases de Datos Gettext no se pueden descargar!
    ¿Es por un tema de permisos? Y si es asi, aparte de darle mas permisos a la carpeta que hago? ¿Vuelvo a instalar la version?
    Muchas gracias.

  • Sandra

    no estoy al día con temas de permisos, pues esto es algo relacionado con el servidor, así que no te sé decir..

  • Fredylopezsosa

    Buenas, quisiera saber como puedo traducir el menu de mi sitio.
    Lo que basicamente busco es, si estoy en el idioma español (idioma por default), y luego hago click en el idioma ingles, se añada automaticamente el prefijo /en/ en los links de mi menu. Esto es posible o debo realizar un menu para cada idioma.?

    • Sandra

      Cuando cambias el idioma se cambia automáticamente la URL a la del idioma en cuestión, por lo que sólo has de crear un menú con los contenidos traducidos a los diferentes idiomas.

  • Chiqui

    Hola, estoy usando el qtraslate y no logro hacer que se vean las banderitas y lo que tambien me pasa es que el vinvulo del cambio de idioma me lo toma en todo el texto de la web y no en la palabra ingles/español.
    En uno de los foros encontre e hice lo siguiente pero no funciona.
    Agrqadecria una ayuda!
    gracias

    codigo puesto en header.php :

    <? php
    q_config global $;
    if (is_404 ()) $ url = get_option ('home') else $ url ='';
    echo ' id=”headerMenuSystem”>’;

    foreach (qtrans_getSortedLanguages ​​() as $ language)
    {
    $ link = qtrans_convertURL (”, $ language);

    if ($ _SERVER ["HTTPS"] == “on”)
    $ link = preg_replace (‘# ^ http:// #’, ‘https://’, $ link);

    echo ‘ ‘. $ q_config ['language_name'] [$ language]. ”;
    }

    echo”;
    ?>

    codigo puesto en style.css

    / * Flags on right side * /
    # headerMenuSystem {position: absolute, top: 30px, right:-1250px;}

  • Mateo

    Hola Sandra, muchas gracias por todo tu trabajo. Ya he leido que hace mucho que no usas qTranslate, pero escribo por si a ti te pasó o a otra persona. Resulta que al usar qTransalate con 2 idiomas (español e ingles), al poner la web en inglés me salen las páginas español que están traducidas más las que sólo tienen español precedidas de la palabra “(español)” y no se ocultan. Tengo marcada la casilla de ocultar las páginas que no están en ese idioma, y las páginas no contienen nada de inglés, ni el título ni el contenido, ni tampoco todas las subpáginas. He buscado en los php pero no veo nada “extraño”. Muchas gracias

    • Sandra

      Hola Mateo,

      tengo otro site en el que estoy trabajando con qTranslate y lo acabo de probar. Si marco la casilla “Ocultar contenido que no esté disponible para el idioma seleccionado” y voy a una entrada y pongamos que sólo pongo el contenido en castellano tanto en el título como en el contenido, a mí no me aparece “(español)”. En configuraciones avanzadas también tengo marcado “Ocultar URL de idioma d einformación para el idioma por defecto”. La verdad es que dejé de utilizar qTranslate por todas estas cosas, en este nuevo proyecto lo utilizamos porque es un cliente que no quiso invertir en comprar un plugin, pero soy de la opinión que es mucho mejor WPML. Espero que lo soluciones pronto, ¡suerte!

    • Sandra

      Hola Mateo, acabo de encontrar el problema, y es que tienes el inglés como idioma por defecto. Has de seleccionar el español como idioma por defecto y te desaparecerá el “(español)”. Un saludo!

      • Mateo

        Gracias por tu respuesta. Lo cierto es que eso ya lo había mirado y no soluciona el problema sea cual sea el idioma por defecto (que ya lo tenía puesto pero se me olvidó comentarlo). Si fuera eso en alguno de los dos idiomas se vería “bien”, pero no es el caso, te dejo la web [http://beta.juvycult.comocreartuweb.es/] para que veas más concretamente el problema, pincha en el inglés y verás como las que tengo traducidas si cambian pero en las otras aparece “(español)” antes del título. [Es una web experimental donde pruebo de todo por si "se rompe" así que contenido el justo para ir probando.] De todas formas si de forma inmediata no das con la posible solución, o el posible problema, no te preocupes porque ya tenía pensado desde hace unos días dejarme de rollos y pasarme al WPML, esto era simplemente cuestión de orgullo wordpressero xDD Muchas gracias por todo y por dedicarme parte de tu tiempo.

      • Mateo

        Por cierto aprovecho para preguntarte por el WPML, por si me podrías aconsejar sobre cuál de las dos versiones coger, la blog o la CMS, porque con la descripción que dan no se si con la blog sería suficiente. Muchas gracias por todo!

  • Isaac

    Hola Sandra,

    tenemos una web que queremos traducir al inglés y estamos pensando en utilizar qTranslate. Nuestra duda es la siguiente. En los últimos meses hemos ganado una buena posición en buscadores, además de varios links a nuestro trabajo desde otros blogs y webs. Nos da miedo que al utilizar un plugin para cambiar el idioma de la web, perdamos esas posiciones… ¿Se vería esto afectado por el uso de qTranslate utilizando como idioma por defecto el español?

    Muchísimas gracias por tu ayuda.

    • Sandra

      Hola Isaac, no siempre y cuando marquéis el español como idioma principal del sitio, pues en ese caso la URL para el español seguirá siendo la misma que la que utilizáis ahora. ¡Un saludo!

  • Esther

    Hola!,
    Yo tengo un problema para traducir las URL del menú. Estoy utilizando una plantilla que me muestra en la home los últimos posts, y he creado un menú personalizado con “custom links” que enlazan a estos posts.
    La web sólo tendrá seis secciones (seis posts) que estarán también enlazadas en el menú, así que será una web estática.
    El problema es que el menú me permite cambiar el “navigation label” poniendo “[:ca]Automòbils[:es]Automóviles”, pero no me deja modificar la URL para que vaya a la versión catalana o castellana según el caso.
    Me podéis dar una solución por favor?
    Muchísimas gracias!,
    Esther

    • Sandra

      La URL la modificas desde Opciones –> Idiomas, Advanced Settings –> URL Modification Mode. Un saludo!

    • Sergio Blanco

      Umm… me encuentro con el mismo problema si hago lo que dices. Al ser un enlace personalizado la URL la coje de la que pones tu y no se adapta al idioma (El nombre sí, si ponemos “[:ca]Automòbils[:es]Automóviles”).

      Se me ocurre que igual los prefijos [:ca], [:es] etc. también funcionen en la URL… voy a probarlo yo.

      • Sergio Blanco

        Anda, pues no. Mi teoría no es válida. Lo dejo así, solo tengo problemas en el Index, así que siempre vuelve al catalán…

        Me callaré y esperaré que nadie se de cuenta.

  • Sergio Blanco

    Al final la web a 3 idiomas que dije que tenía pendiente no se hizo. Pero hoy mismo he tenido que hacer una a 2 idiomas (catalán y castellano, con catalán como idioma preferente). Y he tomado el artículo como referencia.

    Estaba un poco asustado por si salía mal y había mirado más post sobre qtranslate. Pero es que en post de Sandra se concentra todo. Es el mejor y si vas siguiendo los pasos resuelve prácticamente todas las dudas.

    Además, qtranslate permite elegir como se mostrará la URL al cambiar de idioma, y por si no puedes hacer todos los post en varios idiomas permite ocultar los post que no están traducidos. Y con los dos idiomas instalados, mi cliente puede cambiar de idioma el panel de control, cosa que seguro que también agradece (aunque la traducción al catalán del menú de wordpress es un pelín… ¿experimental?)

  • Anto Fernandez | Diseño alicante

    Hola Sandra
    Muchas gracias por el tutorial. Te quería preguntar si sabes si es posible cambiar las url de idiomas por dominios territoriales, por ejemplo:
    Yo tengo http://blog.midominio.es/es/ y http://blog.midominio.es/it, me podría aparecer asi: http://blog.midominio.es/es/ y http://blog.midominio.it

    Muchas gracias!

  • ivan

    hola, yo me enfrento al siguiente problema y no sé cómo solucionarlo.
    desarrollé una web en español e inglés con qtraslate, todo perfecto, pero ahora necesito meter un tercer idioma y que no me salga la banderita del tercer idioma hasta que termine la introducción de todos los textos.
    las tengo metidas en el header.php así:

    lo ideal sería encontrar el código que llame sólo al ES y al EN, y sustituirlo por ese que llama a todos los idiomas activados, pero no lo encuentro.
    el problema que no puedo permitir que estando online la web, el usuario pinche en el tercer idioma y no esté terminado.

    alguna solución??? gracias por adelantado.

  • Jesús

    Hola Sandra,

    En primer lugar enhorabuena por el tutorial!!

    En segundo lugar, mi duda es la siguiente. Tengo una pagina en wordpress traducida con el plugin qtranslate y cuando pulso la banderita de ingles me traduce al ingles perfectamente y el problema es que al pulsar un boton que me lleve a otra pagina pierde la referencia del ingles y se pone en español y tengo que estar constantemente pulsando la bandera para que traduzca la pagina (no se si me he hecho entender xDD) no se si es que el plugin es así o que no esta bien configurado, pero ya he probado todas las configuraciones y ya no se que más hacer. Gracias de antemano :)

    • Jesús

      Me autorespondo:

      He dado con el problema. El problema es que al tener los enlaces con links permanentes va si o si a la pagina en español. Asi que habia que cambiar en la parte de la traducción a ingles el link del boton en cuestion con la parte que lleva a la pagina en inglés (mipagina/…/…&lang=en). Era eso.

      Gracias de todas formas :)