WPML

Esta página existe para o resto: temas e plugins menos populares, versões muito recentes em que o autor lançou antes que a compatibilidade do WPML fosse atualizada, e um pequeno número de ajudantes genéricos para sites que apresentam sintomas específicos. A maioria dos clientes nunca vem aqui. Quando você vem, geralmente é porque o Suporte do WPML o direcionou a uma opção específica ou a um wpml-config.xml para colar.

Duas subpáginas de Configurações cobrem a compatibilidade, e esta página cobre ambas:

  • WPMLConfiguraçõesCompatibilidade contém as opções para sintomas comuns.
  • WPMLConfiguraçõesConfiguração XML personalizada é onde você escreve seu próprio wpml-config.xml – descrito na segunda metade desta página.

A interface para os padrões mais comuns (preferências de tradução por tipo de post, por taxonomia, por campo) fica em uma página separada de Configurações coberta em O que é traduzido – e o que não é; a maioria dos clientes usa essa interface e só vem aqui quando ela não atende ao que precisam.

Opções de compatibilidade

Abra WPMLConfiguraçõesCompatibilidade.

A página tem quatro cartões. Cada cartão visa uma classe específica de problema de compatibilidade.

Opções de localização – para temas e plugins cujas traduções não carregam

Quando um tema ou plugin já inclui suas próprias traduções de interface (arquivos .mo em uma pasta /languages/), mas essas traduções não aparecem no seu site, o cartão de Opções de localização tem três opções que ajudam o WPML a encontrá-las e aplicá-las.

  • Carregar automaticamente o arquivo .mo do tema usando load_textdomain. Força o WPML a chamar load_textdomain() para o text domain do tema. Use quando as traduções do tema estão no disco, mas não aparecem.
  • Inserir textdomain. Substitui o text domain detectado automaticamente. Alguns temas registram seu text domain de maneiras não padronizadas; este campo permite que você o especifique explicitamente.
  • Usar text domains do tema ou plugin quando as chamadas gettext não usarem uma string literal. Um sinalizador de compatibilidade para temas/plugins que usam chamadas __() com argumentos variáveis em vez de strings literais. O WPML não pode detectá-las automaticamente, e essa opção o ajuda a aplicar as traduções mesmo assim.

Se o Suporte do WPML direcionar você para cá, eles dirão qual opção e qual textdomain configurar.

Faça com que os temas funcionem em modo multilíngue

Ajustar IDs para funcionalidade multilíngue. Uma camada de compatibilidade para temas que codificam suposições de idioma único (por exemplo, um tema que armazena um “ID de imagem destacada” uma vez e usa a mesma imagem em todos os idiomas).

A maioria dos temas modernos compatíveis com o WPML não precisa disso. Temas mais antigos ou menos cientes do WPML às vezes precisam. Ative-a se você vir referências de conteúdo (imagens, menus, itens em destaque) vazando incorretamente entre os idiomas.

Filtragem de idioma para operações AJAX

Armazenar um cookie de idioma para suportar a filtragem de idiomas para AJAX. Alguns plugins usam AJAX para buscar conteúdo: listagens de produtos filtradas, listas de posts paginadas por AJAX, resultados de pesquisa conforme você digita. Sem um cookie de idioma, o endpoint AJAX não sabe em qual idioma responder e retorna resultados no idioma errado.

Ative o cookie se você vir este sintoma: visitantes na página em francês recebem resultados em inglês de seções carregadas por AJAX. É uma correção de uma única caixa de seleção para toda uma classe de bugs.

Páginas de login e registro

Permitir a tradução das páginas de login e registro. O /wp-login.php integrado do WordPress e a tela de registro não fazem parte do conteúdo regular que o WPML traduz. Eles vivem fora da cadeia de templates do tema. Esta opção os adiciona ao conjunto de páginas traduzíveis do WPML.

Se o seu site roda em nginx, a opção também requer um ajuste na configuração do servidor. A página tem um link para o guia de nginx do WPML com o bloco de configuração exato.

Textos de temas e plugins – configurações aqui, analisador em outro lugar

Dois tipos de trabalho com strings de temas/plugins se dividem em duas telas:

  • As configurações nesta página. Elas lidam com a compatibilidade para traduções que o tema/plugin já inclui: load_textdomain, substituição de textdomain, gettext não literal.
  • O analisador tem sua própria tela. Quando você precisar encontrar strings de temas e plugins que ainda não estão registradas para tradução, use a tela Tradução de textos de administração. Ela é acessada a partir da aba Strings em Traduções, na seção “não está vendo as strings que você está procurando?”.

Para o fluxo de trabalho completo de análise de strings, veja Traduzindo strings.

wpml-config.xml personalizado

Temas e plugins compatíveis com o WPML vêm com um arquivo wpml-config.xml que diz ao WPML exatamente quais dos seus campos, tipos de post, taxonomias, shortcodes e chaves meta devem ser traduzíveis. O WPML o lê na ativação. Para todos os principais e mais populares temas e plugins, isso significa que a tradução funciona corretamente pronta para usar. Você não precisa fazer nada.

Quando o wpml-config.xml que vem com um tema ou plugin não é suficiente para o seu site, você escreve o seu próprio. O WPML o aplica por cima de qualquer coisa que o tema ou plugin forneça.

Quando você escreveria seu próprio wpml-config.xml

Três cenários.

  • Um campo que você precisa traduzir não está no wpml-config.xml fornecido. O autor do tema ou plugin não declarou um campo personalizado como traduzível, mas você precisa dele traduzido no seu site.
  • Um campo tem o padrão errado. O wpml-config.xml fornecido marca algo como Copiar e você quer Traduzir, ou vice-versa.
  • Você está construindo um tema ou plugin personalizado e quer declarar seu comportamento de tradução a partir da página de Configurações do WPML em vez de empacotar um arquivo wpml-config.xml com seu código.

Em todos os casos, o Suporte do WPML pode direcionar você para cá com o wpml-config.xml exato para colar. Principalmente é uma ação orientada pelo Suporte, ocasionalmente uma orientada pelo desenvolvedor.

Por que editar o wpml-config.xml no painel de administração do WPML em vez de no arquivo do tema

Você poderia editar o próprio wpml-config.xml do tema ou plugin diretamente. Mas essa alteração é perdida na próxima vez que o tema ou plugin for atualizado. O editor no painel de administração do WPML em WPMLConfiguraçõesConfiguração XML personalizada sobrepõe seu wpml-config.xml ao que o tema ou plugin fornece, e sobrevive a atualizações. É o lugar certo para ajustes específicos do site.

A estrutura de um wpml-config.xml

A página é um editor XML. Cole um bloco <wpml-config>...</wpml-config>, salve, e o WPML aplica o seu wpml-config.xml.

Um wpml-config.xml mínimo declarando um shortcode como traduzível:

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>add_to_cart_link</tag>
    </shortcode>
  </shortcodes>
</wpml-config>

Os tipos de elementos que você normalmente declararia:

  • <custom-fields>. Marca um campo personalizado como translate, copy, copy-once ou nothing.
  • <custom-types>. Declara um tipo de post personalizado como traduzível.
  • <taxonomies>. Declara uma taxonomia personalizada como traduzível.
  • <shortcodes>. Lista shortcodes cujo conteúdo o WPML deve traduzir.
  • <custom-term-fields>. Para metadados de termo.

Cada elemento tem seus próprios atributos (por exemplo, action="translate" em um campo personalizado). Para a referência completa do wpml-config.xml (cada elemento, cada atributo, cada valor permitido), veja as Informações para desenvolvedores do WPML.

Um fluxo de trabalho prático

Se o Suporte do WPML der a você um bloco wpml-config.xml para colar:

  1. Abra WPMLConfiguraçõesConfiguração XML personalizada.
  2. Cole o XML deles dentro do bloco <wpml-config> existente (ou substitua o conteúdo se eles tiverem dado a você o bloco completo).
  3. Salve.
  4. O WPML aplica o seu wpml-config.xml imediatamente. Se ele declarar um novo tipo de post ou campo traduzível, a entrada aparecerá em WPMLConfiguraçõesTradução de tipos de post ou WPMLConfiguraçõesTradução de campos personalizados na mesma hora.

Se você está construindo um tema ou plugin personalizado e quer fornecer sua configuração do WPML com o código, você colocaria o mesmo bloco <wpml-config> em um arquivo wpml-config.xml na raiz do seu tema ou plugin em vez disso. O WPML o lê na ativação. O editor no painel de administração é para ajustes específicos do site; o arquivo empacotado é para os próprios padrões do tema/plugin.

Escrito porAmir

Escrito porAmir