Como Traduzir Temas do WordPress

Publicado em 26/07/2010 • Arquivado em Dicas e Sugestões, Wordpress34 Comentários

A tradução de wordpress themes é fácil mas por vezes trabalhosa. Uma pessoa com experiência demora alguns minutos a algumas horas para traduzir um tema, dependendo da complexidade do mesmo. É preciso ter em conta que cada tema é um tema, uns são simples e outros são mais complexos.

Existem duas formas de traduzir um tema: traduzir todos os ficheiros do tema ou utilizar um ficheiro .po e .mo para traduzir o tema todo num só ficheiro.

A primeira opção é aquela que funciona sempre e que nunca falha. Já a segunda, o tema tem de estar preparado para ser traduzido desta forma. Neste artigo aprenda a traduzir um wordpress theme!

Opção Nº1: Traduzir todos os ficheiros do tema.

Esta é a opção que escolho em 99% dos temas que traduzo. É a solução mais eficaz e talvez a mais cansativa, mas funciona sempre!

Como Fazer?

Passo 1. Comece por transferir e instalar no seu computador o programa NotePad ++. Este programa é um bloco de notas adaptado para algumas linguagens de programação. Utilizo e recomendo!

Passo 2. Agora começa a tradução: Abra apenas os ficheiros .php do tema, procure por palavras em inglês e traduza essas palavras.

Veja a seguinte imagem. O texto dentro das caixas a vermelho é o que deve ser traduzido.

Como Traduzir WordPress Themes

Traduzir Temas WordPress

Este processo deve de ser feito em todas as páginas do tema. Relembro que deve de traduzir apenas os ficheiros php, ficheiros CSS e js (javascript) não devem de ser traduzidos.

Passo 3. Para evitar problemas com caracteres como o “é”, “ç”, “ã” é recomendado que sejam convertidos para HTML. Existe um post interessante no blog da @erikasarti onde pode encontrar a lista de caracteres especiais assim como os respectivos códigos em HTML. Veja o post aqui.

Para substituir os caracteres rapidamente, depois de ter traduzido o tema, abra os ficheiros traduzidos no (um de cada vez) no NotePad ++ e faça o seguinte:

Pressione as teclas CTRL+F e na janela que abriu clique na tab Substituir. Insira primeiro a letra a ser substituída e em baixo coloque o código HTML. Depois clique em “Substituir Tudo”.

Traduzir Temas WordPress -  Substituir Caracteres Especiais

Traduzir Temas WordPress - Substituir Caracteres Especiais

Opção Nº2: Traduzir através de um ficheiro .PO.

Esta é uma opção que tem vindo a ser cada vez mais utilizada tanto em temas como em plugins. Consiste em, num tema com suporte a esta tecnologia, traduzir várias partes do tema através de um único ficheiro.

Normalmente os temas que suportam os ficheiros .po vêm já com um ficheiro por defeito em inglês. O que costumo fazer é fazer uma cópia desse ficheiro e renomea-lo com o nome da lingua em que o meu wordpress está (pt_PT – Português de Portugal – pt_BR – Português do Brasil) e começar a fazer a tradução com o programa PoEdit.

Como Fazer?

Passo 1. Faça uma cópia do ficheiro .po original e renomeie a copia do ficheiro original para pt_PT (Português de Portugal) ou pt_BR (Português do Brasil).
Passo 2. Instale o programa PoEdit e abra o ficheiro com esta aplicação.
Passo 3. Comece a traduzir todas as linhas de texto. Exemplo:

Traduzir Temas WordPress - Poedit

Traduzir Temas WordPress - Poedit

Passo 4. Guarde as alterações e assegure-se que o ficheiro alterado está no mesmo local onde está o ficheiro original.

Tradução das Datas

Traduzir as datas também é muito fácil. Se utilizar o primeiro método deve de procurar pela tag da data e substituir os valores.

Por exemplo, se quiser colocar a data do tipo “1 de Janeiro de 2010″ na seguinte tag:

<?php the_time(‘F j, Y’); ?>

basta alterar para:

<?php the_time(‘j \d\e F \d\e Y‘); ?>

Se utilizar o método de tradução através do poedit, procure por uma linha que tenha um texto pequeno como F j, Y e substitua pela data pretendida.

Os diferentes tipos de datas

Como aqui apenas vou indicar as datas mais utilizadas na língua portuguesa, recomendo a leitura desta página do WordPress Codex.

j \d\e F \d\e Y » 1 de Janeiro de 2010
d/m/Y » 01/01/2010
d/m/y » 01/01/10
d F Y » 01 Janeiro 2010
d f Y » 01 Jan 2010
d f y » 01 Jan 10

Notas Finais

Depois de terminar, não se esqueça de transferir o tema para o seu alojamento (hospedagem). É importante também lembrar que deve de fazer um backup do tema antes de ser traduzido, para o caso de alguma coisa correr mal.

Espero que este artigo tenha sido útil. Se tiver dúvidas, recorra o fórum da comunidade portuguesa de wordpress ou deixe um comentário para que o possamos ajudar.

Até breve! :)

Escrito por Celso Azevedo

Eu, na internet:

Twitter, Facebook, Google+, Website

Celso Azevedo, 20 anos, português, criador do wptotal.com, adepto das novas tecnologias e webmaster / blogger a tempo inteiro.

Partilhe Este Artigo

Se gostou deste artigo, ajude a partilhar nas redes sociais:

Acompanhe o wptotal nas redes sociais ou através da newsletter ou rss feed. Veja a página de subscrição.

34 Comentários

  1. Excelente artigo, sempre quis saber como utilizar poedit,
    parabéns pela simplicidade e compartilhamento desse conhecimento,
    abraço.

  2. Um dia vou tentar fazer isso. No próximo template que ainda não achei o ideal vou fazer esses testes. Obrigado pela dica.

  3. ótima postagem, prefiro usar o método 1.. :D

  4. Fernando diz:

    Olá Celso, tudo bem. Cara certamente já pediram sua ajuda, mas na boa poderia me ajudar? Preciso traduzir meu tema.

    Att.,

    Fernando

  5. Raro é encontrar posts assim.

    ;-)

    Está bom,
    Parabéns!

  6. Pedro Sequeiroa diz:

    Não estou a conseguir, grrrr

  7. Boa Noite

    Eu traduzi o theme “The Morning After” mas estou tendo dificuldades para ativar essa tradução, coloquei o código no functions.php no tema

    load_theme_textdomain( ‘themorningafter’, TEMPLATEPATH.’/languages’ );
    $locale = get_locale();
    $locale_file = TEMPLATEPATH.”/languages/$locale.php”;
    if ( is_readable($locale_file) )
    require_once($locale_file);

    o WPLANG está devidamente configurado para pt_BR e os arquivos na pasta languages do tema está como pt_BR.po e pt_BR.mo

    falta alguma coisa?

    me ajudem por favor!!

  8. Oi, boa noite.
    Quanto fica para traduzir o tema BrightSky 1.1?
    caso tenha algum outro tema para me indicar no estilo deste agradeço.
    esto começando a usar o word press agora.
    da uma olhada ai no que já fiz
    http://www.diocesedemiracemato.org.br/wordpress
    se tiver como mudar a cor de fundo do topo do site . esta azul, queria mudar a cor para diferenciar de um outro site que vi que usa o mesmo tema

  9. Bom, eu gostaria de ter o Fenoca traduzido, se alguém tiver, agradeço se compartilhar!

  10. Ivone diz:

    Muito obrigada Celso… post maravilhoso

  11. Ivone diz:

    Muito obrigada Celso… post maravilhoso

  12. Ivone diz:

    Muito obrigada Celso… post maravilhoso

  13. Gil Cezar diz:

    Muito boa a sua iniciativa, seus posts são muito úteis, esclarecem muitas dúvidas e ajudam muito.

    parabens.

  14. André diz:

    Boa tarde, estou com um probleminha para traduzir o tema Boldy, estou apanhando aqui..
    Alguém tem ele traduzido, obrigado.

  15. Só um adendo.

    A data no formato “j de F de Y” retornaria (hoje):
    “30 30America/Sao_Paulo Maio 30America/Sao_Paulo 2011″

    Isso porque “de” são caracteres especiais dentro da função date do php (‘d’ representa o dia, com um 0 à frente, nos dias 1 a 9; e ‘e’ representa o timezone do servidor).

    Veja: http://br.php.net/date

    Use “j de F de Y” para obter o retorno esperado (30 de Maio de 2011).

    Obs: “Maio” provavelmente retornará May, a menos que seu provedor tenha alterado isso. Você precisará de uma função própria que traduza os meses ou trocar F por outra letra que represente o mês, como n ou m (5 ou 05, respectivamente, para Maio).

  16. Só um adendo.

    A data no formato “j de F de Y” retornaria (hoje):
    “30 30America/Sao_Paulo Maio 30America/Sao_Paulo 2011″

    Isso porque “de” são caracteres especiais dentro da função date do php (‘d’ representa o dia, com um 0 à frente, nos dias 1 a 9; e ‘e’ representa o timezone do servidor).

    Veja: http://br.php.net/date

    Use “j de F de Y” para obter o retorno esperado (30 de Maio de 2011).

    Obs: “Maio” provavelmente retornará May, a menos que seu provedor tenha alterado isso. Você precisará de uma função própria que traduza os meses ou trocar F por outra letra que represente o mês, como n ou m (5 ou 05, respectivamente, para Maio).

  17. Só um adendo.

    A data no formato “j de F de Y” retornaria (hoje):
    “30 30America/Sao_Paulo Maio 30America/Sao_Paulo 2011″

    Isso porque “de” são caracteres especiais dentro da função date do php (‘d’ representa o dia, com um 0 à frente, nos dias 1 a 9; e ‘e’ representa o timezone do servidor).

    Veja: http://br.php.net/date

    Use “j de F de Y” para obter o retorno esperado (30 de Maio de 2011).

    Obs: “Maio” provavelmente retornará May, a menos que seu provedor tenha alterado isso. Você precisará de uma função própria que traduza os meses ou trocar F por outra letra que represente o mês, como n ou m (5 ou 05, respectivamente, para Maio).

  18. Só um adendo.

    A data no formato “j de F de Y” retornaria (hoje):
    “30 30America/Sao_Paulo Maio 30America/Sao_Paulo 2011″

    Isso porque “de” são caracteres especiais dentro da função date do php (‘d’ representa o dia, com um 0 à frente, nos dias 1 a 9; e ‘e’ representa o timezone do servidor).

    Veja: http://br.php.net/date

    Use “j de F de Y” para obter o retorno esperado (30 de Maio de 2011).

    Obs: “Maio” provavelmente retornará May, a menos que seu provedor tenha alterado isso. Você precisará de uma função própria que traduza os meses ou trocar F por outra letra que represente o mês, como n ou m (5 ou 05, respectivamente, para Maio).

  19. Joao Batista diz:

    Excelente dica, Celso…no entanto eu consegui traduzir meu tema, mas o formulário de envio dos comentários não consigo….você sabe como proceder nesse caso?
    Abs
    João Batista
    http://www.blog.jbmacae.com

  20. Boa noite. Eu estou usando o template Arjuna X que baixei do wordpress e encontrei o seu site na busca de solução para o meu problema. Inicialmente parabéns pelo post sobre as traduções (realmente foi o único que encontrei em minhas buscas com informações detalhadas a respeito), porém mesmo assim não consegui sanar minha dificuldade. Quando baixei o template já veio os arquivos pt_BR.po e pt_BR.mo e já alterei o wplang para o pt_BR e mesmo assim continua tudo em inglês. Poderia me ajudar em como proceder? Ainda falta algo a fazer? Agradeço sua atenção antecipadamente!
    Jeferson

  21. Ndx diz:

    Para quem usa o plugin CodeStyling Localization como conseguem contornar os trailing spaces de agumas frases, impossibilitando de gerar o ficheiro .mo

  22. Ndx diz:

    Para quem usa o plugin CodeStyling Localization, como é que consegume contornar o problema dos trailing spaces? Não cosneguido traduzir tudo, não se consegue gerar o ficheiro .mo

  23. José Marcos diz:

    Beleza de artigo!
    Comprei um template e tentei traduzir por um Plugin, mas não deu certo.
    Editei os arquivos po e mo para o português, mas não deu certo.
    Mas o seu post me ajudou, pois não sabia quais arquivos do template editar diretamente nos códigos, manualmente.
    Um abraço!

  24. Emerson diz:

    Ótimo tutorial, mas prefiro usar o CodeStyling Localization é parecido com PoEdit mas é um plugin, acho bem mais fácil porque identifica todas as palavras que podem ser traduzidas

  25. MARCOS SILVA diz:

    amigo eu estou tentando traduzir o THEMA GEO PLACES V 3.03 e o AUCTIONPRESS ja tentei usar o poedit mais quando termino defazer a traduçao que vou salvar dar um erro fatal e nao salva as alteraçoes.

    por favor. se alguem podesse me passar as configuraçoes do poedit e o passo a passo pra fazer essa traduçao eu fico muito grato.

    outra duvida. se eu traduzir somente o arquivo linguagem. php vai da certo também
    /

Deixe o seu comentário:

— obrigatório *

— obrigatório *