Magento 2 Переклади не працюють


10

Я намагаюся перекласти частину тексту на сторінку оформлення замовлення:

"За умови, що поштовий індекс видається недійсним."

Однак, коли я додаю наступне до frontend/..theme../Magento_Checkout/i18n/en_US.csvповторного розгортання, перекладу немає:

"Подання поштового індексу, здається, недійсне.", "Тест."

Я також очистив кеш-пам'ять. Що я роблю неправильно?


перевірити мою оновлену відповідь. Я сподіваюся, що зараз працюємо на вас.
Суреш Чікані

Відповіді:


15

Створіть каталог app/i18n/Vendorname/en_US

Команда видачі:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoЦе дозволить зібрати всі перекладені фрази у файлі csv та помістити їх у вказаний шлях. Внесіть зміни у файл csv відповідно до вашої вимоги та, коли будете готові видавати команду:

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

Це дозволить розгорнути переклади з вашого файлу.

очистіть кеш і т.д., і ви повинні побачити зміни.


Це виглядає перспективно. У ній сказано, що мовний пакет був успішно збережений, але перекладу все ще немає ..
Торт

Коли я знову виконую команду збирати-фрази, переклад повертається до того, яким він був. Чому це не економія?
Торт

Це нормальна поведінка, коли ви пригадуєте фрази, це переосмислює ваші зміни, оскільки Magento пригадав усі фрази за замовчуванням. Процес - це ви збираєте фрази, вносите зміни та розгортаєте їх. Після розгортання ви можете перейти у відповідний модуль, скажімо, що ви внесли зміни для «Додати в кошик для додавання в сумку», ви можете перейти до постачальника / модуля-каталогу / i18n / en_US. csv і шукайте свої зміни. Щойно перепробував це, і він працює як слід. Переконайтеся, що ви змінюєте другу інстанцію при перекладі та очищаєте кеш належним чином. Ви також можете спробувати ще раз розгорнути статичний вміст.
Devtype

Велике спасибі, це справді працює. Однак деякі переклади не потрапляють. Приклад "Приклад:" та "Обов'язкові поля" не перекладаються. Як це?
Торт

Знайшов проблему. Мені довелося php bin / magento setup: upgrade. Після цього мій сайт був зіпсований, але потім заглиблена тема виправила його. Не знаю, чому це спрацювало. Спасибі
торт

4

Ви можете змінити лише текст, написаний у перекладі

Подібно до : $this->__("Sample Taxt");

Запропонований текст не пишеться в перекладі, тому ви не можете змінити його перекладом.

Якщо ви хочете змінити його, ви можете знайти його у файлі JS, який знаходиться:

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

Примітка. У вашій темі потрібно перезаписати файл JS .

Видалити паб / статичний / *

Запустити команду:

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Видалити кеш браузера.


Я спробував це, і це чомусь не вийшло.
Торт

Я скопіював цей файл, змінив переклад і помістив його у додаток / дизайн / frontend / <vendor> / <theme> / Magento_Checkout / web / js / модель, повторно розгорнув і очистив кеш. Але ніяких змін ..
Торт

перевірити мою оновлену відповідь. Я сподіваюся, що зараз працюємо на вас.
Суреш Чікані

Це справді спрацювало. Однак рішення, яке надає Devtype, більше відповідає моїм потребам у цьому випадку. Дякую за допомогу! :)
Торт

1

У мене була така ж проблема на моєму веб-сайті Magento 2, спробував усілякі пропозиції, як її виправити, але єдине, що працювало для мене, -

  1. йти до /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. Знайдіть js-translation.jsonі видаліть (зробіть його копію на всякий випадок!)

  3. Поверніться до вашої кореневої папки magento та запустіть php bin/magento setup:static-content:deploy pl_PL

  4. Потім бігайте php bin/magento cache:flush

Це воно. Якщо ви повернетесь до /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>папки, зверніть увагу на те, js-translation.jsonщо було створено знову.

Ця проблема трапляється тому, що при запуску статичного розгортання magento генерує файл js-translation.json із усіма перекладами, вставленими в цей один файл, і викликає його щоразу при завантаженні сторінки. Тож коли він вже створений і зазвичай порожній, він не може перезаписати його новою інформацією. Видаливши його та відновивши, це вирішить проблему.

Сподіваюся, що це допоможе комусь.


Привіт @Pinky_P, в моєму випадку js-translation.json оновлюється моїм очікуваним перекладом. Але це не відображається у фронтенді. Чи можете ви мені допомогти вирішити цю проблему.
Рам’я

0

🎗 Просто нагадування ...

Magento зберігає деякі дані перекладу у сховищі браузера.

Можливо, вам доведеться очищати елементи пам’яті браузера на додаток до внутрішніх кешів Magento.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.