Plugins WordPress permitem que você modifique e melhore seu blog facilmente, trazendo novas funcionalidades que não estão disponíveis no código base.

O uso de plugins funciona de forma mais eficaz do que tentar modificar a programação principal geral que compõe o WordPress. Definido como um programa ou um conjunto de funções escritas em PHP, os plugins adicionam funcionalidades específicas que podem ser facilmente integradas ao blog através da API do WordPress.

Se você tiver escrito um plug-in do WordPress, poderá torná-lo muito mais acessível traduzindo-o para outro idioma. Isso é conhecido como internacionalização.

Internacionalização vs. localização

Antes que você possa internacionalizar seu plugin, você deve saber o que isso significa. Também conhecido como i18n, isso significa modificar o plugin para que outras culturas que falam outros idiomas possam facilmente usar seu plugin.

Localização por contraste, é o processo real de modificação.

Há mais a internacionalização do que apenas traduzir a interface. Por exemplo, suposições feitas por você sobre unidades imperiais e unidades métricas, pontuação como o uso de uma vírgula para separar milhares em vez de um período, bem como outros tópicos culturais precisam ser abordados antes que você possa localizar corretamente seu trabalho.

Embora este seja um guia que aborda a preparação para localizar um plug-in, ainda é importante manter esses ajustes adicionais em mente.

Domínios e inicialização

Localizando o seu plugin significa que você precisa criar um domínio de texto, mantendo cada um separado daqueles que o WordPress usa ou que outros plugins definiram. O que quer que você queira usar para um domínio de texto, você vai querer escolher algo único e sensato, relacionado ao seu plugin.

Antes de poder localizar completamente o seu plugin, você precisa dizer ao WordPress como ele pode encontrar suas strings. Se o código ainda não existir, você precisará inserir algo como a seguinte linha na sua codificação:

add_action( 'init', 'myFunction' );

Este código se comunica com o WordPress para dizer-lhe para usar a função chamada myFunction, uma vez que carrega. Esta função então nomeia seu domínio de texto para o WordPress e ensina como ele pode carregar as strings localizadas, que devem parecer semelhantes a isto:

function myFunction() {load_plugin_textdomain( 'mytextdomain', 'wp-content/plugins' );}

A função WordPress load_plugin_textdomain informa ao WordPress que existe um domínio de texto chamado mytextdomain, e os arquivos que possuem as cadeias localizadas estão dentro da pasta do servidor wp-content / plugin. (Naturalmente, se você colocar seus arquivos de plug-in em uma pasta e caminho diferentes, será necessário substituir isso pelo caminho apropriado.)

Flags

Imagem internacional via Shutterstock.

Preparando cordas

Após a inicialização, você precisará alterar as cadeias de caracteres estáticas para uma função que permita ao WordPress usar a versão localizada adequada dessa seqüência de caracteres. Afinal, não funciona bem para o WordPress puxar o idioma errado.

Esta função oferece um nome curto que facilita a internacionalização: a função double-underbar _ (string, domain). A função tem dois parâmetros, sendo o primeiro a string padrão que o plugin usa, caso não haja uma versão localizada disponível. O segundo parâmetro é o mesmo domínio de texto que você selecionou no código anterior.

Antes deste passo, seu código pode aparecer assim:

function addMyAdminPage() {add_options_page('A Page Title','A Menu Title',7, __FILE__, 'myAdminFunction' );}

Depois de adicionar o código, pode parecer assim:

function addMyAdminPage() {add_options_page(__( 'A Page Title', 'textdomain' ),__( 'A Menu Title', 'textdomain' ),7, __FILE__, 'myAdminFunction' );}
Flags

Imagem internacional via Shutterstock.

Localização

Com toda a preparação fora do caminho, você está finalmente preparado para o processo real de transformar o seu plugin WordPress em vários idiomas.

A criação de uma localização para o seu plug-in requer a criação de um arquivo .po com um nome semelhante ao nome do seu arquivo de plug-in, além dos códigos de duas letras do ISO 639 para cada país e idioma. Por exemplo, se o seu plug-in fosse chamado de examplename e você quisesse localizá-lo em espanhol (europeu), ele apareceria como “examplename-es_ES.po”.

Embora o codex do WordPress ofereça ferramentas que auxiliem na localização, geralmente é melhor simplesmente usar o arquivo .po de um plug-in como ponto de partida. Os arquivos .po são feitos de um único cabeçalho e depois de pares de tradução:

msgid "Options"msgstr "Opciones"

O msgid é a string padrão que aparece na função double-underbar que você dita. Com o arquivo .po criado, você pode usar uma das ferramentas que o WordPress oferece para criar um arquivo .mo, que é o outro arquivo que o WordPress requer.

Deixando outros tradutores ajudar

Ninguém conhece cada idioma, portanto, você deseja expandir seus recursos e permitir que outras pessoas ajudem a traduzir para outros idiomas. No entanto, você precisará passar por um procedimento especial para gerar os arquivos necessários para fornecer aos tradutores, pois não deseja que o seu código-fonte quebre acidentalmente.

O arquivo que você deseja dar aos tradutores é um arquivo POT, que é semelhante a este:

#: wp-admin/admin-header.php:49msgid "Options"msgstr ""

Existem duas maneiras de gerar este arquivo. Se você colocou seu plugin no repositório, apenas vá para a página de administração e selecione "Gerar arquivo POT". Este arquivo é o que você enviará aos tradutores para que eles os localizem, embora você provavelmente queira enviar o seu plugin para que os tradutores não precisem fazer perguntas sobre o plugin.

Se você ainda não tem seu plugin no repositório, você pode visitar o Diretório de ferramentas do WordPress I18n e use o script makepot.php da seguinte maneira:

php makepot.php wp-plugin the-plugin-directory

Tenha em mente que você precisará instalar seu pacote de utilitários de internacionalização GNU em seu servidor antes de executar este comando.

Flags

Imagem internacional via Shutterstock.

Testando

Com todos os seus arquivos localizados, é hora de testá-los e ver se há algo que você esqueceu. Testar sua localização significa alterar uma linha simples na sua configuração do WordPress, a fim de induzi-la a pensar que ela deve usar um arquivo diferente. Altere o arquivo wp-config e localize a seguinte linha:

define ('WPLANG', 'en_US');

Se esta linha não existia anteriormente, você vai querer verificar e verificar se a sua instalação ainda funciona bem. Em caso afirmativo, retorne ao arquivo e modifique o código do país e do idioma. Com o exemplo anterior, isso seria o seguinte:

define ('WPLANG', 'es_ES');

Por fim, ative seu plug-in para testar sua aparência. Lembre-se de voltar ao idioma padrão original depois de terminar o teste.

Atualizando seu plugin

Com todas as alterações que o WordPress faz com o passar do tempo, seu plug-in pode não estar totalmente funcional com as atualizações subsequentes. Certifique-se de sempre ter tempo para atualizar seu plugin sempre que possível. Supondo que você já o tenha hospedado no Repositório de Plugins do WordPress, você pode seguir alguns passos para adicionar novos recursos ou atualizar os patches ao seu plugin ao longo do tempo. Você pode fazer isso com a freqüência que precisar.

Quando você terminar de atualizar seu plug-in e quiser liberar a versão mais recente, será necessário manter uma lista de verificação em mente:

  • Teste seu plug-in e garanta que a versão mais recente realmente funcione corretamente. Certifique-se de ter em mente todas as diferentes versões do WordPress que existem e testá-las com todas as versões possíveis. Não basta testar novos recursos, pois você também pode quebrar acidentalmente recursos antigos.
  • Vá para a pasta trunk e modifique o comentário do cabeçalho no arquivo PHP principal para que você possa atualizar o número da versão. Certifique-se de alterar também o número da versão no arquivo readme.txt na pasta de troncos no campo de tag estável.
  • É sempre aconselhável criar outra subseção da área de changelog do arquivo readme.txt para que você possa descrever brevemente o que há de novo na versão mais recente em comparação à anterior. Tudo o que você colocar aqui será adicionado à guia do log de alterações na página do seu plug-in.
  • Certifique-se de criar uma nova tag SVN como parte do tronco.
  • Aguarde alguns minutos para o sistema registrar as novas alterações e, em seguida, vá para a página do plug-in e para um blog que tenha o novo plug-in instalado para verificar se tudo está atualizado corretamente. Lembre-se de que essas verificações de atualização podem ser armazenadas em cache, portanto, pode ser necessário aguardar um pouco mais para que seja totalmente atualizada.

Em suma, não há muito o que fazer para internacionalizar o seu plugin em diferentes idiomas. Contanto que você siga estas etapas cuidadosamente, poderá localizar seu plug-in em tantos idiomas diferentes quanto necessário.

Você localizou um plugin do WordPress? Quais idiomas gostariam de receber mais suporte? Deixe-nos saber nos comentários.