Uma pergunta semelhante já foi feita aqui: traduções de texto em javascript no Magento 2 , mas o Magento atualizou essa técnica de tradução na versão beta.
Como posso adicionar ou atualizar traduções usadas pelo Javascript?
Eu descobri que o Magento cria um arquivo chamado 'js-translation.json' na pasta estática. Se eu editar este arquivo diretamente, vejo que minhas traduções são atualizadas. Mas onde esse arquivo é criado, e como posso adicionar traduções para que o Magento o adicione automaticamente ao js-translation.json quando ele é gerado?
Atualizar
A resposta correta para esta pergunta ainda não foi dada, apesar de o Mage2.PRO me apontar a direção certa, não é a resposta completa. Meu js-translation.json ainda está vazio quando gerado.
Por exemplo, gosto de traduzir o botão Adicionar ao carrinho. Este botão possui três estados, Adicionar ao carrinho, Adicionando ... e Adicionado ... Como posso traduzir essas palavras? Outro exemplo, o 'Você não possui itens no carrinho de compras'. texto no minicart. Eu acho que todas essas frases devem ser traduzidas de js-translation.json, mas onde adicioná-las para que esse arquivo seja preenchido com essas traduções?
$.mage.__('Add To Cart')
ele será automaticamente captado pelosetup:static-content:deploy
comando O único problema é que você precisa ter nos arquivos de localidade uma tradução diferente para o texto. Os textos que têm como tradução o mesmo texto não são adicionados ao arquivo json para não aumentar o tamanho sem um motivo.Respostas:
Não tenho certeza se você já descobriu, mas pensei em responder de qualquer maneira ..
Eu acho que as outras respostas estão indo na direção certa.
Supondo que você já tenha as traduções instaladas, se não, por favor:
bin/magento i18n:pack -m replace -d source_nl_NL.csv . nl_NL
Portanto, antes de tudo, limpe o cache (como outros sugeriram também):
rm -rf var/cache var/generation var/page_cache var/view_preprocessed
Em segundo lugar, limpe sua pasta pub / static:
rm -rf pub/static/*/
Em seguida, regeneramos o conteúdo estático: (perdi o código lang nas outras respostas ..)
bin/magento setup:static-content:deploy nl_NL
- Certifique-se de adicionar o código langAgora verifique se havia algum js-translation.json criado:
find pub/static/ -name "js-translation.json"
Provavelmente, você receberá uma lista de
js-translation.json
arquivos. Verifique esses arquivos e exclua-os se estiverem vazios ou contiver algo parecido[]
.fonte
Tente adicionar traduções aos arquivos .csv e verifique se as próximas etapas são executadas:
fonte
Remova todo o conteúdo de cache e delele pub / pasta estática.
Vá para o diretório raiz e execute o comando abaixo: -
configuração do bin php / magento: static-content: deploy
Espero que seu problema seja resolvido.
fonte
Eu tive o mesmo problema como "Não é possível traduzir frases em $ .mage .__ ('XXX')" quando a frase em phtml funcionou perfeitamente. Portanto, a solução era engenhosamente simples.
$ t (...) e $ .mage analisam apenas arquivos * .js
Conseqüentemente, ele não se enquadra no dicionário js-translation.
Portanto, ao renderizar um script de seção em arquivos phtml, você deve inserir diretamente as frases já traduzidas com wrappers
__('Translated phrase')
.fonte