Internacionalizando um plugin para WordPress

publicidade
Gostou? Curta e Compartilhe!
Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter

Hoje nós vamos fazer a internacionalização do nosso plugin e já pensando no próximo, onde vamos ver como submeter um plugin ao repositório de plugins do WordPress, fiz algumas alterações para deixa-lo mais interessante. A primeira alteração foi o nome, de  “Widget Message” para “Widget Citation”.  Essa é a quarta parte do nosso tutorial, as outras, podem ser encontradas nos links a seguir. Se você chegou direto nessa postagem, pode seguir o tutorial desde o começo, se desejar.

1ª parte: Criando um Plugin para WordPress;
2ª parte: Adicionando funcionalidades ao nosso Plugin;
3ª parte: Criando uma página administrativa para o nosso Plugin.

Para efeito de organização, mudei a estrutura de pastas que vinha usando até agora, separando os arquivos nas sub-pastas:

img – onde vou colocar as imagens do plugin;
includes – arquivos que serão incluídos no código principal;
languages – arquivos de traduções do nosso plugin;
css – arquivos de estilo do nosso plugin.

Desse jeito, nossa estrutura ficou assim:

Também fiz um logotipo básico para que o projeto fique mais apresentável.

Então vamos lá! Internacionalizar o plugin significa dizer que vamos prepará-lo para que possa facilmente ser usado em outros idiomas. Para isso usaremos a biblioteca ‘gettext’ para extrair todo o texto fixo do plugin (strings). Estes são os textos que precisaremos traduzir. O idioma padrão é o Inglês e, por isso, já criamos todo o nosso texto em inglês.

Usaremos as funções:

__(‘string’, ‘textdomain’) – captura a string no primeiro parâmetro e a substitui pela correspondente traduzida em ‘textdomain’ (segundo parâmetro).

_e(‘string’, ‘textdomain’) – é praticamente igual, a única diferença é que esta função em vez de retornar a string traduzida, ela imprime a mesma na tela.

No nosso plugin faremos uso apenas dessas mais existem outras funções de tradução que vamos deixar para ver quando fizermos uso delas. Vamos traduzir todos os textos que são exibidos ao usuário do plugin. O primeiro é a descrição que aparece no menu de plugins:

Esse texto não está em uma função de tradução, ele se encontra no cabeçalho do plugin que fica no arquivo principal. É o item ‘Description’.

<?php
/*
Plugin Name: Widget Citation
Plugin URI: https://www.andrebrum.com.br/
Version: 1.0
Description: Plugin to show random citations in your WordPress blog.
Author: André Brum
Author URI: https://www.andrebrum.com.br/
Text Domain: message-widget
Domain Path: /languages/
*/
?>

Em seguida o título do nosso widget. Ele pode ser personalizado pelo usuário, mas se isto não ocorrer, o título original precisará ser traduzido.

Também precisaremos fazer a tradução da área de configurações do widget.

E por fim, a nossa página administrativa.

Nas postagens anteriores já fui inserindo as strings usando __() e _e(), então agora precisaremos criar o arquivo PO que será usado pelo WordPress para fazer a tradução. É possível criar ele diretamente (por exemplo com o PO-EDIT), mas no nosso caso vamos criar antes um arquivo POT (‘portable object template’), que é um arquivo modelo para a tradução do nosso plugin e servirá de base para pessoas que quiserem traduzi-lo para outros idiomas.

Eu usei o WP-CLI que é a interface de linha de comando do WordPress para criar o arquivo POT. Com um comando nosso arquivo será criado já contendo todas as strings encontradas no código e será usado como modelo para criação do arquivo PO com a tradução para o português.

wp’ – Linha de comando do WordPress;
i18n’ – comando de tradução;
make-pot’ – sub comando paa a criação do arquivo.
‘.’ – indica que o comando será executado na pasta atual.
languages/widget-citation.pot’ – local e nome do arquivo a ser criado.

Se tudo deu certo o arquivo POT já estará na pasta languages.

O processo realiza uma varredura nos arquivos do diretório do plugin buscando todas as strings que serão incluídas no arquivo POT. O resultado está na imagem abaixo.

Para fazer a tradução vou usar o Po-Edit. Se você já tiver instalado ele na sua máquina, basta dar dois cliques no arquivo widget-citation.pot que ele será aberto no Po-Edit.

Vamos clicar em criar nova tradução, selecionar o idioma (Português no nosso caso) e salvar o arquivo na pasta ‘languages’. Atente para o nome do arquivo que deve ser no formato {nome-do-plugin}-{idioma}.po então ficará assim: widget-citation-pt_BR.po.

Feito isso podemos digitar a tradução de cada string exibida no Po-Edit e no final salvar as alterações.

O nosso arquivo widget-citation-pt_BR.po já está prontinho na pasta languages.

E você vai ver que todas as strings do nosso plugin já são exibidas em português. Olhe algumas abaixo:

Se ficou com alguma dúvida, sinta-se em casa e poste aí que tentamos resolver juntos.

Comente!

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *