WPML

Aprenda a traducir shortcodes de plugins, temas y los que usted mismo desarrolle con WPML.

Con WPML, puede traducir tanto shortcodes basados en texto como basados en ID. Los shortcodes basados en texto generan texto, como este:

[goodmorning name="Dear client"]

Por otro lado, los shortcodes basados en ID generan un elemento utilizando su número de ID:

[myslider id="1"]
[myslider id="2"]

Aquí, cada shortcode está generando un slider diferente. Por ejemplo, uno puede generar un slider en inglés y el otro en español.

Para traducir el shortcode, reemplazaría el ID de un slider por el otro (p. ej., 1 → 2).

Traducir shortcodes de plugins y temas compatibles

Para traducir shortcodes de plugins y temas compatibles, vaya a WPMLTraducciones y envíe la página que contiene su shortcode a traducir. Su shortcode aparecerá en el Editor de traducción avanzado junto con el resto del contenido de su página.

Por ejemplo, así es como aparece el siguiente shortcode en el editor:

[goodmorning name="Dear client"]
Traducir un shortcode basado en texto en el Editor de traducción avanzado
Traducir un shortcode basado en texto en el Editor de traducción avanzado

Si su shortcode incluye un atributo de enlace (URL), estará en la lista con los demás campos desde el momento en que se abre el trabajo. En una página larga, utilice la barra de búsqueda para ir directamente a él.

Traducir los atributos de enlace de un shortcode en el Editor de traducción avanzado
Traducir los atributos de enlace de un shortcode en el Editor de traducción avanzado

Traducir shortcodes de plugins y temas no compatibles

Para traducir shortcodes de plugins y temas no compatibles, primero debe registrarlos en el archivo de Configuración XML personalizada de WPML.

Considere este ejemplo con dos shortcodes:

[fanpage link="https://example.com"]Some content[/fanpage]
[goodmorning name="dear client" type="official"]

Para registrar estos shortcodes en WPML, utilizaremos el siguiente código de configuración:

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>goodmorning</tag>
      <attributes>
        <attribute>name</attribute>
        <attribute>type</attribute>
      </attributes>
    </shortcode>
    <shortcode>
      <tag label="Fanpage shortcode">fanpage</tag>
      <attributes>
        <attribute>link</attribute>
      </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

Así es como funciona la configuración en WPML:

  • Coloque todos los shortcodes dentro de <shortcodes>
  • Envuelva la configuración de cada shortcode individual dentro de <shortcode>
  • Defina los nombres de los shortcodes con <tag> e incluya etiquetas personalizadas según sea necesario. Estas etiquetas se muestran junto al texto en el Editor de traducción avanzado.
  • Defina el título de cada atributo con <attribute>
  • Envuelva todos los atributos con <attributes>

Una vez que registre sus shortcodes, puede traducirlos junto con el resto del contenido de la página a través de WPMLTraducciones.

Traducir shortcodes personalizados

Para traducir los shortcodes personalizados que usted mismo desarrolle, primero debe registrarlos en WPML. Una vez hecho esto, puede traducirlos junto con el resto del contenido de la página.

Traducir textos fijos en el código dentro de los shortcodes

Por defecto, los textos fijos en el código no son traducibles en WPML. Para hacerlos traducibles, puede utilizar el framework Gettext. Considere este ejemplo, con “Good morning” como texto fijo en el código:

function goodmorning_att($atts) {
    $default = array(
        'name' => 'there',
    );
    $a = shortcode_atts($default, $atts);
    return 'Good morning, '.$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');

Para hacer que “Good morning” sea traducible, puede ajustar el código para usar Gettext:

function goodmorning_att($atts) {
    $default = array(
        'name' => 'there',
    );
    $a = shortcode_atts($default, $atts);
    return __('Good morning, ', 'default').$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');

Esto hará que el texto “Good morning” sea traducible y lo añadirá a Traducción de cadenas.

Recursos adicionales

Para obtener más información sobre el archivo wpml-config.xml, visite la guía sobre los Archivos de configuración de idiomas. Para configurar otros elementos en WPML, consulte nuestras guías adicionales:

Escrito porAmir