Sin impuesto Con impuesto

Traduções em módulos de PrestaShop: domínios, catálogos e erros comuns

Se o seu módulo aparece em inglês numa loja espanhola, quase sempre é um domínio mal escrito ou uma cache. Explicamos como funciona o sistema de traduções do PrestaShop.

Jesús Meilán
Updated: 26/09/2026 119
Traduções em módulos de PrestaShop: domínios, catálogos e erros comuns
Share:

O PrestaShop tem dois sistemas de tradução que convivem: o antigo ($this->l() e ficheiros PHP em translations/) e o novo, baseado em domínios do Symfony. Para um módulo novo, use o novo.

Ativar o sistema novo

public function isUsingNewTranslationSystem()
{
    return true;
}

Domínios

Cada texto pertence a um domínio com a forma Modules.Nombremodulo.Zona, em que o nome do módulo leva a primeira letra em maiúscula e o resto em minúsculas:

  • Modules.Mimodulo.Admin para o back office.
  • Modules.Mimodulo.Shop para o front.
// PHP
$this->trans('Encomenda enviada', [], 'Modules.Mimodulo.Shop');

{* Smarty *}
{l s='Encomenda enviada' d='Modules.Mimodulo.Shop'}

{# Twig #}
{{ 'Encomenda enviada'|trans({}, 'Modules.Mimodulo.Admin') }}

Porque é que uma tradução não aparece

  1. Domínio mal escrito. Modules.MiModulo.Shop não é o mesmo que Modules.Mimodulo.Shop.
  2. O texto de origem mudou. A tradução é procurada pelo texto exato; um espaço ou uma vírgula de diferença e já não corresponde.
  3. Cache. As traduções ficam em cache; depois de as importar, limpe a cache.
  4. O tema tem a sua própria cópia do template. Se o tema sobrescrever o template do módulo, a tradução é procurada associada a esse tema. Guarde a tradução também para o tema ativo.

Parâmetros e plurais

$this->trans('Tem %count% produtos', ['%count%' => $n], 'Modules.Mimodulo.Shop');

Use marcadores com nome e nunca concatene frases: a ordem das palavras muda de um idioma para outro.

Cuidado com os pacotes oficiais: alguns pacotes de idioma do PrestaShop trazem cadeias com os marcadores de formato desalinhados em relação ao original, e uma só delas pode deitar abaixo uma página inteira. Se uma página falha só num idioma, reveja as traduções desse ecrã.

Distribuir as traduções

Exporte os catálogos em International > Traduções e inclua-os no ZIP do módulo, para que numa loja nova apareça traduzido desde o primeiro momento. E reveja sempre o módulo com a loja em pelo menos dois idiomas antes de publicar.

Carregando...
Consentimento de cookies
Voltar ao topo