Класс: Translation¶
Краткое содержание:¶
Статический фасад локализации: 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> — Относительные пути файлов.