WPML

Aprenda como traduzir shortcodes de plugins, temas e aqueles que você mesmo desenvolve com o WPML.

Com o WPML, você pode traduzir tanto shortcodes baseados em texto quanto baseados em ID. Os shortcodes baseados em texto geram texto, como este:

[goodmorning name="Dear client"]

Por outro lado, os shortcodes baseados em ID geram um elemento usando o seu número de ID:

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

Aqui, cada shortcode está gerando um slider diferente. Por exemplo, um pode gerar um slider em inglês e o outro em espanhol.

Para traduzir o shortcode, você substituiria o ID de um slider pelo outro (1 → 2, por exemplo).

Traduza shortcodes de plugins e temas compatíveis

Para traduzir shortcodes de plugins e temas compatíveis, vá para WPMLTraduções e envie a página que contém o seu shortcode para tradução. Seu shortcode aparecerá no Editor de tradução avançado junto com o restante do conteúdo da sua página.

Por exemplo, veja como o seguinte shortcode aparece no editor:

[goodmorning name="Dear client"]
Traduzindo um shortcode baseado em texto no Editor de tradução avançado
Traduzindo um shortcode baseado em texto no Editor de tradução avançado

Se o seu shortcode incluir um atributo de link (URL), ele estará na lista com todos os outros campos desde o momento em que o trabalho for aberto. Em uma página longa, use a barra de pesquisa para encontrá-lo.

Traduzindo atributos de link de shortcode no Editor de tradução avançado
Traduzindo atributos de link de shortcode no Editor de tradução avançado

Traduza shortcodes de plugins e temas não compatíveis

Para traduzir shortcodes de plugins e temas não compatíveis, primeiro você precisa registrá-los no arquivo de Configuração XML personalizada do WPML.

Considere este exemplo com dois shortcodes:

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

Para registrar esses shortcodes no WPML, usaremos o seguinte código de configuração:

<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>

Veja como a configuração funciona no WPML:

  • Coloque todos os shortcodes dentro de <shortcodes>
  • Envolva as configurações individuais do shortcode dentro de <shortcode>
  • Defina os nomes dos shortcodes com <tag> e inclua rótulos personalizados conforme necessário. Esses rótulos são exibidos ao lado do texto no Editor de tradução avançado.
  • Defina o título de cada atributo com <attribute>
  • Envolva todos os atributos com <attributes>

Depois de registrar seus shortcodes, você pode traduzi-los junto com o restante do conteúdo da página em WPMLTraduções.

Traduza shortcodes personalizados

Para traduzir shortcodes personalizados que você mesmo desenvolve, primeiro você precisa registrá-los no WPML. Depois disso, você pode traduzi-los junto com o restante do conteúdo da página.

Traduza textos hardcoded dentro de shortcodes

Por padrão, textos hardcoded não são traduzíveis no WPML. Para torná-los traduzíveis, você pode usar o framework Gettext. Considere este exemplo, com “Good morning” como texto hardcoded:

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

Para tornar “Good morning” traduzível, você pode ajustar o código para usar o 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');

Isso tornará o texto “Good morning” traduzível e o adicionará à Tradução de Strings.

Recursos adicionais

Para saber mais sobre o arquivo wpml-config.xml, visite o guia sobre Arquivos de configuração de idiomas. Para configurar outros elementos no WPML, consulte nossos guias adicionais:

Escrito porAmir