Um jeito simples de implantar tradução em projetos WordPress

Estou trabalhando atualmente em um projeto WordPress onde será necessário aplicar a internacionalização – ou tradução, como preferirem.

Um plugin que gosto de usar para esse trabalho é o qTranslate – que, apesar de ser antigo, sempre é atualizado para as novas versões e tem uma plataforma bem amigável e fácil de trabalhar.

Com ele é possível configurar facilmente seu blog para fazer a tradução por parâmetros, subpastas ou subdomínio.

Os passos são os seguintes:

  1. Instale o qTranslate
  2. Ative-o
  3. Ative as línguas que você irá utilizar e desative as que não for usar
  4. Escolha o método de sua preferência para fazer a tradução
  5. Pronto!

Feito isso, seu blog já está pronto pra ter o conteúdo “traduzido”. Digo isso entre aspas porque o processo não é feito automaticamente: você ou outro profissional deverá fazer a tradução e adicioná-la aos posts e páginas.

Legal, tudo lindo até agora. Mas como fazer a tradução do tema?

Apesar desses pontos fortes, um problema que vejo no qTranslate é a necessidade de utilizar as tags dele para fazer a tradução, pois não acho que o código fique semanticamente bonito. Além disso, se houver uma alteração, um leigo não conseguiria se encontrar facilmente.

Nesse exemplo, imagine que estamos traduzindo um menu que terá as opções “Home, Casa e Esportes” e os idiomas que teremos serão português e inglês, sendo este último o padrão. Podemos fazer das seguintes formas:

 

A mais antiga, utilizando as tags completas:

<menu>
<a href="/home"><?php _e("<!--:en-->Home<!--:--><!--:pt-->Inicial<!--:-->"); ?></a>
<a href="/house"><?php _e("<!--:en-->House<!--:--><!--:pt-->Casa<!--:-->"); ?></a>
<a href="/sports"><?php _e("<!--:en-->Sports<!--:--><!--:pt-->Esportes<!--:-->"); ?></a>
</menu>

 

A mais atual, utilizando as short tags:

<menu>
<a href="/home"><?php _e("[:en]Home[:pt]Inicial"); ?></a>
<a href="/house"><?php _e("[:en]House[:pt]Casa"); ?></a>
<a href="/sports"><?php _e("[:en]Sports[:pt]Esportes"); ?></a>
</menu>

E a técnica para facilitar a vida de quem for fazer uma edição futura:

<menu>
<a href="/home"><?php _e('Home', 'nome-do-dominio') ?></a>
<a href="/house"><?php _e('House', 'nome-do-dominio') ?></a>
<a href="/sports"><?php _e('Sports', 'nome-do-dominio') ?></a>
</menu>

Como você viu nessa última, a tradução não fica diretamente no arquivo – e logo você vai entender o porquê.

Se não existir, crie na raiz de seu tema o arquivo functions.php e inclua no final do arquivo a seguinte linha:

<?php load_theme_textdomain('nome-do-dominio'); ?>

Feito isso, pegue como base essas linhas a seguir e crie um arquivo com o nome no formato locale.po (onde locale significa “pt_BR”, “en”, “es”, etc).

Lembrando que você pode utilizar o POEdit para criar esse tipo de arquivo.

No nosso exemplo, criaremos o pt_BR.po e o conteúdo dele será o seguinte:

# Translation of 3.3.x in Portuguese (Brazil)
# This file is distributed under the same license as the 3.3.x package.
msgid ""
msgstr """
PO-Revision-Date: 2012-05-02 17:55-0300\n"
"MIME-Version: 1.0\n""Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: GlotPress/0.1\n"
"Project-Id-Version: 3.3.x\n"
"POT-Creation-Date: \n"
"Last-Translator: Galvão <galvao@mktvirtual.com.br>\n"
"Language-Team: \n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
#: menu.php
msgid "Home"
msgstr "Inicial"
msgid "House"
msgstr "Casa"
msgid "Sports"
msgstr "Esportes"

E está pronto e funcional nosso exemplo de internacionalização no WordPress!

Caso queira deixar seu projeto ainda mais organizado e fácil para o pessoal se localizar, você pode melhorar um pouco a sua chamada para a função load_theme_textdomain no arquivo functions.php.

Ficaria assim:

<?php load_theme_textdomain('nome-do-dominio', get_template_directory() . '/languages'); ?>

E você poderia centralizar seus arquivos .po todos na pasta languages dentro do seu tema. Legal né?

Se precisarem de mais dicas ou ver as perguntas frequentes sobre o plugin vocês podem acessar diretamente a página do Qian Qin, pai da criança.
http://www.qianqin.de/qtranslate/

Espero que tenham gostado e que essas dicas possam ajudar vocês. Até a próxima!

1 Comentários

  1. Boa dica.



Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Voltar

Recent Activity