Dev (Back & Front)ARTIGO

Template com suporte a multi-idiomas no WordPress

Uma das funcionalidades não inerentes
ao WordPress é o suporte multi-idiomas (ou multilíngua). Existem alguns plugins capazes
de efetuar essas traduções, mas a grande maioria trabalha com
traduções automáticas, fazendo com que os seus textos pareçam mais
um idioma extraterrestre do que propriamente uma língua fluente mundial. É importante,
portanto, tentar traduzir o seu template WordPress em multi-idioma, de
uma forma eficiente e funcional. Os colegas do CatsWhoCode realizaram uma seleção de informação interessante sobre o assunto, e o resultado é o seguinte:

1. Adicionar as funcionalidades necessárias

Vamos começar pelo básico: Copie e cole o seguinte código no seu arquivo functions.php.

load_theme_textdomain( ‘WordPressLove’, TEMPLATEPATH.’/languages’ );

$locale = get_locale();<br />
$locale_file = TEMPLATEPATH."/languages/$locale.php";
if ( is_readable($locale_file) )
require_once($locale_file);

Na primeira linha, poderá ver a funcionalidade load_theme_textdomain(). Esta função permite carregar um Domínio de Texto.
Poderá escolher qualquer nome, mas tenha noção de que deverá ser
único. A melhor prática será seguramente utilizar o nome do seu
template.

2. Internacionalize o seu template

Para traduzir o nosso template WordPress, iremos utilizar as funções PHP de gettext.

O GetText tem duas funções: _e e __ (dois underscores).

A função “_e” é utiliza para imprimir texto “simples” e a função “__” é
utilizada quando texto já se encontra envolvido em tags PHP.

<?php _e("A página que procura não se encontra aqui", "WordpressLove"); ?><br /><?php the_content(__('Leia Mais', "WordpressLove")); ?>

Veja novamente que o domínio de texto (WordPressLove) deverá ser o mesmo contido no arquivo functions.php.

A parte mais chata é que você terá de
substituir cada string pela função requerida. Dependendo do número de
strings que o seu template tem, este processo pode requerer algum tempo.

3. Crie seu arquivo .PO

Agora, o seu template WordPress pode ser facilmente traduzido para
qualquer língua. Mas, para apresentar textos em outra língua, é necessário
adicionar um ficheiro .po.

Os arquivos .po
significam Portable Object. Basicamente, eles contêm uma
string e a sua tradução numa outra língua. Por exemplo, ao fazer o
download da versão Francesa do WordPress, você terá um arquivo fr_FR.po
nos seus arquivos. Ele contém todas as traduções necessárias
para o seu template falar Francês, pelo que o seu tema irá seguramente
dizer Bienvenue ao invés de Bem Vindo.

As boas notícias são que você não terá
de pesquisar pelos arquivos do seu template à procura de todas as
strings que são necessárias traduzir. Uma ferramenta online gratuita,
icanlocalize.com, tem capacidade de “scannar” arquivos PHP e criar os .po por
si. O ICanLocalize irá extrair todas as strings envolvidas nas chamadas
__(“txt”, “domínio”) e _e(“txt”, “domínio”). As strings podem ser envolvidas também entre aspas (“) ou citações singulares (‘) e com qualquer caracter de codificação.

Os arquivos .PO podem ser editados com o software PoEdit, especialmente dedicado a esta função:

Como provavelmente você já adivinhou, será necessário traduzir cada uma das strings. Depois de traduzir todas, guarde o
seu arquivo .po. O PoEdit irá gerar também um ficheiro .mo, que é
basicamente uma versão compilada do ficheiro .po.

4. Implementação

Agora, você terminou a parte mais “difícil” do trabalho. A única que precisa fazer é definir a localização do seu WordPress. Para isso, a primeira coisa é conseguir o seu código de
língua e país. Por exemplo, se a sua língua é Francês e França é o seu
país de residência, o seu código será fr_FR. Para Portugal falamos em
pt_PT e para o Brasil de pt_BR.

Depois de ter os seus códigos, abra o seu ficheiro wp-config.php
e procure pela constante WPLANG. Se ela existir, simplesmente substitua
o código atual pelo seu. Se não existir, simplesmente cole a seguinte
porção de código (com o seu código claro):

define ('WPLANG', 'fr_FR');

Boas traduções!

*

Publicado originalmente em http://www.catswhocode.com/blog/how-to-make-a-translatable-wordpress-theme

é o fundador da Escola Dinheiro. Empreendedor e blogueiro, trabalha em tempo integral na internet e dedica a sua vida à produção e compartilhamento de conteúdos numa rede de projetos que conta já com alguns dos maiores e mais reconhecidos blogs do Brasil e de Portugal, nomeadamente o Escola Dinheiro, Escola WordPress e também a Galeria de Blogs. É estudante de Engenharia Informática em Sistemas de Informação e totalmente viciado em Web2.0. Paulo Faustino é também palestrante e consultor em gestão de campanhas de afiliação, otimização de blogs WordPress e ainda monetização/rentabilização de websites e blogs. No Twitter, siga @escoladinheiro.

Ver perfil