Buenas tardes, estoy migrando la tienda de Prestashop a Woocommerce y he hecho una instalación de Wordpress con el asistente de Webempresa. Tengo el tema de Xstore. He instalado el plugin de Loco translate para traducir algunas cadenas y en principio todo funciona bien pero tengo un problema con los shortcodes de mi cuenta: en la pantalla de edición (backend) me muestra la traduccion, pero en la pantalla del usuario (frontend) lo sigo viendo en inglés. Tengo el idioma de la web y del navegador en español. Debe haber "algo" que no deja mostrar el contenido traducido en el frontend.
Dejo las imágenes en los enlaces para comprobarlo.
Contenido solo visible a usuarios registrados
Hola Alba,
Estoy verificando el sitio web y no veo nada que impida la traducción, es posible que el tema esté añadiendo estas cadenas de texto de otra forma en su código y por ello locotranslate no logra traducirlas; sin embargo, al ser un tema de pago no podemos revisarlo a detalle.
Una alternativa para traducir estas cadenas de texto es a través de un código que puedes añadir en el function.php de tu tema hijo o con un plugin como code snippets. Puedes probar añadir por ejemplo:
function change_multiple_texts( $translated ) {
$text = array(
'Dashboard' => 'Escritorio',
'Orders' => 'Pedidos',
'Downloads' => 'Descargas',
'Payment methods' => 'Metodos de pago',
'Account details' => 'Detalles de tu cuenta',
'Log out' => 'Cerrar sesion',
);
$translated = str_ireplace( array_keys( $text ), $text, $translated );
return $translated;
}
add_filter( 'gettext', 'change_multiple_texts', 20 );
Puedes revisar más detalles sobre este código y como funciona en el siguiente artículo que tenemos disponible -> https://www.webempresa.com/blog/traducir-o-reemplazar-textos-en-wordpress-a-traves-de-tu-function-php.html
Pruébalo y nos comentas como va todo
Un Saludo
@karen gracias por su respuesta.
Efectivamente, de esta forma se traducen las cadenas, añadiendo este código en functions.php pero, no obstante, en ese apartado de "mi cuenta" hay otras cadenas que tampoco traduce, he ido incorporando algunas a este archivo php pero no entiendo que estas traducciones estén en Loco translate, en el tema, y no obstante no haga caso.
¿No hay otra opcion que sea por culpa del tema? ¿Y no hay forma de acceder a los shortcodes?
Muchas gracias!
Hola Alba,
Comentanos cuales son estas otras cadenas que no se traducen, las cadenas anteriores son meramente de la sección de mi cuenta de WooCommerce; sin embargo, envíanos detalles sobre los otros textos que no se modifican para revisarlo con detalle.
Un Saludo
@karen Pues en ese mismo menú, "Addresses" no se traduce (aunque lo he añadido).
Dentro de "Pedidos" el estado del pedido ("processing" por ejemplo) y el precio y el número de artículos (ver aquí). O en la opcion de las descargas: "No Descargas available yet" (porque sí que ha traducido "descargas" aqui).
Hola Alba,
Estas cadenas las puedes está modificando tanto el tema como un plugin en específico, revisa si añadiendo este código estas cadenas si se logran traducir.
/*traducir cadenas woo*/
function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Addresses' :
$translated_text = __( 'Direcciones', 'woocommerce' );
break;
case 'No Descargas available yet.' :
$translated_text = __( 'No hay descargas disponibles aun', 'woocommerce' );
break;
// aquí podemos añadir mas bloques de traducción
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );
Un saludo
@karen gracias de nuevo.
Pues la frase sí que la traduce pero "Adresses" sigue sin hacerlo.
Hola Alba,
Como te comenta Karen es posible que el tema este agregando esto, ya tendrías que consultarlo con soporte del tema al ser de pago no podemos hacer una instalación propia y verificar lo que nos comentas, sino te funciona este código personalizado quizás uno de nuestros colaboradores pueda generar uno a medida para hacer este cambio:
https://www.webempresa.com/directorio-colaboradores.html
Un saludo 🖐️