Magento 2 Traduções não funciona

10

Estou tentando traduzir algum texto na página de checkout:

"O CEP / código postal fornecido parece inválido."

No entanto, quando adiciono o seguinte frontend/..theme../Magento_Checkout/i18n/en_US.csve reimplante, a tradução não existe:

"O CEP / código postal fornecido parece inválido.", "Teste".

Eu limpei o cache também. O que estou fazendo errado?

Bolo
fonte
verifique minha resposta atualizada. Espero agora trabalhando para você.
Suresh Chikani

Respostas:

15

Crie um diretório app/i18n/Vendorname/en_US

Comando de emissão:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoIsso irá coletar todas as frases traduzíveis no arquivo csv e colocá-lo no caminho especificado. Faça alterações no arquivo csv conforme sua exigência e quando estiver pronto o comando issue:

bin/magento i18n:pack app/i18n/Vendorname/en_US/en_US.csv -d en_US

Isso implantará as traduções do seu arquivo.

limpe o cache etc e você deverá ver suas alterações.

Devtype
fonte
Isso parece promissor. Ele diz que o pacote de idiomas foi salvo com sucesso, mas a tradução ainda não está lá .. #
Cake #
Quando eu faço o comando de coletar frases novamente, a tradução volta ao que era. Por que não está salvando?
Cake
Esse é um comportamento normal, quando você lembra frases, elas substituem suas alterações porque o Magento relembra todas as frases padrão. Processo: você coleta frases, faz as alterações e implanta-as. Uma vez implantado, você pode ir no módulo em questão, digamos que você tenha alterado o item Adicionar ao carrinho para adicionar ao saco, pode ir ao fornecedor / catálogo de módulos / i18n / pt_BR. CSV e procure a sua alteração. Apenas teste novamente isso e ele funciona como deveria. Verifique se você está alterando a segunda instância na tradução e limpando o cache corretamente. Você também pode tentar implantar conteúdo estático mais uma vez.
DEVTYPE
Muito obrigado, funciona mesmo. No entanto, algumas traduções não são aprovadas. O 'Exemplo:' tradução e 'Campos obrigatórios' não são traduzidos. Por quê?
Cake
Encontrei o problema. Eu tive que php bin / magento setup: upgrade. Depois disso, meu site foi desarrumado, mas, depois de esclarecido, o tema foi corrigido. Não faço ideia por que isso funcionou. Obrigado
Cake
4

Você pode alterar apenas o texto que está escrito na tradução

Gostar : $this->__("Sample Taxt");

O texto sugerido não está escrito na tradução, portanto você não pode alterá-lo com a tradução.

Se você deseja alterá-lo, você pode encontrá-lo no arquivo JS localizado:

vendor/magento/module-checkout/view/frontend/web/js/model/shipping-rates-validator.js

Nota: Você deve substituir o arquivo JS no seu tema.

Excluir pub / static / *

Comando de execução :

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Excluir cache do navegador.

Suresh Chikani
fonte
Eu tentei isso e não funcionou por algum motivo.
Cake
Copiei esse arquivo, alterei a tradução e coloquei em app / design / frontend / <fornecedor> / <tema> / Magento_Checkout / web / js / model, reimplantei e limpei o cache. Mas nenhuma mudança ..
Bolo
verifique minha resposta atualizada. Espero agora trabalhando para você.
Suresh Chikani
Isso realmente funcionou. No entanto, a solução fornecida pelo Devtype atende mais às minhas necessidades neste caso. Obrigado pela ajuda! :)
Bolo
1

Tive o mesmo problema no meu site Magento 2, tentei todos os tipos de sugestões de como corrigi-lo, mas a única coisa que funcionou para mim foi -

  1. vamos para /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. Localize js-translation.jsone exclua (faça uma cópia para o caso!)

  3. Volte para a pasta raiz do magento e execute php bin/magento setup:static-content:deploy pl_PL

  4. Então corra php bin/magento cache:flush

É isso aí. Se você voltar para a /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>pasta, observe que js-translation.jsonforam gerados novamente.

Esse problema ocorre porque quando você executa a implantação estática, o magento gera o arquivo js-translation.json com todas as suas traduções inseridas nesse arquivo e o chama sempre que a página é carregada. Portanto, quando já está gerado e geralmente vazio, não é possível substituí-lo por novas informações. Ao excluí-lo e regenerá-lo, resolverá o problema.

Espero que isso ajude alguém.

Pinky_P
fonte
Olá @Pinky_P, no meu caso, o js-translation.json é atualizado com a minha tradução esperada. Mas isso não aparece no frontend. Você poderia me ajudar a resolver esse problema.
Ramya 12/03
0

🎗Só um lembrete ...

O Magento armazena alguns dados de tradução no armazenamento do navegador.

Pode ser necessário limpar os itens de armazenamento do navegador, além dos caches internos do Magento.

insira a descrição da imagem aqui

Ricardo Martins
fonte