Drupal tmgmt модуль, фиксим баги

Это мощный модуль перевода контента. Из коробки, позволяет делать это вручную, вытягивая поля сущности в единый список. К нему можно подключить Deepl в качестве провайдера (tmgmt_deepl) и автоматизировать перевод контента.

Модуль решает очень большую и важную задачу, но проблем с ним хватает. Поделюсь решением тех проблем, с которыми сталкивался сам.

Немного теории о модуле. При выполнении перевода статьи, модуль реализует три этапа:

  • Сбор информации о структуре статьи. Это не просто информация о типах полей, а рекурсивный проход в том числе и через в entity reference.
  • Запрос переводов у провайдера (я пользовался Deepl). Выполняется как batch процесс.
  • Сохранение переводов, рекурсивная процедура по аналогии с первым этапом.

Проблемы

Рекурсия

Рекурсия на первом этапе может быть источников проблемы, когда сбор данных о структуре заходит в рекурсивную петлю. Это возможно при сложных перелинковках сущностей, и вообще случается не редко.

Пропущенные тексты

Иногда случается ошибка, когда часть текстов в переводе статьи отсутствует. Это могут быть отдельные параграфы, текстовые поля целиком.

Error Code 1366 of Mysql

При записи данных в базу (на третьем этапе) выводится ошибка о якобы не допустимых кодах символа кодировки UTF8. При этом ваша база настроена как нужно, для текстовых полей используется utf8mb4.

Проблема с сохранением asymmetric paragraphs

Вернее они сохраняются, но не верно. Обычно это приводит к тому, что вы вместо перевода видите текст из статьи-источника.

Превышение лимитов памяти/времени исполнения на этапа сохранения переводов

Даже если проблема с рекурсией решена, на последнем этапе все равно может не хватить времени или ОЗУ, чтобы выполнить сохранение результатов перевода.

Написать комментарий

Мало букафф? Читайте есчо !

TMGMT переводит поле view_mode, объявленное плагином menu_link_extras

Июнь 17, 2024 г.

Поля, определенные модулями, не попадают в конфиг файлы сайта, и их не получается настроить привычным способом. В данном случае, требуется как то указать TMGMT модулю, что не нужно переводить поле view_mode. Чтобы предотвратить проблему, можно ...

Читать

 

Комментарии к «Drupal tmgmt модуль, фиксим баги»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: