Виправлення помилки "Missed phrase" в Magento

Перше, з чим ви стикаєтеся, коли керуєте багатомовним магазином Magento 2, це переклад контентних та комерційних сторінок. Це допомагає зробити ваш сайт зручним для кожного з ваших цільових клієнтів.

Контент, який ви створюєте та публікуєте на вітрині — це не єдиний контент, який потрібно перекладати. Ось чому вам потрібно створити словник перекладів (translation dictionary), щоб сформувати список текстів для перекладу в шаблонах електронних листів, третьосторонніх розширеннях, JS файлах, тощо.

Хоча наш модуль Magento 2 Translation Plus допомагає вам керувати та створювати цей словник перекладів, ви всерівно можете зіткнутися з помилкою Magento "Missed phrase".

В основному вона з’являється, коли ви намагаєтеся згенерувати словник перекладу під час виконання такої команди:

bin/magento i18n:collect-phrases --magento

Найчастіше помилка "Missed phrase" виникає через сторонні розширення, коли система намагається перекласти порожній рядок, наприклад __('').

Відповідно, щоб дізнатися, який модуль викликає проблеми, потрібно виконати таку команду:

grep -rnw . -e "__('')" -e '__("")'

Ця команда повідомить вам, які файли містять ці порожні рядки як параметр для функції перекладу.

Примітка: вам слід звернути увагу на папки та файли модулів, що не йдуть з Magento, а також на кастомні модулі та теми.

Коли ви відстежите ці файли, вам потрібно змінити __('')   на  '' , а  __("")  на  "" у коді файлу(ів).

Після внесення необхідних змін у відповідні файли ви можете повторно згенерувати словник перекладу. Помилка повинна бути виправлена.