Traduzir uma loja PrestaShop inteira: catálogo, módulos, tema, emails e URL
Uma loja traduzida pela metade vende menos do que uma num só idioma. Revemos as camadas de texto do PrestaShop, a ordem de trabalho, os URL e o hreflang, e como encontrar a frase que teima em não mudar.
Ativa o francês em Internacional > Localização, o PrestaShop instala o pacote de idioma e aparece a bandeirinha no cabeçalho. Clica nela e vê uma loja com os botões em francês e tudo o resto em espanhol: produtos, categorias, páginas, o título que aparece no Google, o email de confirmação da encomenda.
É normal. Adicionar um idioma cria os espaços para as traduções, copia para lá o texto do idioma predefinido e traz a tradução do núcleo. Tudo o que escreveu, e boa parte do que os módulos trazem, continua por traduzir.
As camadas de texto de uma loja PrestaShop
Os textos de uma loja vivem em sítios diferentes, e cada um traduz-se de uma forma:
| Camada | O que inclui | Onde se traduz |
|---|---|---|
| Conteúdo | Produtos, categorias, características, atributos, páginas CMS, marcas, estados de encomenda, transportadoras, meta tags | Em cada ficha, idioma a idioma (tabelas _lang) |
| Núcleo | Textos do próprio PrestaShop na loja e no back office | Pacote de idioma oficial |
| Tema | Botões, formulários, rodapé, textos fixos do tema | Internacional > Traduções, tema |
| Módulos | O que cada módulo instalado mostra | Internacional > Traduções, módulos |
| Emails | Modelos de email: encomenda, envio, palavra-passe | Traduções de emails, mais o texto dos modelos |
E há mais uma complicação: uma mesma frase pode estar em vários sítios ao mesmo tempo (na base de dados, no ficheiro XLIFF do módulo, num ficheiro de tradução antigo, escrita diretamente num modelo) e só uma é a que se vê. Por isso, às vezes «traduz» algo, guarda, limpa a cache e continua a aparecer igual.
Por que ordem trabalhar
- Cópia de segurança. Uma tradução em massa escreve em milhares de linhas. Se o resultado não convencer, sem cópia é refazer tudo à mão.
- Categorias e meta tags. São poucas, veem-se em todo o lado e servem para avaliar a qualidade do tradutor que usar.
- Produtos. Nome, resumo, descrição, meta título, meta descrição e URL amigável. As características e os atributos (tamanho, cor, material) também, que ficam esquecidos.
- Tema e módulos do processo de compra: carrinho, checkout, mensagens de erro, avisos de stock. Um botão de pagamento noutro idioma gera desconfiança precisamente onde não convém.
- Emails transacionais. Confirmação, envio, devolução. O cliente lê-os com atenção.
- Páginas legais e CMS. As condições e a política de privacidade, revistas por uma pessoa, não só por uma máquina.
- Estados de encomenda e transportadoras, que aparecem na conta do cliente e nos emails.
Tradução automática, IA ou pessoa
Para um catálogo de centenas ou milhares de produtos, traduzir tudo à mão não é realista. O habitual é combinar:
- Tradução automática (DeepL, Google, Microsoft) para o grosso: rápida e barata.
- Modelos de IA quando o tom ou o contexto importam, por exemplo em descrições comerciais.
- Revisão humana no que mais vende, nas páginas legais e nos textos do checkout.
%s, %d ou %shop_name% e, por vezes, etiquetas HTML. Um tradutor automático pode eliminá-los ou traduzi-los, e a frase estraga a página ou o email. Confirme sempre que os marcadores do original continuam na tradução.URL, hreflang e SEO
Uma loja multilíngue bem feita tem um URL diferente por idioma (por exemplo /es/, /fr/) e, dentro de cada um, o URL amigável traduzido do produto e da categoria. Se deixar o link_rewrite em espanhol na versão francesa, funciona, mas desperdiça palavras-chave e fica estranho.
Além disso:
- Cada versão deve declarar as suas alternativas com hreflang, incluindo ela própria, para que o Google sirva a certa a cada utilizador.
- Não publique um idioma pela metade: páginas com o conteúdo noutro idioma são vistas como duplicadas ou de baixa qualidade.
- Traduza o meta título e a meta descrição, que são o que se vê no motor de pesquisa.
- O
altdas imagens também é texto traduzível. - Se, ao traduzir, mudar um URL já indexado, crie o redirecionamento 301.
Quando uma frase não há maneira
Acontece com frequência: o botão continua em inglês, embora esteja traduzido em Internacional > Traduções. As causas mais comuns:
- O tema sobrescreve o modelo do módulo e usa outro domínio de tradução.
- Há uma tradução antiga num ficheiro do módulo dentro do tema que se sobrepõe à da base de dados.
- O texto está escrito à mão num modelo
.tplou.twig, sem passar pelo tradutor. - O texto vem da base de dados (um estado de encomenda, uma transportadora) e não de uma tradução.
- A cache não foi limpa.
Procurar às cegas em cada ecrã pode levar uma tarde. O eficaz é procurar a frase em todas as camadas ao mesmo tempo e ver qual está a prevalecer.
As versões também mudam a forma de traduzir
O PrestaShop passou dos ficheiros de tradução antigos de cada módulo para o sistema de catálogos XLIFF, e nas versões 8 e 9 os dois mundos convivem, conforme a forma como cada módulo está feito. Um módulo muito antigo pode traduzir-se de uma maneira e um moderno de outra. Se está a planear migrar a partir da 1.6 ou da 1.7, deixe a tradução completa para depois da migração: traduzir tudo duas vezes é trabalho perdido.
Checklist
- Cópia de segurança antes de qualquer tradução em massa.
- Teste com um bloco pequeno e reveja a qualidade.
- Conteúdo, tema, módulos e emails, os quatro.
- URL amigáveis traduzidos e hreflang correto.
- Marcadores intactos nos textos dos módulos.
- Páginas legais revistas por uma pessoa.
- Encomenda de teste completa em cada idioma, com os respetivos emails.
- Ao criar produtos novos, traduzi-los também.
Como resolver no PrestaShop
O RKR Traducción Total traduz a loja inteira a partir de um ecrã do back office: conteúdo (produtos, categorias, características, atributos, páginas, meta tags, marcas, estados de encomenda, transportadoras, o alt das imagens), os textos dos módulos instalados, e o tema e os modelos de email. Mostra a percentagem traduzida de cada coisa em cada idioma, traduz para vários idiomas ao mesmo tempo e por cron, e permite escolher entre onze serviços (DeepL, Google, Microsoft, ChatGPT, Gemini e outros) com a sua chave e o seu consumo; funciona no PrestaShop 8 e 9. Para a frase que teima em não mudar, o localizador de traduções procura-a na base de dados, nos XLIFF, nos ficheiros antigos, nas tabelas _lang, nos emails e no código, diz-lhe qual prevalece, deixa-o corrigi-la ali mesmo e marca a vermelho as traduções a que falta algum marcador.