Uma das funcionalidades não inerentes ao WordPress é o suporte multi-língua. Existem alguns plugins capazes de efectuar traduções multi-língua, mas a grande maioria trabalha com traduções automáticas, fazendo com que os seus textos pareçam mais ucrâniano do que propriamente uma língua fluente mundial. É importante portanto, tentar traduzir o seu template WordPress em multi-língua, de uma forma eficiente e funcional. Os colegas do CatsWhoCode realizaram uma selecção de informação interesante acerca do 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 ficheiro functions.php.
load_theme_textdomain( ‘WordPressLove’, TEMPLATEPATH.’/languages’ );
$locale = get_locale();
$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-lhe carregar um Domínio de Texto . Poderá escolher um 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”); ?>
<?php the_content(__(‘Leia Mais…’, “WordPressLove”)); ?>
Denote novamente que o domínio de texto (WordPressLove) deverá ser o mesmo contido no ficheiro functions.php.
A parte mais aborrecida é que terá de substituir cada string pela função requerida. Dependendo do número de strings que o seu template tem, este processo poderá requer algum tempo.
3. CRIE O SEU FICHEIRO .PO
Agora, o seu template WordPress pode ser facilmente traduzível para qualquer língua. Mas, para apresentar texto noutra língua, é necessário adicionar um ficheiro .po.
Os ficheiros .po significam Portable Object. Basicamente, estes ficheiros contêm uma string, e a sua tradução numa outra língua. Por exemplo, de efectuar o download da versão Francesa do WordPress, você terá um ficheiro fr_FR.po nos seus arquivos. Este ficheiro contem 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 ficheiros do seu template à procura de todas as strings que são necessárias traduzir. Uma ferramenta online gratuita, intitulada icanlocalize.com que tem capacidade de “scannar” ficheiros PHP e criar ficheiros .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 ficheiros .PO podem ser editados com o software PoEdit, especialmente dedicado a esta função:
Como provavelmente já adivinhou, terá de traduzir cada uma das strings. Depois de traduzir todas, guarde o seu ficheiro .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 necessita de efectuar agora, é definir a localização do seu WordPress.
Para o fazer, a primeira coisa que deverá 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 actual 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! Até Já!