Hoje lançamos a primeira beta pública de uma Tradução de Strings completamente nova, que evita todas as chamadas de banco de dados para traduzir strings no front-end e no painel de administração do WordPress.
A forma como a Tradução de Strings funciona no WPML mudou ao longo dos anos. Nosso objetivo sempre foi permitir que você traduza cada texto do seu site e carregue o servidor o mínimo possível.
Nos últimos anos, os plugins e temas cresceram, usando muito mais strings traduzíveis. Uma página típica do painel de administração que abre um construtor de páginas, o WooCommerce e vários outros plugins grandes poderia carregar mais de 30.000 strings do banco de dados. Esse crescimento no número de strings traduzíveis tornou os sites mais lentos com a Tradução de Strings. O WPML permite que você traduza tudo na página e, quando ele filtra todas essas strings, a CPU e o banco de dados ficam sobrecarregados.
Hoje, estamos prontos com uma nova versão que muda completamente como a Tradução de Strings funciona. Esta nova versão traz duas grandes mudanças:
- Tocar apenas nas strings que você quer traduzir
- Depender de arquivos .mo para aplicar as traduções
A primeira mudança significa que a tabela da Tradução de Strings não incluirá todos os textos de todos os plugins e do tema por padrão. Para a grande maioria dos sites, os temas e plugins vêm com seus próprios arquivos .mo com traduções boas e completas. Não há necessidade de o WPML filtrar (e tornar traduzíveis) todas essas strings. Se você quiser substituir a tradução de textos de um plugin, ainda poderá fazer isso. Você poderá escolher quais plugins quer e o WPML registrará as strings provenientes deles.
A segunda grande mudança significa que o WPML não chama o banco de dados para a tradução de nenhuma string. O WPML compila os arquivos .mo para as suas traduções e deixa que o WordPress os carregue. O tamanho desses arquivos .mo depende do número de strings que você traduz. Na maioria dos servidores, carregar um arquivo é significativamente mais rápido do que carregar várias entradas do banco de dados (o BD é o gargalo de desempenho para muitos sites).
Geração dos arquivos .mo
O WPML Tradução de Strings lida com a geração e manutenção dos arquivos .mo automaticamente. Isso acontece toda vez que você traduz uma string na página WPML -> Tradução de Strings .
No entanto, após fazer o upgrade para esta beta, você precisará gerar os arquivos pela primeira vez.
Se o seu site tinha strings traduzidas antes do upgrade, você verá a seguinte caixa de diálogo em qualquer página do painel de administração após atualizar a Tradução de Strings:
Você pode gerar novamente os arquivos .mo se algo der errado durante o teste da beta.
Para fazer isso:
- Vá para WPML -> Suporte.
- Clique no link Solução de problemas.
- Role até o final da página e clique em Show custom MO Files Pre-generation dialog box.
- Recarregue a página (esta etapa não será necessária na versão final).
- A caixa de diálogo que permite gerar novamente os arquivos .mo aparecerá.
Os resultados
Esta versão já está em execução em todos os nossos sites de produção (WPML.org, Toolset.com e ICanLocalize.com). Ela está funcionando perfeitamente e os servidores estão felizes. A Tradução de Strings nunca foi um fator significativo no desempenho dos nossos sites, então estamos usando outros sites para análise de desempenho.
Recebemos dezenas de sites de clientes, onde a Tradução de Strings era muito mais significativa. Em todos esses sites, confirmamos que a carga do servidor devido à Tradução de Strings caiu praticamente para zero. Esses sites agora carregam em cerca da metade do tempo que carregavam antes (viva!).
Status atual de desenvolvimento
Esta beta está pronta para os seus testes. A única ressalva é que ela ainda não está funcionando em instalações multisite. Se você tem uma instalação WordPress de site único (normal) e suspeita que tem problemas de desempenho devido à Tradução de Strings, experimente esta beta. Vamos deixar esta beta rodar por várias semanas e coletar o feedback dos clientes nesse meio tempo. Concluiremos o suporte para multisite enquanto analisamos mais sites de clientes.
Se você mudou para esta beta e ainda está tendo problemas significativos de desempenho relacionados ao WPML, queremos ver o seu site. Podemos encontrar outros focos de problemas de desempenho com os quais precisamos lidar. Queremos garantir que, quando isso for para a produção, ninguém tenha problemas de desempenho relacionados ao WPML. Nosso objetivo é lançar o WPML 4.3 para produção na primeira quinzena de setembro.
Baixe e experimente
Lembre-se, esta versão ainda não funciona em instalações multisite!Está OK usá-la em sites de desenvolvimento e em sites de produção, mas com certa cautela.
Atualização automática
Para obter esta beta, vá para Plugins -> Adicionar novo e clique na aba Comercial:

Nesta página, ative o canal Beta e atualize os plugins automaticamente.
Visite nossa página sobre como instalar versões beta do WPML para mais detalhes.
Para receber as atualizações automáticas ou mudar para o canal beta, você deve registrar o seu site.
Atualização manual
Você também pode atualizar manualmente.
Para fazer isso, siga as instruções em Atualizar o WPML manualmente (mesmo que se refira a uma versão antiga do WPML, o processo é exatamente o mesmo).
Feedback?
Depois de experimentar esta beta do WPML, adoraríamos receber o seu feedback. Por favor, compartilhe todas as informações que puder conosco. Queremos saber quando esta beta corrige problemas de desempenho e sobre quaisquer problemas de desempenho restantes com os quais precisamos lidar.
Deixe seus comentários e entraremos em contato com você.
Atualização – 2019-08-16
Lançamos uma nova beta que corrige os seguintes problemas:
- Incompatibilidade com o WPML Multilingual & Multicurrency for WooCommerce: você pode instalar a versão atual ou a beta do WPML Multilingual & Multicurrency for WooCommerce incluída nesta versão.
- Mau desempenho ao salvar o post com um grande número de campos personalizados.
Problemas conhecidos até agora
Ainda estamos trabalhando no polimento de algumas partes. Até o momento, esta é a lista de problemas conhecidos:
- O multisite ainda não é suportado.
- A exclusão de strings da Tradução de Strings não atualiza o arquivo .mo gerado.
- A exclusão de todas as strings de um domínio não excluirá o arquivo .mo gerado.
- Após excluir todas as strings de um domínio, a geração novamente dos arquivos .mo (veja “Geração dos arquivos .mo” acima para saber como gerar novamente os arquivos) não excluirá o arquivo .mo correspondente.
- Textos de administração traduzidos retornavam o original na função icl_translate (afetando o WPML Multilingual & Multicurrency for WooCommerce: “Custom subject of new order emails isn’t translated”).

