Перейти к содержанию

Класс: Translation

Краткое содержание:

Статический фасад локализации: Symfony Translator, XLIFF-каталоги и JS-словари.


Свойства


Методы


Подробности

  • Путь: 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> — Относительные пути файлов.