This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

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

Problem: <DFD Native Theme]: Los componentes Icon List y Gradation no son traducibles. Solution: Los componentes no estan marcados como compatibles. Ha sido necesario proporcionar la configuración adecuada para hacerlos compatibles por parte del equipo de Compatiblidad. Se debe modificar la configuración XML de WPML y añadir código en functions.php tal y como se explica aquí: https://wpml.org/forums/topic/icon-list-component-cant-be-translated/page/2/#post-3745061

This topic contains 19 replies, has 2 voices.

Last updated by openbravoS 5 months, 2 weeks ago.

Assigned support staff: Oscar Miras.

Author Posts
April 24, 2019 at 6:45 am #3669595

openbravoS

Hi,

first of all, we are already trying to fix this with Andreas (https://wpml.org/forums/users/andreas-w/) from your team, but due to the timezone difference, it is being difficult and it is now urgent (we are in Spain he is in LATAM). So let me see whether you can help us from a closer zone. The ticket we created was this: https://wpml.org/forums/topic/split-wpbakery-traducciones-no-conservan-el-diseno-del-documento-original/

We are using WPML and it works well except for 2 components. We are using Native theme (DFD Native Ver. 1.4.2) and WPBakery Page Builder.

These 2 components are "Icon List" and "Gradation". They are basically a list of text elements. When we try to translate a page with them, WPML captures the whole content, but it is not able to identify each text element individually, making it impossible for us to use it for their translations.

Below you can see an example of what the "Advanced Translation Editor" captures for an "Icon List" (similar case with Gradation, although this less critical for us since we only have one page with that component; "Icon Lists" are present in a lot of pages). I also attach the image showing the information that is presented with that "Icon List" (the list of bullets). What we would like is the translation editor to present each of these elements individually in different fields.

%5B%7B%22icon_type%22%3A%22selector%22%2C%22select_icon%22%3A%22dfd_icons%22%2C%22ic_dfd_icons%22%3A%22dfd-socicon-check%22%2C%22text_content%22%3A%22Evaluate%2C%20plan%20and%20demonstrate%20the%20value%20Openbravo%20solutions%20can%20provide%20to%20your%20business%22%7D%2C%7B%22icon_type%22%3A%22selector%22%2C%22select_icon%22%3A%22dfd_icons%22%2C%22ic_dfd_icons%22%3A%22dfd-socicon-check%22%2C%22text_content%22%3A%22Optimize%20your%20business%20process%20definition%20and%20configuration%20activities%20with%20the%20help%20of%20Openbravo%20experts%20from%20a%20variety%20of%20business%20areas%22%7D%2C%7B%22icon_type%22%3A%22selector%22%2C%22select_icon%22%3A%22dfd_icons%22%2C%22ic_dfd_icons%22%3A%22dfd-socicon-check%22%2C%22text_content%22%3A%22Appropriately%20configure%20the%20whole%20Openbravo%20stack%20for%20higher%20system%20performance%20%22%7D%5D

The site is still in development but we have a copy of it that you could access (we refreshed it yesterday).

Thanks,

Xavi

April 24, 2019 at 9:53 am #3671289

Oscar Miras

Hi,

Welcome to the WPML support team.

I would like to point out that these components are not compatible-ready with WPML.
https://wpml.org/documentation/plugins-compatibility/how-to-build-multilingual-sites-with-wpbakery-page-builder-and-wpml/#supported-modules

However, we may make it work through some configuration. Can you confirm on what page are you using the "Icon List" components?

I'm requesting access to your development site. Despite that it is a development site, please, confirm that you have a full backup of your site before providing me with working credentials.

Related documentation:
https://wpml.org/documentation/support/maintaining-wpbakery-page-builder-compatibility-with-wpml/

Thank you for your collaboration,
Óscar.

April 24, 2019 at 11:59 am #3672379

Oscar Miras

Hola,

De acuerdo, podemos continuar en español.

Os confirmo que he podido acceder a la Web de desarrollo sin problemas.

En cuanto tenga algún resultado os informaré al momento.

Un saludo,
Óscar.

April 24, 2019 at 3:11 pm #3674503

Oscar Miras

Hola de nuevo,

Estoy trabajando para conseguir la compatibilidad de los componentes. Necesitaria acceder al fichero functions.php, por lo que os voy a pedir acceso FTP al servidor de desarrollo.

Es posible que se pueda hacer traducible el componente Icon List siguiendo esta documentación: https://wpml.org/documentation/support/translating-urlencoded-shortcodes/

Gracias y un saludo,
Óscar.

April 24, 2019 at 5:02 pm #3675445

openbravoS

Buenas,
Te paso los datos del ftp para acceder:
Conexion activa (pasiva no esta configurada)
Dentro ya puedes navegar hasta los ficheros que necesitas

April 25, 2019 at 8:18 am #3680001

Oscar Miras

Hola,

He podido acceder al FTP, muchas gracias.
Sin embargo, no puedo actualizar los ficheros. Parece que es un problema de permisos.

Necesitaria tener permisos de escritura sobre el FTP, pues necesito modificar los archivos, en concreto, functions.php.

Muchas gracias,
Óscar.

April 25, 2019 at 10:13 am #3681021

openbravoS

Buenas Oscar,
Ya tienes permisos de escritura
Saludos

April 26, 2019 at 9:09 am #3689089

openbravoS

Hola Óscar, solo confirmar que no necesitas más por nuestra parte por ahora.

Gracias, Xavi

April 26, 2019 at 10:21 am #3689721

Oscar Miras

Hola Xavi,

Sí, ahora si que puedo acceder sin problema y actualizar los archivos.

Voy a escalar el ticket al equipo de compatibilidad, puesto que estos dos componentes, a priori no compatibles con WPML, necesitan de una revisión más profunda para hacerlos traducibles. Es posible que el equipo se deba poner en contacto con los creadores de WP Bakery Builder.

De momento, me gustaría que dejaráis activo el sitio de test, pues voy a duplicar la site a nuestros servidores para tener un mayor control.Te mantendré informado del progeso a medida que tenga noticias.

Siento la espera y gracias por vuestra paciencia.
Un saludo,
Óscar.

April 30, 2019 at 8:34 am #3709483

openbravoS

Hola Óscar, buenos días. Supongo que aún trabajando en el ticket con vuestro equipo. Nos pasaron ayer de la empresa de traducción ya todos los textos para poder realizar las traducciones de las páginas. Era por confirmar si tienes visibilidad de cuando podríamos tener algo a probar para saber si esperar o de momento no contar con esto. Gracias.

April 30, 2019 at 9:18 am #3709973

Oscar Miras

Hola buenos días,

Perdonad la espera, justo ahora estaba trabajando en vuestro tiquet.
Sí, confirmar que el caso ha sido escalado al equipo de compatibilidad y ya estan trabajando en ello.

Se han realizado pruebas adicionales, como intentar traducir los componentes Icon List y Gradiation en nuevas páginas en vez de intentar traducir los ya existentes, para ver si en este caso sí funcionaba la nueva configuracion XML y la modificación de functions.php; pero el resultado no ha sido satifactorio.

Lamentablemente, no me es posible dar una fecha aproximada de cuanto tiempo puede llevar esto. He comprobado que en realidad los componentes adicionales de Visual Composer corresponden al tema DFD Native. Esto es solo una apreciación: es posible que deban trabajar con el autor del tema para hacer que dichos componentes sean compatibles, y ello puede llevar un tiempo adicional.

En cuanto tenga nueva información sobre el progeso del caso les informaré. Si necesitan alguna otra aclaración o petición no duden en formularla.

Gracias por su paciencia.
Óscar.

May 2, 2019 at 1:20 pm #3724819
openbravoS

Gracias Óscar, esperamos entonces. Mientras avanzaremos aplicando las traducciones a estos componentes sin el editor.

Una pregunta relacionada. Tenemos activada la opción de Custom Header en el tema, pero al crear la traducción este no aparece correctamente ya que no copia la imagen que hemos añadido al header. En el entorno maestro hemos activado "dfd_headers_header_style" para que se traduzca (en los settings de WPML; esto no está en el entorno de copia, por tenerlos ambos iguales) y ahora muestra al menos en header con el título, pero mantiene el fondo por defecto que tenemos del tema (todo verde), si copiar la imagen de la página en inglés original. Alguna idea?

Gracias,

xavi

New threads created by Oscar Miras and linked to this one are listed below:

https://wpml.org/forums/topic/dfd-native-theme-custom-header-does-not-copy-background-image-to-translated-pages/

May 3, 2019 at 8:10 am #3732019

openbravoS

Óscar, este tema último solucionado. Faltaba una configuración en los settings. Ya nos iréis informando de cómo avanza el tema.

Gracias,

Xavi

May 3, 2019 at 9:07 am #3732455

Oscar Miras

Hola Xavi,

Había creado un hilo aparte pero ya lo he cerrado.
Perfecto, seguimos enfocados en este problema, te mantengo informado.

Saludos,
Óscar.

May 6, 2019 at 6:38 am #3745061

Oscar Miras

Hola Xavi,

El equipo de Compatibilidad ha establecido cuál es la configuración adecuada para hacer los componentes Icon List y Gradiation traducibles. Por favor, seguid estos pasos:

1. En WPML > Settings. Pestaña XML Configuration: Substituye los shortcodes que tengáis para dfd_icon_list y dfd_gradation por los siguientes:

        <shortcode>
            <tag>dfd_icon_list</tag>
            <attributes>
                <attribute type="area" encoding="urlencoded_json">list_fields</attribute>
            </attributes>
        </shortcode>
        <shortcode>
            <tag>dfd_gradation</tag>
            <attributes>
                <attribute type="area" encoding="urlencoded_json">list_fields</attribute>
            </attributes>
        </shortcode>

2. Al final del archivo functions.php de vuestro tema, añadir (o substituir) las siguientes líneas. Ten en cuenta que si queréis hacer la prueba previa en vuestro sitio Web de desarrollo, es posible que haya código antiguo de nuestro equipo. Por ello, asegúrate por favor de substituirlo por este:

add_filter( 'wpml_pb_shortcode_encode', 'wpml_pb_shortcode_encode_urlencoded_json', 10, 3 );
function wpml_pb_shortcode_encode_urlencoded_json( $string, $encoding, $original_string ) {
    if ( 'urlencoded_json' === $encoding ) {
        $output = array();
        foreach ( $original_string as $combined_key => $value ) {
            $parts = explode( '_', $combined_key );
            $i = array_pop( $parts );
            $key = implode( '_', $parts );
            $output[ $i ][ $key ] = $value;
        }
        $string = urlencode( json_encode( $output ) );
    }
    return $string;
}
 
add_filter( 'wpml_pb_shortcode_decode', 'wpml_pb_shortcode_decode_urlencoded_json', 10, 3 );
function wpml_pb_shortcode_decode_urlencoded_json( $string, $encoding, $original_string ) {
    if ( 'urlencoded_json' === $encoding ) {
        $rows = json_decode( urldecode( $original_string ), true );
        $string = array();
        foreach ( $rows as $i => $row ) {
            foreach ( $row as $key => $value ) {
            if ( in_array( $key, array('title', 'features', 'substring', 'btn_text', 'text_content', 'block_title', 'block_content', 'y_values', 'block_subtitle' ) ) ) {
                    $string[ $key . '_' . $i ] = array( 'value' => $value, 'translate' => true );
                } else {
                    $string[ $key . '_' . $i ] = array( 'value' => $value, 'translate' => false );
                }
            }
        }
    }
    return $string;
}

3. Prueba de actualizar la traducción de una de las páginas con alguno de estos componentes. En caso de que no te aparezcan los campos a traducir, prueba lo siguiente: abres la página en el idioma por defecto con el WP Bakery Builder y la guardas. Luego cierras el editor visual de WP Bakery Builder y procedes a traducir o actualizar la traducción de la página. Ahora sí deberían aparecerte los campos de Icon List y Gradation para traducir.

Espero que esto solucione el problema. En caso que tengáis cualquier duda poneos en contacto conmigo de nuevo.

Un cordial saludo,
Óscar.