Tema de wordpress multilenguaje
3 seguidores
Hola!
Estoy peleandome con los multiidiomas en wordpress para un tema que estoy creando y hay algo en lo que seguro estoy metiendo la pata, a ver si podéis echarme una mano jejeje.
Tengo en mi index.php sólo esto
<h2><?php echo _("Esto es una traducción");?></h2>
Y el tema tiene la siguiente estructura
- css
- languages (dentro los ficheros en_EN.po y en_US.po)
- index.php
Y, si no he entendido mal, si cambio el idioma de mi wordpress a inglés, la cadena me tendría que coger del fichero que tengo dentro de mi carpeta idiomas ¿no? Pero al hacer el cambio no hace nada, sigue mostrando la cadena sin traducir.
¿Me estaría faltando algo?
expresseo111
iqos heets
jmbescos
Llevo años traduciendo Wordpress y puedo decir que POLYLANG es el mejor plugin para traducir de forma gratuita un Wordpress. Ha mejorado bastante y ya no tiene algunos de los problemas que tenia... Pero tiene sus limitaciones, ya que es gratis. Hay otro plugins mejores, claro que si. WEGLOT esta muy de moda ahora, es muy intuitivo y facil de usar, muy cuqui y eso, pero acabas pagandolo... WPML es el clasico de siempre, mas escueto, y no tan facil de usar, pero muy potente... Tienes un buen resumen en este articulo: Que plugins usar para traducir Wordpress
markosci
Gracias @zeybix
Al principio como no lo había hecho nunca tenía mis dudas y en varios sitios hablaban de usar los ficheros .po y .mo para crear una web multilenguaje sin embargo, con el plugin de Polylang se puede hacer perfectamente y con las funciones que tiene se pueden traducir partes del theme que se hayan puesto personalizadas.
Un saludo.
zeybix
No se si lo que quieres es traducir la plantilla, o crear una web multilenguaje.
Si quieres traducir la plantilla modifica en los archivos .po .mo.
Si quieres crear una web multilenguaje usa el plugin WPML.
Un saludo.
conectart
yo lo instalé así:
markosci
Perdona @conectart pero no te he entendido muy bien. En teoría Polylang te gestiona el menú ¿cierto?
Lo que me está ocurriendo es que no puedo asignarle el menú que desearía. En la imagen ves la opción que tengo para el menú (que sería el español) pero si le marco sólo la opción Menú Español me lo desmarca y es como si me lo quitase del menú y no se muestra nada.
conectart
Hola @markosci , yo lo que hice fue dos menús. Uno en español y otro en ingles. Y muestra cada uno cuando pinchas en cada uno de los lenguajes. Quizás, se podía hacer como tu dices, pero yo normalmente, tiro a lo mas sencillo. :-)
Un saludo
markosci
Una duda @conectart sobre Polylang.
Viendo el menú, he visto que no me traduce las cadenas del menú. Por ejemplo: tengo mi menú principal con la opción "Empresa" asignada a la opción Menú Español y Menú Inglés.
La categoría la tengo traducida así que en principio debería aparecerme en el idioma que escoja.
¿Es algo de la configuración de Polylang?
markosci
Por si alguno tiene este mismo problema aprovecho para comentarlo:
El mismo plugin de Polylang tiene funciones que permite establecer la traducción de idiomas sólo habría que hacer lo siguiente:
- En el fichero functions.php establecer las cadenas con la función pll_register_string ($nombre,$cadenaaTraducir). Esos parámetros son los obligatorios, pero hay un par de ellos más que son opcionales.
- En las cadenas personalizadas sería establecerlas usando
<?php echo pll__($miCadena);?>
y ya aparecerían traducidas.Un saludo a todos!
markosci
No te preocupes @conectart voy a seguir buscando a ver qué encuentro.
Al menos he conseguido que si cambio desde mi wp_admin el idioma de wordpress me coja la traducción correspondiente a inglés pero claro, necesitaría más bien un híbrido entre el plugin Polylang y el cambio de idioma de Wordpress.
Qué cacao tengo ya jaja.
conectart
Pues no se, la verdad. Conozco el plugins lo justo :-/
Lo siento.
markosci
Buenas de nuevo @conectart Toqueteando un poco más he visto que sí, me estaba faltando un paso...el crear la traducción para la Categoría que necesitaba, una vez creada y asignada ya me lo traduce aunque aún me faltan algunos detalles jeje.
Tengo un problema ahora y es que, algunos enlaces los genero de la siguiente forma (porque mi idea era usar la propiedad gettext de php)
<a href="#"> <?php echo _("Sobre nosotros");?></a>
¿Cómo podría traducir mis enlaces personalizados? Porque el plugin no manda ninguna variable ni nada para establecer el idioma por lo poco que he visto.
markosci
Me resulta raro el plugin @conectart ....
Tengo mi tema personalizado en la que voy mostrando contenidos con WP_Query en función necesite. Probando el plugin que me comentabas y al generarle los contenidos en inglés me ha quitado la categoría que le tenía asignada.
Te pongo un ejemplo por si me puedes orientar un poco en el funcionamiento:
Tengo una categoría Empresa con mi texto y título el cual muestro en el index usando un WP_Query con la propiedad category_name. Ahora, le genero la traducción en inglés con el plugin y cuando voy a inglés con el menú que me genera el plugin no me muestra nada.
¿Me estoy saltando algún paso?
conectart
No,es mas, para separar por artículos/paginas. Y asignar a la version en español la version en ingles. Pero no son ficheros de configuración, donde poner las traducciones. A mi me parece mas sencillo, pero claro, es cuestión de cada uno. :-/
Un saludo
markosci
Hola @conectart
Es para algunos elementos que tendría en mi tema incrustados en el código (tipo botones, enlaces etc...) no he toquiteado el Polylang, no sé si... ¿detecta cualquier texto que puedas tener en el tema?¿Permite poner los típicos botones de idiomas o las banderitas en alguna zona de la web?
conectart
Hola @markosci ,
pero lo haces tu a mano? Yo he usado un plugins que va muy bien y es muy sencillo. Se llama Polylang.
Un saludo
David
Madrid, diseño gráfico