
🚀 Tradução em massa de ficheiros .po no Lokalise através da consola do navegador
Quando um WordPress tema ou plugin é distribuído sem tradução para português e o ficheiro .po contém mil ou mais strings, traduzir cada uma manualmente através do Poedit torna-se uma maratona de vários dias. Para muitos clientes, a tradução automática é perfeitamente aceitável: o Google Translate produz resultados decentes para strings de interface, sendo necessário apenas um polimento manual em algumas dezenas de pontos.
O problema é que o Lokalise, uma plataforma poderosa de gestão de traduções, não oferece um botão «traduzir tudo de uma vez» de raiz. Tem de clicar no botão de tradução automática do Google Translate separadamente para cada string. É exatamente essa limitação que vamos contornar: um pequeno script executado na consola do navegador simula o clique nesse botão para toda a lista de strings. O método foi testado em projetos que vão de 200 a mais de 3000 strings.
💡 Visão geral rápida:
- Prepare um ficheiro PO a partir de um modelo POT no Poedit, usando traduções de placeholder em inglês.
- Crie um projeto no Lokalise, carregue o ficheiro de origem e adicione um idioma de destino.
- Copie as chaves para o idioma de destino e execute o script na consola do navegador.
- Tenha em conta o carregamento lazy via AJAX: execute o script tantas vezes quantas o Lokalise carregar novos lotes de strings.
O que é o Lokalise e porquê usá-lo para traduzir ficheiros.po
O Lokalise é um Sistema de Gestão de Traduções (TMS) que suporta ficheiros .po/.pot de raiz. A plataforma integra-se com o Google Translate, DeepL e o seu próprio motor de IA, permitindo obter uma tradução automática para qualquer string com um único clique. O senão é que um clique por projeto não é suficiente: tem de pressionar o botão de tradução automática para cada string individualmente.
Para ficheiros pequenos de 50 a 100 strings, isto é tolerável. Mas um .pot real de um plugin ou tema raramente contém menos de 500 strings, e produtos grandes (WooCommerce, temas com page builders) ultrapassam facilmente as 2000. O script jQuery neste artigo foi escrito precisamente para esses casos: ele «clica» no botão de tradução para cada string atualmente visível no ecrã.
Passo 1: criar um ficheiro.po a partir de um.pot no Poedit
Antes de trabalhar com o Lokalise, precisa de um ficheiro .po em inglês gerado a partir de um modelo .pot. Descarregue e instale o Poedit, um editor de tradução gratuito para Windows, macOS e Linux.
Abra o ficheiro .pot do tema ou plugin no Poedit e clique no botão «Criar nova tradução»:

Na janela que se abre, selecione inglês; este será o idioma de origem para o Lokalise:

Clique em «Guardar como» e guarde o ficheiro com a extensão .po. O conteúdo real das strings não importa nesta fase; não vamos traduzir nada no Poedit, e todas as strings permanecerão em inglês como placeholders.

Tem agora um ficheiro .po com as strings originais em inglês. Passemos ao Lokalise propriamente dito.
Passo 2: criar um projeto de tradução no Lokalise
Registe-se em lokalise.com; o período de teste gratuito é suficiente para uma tradução pontual. Após iniciar sessão, clique em «Adicionar um projeto» no centro do ecrã:

Preencha os campos: nome do projeto (o que quiser, por exemplo «Tradução do Tema X») e selecione Inglês como idioma base. O Lokalise irá usá-lo como origem para a tradução automática para outros idiomas. Clique em «Criar».

Passo 3: carregar o ficheiro.po preparado
No projeto recém-criado, clique no botão verde com uma seta para cima para carregar um ficheiro:

Aparecerá uma janela de carregamento. Arraste e largue o ficheiro .po nela, ou clique na área para selecionar um ficheiro através do Explorador do Windows:

Crítico: defina o idioma do ficheiro como Inglês. Se o idioma do ficheiro não corresponder ao idioma base do projeto, o botão de tradução automática do Google Translate não aparecerá, porque a plataforma não consegue determinar o idioma de origem.
Clique em «Importar os ficheiros»:

Quando a importação terminar, clique em «Ir para o projeto» para entrar no espaço de trabalho com a lista de strings.
Passo 4: adicionar o idioma de tradução de destino
Clique no ícone de mais no painel de idiomas para adicionar o idioma para o qual pretende traduzir:

Selecione o idioma no menu suspenso. Para Russo, escolha Russo:

Passo 5: copiar as chaves para o idioma de destino
Neste momento, tem uma coluna de strings em inglês, mas a coluna de russo está vazia. Precisa de copiar as chaves (strings originais) para lá; a tradução automática será aplicada sobre elas.
Selecione todas as strings (Ctrl+A), clique no botão de ação que aparece e escolha «Copiar chaves para traduções…». Na caixa de diálogo, selecione Russo e clique em «Copiar»:

A coluna de russo contém agora strings de marcador de posição em inglês que podem receber a tradução automática.
Passo 6: tradução automática em massa através da consola do navegador
Abra a consola de programação: Ctrl+Shift+I (Windows/Linux) ou Cmd+Option+I (macOS). Abaixo está o botão que o nosso script simula clicar. Na interface atual do Lokalise, parece um ícone do Google:

Aqui está o script que «clica» neste botão para todas as strings visíveis:
1 /* Bulk Google Translate auto-translation in Lokalise */ 2 jQuery(document).ready(function ($) { 3 $('span.key-function-button.machine-all.fontello-google-circle').trigger('click'); 4 });
Copie o código, cole-o na consola e prima Enter. As strings começarão a ser traduzidas uma a uma.
Nota importante: o Lokalise utiliza carregamento lazy-loading via AJAX e exibe as strings em lotes. Depois de o script processar as strings visíveis, percorra a página para baixo para carregar novas strings ainda não traduzidas. Cole o script na consola novamente e prima Enter. Repita até que todas as strings estejam traduzidas.
Para a versão antiga da interface (se o botão de tradução automática tiver um aspeto diferente), utilize esta variante:

1 /* Simulated click on the Google translate button (old interface) */ 2 jQuery(document).ready(function ($) { 3 $('a.key-function-button.machine-all').trigger('click'); 4 });
Quando todas as strings estiverem traduzidas, certifique-se de percorrer o projeto até ao fim e verificar visualmente que cada string na coluna de tradução está preenchida. As strings omitidas ou não foram carregadas (percorra novamente) ou a tradução automática falhou para elas (clique no botão manualmente).

A tradução finalizada pode ser descarregada através do botão Descarregar na interface do projeto. Receberá um ficheiro .po pronto para carregar no WordPress.
Abaixo encontra um pequeno vídeo que mostra o fluxo de trabalho completo com ficheiros .po no Lokalise, desde o carregamento até à exportação:
⁉️🤔 Perguntas frequentes
O script não traduz as strings. O que está errado?
Primeiro, verifique se o idioma do ficheiro de origem durante a importação corresponde ao idioma base do projeto. Se o projeto estiver definido como inglês, mas o ficheiro tiver sido carregado como russo, o botão do Google Translate não aparecerá. Segundo, abra a consola (F12) e procure por erros. Se o jQuery não estiver definido, o Lokalise alterou a sua estrutura e os seletores no script precisam de ser atualizados. Terceiro, certifique-se de que copiou as chaves para o idioma de destino (passo 5); caso contrário, não há nada para traduzir.
Posso traduzir usando o DeepL em vez do Google Translate?
Sim, se o DeepL estiver ativado no seu projeto. O princípio é o mesmo: o botão de tradução automática muda, mas pode adaptar o script para um seletor CSS diferente. Encontre o elemento do botão do DeepL através do inspetor (Ctrl+Shift+C), copie a sua classe ou atributo e substitua-o no seletor
$('button-selector').trigger('click').
Quantas strings são traduzidas numa única execução do script?
Exatamente as que estão atualmente visíveis no ecrã. O Lokalise carrega as strings em lotes (normalmente 50 a 100), por isso, após cada deslocamento, precisa de executar o script novamente. Num projeto com 2000 strings, espere 5 a 7 execuções.
É seguro colar código na consola no site de outra pessoa?
O script faz exatamente uma coisa: clica programaticamente num botão em que, de outra forma, clicaria manualmente. Nenhum dado é enviado para lado nenhum; o código é executado apenas no seu navegador e apenas na página aberta do Lokalise. Dito isto, uma boa regra geral é ler sempre o código antes de o colar na consola, especialmente se não vier de documentação oficial.
E se algumas strings permanecerem em inglês após a tradução?
Muito provavelmente, não percorreu a página até ao fim e perdeu um dos carregamentos AJAX. Percorra o projeto até ao fundo, aguarde que todos os lotes de strings carreguem completamente e execute o script novamente. Se ainda houver strings individuais por traduzir, clique manualmente no botão de tradução automática para elas (isto pode acontecer se a API do Google Translate tiver devolvido um erro para uma frase específica).
Quando a tradução por consola supera a automatização integrada
O método da consola não substitui um fluxo de trabalho completo de TMS. Se faz localização profissionalmente, o Lokalise oferece processamento em lote integrado (pré-tradução), integrações com ferramentas CAT e tradução por IA sensível ao contexto. Mas para a tarefa típica de traduzir um único tema WordPress e seguir em frente, a abordagem da consola oferece resultados em 5 a 10 minutos, sem necessidade de mergulhar na documentação da plataforma.
Todo o processo, desde a instalação do Poedit até ao ficheiro .po final, cabe em três passos: preparar o ficheiro, carregá-lo para o Lokalise, executar o script. Se o volume exceder 500 strings, a poupança de tempo em comparação com clicar manualmente no botão para cada string ascende a dezenas de minutos. Com mais de 2000 strings, é a diferença entre «feito enquanto se bebe um café» e «demorou metade do dia».



