Перейти к содержанию

Генератор языковых файлов

Переводимые строки в коде оборачиваются в __() / translate() (см. devcraft/src/bootstrap/functions.php). Файлы локалей хранятся вне src/ — по умолчанию в devcraft/locales/{locale}/ (настраивается полем Путь до языков на странице Настройка).

Настройка путей

Класс Translation

Загрузка и выбор перевода выполняется через Translation и мост TwigTranslatorBridge для шаблонов Twig.

Список доступных языков для настроек формируется методом Translation::getFormattedLanguageList().

Формат файлов

Используются XLIFF-файлы по одному на модуль, например:

Text Only
devcraft/locales/ru_RU/devcraft.xliff
devcraft/locales/ru_RU/my_module.xliff

Полный каталог всех XLIFF на сайте в документации не приводится — достаточно знать базовый путь из настроек.

Извлечение строк для перевода

Для массового сбора фраз из PHP/Twig можно использовать внешние инструменты (например, translation_generator ⧉) с указанием:

  • исходного каталога devcraft/src/;
  • исключений: vendor/, cache/, logs/;
  • выходного каталога devcraft/locales/ru_RU/;
  • имени модуля для файла XLIFF.

Crowdin

При публикации на Crowdin укажите путь к локалям согласно настройкам проекта. Синхронизация с репозиторием выполняется вручную или через CI — вне scope DevCraft Admin.

См. также