Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

El problema: Estoy intentando traducir un texto que se encuentra en este código hecho con el plugin code snipet pero al buscarlo en WPML no me sale.

La solución: - Detecta el idioma. - Llama una función por idioma.

Documentación: https://wpml.org/forums/topic/i-cant-see-translation-for-code-snippet-plugin/

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Etiquetado: 

This topic contains 8 respuestas, has 2 mensajes.

Last updated by paulaL-6 hace 1 month, 3 weeks.

Assigned support staff: Andrés.

Autor Mensajes
noviembre 22, 2020 a las 6:33 pm #7503423

paulaL-6

Buenas tardes,

Estoy intentando traducir un texto que se encuentra en este código hecho con el plugin code snipet pero al buscarlo en WPML no me sale. Os muestro el código:

// Añadir dto y porcentaje de dto en Woocommerce
add_filter( 'woocommerce_get_price_html', 'change_displayed_sale_price_html', 10, 2 );
function change_displayed_sale_price_html( $price, $product )
{ if( $product->is_on_sale() && ! is_admin() && ! $product->is_type('variable')){ $regular_price = (float) $product->get_regular_price(); $sale_price = (float) $product->get_price(); $saving_price = wc_price( $regular_price - $sale_price ); $precision = 1; $saving_percentage = round( 100 - ( $sale_price / $regular_price * 100 ), 1 ) . '%'; $price .= sprintf( __('<br><small><span class="snippet-dto-ahorro">Ahorras:</span> <span class="snippet-dto-precio">%s</span> <span class="snippet-dto-porcentaje">(%s)</span></small>', 'woocommerce' ), $saving_price, $saving_percentage ); } return $price; }

El texto a traducir es:

__('<br><small><span class="snippet-dto-ahorro">Ahorras:</span>...

¿Hay alguna cosa que esté haciendo mal?

¡Gracias!

noviembre 23, 2020 a las 7:06 am #7505795

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+01:00)

Hola,

Bienvenida al soporte de WPML.

El código parece correcto. Ahora, habría que ver si el plugin de snippets que utilizas es compatible o si ya ha sido registrado.

- Ve a "WPML -> Localización de temas y plugins".
- En la misma página, en "Cadenas de tema" y selecciona “Analizar el tema para buscar cadenas".
- Baja a la parte "Cadenas de plugins".
- Selecciona el plugin Code Snippets.
- Da click en "Buscar cadenas en plugins seleccionados".
- Una vez hayas seguido estos pasos, ve a "WPML -> Traducción de cadenas".

Documentación:
https://wpml.org/es/documentation-2/guia-de-inicio/traduccion-de-cadenas/

Un saludo,
Andrés

noviembre 23, 2020 a las 2:12 pm #7509853

paulaL-6

Hola!

Todos estoc pasos ya los hice y nada de nada, sigue sin aparecerme el texto.

Hay alguna cosa que se me escapa...

noviembre 23, 2020 a las 4:34 pm #7511303

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+01:00)

Hola,

Tu plugin Code Snippets no se encuentra en nuestra lista de compatibilidad. Sin embargo esto no significa necesariamente que no lo sea, simplemente nuestro equipo no lo ha probado hasta el momento.
https://wpml.org/documentation/plugins-compatibility/

He creado un sitio de pruebas para ti. Puedes acceder a este simplemente haciendo click en en siguiente enlace:
hidden link

La idea es que instales únicamente tu plugin Code Snippets y nos ayudes a reproducir el problema. De esta manera, si efectivamente se trata de un problema de compatibilidad, podremos acelerar el proceso y contactar a nuestro Equipo de compatibilidad y trabajar con el autor en la resolución de tu problema.


No tienes que recrear tu sitio, simplemente instalar lo mínimo necesario para reproducir el problema.

Saludos

noviembre 24, 2020 a las 7:13 am #7514297

paulaL-6

Hola!

Ya he instalado el plugin y he insertado el código php correspondiente.

A ver si encontramos el problema.

Gracias!

noviembre 24, 2020 a las 7:53 am #7514429

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+01:00)

Hola,

¡Gracias por tu ayuda!
Ahora bien, el problema es que tu plugin utilizar una tabla personalizada para guardar sus snippets, wp_snippets, en lugar de la tabla wp_options como debería.
Por esta razón, estas cadenas no se registran y WPML no puede acceder a ellas.

Una solución es que adaptes tu código, detectar el idioma y llamar una función por idioma, justo como lo muestra mi compañero Diego en el siguiente ejemplo:
https://wpml.org/forums/topic/i-cant-see-translation-for-code-snippet-plugin/

Espero que sea de ayuda.
Saludos

noviembre 24, 2020 a las 12:48 pm #7516813

paulaL-6

Gracias, lo miro.

Un saludo!

noviembre 24, 2020 a las 1:19 pm #7517091

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+01:00)

¡Gracias! Espero que funciona.
Saludos

noviembre 27, 2020 a las 6:29 am #7539637

paulaL-6

My issue is resolved now. Thank you!