Eu instalei o pacote de idiomas app/i18n/magento2translations/language_nl_nl/
com o arquivo nl_NL.csv . Funciona perfeitamente.
Além disso, adicionei um arquivo de tema personalizado app/design/frontend/COMPANY/PROJECT/i18n/nl_NL.csv
com minhas traduções personalizadas, mas ele não está funcionando (modo: desenvolvedor, conteúdo estático e caches foram limpos).
Quando movo as traduções personalizadas para as traduções personalizadas nl_NL.csv do pacote de idiomas, funciona bem.
Eu acho que o pacote de idiomas tem mais prioridade como um tema personalizado que o i18n traduz .
Como substituir traduz no pacote de idiomas da maneira correta?
magento2
language-package
goral
fonte
fonte
rm -rf pub/static/*
,rm -rf var/cache/*
da pasta raiz m2.Respostas:
[ATUALIZAÇÃO] Desde que a ordem de carregamento da tradução do Magento 2.2 é a seguinte:
Isso basicamente significa que o pacote de tradução substituirá a tradução de temas. Uma solução tão rápida e fácil seria superada usando a tradução Inline, o que também foi possível no M1. Mas agora temos o M2, que tem ainda mais flexibilidade a bordo e existe uma maneira de estender os pacotes de tradução existentes com os personalizados. Tudo que você precisa fazer é criar outro pacote de tradução. Então, crie um módulo
crie um registration.php para ele com o seguinte conteúdo:
É assim que definimos esse módulo como um pacote de tradução. Última etapa, crie um meta-arquivo language.xml com o seguinte conteúdo:
Dessa forma, você especifica o pacote de tradução pai que deseja estender. E também especifique a ordem, caso você já tenha herança de pacote de tradução no projeto. Aqui está um link no exemplo do próprio magento .
Mais uma coisa. Verifique se o seu
<vendor> . '_' . <code>
(do idioma.xml ) corresponderá ao nome do módulo deregistration.php
.project_nl_nl
no meu exemplofonte
nl_NL.csv
dentro desse módulo?Eu tive o mesmo problema e encontrei a solução. \ Magento \ Framework \ Translate primeiro carrega traduções de temas e depois carrega traduções de pacotes. Você deve criar um plug-in para esta classe no método loadData e corrigir a ordem de carregamento.
fonte
Não sei se é porque agora é 2019 ou se a resposta de Sergey teve um erro desde o início, mas a ordem de carregamento real no fornecedor de arquivos / magento / framework / Translate.php é esta:
O que é carregado mais tarde substitui as traduções anteriores.
Portanto, mesmo que a resposta de Daniel Sloof funcione, você pode simplesmente adicionar sua tradução ao tema e ela terá maior prioridade do que um pacote de idiomas.
fonte
Se o conteúdo estático estiver limpo, o cache e a conversão no tema de armazenamento local CSV funcionam, mas não por algumas palavras. Portanto, o pacote lang substituído pelo tema personalizado é traduzido, mas não para todas as frases.
fonte
Tenho tradução diferente no pacote de_de no módulo, tema e outro pacote (vendor / {name} / language-de_de). Vi que a tradução sempre partiu do tema. Limpar pub / static e cache (com cache no Chrome). Quais são as prioridades de conversão de carga real?
fonte