Como localizar e traduzir um plugin WordPress – um guia detalhado para desenvolvedores de plugins

Publicados: 2020-01-20

Ao desenvolver um plug-in, é sempre uma boa ideia prepará-lo para tradução, pois ele também pode atingir públicos que não usam o inglês como primeiro idioma. Se você estava se perguntando o quão importante é uma opção de tradução, você pode verificar o repositório e ver que todos os plugins populares estão disponíveis para localização de idioma. Você verá que esta opção está disponível com UpdraftPlus, MetaSlider, WP-Optimize, Contact Form 7 e WooCommerce, além de muitos outros. Estes são alguns dos plugins mais populares disponíveis e são codificados de forma a permitir que qualquer pessoa os traduza facilmente para seu idioma nativo.

O objetivo deste blog é demonstrar aos nossos leitores como eles podem codificar um plugin para que ele seja localizado e traduzido para qualquer idioma WordPress suportado. Por exemplo, se quisermos traduzir um plug-in para o francês, as etapas a seguir permitirão a tradução do plug-in e também o prepararão para todos os idiomas suportados do WordPress.

Começando

Ao criar um plugin, devemos ter certeza de que carregamos o domínio de texto do plugin. O WordPress fornece esta função:

load_plugin_textdomain()

Este código carregará as strings traduzidas do plugin. Pode parecer um pouco confuso, mas continue lendo e explicaremos como funciona em breve.

Primeiro, vamos dar uma olhada em como adicionar esta função ao nosso código de plugin. Na sua pasta de plugins, crie um diretório chamado 'languages'. Em seguida, adicione o código abaixo ao arquivo principal do plug-in.

 * Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );

No código acima, mantemos o primeiro parâmetro (domínio) como 'udp'. Devemos manter este nome de domínio de acordo com o nosso nome do plugin. O segundo parâmetro é padronizado como false. O terceiro parâmetro é o caminho do nosso diretório 'languages'. Este código mantém nossos arquivos de tradução prontos na inicialização do WordPress.

Uso dos métodos __() e _e()

Como pretendemos disponibilizar nosso plugin em todos os idiomas, devemos colocar todo o texto do nosso plugin dentro de:

funções __() ou _e() .

É muito fácil usar esses métodos. Ambos os métodos funcionam exatamente da mesma forma, mas há uma regra para usar ambos.

Em nosso código de plugin, normalmente temos dois tipos de texto. O primeiro é encapsulado diretamente em HTML e o segundo é exibido usando a função de eco do PHP. Abaixo estão exemplos de ambos os tipos:

Tipo 1

 <h2>My Plugin Title</h2>

Tipo 2

 <?php echo 'Minhas configurações de plugin'; ?>

A regra geral é que, se você estiver imprimindo texto usando o PHP echo, deverá agrupar o texto no seguinte código:

<code>__()</code>

Se estiver em HTML, use o código: <code>_e()</code>.

O código acima deve ser escrito da seguinte forma:

 <h2><?php _e('Título do meu plugin', 'udp'); ?></h2>

e

 <?php echo __('Minhas configurações de plugin', 'udp'); ?>

Como pode ser visto nos exemplos acima, o segundo parâmetro foi escrito como 'udp', que é o nosso domínio de texto do plugin. Ao utilizar este domínio, permite-nos posteriormente traduzir o nosso texto para qualquer idioma. É assim que outros plugins preparam a tradução de seus plugins.

Se desejar, você pode verificar nosso plugin:

UpdraftPlus

Se você pesquisar pelo domínio de texto 'updraftplus', verá como o texto do nosso plugin é encapsulado dentro das funções __() e _e() .

Criar um plug-in de exemplo

A próxima etapa é criar um plugin de exemplo com algum texto para que possamos testar nossas traduções. Primeiro, crie uma pasta 'udp' em seu diretório de plugins. Dentro desta pasta crie o arquivo: udp.php e a pasta languages . Em seguida, adicione o código abaixo ao arquivo do plugin.

udp.php

 <?php
/*
Nome do plug-in: UDP
Descrição: Este é um plug-in de amostra para testar o domínio de texto do plug-in
Autor: Equipe Editorial
Versão: 1.0
Licença: GPLv3 ou posterior
Domínio de texto: udp
Caminho do domínio: /languages
*/

if (!defined('ABSPATH')) die('Nenhum acesso direto permitido');/**
* Carregar plugin textdomain.
*/
function udp_load_textdomain() {
load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' );
}
add_action( 'init', 'udp_load_textdomain'); 

function udp_menu_page() {
add_menu_page(
__( 'Página de configuração UDP', 'udp' ),
__( 'Página de configuração UDP', 'udp' ),
'gerenciar_opções',
'udp_setting_page',
'udp_setting_page',
'',
6
);
}
add_action('admin_menu', 'udp_menu_page');

function udp_setting_page() {
?>
<h2><?php _e('Título do meu plugin', 'udp'); ?></h2>
<?php
}

Crie os arquivos de tradução

Para gerar nossos arquivos de tradução, usaremos o seguinte software editor de tradução:

POEDIT

Os arquivos de tradução (.po e .mo) contêm a string a ser traduzida e a string traduzida. Ao criar o arquivo .po, precisamos salvá-lo no formato '{domain}-language code'. Neste exemplo, o arquivo será udp-fr_FR.po .

Em seguida, instale o software POEDIT em seu sistema. Este software está disponível para todas as plataformas e pode ser instalado em Windows, Linux ou Mac.

Uma vez instalado, abra o POEDIT e vá para File->New , onde inseriremos nosso código de idioma no prompt da janela.

Clique no ícone 'Salvar', após o qual o explorador de arquivos será aberto. Vá até o diretório de idiomas de plugins e salve-o da seguinte forma: udp-fr_FR.po .

Agora podemos adicionar a tradução francesa para o texto do nosso plugin. Para fazer isso, clique na seção 'Extrair das fontes'.

Isso abrirá um pop-up de propriedades do catálogo. Agora precisamos configurar as três guias a seguir: Propriedades de tradução, Caminhos de origem e Palavras-chave de origem. Na guia Propriedades de tradução, adicione nosso domínio 'udp' como o nome do projeto. Source Paths será nossa pasta de plugins e adicionaremos '__ e _e' dentro de Source Keywords.

Se você tiver várias pastas dentro do plug-in, precisaremos escolher cada diretório individualmente.

Depois de selecionar a pasta do plugin, você verá '.' na seção Caminhos. Repita o mesmo processo para outras pastas dentro do diretório do plugin, se necessário.

Em Source Keywords, clique no ícone + e adicione '__' e '_e' como palavra-chave e clique no botão OK.

Na próxima janela, em Texto de origem, você terá todas as strings disponíveis para traduzir do seu plugin. Escolha a string uma a uma e adicione sua tradução francesa à string.

Depois de adicionar todas as traduções, clique no ícone Salvar. Isso salvará automaticamente toda a sua tradução de strings em seu arquivo udp-ft_FR.po . Seu arquivo .po agora conterá o seguinte código:

 #: udp.php:24 udp.php:25
msgstr "Página de configuração de UDP"
msgstr "Página de configuração UDP"

#: udp.php:37
msgstr "Meu título de plugin"
msgstr "Titre de mon plugin"

Teste nossa tradução de plugins

Concluímos agora a tarefa de criar arquivos .po e .mo para nosso plugin. Agora é hora de testar nosso plugin e verificar a tradução do idioma francês.

Primeiro, baixe nosso arquivo de idioma no seguinte endereço:

Repositório de idiomas WordPress.

Para a língua francesa, o caminho é o seguinte:

Repositório de idiomas francês do WordPress.fr_FR.mo e fr_FR.po

Baixe os arquivos deste link e armazene-os no diretório wp-content/languages . Crie a pasta 'languages', caso ainda não exista.

Em seguida, precisamos alterar o idioma padrão da nossa instalação do WordPress. Abra o arquivo wp-config.php e adicione o idioma da seguinte forma:

 define('WPLANG', 'fr_FR');

Agora, se você for ao painel, seu plug-in deve estar sendo exibido no idioma francês.

Para concluir

Criar uma tradução localizada para o seu plugin WordPress pode parecer um pouco assustador e complicado no começo. No entanto, os benefícios potenciais de oferecer a grandes países que não falam inglês, como Brasil, França e Alemanha, seu plugin em seu idioma nativo pode ajudar a abrir seu plugin para um público totalmente novo e apreciado. Embora possa parecer muito trabalho, as recompensas podem ser consideráveis.

O post Como localizar e traduzir um plugin WordPress – um guia detalhado para desenvolvedores de plugins apareceu primeiro no UpdraftPlus. UpdraftPlus – Plugin de backup, restauração e migração para WordPress.