Sei que esse problema foi tratado várias vezes neste fórum
Localização Magento2 Javascript
Magento 2 - traduzindo problemas em modelos JS
Magento2 traduzindo texto do modelo Javascript (KO)
Instalei o pacote de idiomas italiano no meu projeto Magento 2.1.9 e a maioria das strings foi traduzida corretamente.
Eu adicionei um novo dicionário de tradução no meu tema.
vendor/<Vendor>/<Theme>/i18n/it_IT.csv
Aqui eu modifiquei algumas traduções e adicionei as novas strings do meu tema para traduzir. Para as strings incluídas nos arquivos phtml, tudo funciona bem.
Eu adicionei algumas strings personalizadas em modelos desatualizados de checkout. Por exemplo, em
<My-theme>/Magento_Checkout/web/template/authentication.html
Eu adicionei
<span data-bind="i18n: 'Do you already have an account?'"></span>
Então, no meu tema it_IT.csv:
"Do you already have an account?","Hai già un account?"
É claro que esvaziei o cache, pub / static / , var / view_preprocessed / , var / generation, etc. e executei todos os comandos.
As strings ainda estão em inglês.
Eu realmente tenho que criar um novo pacote de idiomas para traduzir algumas strings no checkout? Qual o motivo?
EDIT As traduções online funcionam para todas as strings. Pode ser uma maneira de corrigi-lo temporariamente, mas não a solução definitiva.
fonte
Respostas:
Você precisa estender um pacote de idiomas, não basta criar um arquivo de tradução no tema.
Este módulo de extensão precisa conter:
composer.json
language.xml
registration.php
E, claro, arquivo com traduções no idioma desejado.
fonte
Uma solução alternativa (a que finalmente adotamos) é incluir arquivos de tradução em um módulo e não no tema.
Estranhamente, os módulos csv podem facilmente converter as strings js.
Crie um novo módulo com:
compositer.json
etc / module.xml
e aqui vamos adicionar todo o nosso arquivo de idioma:
i18n / it_IT
i18n / pt_BR
..
Escolhemos esse sistema porque o projeto em que trabalhamos tem muitos idiomas e não queremos incluir muitos pacotes de idiomas.
Observe que ele funcionará apenas para novas strings, porque o Magento dá prioridade às traduções do pacote de idiomas. Mas essa é outra história.
fonte