Генератор языковых файлов¶
Переводимые строки в коде оборачиваются в __() / translate() (см. devcraft/src/bootstrap/functions.php). Файлы локалей хранятся вне src/ — по умолчанию в devcraft/locales/{locale}/ (настраивается полем Путь до языков на странице Настройка).
Класс Translation¶
Загрузка и выбор перевода выполняется через Translation и мост TwigTranslatorBridge для шаблонов Twig.
Список доступных языков для настроек формируется методом Translation::getFormattedLanguageList().
Формат файлов¶
Используются XLIFF-файлы по одному на модуль, например:
Полный каталог всех XLIFF на сайте в документации не приводится — достаточно знать базовый путь из настроек.
Извлечение строк для перевода¶
Для массового сбора фраз из PHP/Twig можно использовать внешние инструменты (например, translation_generator ⧉) с указанием:
- исходного каталога
devcraft/src/; - исключений:
vendor/,cache/,logs/; - выходного каталога
devcraft/locales/ru_RU/; - имени модуля для файла XLIFF.
Crowdin¶
При публикации на Crowdin укажите путь к локалям согласно настройкам проекта. Синхронизация с репозиторием выполняется вручную или через CI — вне scope DevCraft Admin.
См. также¶
- Настройка — поле
locales_path - Глобальные функции
