Генератор языковых файлов
Локализация модулей DevCraft: XLIFF и Translation.
Переводимые строки в коде оборачиваются в __() / translate() (см. devcraft/src/bootstrap/functions.php). Файлы локалей хранятся вне src/ — по умолчанию в devcraft/locales/{locale}/ (настраивается полем Путь до языков на странице Настройка).
Блок путей в глобальных настройках DevCraft Admin задаёт каталог локалей. Для graphify здесь важнее явно связать страницу с настройкой locales_path, чем с отдельным изображением.
Класс Translation
Загрузка и выбор перевода выполняется через Translation и мост TwigTranslatorBridge для шаблонов Twig.
Список доступных языков для настроек формируется методом Translation::getFormattedLanguageList().
Формат файлов
Используются XLIFF-файлы по одному на модуль, например:
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.
См. также
- Настройка — поле
locales_path - Глобальные функции