Traduzindo textos nativos do seu Thema Worpress pelo functions.php

Esse post está sendo escrito antes mesmo do blog ser publicado. Me deparei com essa necessidade nos ajustes finais do blog e já estou aqui escrevendo como resolvi pois pode ser a necessidade de mais gente no futuro.

Vamos ao problema, como comentei na página sobre mim, fiz esse blog com um thema worpress pronto para facilitar e me dar menos trabalho nas publicações.

Porém, usar themas prontos deixam algumas coisas um pouco fora do que você espera, no meu caso uma dessas coisas foram textos que não estão traduzidos para o português.

Isso tem um motivo, alguns themas usam arquivos nativos do wordpress e no meu caso, no widget de busca o texto ficou em inglês.

Felizmente, descobrir uma maneira fácil e rápida de resolver isso. Sem plugins ou muitos passos.

Basicamente você vai usar um filtro no seu arquivo functions.php, esse filtro é o gettext. Ele nos fornece uma maneira muito fácil de alterar o texto em qualquer lugar da instalação do WordPress, incluindo plugins e temas, sem alterar o código original. É uma ótima maneira de personalizar facilmente etiquetas, títulos, texto de botão e qualquer outro texto que desejemos alterar.

Neste caso o filtro chama uma função que busca todos os textos desejados e substituem pelo novo texto.

function translate_texts($translated_text, $text, $domain) {
	$translated_text = str_replace("Search this site...", "", $translated_text);
    $translated_text = str_replace("Search", "Buscar", $translated_text);
	return $translated_text;
}
add_filter('gettext', 'translate_texts', 100, 3);

Criei uma função chamada translate_texts e dentro dela faço o replace primeiramente da string “Search this site…” que fica no placeholder do input de busca e substituo ela por uma string vazia ” “, ou seja, removi o texto. E na linha seguinte busco pela palavra “Search” e substituo pela palavra “Buscar”.

Uma coisa muito importante de saber antes de usar esse filtro é que ele busca em todo worpress. Então, deve ter muito cuidado ao fazer esse tipo de substituição. No meu caso por exemplo, eu poderia ter tido problemas. Caso não tivesse colocado a primeira linha para substituir o placeholder o texto do mesmo ficaria “Buscar this site” pois existe a palavra “Search” na string e ela seria trocada pela palavra “Buscar” como colocado na segunda linha.

Enfim, essa é só uma maneira de quebra galho para casos simples como é o do meu site.

Em algum momento eu posso precisar de algo mais robusto e quando chegar a hora, postarei aqui para você.

Espero que esse post tenha ajudado em alguma coisa e se não ajudou, vai servir para quando eu precisar lembrar como fiz isso hahahahaha.

Abraços.

Add a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *