Генератор языковых файлов
Локализация модулей DevCraft: XLIFF и Translation.
Зачем: строки в коде на русском, интерфейс — на языке админки; без правки PHP при добавлении локали.
Оборачивайте текст в __() / translate(). Файлы: devcraft/locales/{locale}/ (путь — Настройка).
Класс 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 - Глобальные функции