Абстрактный класс: MhTranslation Краткое содержание: Класс для оформления фраз переводов
Свойства Методы Подробности Путь: engine/inc/maharder/_includes/classes/MhTranslation.php Использованные трейты: Свойства
private $cache_folder : string Краткое содержание
Папка кеша
Тип: Текст
private $locale : ?string Краткое содержание
Название локали
Тип: Текст или null
Подробности:
Тэг Версия Описание version 173.3.0 since 173.3.0
private $localization_path : ?string Краткое содержание
Путь до фраз перевода
Тип: Текст или null
Подробности:
Тэг Версия Описание version 173.3.0 since 173.3.0
private $prefix : ?string Тип: Текст или null
Подробности:
private $translator : ?\Symfony\Component\Translation\Translator Краткое содержание
Класс переводчика
**Тип: ** Translator
Подробности:
Тэг Версия Описание version 173.3.0 since 173.3.0
private $use_translator : bool Тип: Логические значения
Подробности:
Методы
clear_cache Text Only public clear_cache(string type = "all") : void
Краткое содержание Очищает кеш указанного типа.
Описание Метод позволяет очистить кеш для переданного типа или полностью, если тип "all". Использует внутренний метод CacheControl::clearCache для выполнения операции очистки.
Смотри так-же: Свойства: Название Тип По умолчанию $type string "all"
Возвращает:
convertXliffToJs Text Only static public convertXliffToJs() : void
Краткое содержание Преобразует XLIFF-файлы переводов в JavaScript-файлы для поддержки локализации на клиентской стороне.
Описание Метод перебирает доступные языки из функции {@see}, кэширует переводы, преобразует их из XLIFF-файлов и генерирует JavaScript-файлы с переводами. Если переводы не найдены или директория переводов отсутствует, генерируется лог ошибки.
Смотри так-же: Ошибки: Тип Описание \JsonException \Throwable
Возвращает:
get_cache Text Only public get_cache(string type, string name) : array|false
Краткое содержание Получает кешированные данные для заданного типа и имени.
Описание Метод использует статический метод CacheControl::getCache()
, чтобы получить данные из файловой системы.
Смотри так-же: Свойства: Название Тип По умолчанию $type string $name string
Ошибки: Тип Описание \JsonException
Возвращает: Возвращает массив декодированных данных, если файл кеша успешно найден и данные корректны, или false
, если произошла ошибка (например, файл не найден или данные некорректны).
getCacheFolder Text Only public getCacheFolder() : string
Возвращает:
Text Only static public getFormattedLanguageList(string|null format = "{original} ({english})") : array
Краткое содержание Возвращает отформатированный список языков с заданным шаблоном формата.
Описание Поддерживаемые подстановочные шаблоны в строке формата:
{original}
- заменяется на переведённое название языка. {english}
- заменяется на английское название языка. {iso2}
- заменяется на двузначный код языка (например: ru
). {tag}
- заменяется на код языка (например: ru_RU
). Если формат не указан, по умолчанию используется шаблон: "{original} ({english})". Смотри так-же: Свойства: Название Тип По умолчанию $format string|null "{original} ({english})"
Ошибки: Тип Описание \JsonException Выбрасывается в случае ошибок при JSON-операциях. \Throwable
Возвращает: Возвращает массив языков, где каждый элемент содержит:
tag
- код языка, name
- сгенерированное название языка на основе переданного формата.
getLanguages Text Only static public getLanguages() : array
Краткое содержание Получает список доступных языков.
Описание Метод проверяет наличие кэша для списка языков. Если кэш отсутствует, формирует список языков на основе содержимого директории локализаций. Полученные данные сохраняются в кэше для последующего использования.
Смотри так-же: Ошибки: Тип Описание \JsonException|\Throwable Возникает при ошибке декодирования JSON в момент работы с кэшем.
Возвращает: Массив доступных языков, где ключ — идентификатор языка, а значение — данные языка.
getLocale Text Only static public getLocale() : string
Краткое содержание Возвращает текущую локаль или значение по умолчанию ("ru_RU"), если локаль не определена.
Возвращает: Текущая локаль или значение по умолчанию ("ru_RU").
getLocaleData Text Only static public getLocaleData(string locale) : array
Краткое содержание Возвращает локализованные данные для указанного языка.
Смотри так-же: Свойства: Название Тип По умолчанию $locale string
Ошибки: Тип Описание \JsonException Если возникли ошибки при декодировании JSON-данных. \Throwable Если возникают ошибки при работе с кешем или файловой системой.
Возвращает: Массив данных локализации для указанного языка.
getLocalizationPath Text Only static public getLocalizationPath() : string|null
Краткое содержание Получает путь к локализации приложения.
Описание Метод возвращает путь к директории с файлами локализации. Если путь ранее не был установлен или пуст, он загружается из конфигурации mhadmin
и по умолчанию указывает на директорию /engine/inc/maharder/_locales
.
Смотри так-же: Ошибки: Тип Описание \JsonException Если возникает ошибка при загрузке конфигурации.
Возвращает: Полный путь к локализации, или null, если ROOT_DIR не определён.
getPrefix Text Only public getPrefix() : string
Краткое содержание Возвращает префикс для использования в SQL-запросах.
Описание Метод проверяет, установлен ли префикс. Если префикс не задан, он вызывает метод setPrefix()
, чтобы установить его значение. Затем возвращает установившийся префикс.
Смотри так-же: Возвращает: Префикс, используемый для построения SQL-запросов.
getTranslation Text Only static public getTranslation(string phrase) : string
Краткое содержание Возвращает переведённую фразу.
Описание Метод использует функцию getTranslationWithParameters
для получения перевода без указания дополнительных параметров.
Смотри так-же: Свойства: Название Тип По умолчанию $phrase string
Ошибки: Тип Описание \JsonException Исключение, выбрасываемое при ошибках обработки JSON (возможные ошибки в логе или настройках переводчика).
Возвращает: Переведённая строка.
getTranslationPlural Text Only static public getTranslationPlural(string phrase, int count) : string
Краткое содержание Возвращает переведённую фразу с учётом параметров множественного числа/склонения.
Описание Делегирует обработку перевода методу getTranslationPluralWithParameters
, передавая пустой массив параметров в качестве третьего аргумента.
Смотри так-же: Свойства: Название Тип По умолчанию $phrase string $count int
Ошибки: Тип Описание \JsonException Если в процессе выполнения произошла ошибка обработки JSON.
Возвращает: Переведённая строка с учётом параметров множественного числа/склонения.
getTranslationPluralWithParameters Text Only static public getTranslationPluralWithParameters(string phrase, int count, array parameters) : string
Краткое содержание Возвращает переведённую фразу с параметрами множественного числа, учитывая склонения, с дополнительной поддержкой параметров.
Смотри так-же: Свойства: Название Тип По умолчанию $phrase string $count int $parameters array
Ошибки: Тип Описание \JsonException Если возникает ошибка при обработке JSON данных. \Throwable
Возвращает: Переведённая фраза с учетом склонений и параметров.
getTranslationWithParameters Text Only static public getTranslationWithParameters(string phrase, array parameters) : string
Краткое содержание Возвращает переведённую фразу с установленными параметрами.
Описание Перевод осуществляется с использованием зарегистрированного переводчика. Если переводчик не установлен, он инициализируется вызовом метода setTranslator
. Если использование переводчика отключено, возвращается результат без перевода.
Смотри так-же: Свойства: Название Тип По умолчанию $phrase string $parameters array
Ошибки: Тип Описание \JsonException В случае возникновения ошибки при работе с переводчиком.
Возвращает: Переведённая фраза или исходная строка при отключённом переводчике.
getTranslator Text Only static public getTranslator() : \Translator|null
Краткое содержание Возвращает экземпляр переводчика, связанный с текущим модулем.
Описание Если модуль передан как параметр, то он устанавливается перед получением переводчика. Если переводчик ещё не установлен, он будет автоматически инициализирован для текущего модуля.
Смотри так-же: Ошибки: Тип Описание \Throwable \JsonException Генерируется при ошибках работы с JSON во внутренних методах.
Возвращает: Экземпляр переводчика или null, если переводчик не установлен.
isUseTranslator Text Only static public isUseTranslator() : bool
Краткое содержание Проверяет, используется ли переводчик.
Описание Метод проверяет, инициализирован ли статический переводчик (self::$translator
). Если переменная не равна null, значит переводчик используется.
Возвращает: Возвращает true, если переводчик задан; иначе false.
load_data Text Only public load_data(string name, mixed ..._vars) : array
Краткое содержание Метод загружает данные из базы данных с использованием механизма кеширования.
Описание Если данные уже закешированы, то они возвращаются из кеша, иначе выполняется запрос к базе данных, формируется кеш и результат сохраняется на диск.
Смотри так-же: Свойства: Название Тип По умолчанию $name string $_vars mixed
Ошибки: Тип Описание \JsonException В случае JSON-ошибок при работе с кешем.
Возвращает: Результат выборки из базы данных, либо из кеша.
setCacheFolder Text Only public setCacheFolder(string cache_folder) : void
Свойства: Название Тип По умолчанию $cache_folder string
Возвращает:
setLocale Text Only static public setLocale(string locale) : void
Краткое содержание Устанавливает локаль для приложения.
Свойства: Название Тип По умолчанию $locale string
Возвращает:
setLocalizationPath Text Only static public setLocalizationPath(string localization_path) : void
Краткое содержание Устанавливает путь до переводимых фраз
Свойства: Название Тип По умолчанию $localization_path string
Возвращает:
setPrefix Text Only public setPrefix(string|null name = null) : void
Краткое содержание Устанавливает префикс для использования в загрузке данных.
Описание Если переданное имя соответствует значениям "users" или "usergroup", то префикс устанавливается в значение константы USERPREFIX
. В противном случае используется значение по умолчанию из константы PREFIX
.
Свойства: Название Тип По умолчанию $name string|null null
Возвращает:
setTranslator Text Only static public setTranslator() : void
Краткое содержание Устанавливает переводчик для модуля с заданными настройками.
Описание Использует параметры из конфигурации для настройки локализации, загрузки переводов и их применения.
Смотри так-же: Ошибки: Тип Описание \JsonException|\Throwable Если возникла ошибка при работе с JSON-файлами.
Возвращает:
setUseTranslator Text Only static public setUseTranslator(bool use_translator) : void
Краткое содержание Устанавливает использование переводчика.
Свойства: Название Тип По умолчанию $use_translator bool
Возвращает:
generateJsTranslationContent Text Only static private generateJsTranslationContent(array translations) : string
Краткое содержание Генерирует содержимое JavaScript-файла с переводами на основе переданного массива переводов.
Свойства: Название Тип По умолчанию $translations array
Возвращает: Содержимое для JavaScript, включающее объект переводов и экспорт по умолчанию.
getTranslationArray Text Only static private getTranslationArray() : array
Краткое содержание Возвращает массив переводов из XLIFF файла в виде ассоциативного массива, где ключами являются исходные строки, а значениями — переведённые строки.
Описание Если файл перевода отсутствует или возникает ошибка при его обработке, возвращается пустой массив. Реализована поддержка кеширования для ускорения получения данных при последующих вызовах.
Смотри так-же: Ошибки: Тип Описание \JsonException Исключение при ошибке работы с JSON при кэшировании. \Throwable Исключение при неизвестной ошибке в процессе обработки файла.
Возвращает: Ассоциативный массив переводов.
languageList Text Only static private languageList(string lang) : array
Краткое содержание Возвращает массив данных о языке на основе переданного кода языка.
Смотри так-же: Свойства: Название Тип По умолчанию $lang string
Возвращает: Ассоциативный массив с данными о языке. Содержит следующие ключи:
original
(string): Название языка на его родном языке. english
(string): Название языка на английском. iso2
(string): Код ISO 639-1 языка. tag
(string): Полный тег языка.
nonTranslator Text Only static private nonTranslator(string phrase, array params = []) : string
Краткое содержание Заменяет плейсхолдеры в строке на указанные значения.
Описание Метод принимает строку и массив пар "ключ-значение", где каждый ключ - это плейсхолдер, который заменяется соответствующим значением в строке.
Свойства: Название Тип По умолчанию $phrase string $params array []
Возвращает: Обработанная строка с произведёнными заменами.
parseXliffFile Text Only static private parseXliffFile(string filePath) : array
Свойства: Название Тип По умолчанию $filePath string
Возвращает:
set_cache Text Only private set_cache(string type, string name, mixed data) : void
Краткое содержание Сохраняет данные в кеш.
Описание Метод записывает данные в кеш, используя указанный тип и имя. Для сохранения данных вызывается метод CacheControl::setCache
, который обрабатывает директорию и имя файла, записывает данные в формате JSON и устанавливает необходимые права доступа к файлу.
Смотри так-же: Свойства: Название Тип По умолчанию $type string $name string $data mixed
Ошибки: Тип Описание \JsonException
Возвращает:
writeJsFile Text Only static private writeJsFile(string path, string content) : bool
Краткое содержание Записывает переданное содержимое в указанный файл JavaScript.
Описание В случае неуспешной записи генерирует критический лог с использованием метода LogGenerator::generateLog.
Смотри так-же: Свойства: Название Тип По умолчанию $path string $content string
Ошибки: Возвращает: Возвращает true, если запись прошла успешно, или false, если возникла ошибка.
28 января 2025 г. 26 января 2025 г.