Buenos días.
Hemos modifica una plantilla de uno de los emails que se envían a los clientes (procesando pedido).
Concretamente queríamos quitar la parte "Just to let you know" (' Just to let you know we\'ve received your order #%s, and it is now being processed:'). La hemos quitado y ya no se traducía esta frase. Luego la hemos vuelto a poner y tampoco se traducia.
A partir de ahí ese texto ya no se traduce al español. Sale en ingles que es tal y como esta en la plantilla.
El resto del email si que se traduce.
Adjunto ejemplo.
Este es el html:
<?php
/**
* Customer processing order email
*
* This template can be overridden by copying it to yourtheme/woocommerce/emails/customer-processing-order.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce\Templates\Emails
* @version 3.7.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/*
* @hooked WC_Emails::email_header() Output the email header
*/
do_action( 'woocommerce_email_header', $email_heading, $email ); ?>
<?php /* translators: %s: Customer first name */ ?>
<p><?php printf( esc_html__( 'Hi %s,', 'woocommerce' ), esc_html( $order->get_billing_first_name() ) ); ?></p>
<?php /* translators: %s: Order number */ ?>
<p><?php printf( esc_html__( ' we\'ve received your order #%s, and it is now being processed:', 'woocommerce' ), esc_html( $order->get_order_number() ) ); ?></p>
<?php
/*
* @hooked WC_Emails::order_details() Shows the order details table.
* @hooked WC_Structured_Data::generate_order_data() Generates structured data.
* @hooked WC_Structured_Data::output_structured_data() Outputs structured data.
* @since 2.5.0
*/
do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );
/*
* @hooked WC_Emails::order_meta() Shows order meta data.
*/
do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email );
/*
* @hooked WC_Emails::customer_details() Shows customer details
* @hooked WC_Emails::email_address() Shows email address
*/
do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );
/**
* Show user-defined additional content - this is set in each email's settings.
*/
if ( $additional_content ) {
echo wp_kses_post( wpautop( wptexturize( $additional_content ) ) );
}
/*
* @hooked WC_Emails::email_footer() Output the email footer
*/
do_action( 'woocommerce_email_footer', $email );
Contenido solo visible a usuarios registrados
Hola Roberto,
En este caso puedes indicarnos como estas realizando las traducciones, si es posible envíanos algunas capturas como realizas el proceso, de igual forma puedes revisar si con algún plugin logras modificar la plantilla como deseas, por ejemplo -> https://wordpress.org/plugins/yaymail/
Con este plugin una vez lo instalas solo debes ir a WooCommerce -> Email customizer y seleccionar la plantilla que deseas editar
Un Saludo
Hola Karen.
Nosotros tenemos instalado el plugin de GTranslate para la traducción al ingles de toda la web.
Como habrás visto en mi ejemplo la plantilla la tenemos en ingles y al enviarse el correo sale traducido.
Lo que no se si en la traducción interviene el GTranslate u otra cosa.
Simplemente hemos modificado el texto y luego lo hemos vuelto como estaba y ya no hay forma que lo traduzca.
¿que puede estar pasando?
gracias
Hola Roberto.
Lo que no se si en la traducción interviene el GTranslate u otra cosa.
El plugin GTranslate no influye en los correos.
Puedes modificar el Email con el plugin que te indico mi compañera:
-> https://wordpress.org/plugins/yaymail/
Con este plugin una vez lo instalas solo debes ir a WooCommerce -> Email customizer y seleccionar la plantilla que deseas editar
Un saludo
Hola Pepe
Pero, porque ocurre esto.
No me gustaría tener que instalar otro plugin solo por eso ya que entiendo que es una operación muy simple y que debería funcionar
¿no crees?
Hola Roberto,
En este caso necesitarás realizar directamente el cambio del texto en la plantilla desde tu cuenta de wepanel, para verificar esto accede a WooCommerce -> Ajustes -> Correos electrónicos y pulsa en gestionar el correo de procesado tu pedido
Dentro de este revisa las rutas que te indica WooCommerce y lo que tienes que realizar
Debes editar la plantilla y eliminar o traducir la línea que deseas, por ejemplo
<p><?php printf( esc_html__( ' we\'ve received your order #%s, and it is now being processed:', 'woocommerce' ), esc_html( $order->get_order_number() ) ); ?></p>
Revisa estas opciones y nos comentas como ha ido todo
Un Saludo
Hola @karen
Lo hemos hecho como has dicho, lo hemos traducido nosotros al español y así si que sale en español.
Pero claro, nos ha quedado la duda de porque ocurre esto, es decir, que lo cambias en ingles (que es como esta) y luego ya no lo traduce.
No sabemos el motivo.
Que tal Roberto,
Es necesario tener presente que el plugin que estas utilizando para traducir el contenido de tu web lo hace en base a traducciones dinámicas, esto sin embargo no involucra el contenido codificado que pueda tener otras herramientas en uso como es el caso de Woocommerce, por lo que tienes dos alternativas
1-Utilizar un plugin de personalización de los correos como ya te lo compartieron mis compañeros
2-Hacer la edición directamente en el codigo que estructuran las plantillas correspondientes a las notificaciones que salen de woocommerce
Si lo has podido modificar nos comentas si podemos dar el tema por resuelto
Saludos!
Hola.
Lo hemos resuelto haciendo la edición de las plantillas (punto 2)
Pero lo hemos tenido que poner en español ya que si lo dejamos en ingles no traduce como lo hacia hasta ese momento.
Hola Roberto.
Me alegra que lo solucionaras.
Cualquier consulta que tengas no dudes en comunicarlo.
Un saludo