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.