Javascript локализации Magento2


Аналогичный вопрос уже задавался здесь: Переводы текста на javascript Magento 2, но Magento обновил эту технику перевода в бета-версии.

Как я могу добавить или обновить переводы, используемые Javascript?

Я выяснил, что Magento создает файл под названием "js-translation.json" в статической папке. Если я редактирую этот файл напрямую, я вижу, что мои переводы обновляются. Но где создан этот файл и как я могу добавить переводы так что Magento автоматически добавит это в js-перевод.json, когда он будет сгенерирован?

Обновление

Правильный ответ на этот вопрос до сих пор не дан, хотя Mage2.PRO указал мне правильное направление, это не полный ответ. Мой js-перевод.json все еще пуст при создании.

Например, мне нравится переводить кнопку "Добавить в корзину". Эта кнопка имеет три состояния: Добавить в корзину, Добавить... и Добавил... Как я могу перевести эти слова? Другой пример, "У вас в корзине нет товаров". текст в мини-корзине. Я думаю, что все эти фразы должны быть переведены с js-translation.json, но куда их добавить, чтобы этот файл был заполнен этими переводами?

Author: Community, 2015-11-06

4 answers

Не уверен, что вы уже поняли это, но я подумал, что все равно отвечу..

Я думаю, что другие ответы идут в правильном направлении.

Предполагая, что у вас уже установлены переводы, если нет, пожалуйста:

bin/magento i18n:pack -m replace -d source_nl_NL.csv . nl_NL

Итак, прежде всего, пожалуйста, очистите кэш (как предлагали и другие):

rm -rf var/cache var/generation var/page_cache var/view_preprocessed

Во-вторых, пожалуйста, очистите свою папку pub/static:

rm -rf pub/static/*/

Тогда мы восстановите статическое содержимое: (я пропустил код языка в других ответах..)

bin/magento setup:static-content:deploy nl_NL - Убедитесь, что вы добавили код языка

Теперь проверьте, был ли какой-либо js-перевод.созданный json:

find pub/static/ -name "js-translation.json"

Скорее всего, вы получите список файлов js-translation.json. Пожалуйста, проверьте эти файлы и удалите их, если они пусты или содержат что-то вроде [].

 10
Author: Timon de Groot, 2016-06-20 07:36:33

Попробуйте добавить переводы в CSV-файлы, затем убедитесь, что выполнены следующие шаги:

  1. Хранилище кэша должно быть очищено (в основном должны быть очищены папки var/cache и var/view_preprocessed)
  2. Статические файлы должны быть перераспределены (удалите все папки внутри pub/static и запустите программу установки bin/magento: статическое содержимое: развертывание)
 1
Author: Arkadii Chyzhov, 2015-11-10 20:09:25

Удалите весь кэш и удалите содержимое паба/статической папки.

Перейдите в корневой каталог и выполните следующую команду: -

Php bin/настройка magento: статическое содержимое: развертывание

Надеюсь, ваша проблема будет решена.

 0
Author: Rakesh Verma, 2016-01-12 07:36:18

У меня была такая же проблема, как "Не удается перевести фразы в $.mage.__('XXX')", когда фраза в phtml работала идеально. Итак, решение было гениально простым.

$t(...) и $.mage анализирует только файлы *.js

Следовательно, он не попадает в словарь js-перевода.

Поэтому при отображении сценария раздела в файлах phtml вы должны напрямую вставлять уже переведенные фразы с помощью оберток __('Translated phrase') .

 0
Author: Galina, 2018-04-06 13:54:11