Класс: Translation
Документация по плагину класс: translation для DLE.
Краткое содержание:
Статический фасад локализации: Symfony Translator, XLIFF-каталоги и JS-словари.
Свойства
- private $translator
- private $localization_path
- private $locale
Методы
- public getDictionaryForLocale()
- public convertXliffToJs()
- public jsTranslationFilePath()
- public jsTranslationFileMtime()
- public metroLocaleFor()
- public metroLocaleAddonPath()
- public setTranslator()
- public reset()
- public getTranslator()
- public setLocale()
- public getLocale()
- public getLocaleData()
- public getTranslation()
- public getTranslationWithParameters()
- public getTranslationPlural()
- public getTranslationPluralWithParameters()
- public setLocalizationPath()
- public getLanguages()
- private normalizeLanguages()
- public loadLanguageMeta()
- private languageMetaToLegacy()
- private languagesMetaVersion()
- public getFormattedLanguageList()
- public setUseTranslator()
- public isUseTranslator()
- public getLocalizationPath()
- private nonTranslator()
- private getTranslationArray()
- private loadDictionaryForLocale()
- private localeXliffMtime()
- private writeJsTranslationFile()
- private parseXliffFile()
- private flattenFileList()
Подробности
- Путь:
devcraft/src/classes/I18n/Translation.php
Детали
Свойства
$translator
Статический фасад локализации: Symfony Translator, XLIFF-каталоги и JS-словари.
$localization_path
Абсолютный путь к каталогу локализаций.
$locale
Текущий тег локали (например, ru_RU).
Методы
getDictionaryForLocale()
Возвращает словарь переводов для указанной локали без смены активной локали.
С версии: 200.4.0
Параметры:
$locale— Тег локали.
Возвращает: array<string, — string> Ассоциативный массив исходная_строка => перевод.
convertXliffToJs()
Генерирует JS-словари переводов из XLIFF для клиентского __().
С версии: 173.3.0
jsTranslationFilePath()
Возвращает абсолютный путь к JS-файлу перевода для локали.
С версии: 200.4.0
Параметры:
$locale— Тег локали.
Возвращает: string Нормализованный путь к translation.{locale} — .js.
jsTranslationFileMtime()
Возвращает время последней модификации JS-файла перевода.
С версии: 200.4.0
Параметры:
$locale— Тег локали.
Возвращает: int — Unix-timestamp или 0, если файл отсутствует.
metroLocaleFor()
Возвращает двухбуквенный код локали Metro UI для заданного тега.
С версии: 200.4.0
Параметры:
$locale— Тег локали.
Возвращает: string — Код ISO 639-1 (например, ru).
metroLocaleAddonPath()
Возвращает путь к JS-аддону Metro UI для локали или null, если файл отсутствует.
С версии: 200.4.0
Параметры:
$metroLocale— Двухбуквенный код локали Metro.
Возвращает: string|null Абсолютный путь к metro.{locale} — .js или null.
setTranslator()
Устанавливает переводчик для модуля с заданными настройками.
С версии: 173.3.0
reset()
Сбрасывает состояние переводчика и очищает кэш локализации.
С версии: 200.4.0
getTranslator()
Возвращает экземпляр переводчика, связанный с текущим модулем.
С версии: 173.3.0
Возвращает: Translator|null — Экземпляр переводчика или null.
setLocale()
Устанавливает локаль для приложения.
С версии: 173.3.0
Параметры:
$locale— Новое значение локали.
getLocale()
Возвращает текущую локаль или значение по умолчанию (ru_RU).
С версии: 173.3.0
Возвращает: string — Текущая локаль.
getLocaleData()
Возвращает локализованные данные для указанного языка.
С версии: 173.3.0
Параметры:
$locale— Код языка.
Возвращает: array<string, — mixed> Массив данных локализации или пустой массив.
getTranslation()
Возвращает переведённую фразу.
С версии: 173.3.0
Параметры:
$phrase— Фраза для перевода.
Возвращает: string — Переведённая строка.
getTranslationWithParameters()
Возвращает переведённую фразу с установленными параметрами.
С версии: 173.3.0
Параметры:
$phrase— Исходная фраза.
Возвращает: string — Переведённая фраза или исходная строка при отключённом переводчике.
getTranslationPlural()
Возвращает переведённую фразу с учётом множественного числа.
С версии: 173.3.0
Параметры:
$phrase— Переводимая фраза.$count— Количество для выбора формы.
Возвращает: string — Переведённая строка с учётом склонения.
getTranslationPluralWithParameters()
Возвращает переведённую фразу с параметрами множественного числа.
С версии: 173.3.0
Параметры:
$phrase— Фраза для перевода.$count— Число для выбора варианта склонения.
Возвращает: string — Переведённая фраза с учётом склонений и параметров.
setLocalizationPath()
Устанавливает путь до переводимых фраз.
С версии: 173.3.0
Параметры:
$localization_path— Абсолютный или относительный путь к каталогу локалей.
getLanguages()
Получает список доступных языков.
С версии: 173.3.0
Возвращает: array<string, — LanguageData> Массив языков: тег => метаданные.
normalizeLanguages()
Нормализует список языков после чтения из файлового JSON-кэша.
С версии: 200.4.0
Возвращает: array<string, — LanguageData> Массив языков: тег => метаданные.
loadLanguageMeta()
Загружает метаданные языка из meta.php или формирует значения по умолчанию.
С версии: 200.4.0
Параметры:
$locale— Тег локали.
Возвращает: LanguageData — Объект с названиями и кодами языка.
languageMetaToLegacy()
Преобразует LanguageData в legacy-формат списка языков.
С версии: 200.4.0
Параметры:
$data— Метаданные языка.
Возвращает: array{original: string, english: string, iso2: string, tag: string} —
languagesMetaVersion()
Возвращает версию кэша списка языков по mtime файлов meta.php.
С версии: 200.4.0
Возвращает: string — Строковое представление максимального mtime.
getFormattedLanguageList()
Возвращает отформатированный список языков с заданным шаблоном.
С версии: 173.3.0
Параметры:
$format— Шаблон подстановки ({originalName}, {englishName}, {iso2}, {tag}).
Возвращает: array<int, array<string, string>> — Массив с ключами tag и name.
setUseTranslator()
Устанавливает использование переводчика.
С версии: 173.3.0
Параметры:
$use_translator— true — включить переводчик.
isUseTranslator()
Проверяет, используется ли переводчик.
С версии: 173.3.0
Возвращает: bool — true, если переводчик активен.
getLocalizationPath()
Получает путь к локализации приложения.
С версии: 173.3.0
Возвращает: string|null — Полный нормализованный путь к каталогу локалей.
nonTranslator()
Заменяет плейсхолдеры в строке без использования переводчика.
С версии: 173.3.0
Параметры:
$phrase— Исходная строка.
Возвращает: string — Обработанная строка.
getTranslationArray()
Возвращает массив переводов для текущей активной локали.
С версии: 173.3.0
Возвращает: array<string, — string> Словарь переводов.
loadDictionaryForLocale()
Загружает словарь переводов из XLIFF-файлов указанной локали.
С версии: 173.3.0
Параметры:
$locale— Тег локали.
Возвращает: array<string, — string> Ассоциативный массив переводов.
localeXliffMtime()
Возвращает максимальный mtime XLIFF-файлов локали.
С версии: 200.4.0
Параметры:
$locale— Тег локали.
Возвращает: int — Unix-timestamp или 0.
writeJsTranslationFile()
Записывает JS-файл словаря переводов для клиентского DevCraftI18n.
С версии: 200.4.0
Параметры:
$path— Путь к выходному файлу.$locale— Тег локали.
Возвращает: bool — true при успешной записи.
parseXliffFile()
Парсит один XLIFF-файл и возвращает пары source => target.
С версии: 173.3.0
Параметры:
$filePath— Имя или относительный путь файла.$directory— Каталог локали.
Возвращает: array<string, — string> Извлечённые переводы.
flattenFileList()
Разворачивает древовидный список файлов dirToArray в плоский список путей.
С версии: 200.4.0
Параметры:
$tree— Дерево каталогов от DataManager::dirToArray().
Возвращает: list<string> — Относительные пути файлов.