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

Абстрактный класс: MhTranslation

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

Класс для оформления фраз переводов


Свойства


Методы


Подробности

  • Путь: engine/inc/maharder/_includes/classes/MhTranslation.php
  • Использованные трейты:

Свойства

private $cache_folder : string


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

Папка кеша

Тип: Текст

private $locale : ?string


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

Название локали

Тип: Текст или null

Подробности:

Tags
Тэг Версия Описание
version 173.3.0
since 173.3.0

private $localization_path : ?string


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

Путь до фраз перевода

Тип: Текст или null

Подробности:

Tags
Тэг Версия Описание
version 173.3.0
since 173.3.0

private $prefix : ?string


Тип: Текст или null

Подробности:

private $translator : ?\Symfony\Component\Translation\Translator


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

Класс переводчика

**Тип: ** Translator

Подробности:

Tags
Тэг Версия Описание
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"
Возвращает:
Text Only
void

convertXliffToJs

Text Only
static public convertXliffToJs() : void
Краткое содержание

Преобразует XLIFF-файлы переводов в JavaScript-файлы для поддержки локализации на клиентской стороне.

Описание

Метод перебирает доступные языки из функции {@see}, кэширует переводы, преобразует их из XLIFF-файлов и генерирует JavaScript-файлы с переводами. Если переводы не найдены или директория переводов отсутствует, генерируется лог ошибки.

Смотри так-же:
Ошибки:
Тип Описание
\JsonException \Throwable
Возвращает:
Text Only
void

get_cache

Text Only
public get_cache(string  type, string  name) : array|false
Краткое содержание

Получает кешированные данные для заданного типа и имени.

Описание

Метод использует статический метод CacheControl::getCache(), чтобы получить данные из файловой системы.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$type string
$name string
Ошибки:
Тип Описание
\JsonException
Возвращает:
Text Only
array|false

Возвращает массив декодированных данных, если файл кеша успешно найден и данные корректны, или false, если произошла ошибка (например, файл не найден или данные некорректны).


getCacheFolder

Text Only
public getCacheFolder() : string
Возвращает:
Text Only
string

getFormattedLanguageList

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
Возвращает:
Text Only
array

Возвращает массив языков, где каждый элемент содержит:

  • tag - код языка,
  • name - сгенерированное название языка на основе переданного формата.

getLanguages

Text Only
static public getLanguages() : array
Краткое содержание

Получает список доступных языков.

Описание

Метод проверяет наличие кэша для списка языков. Если кэш отсутствует, формирует список языков на основе содержимого директории локализаций. Полученные данные сохраняются в кэше для последующего использования.

Смотри так-же:
Ошибки:
Тип Описание
\JsonException|\Throwable Возникает при ошибке декодирования JSON в момент работы с кэшем.
Возвращает:
Text Only
array

Массив доступных языков, где ключ — идентификатор языка, а значение — данные языка.


getLocale

Text Only
static public getLocale() : string
Краткое содержание

Возвращает текущую локаль или значение по умолчанию ("ru_RU"), если локаль не определена.

Возвращает:
Text Only
string

Текущая локаль или значение по умолчанию ("ru_RU").


getLocaleData

Text Only
static public getLocaleData(string  locale) : array
Краткое содержание

Возвращает локализованные данные для указанного языка.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$locale string
Ошибки:
Тип Описание
\JsonException Если возникли ошибки при декодировании JSON-данных.
\Throwable Если возникают ошибки при работе с кешем или файловой системой.
Возвращает:
Text Only
array

Массив данных локализации для указанного языка.


getLocalizationPath

Text Only
static public getLocalizationPath() : string|null
Краткое содержание

Получает путь к локализации приложения.

Описание

Метод возвращает путь к директории с файлами локализации. Если путь ранее не был установлен или пуст, он загружается из конфигурации mhadmin и по умолчанию указывает на директорию /engine/inc/maharder/_locales.

Смотри так-же:
Ошибки:
Тип Описание
\JsonException Если возникает ошибка при загрузке конфигурации.
Возвращает:
Text Only
string|null

Полный путь к локализации, или null, если ROOT_DIR не определён.


getPrefix

Text Only
public getPrefix() : string
Краткое содержание

Возвращает префикс для использования в SQL-запросах.

Описание

Метод проверяет, установлен ли префикс. Если префикс не задан, он вызывает метод setPrefix(), чтобы установить его значение. Затем возвращает установившийся префикс.

Смотри так-же:
Возвращает:
Text Only
string

Префикс, используемый для построения SQL-запросов.


getTranslation

Text Only
static public getTranslation(string  phrase) : string
Краткое содержание

Возвращает переведённую фразу.

Описание

Метод использует функцию getTranslationWithParameters для получения перевода без указания дополнительных параметров.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$phrase string
Ошибки:
Тип Описание
\JsonException Исключение, выбрасываемое при ошибках обработки JSON (возможные ошибки в логе или настройках переводчика).
Возвращает:
Text Only
string

Переведённая строка.


getTranslationPlural

Text Only
static public getTranslationPlural(string  phrase, int  count) : string
Краткое содержание

Возвращает переведённую фразу с учётом параметров множественного числа/склонения.

Описание

Делегирует обработку перевода методу getTranslationPluralWithParameters, передавая пустой массив параметров в качестве третьего аргумента.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$phrase string
$count int
Ошибки:
Тип Описание
\JsonException Если в процессе выполнения произошла ошибка обработки JSON.
Возвращает:
Text Only
string

Переведённая строка с учётом параметров множественного числа/склонения.


getTranslationPluralWithParameters

Text Only
static public getTranslationPluralWithParameters(string  phrase, int  count, array  parameters) : string
Краткое содержание

Возвращает переведённую фразу с параметрами множественного числа, учитывая склонения, с дополнительной поддержкой параметров.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$phrase string
$count int
$parameters array
Ошибки:
Тип Описание
\JsonException Если возникает ошибка при обработке JSON данных.
\Throwable
Возвращает:
Text Only
string

Переведённая фраза с учетом склонений и параметров.


getTranslationWithParameters

Text Only
static public getTranslationWithParameters(string  phrase, array  parameters) : string
Краткое содержание

Возвращает переведённую фразу с установленными параметрами.

Описание

Перевод осуществляется с использованием зарегистрированного переводчика. Если переводчик не установлен, он инициализируется вызовом метода setTranslator. Если использование переводчика отключено, возвращается результат без перевода.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$phrase string
$parameters array
Ошибки:
Тип Описание
\JsonException В случае возникновения ошибки при работе с переводчиком.
Возвращает:
Text Only
string

Переведённая фраза или исходная строка при отключённом переводчике.


getTranslator

Text Only
static public getTranslator() : \Translator|null
Краткое содержание

Возвращает экземпляр переводчика, связанный с текущим модулем.

Описание

Если модуль передан как параметр, то он устанавливается перед получением переводчика. Если переводчик ещё не установлен, он будет автоматически инициализирован для текущего модуля.

Смотри так-же:
Ошибки:
Тип Описание
\Throwable
\JsonException Генерируется при ошибках работы с JSON во внутренних методах.
Возвращает:
Text Only
\Translator|null

Экземпляр переводчика или null, если переводчик не установлен.


isUseTranslator

Text Only
static public isUseTranslator() : bool
Краткое содержание

Проверяет, используется ли переводчик.

Описание

Метод проверяет, инициализирован ли статический переводчик (self::$translator). Если переменная не равна null, значит переводчик используется.

Возвращает:
Text Only
bool

Возвращает true, если переводчик задан; иначе false.


load_data

Text Only
public load_data(string  name, mixed  ..._vars) : array
Краткое содержание

Метод загружает данные из базы данных с использованием механизма кеширования.

Описание

Если данные уже закешированы, то они возвращаются из кеша, иначе выполняется запрос к базе данных, формируется кеш и результат сохраняется на диск.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string
$_vars mixed
Ошибки:
Тип Описание
\JsonException В случае JSON-ошибок при работе с кешем.
Возвращает:
Text Only
array

Результат выборки из базы данных, либо из кеша.


setCacheFolder

Text Only
public setCacheFolder(string  cache_folder) : void
Свойства:
Название Тип По умолчанию
$cache_folder string
Возвращает:
Text Only
void

setLocale

Text Only
static public setLocale(string  locale) : void
Краткое содержание

Устанавливает локаль для приложения.

Свойства:
Название Тип По умолчанию
$locale string
Возвращает:
Text Only
void

setLocalizationPath

Text Only
static public setLocalizationPath(string  localization_path) : void
Краткое содержание

Устанавливает путь до переводимых фраз

Свойства:
Название Тип По умолчанию
$localization_path string
Возвращает:
Text Only
void

setPrefix

Text Only
public setPrefix(string|null  name = null) : void
Краткое содержание

Устанавливает префикс для использования в загрузке данных.

Описание

Если переданное имя соответствует значениям "users" или "usergroup", то префикс устанавливается в значение константы USERPREFIX. В противном случае используется значение по умолчанию из константы PREFIX.

Свойства:
Название Тип По умолчанию
$name string|null null
Возвращает:
Text Only
void

setTranslator

Text Only
static public setTranslator() : void
Краткое содержание

Устанавливает переводчик для модуля с заданными настройками.

Описание

Использует параметры из конфигурации для настройки локализации, загрузки переводов и их применения.

Смотри так-же:
Ошибки:
Тип Описание
\JsonException|\Throwable Если возникла ошибка при работе с JSON-файлами.
Возвращает:
Text Only
void

setUseTranslator

Text Only
static public setUseTranslator(bool  use_translator) : void
Краткое содержание

Устанавливает использование переводчика.

Свойства:
Название Тип По умолчанию
$use_translator bool
Возвращает:
Text Only
void

generateJsTranslationContent

Text Only
static private generateJsTranslationContent(array  translations) : string
Краткое содержание

Генерирует содержимое JavaScript-файла с переводами на основе переданного массива переводов.

Свойства:
Название Тип По умолчанию
$translations array
Возвращает:
Text Only
string

Содержимое для JavaScript, включающее объект переводов и экспорт по умолчанию.


getTranslationArray

Text Only
static private getTranslationArray() : array
Краткое содержание

Возвращает массив переводов из XLIFF файла в виде ассоциативного массива, где ключами являются исходные строки, а значениями — переведённые строки.

Описание

Если файл перевода отсутствует или возникает ошибка при его обработке, возвращается пустой массив. Реализована поддержка кеширования для ускорения получения данных при последующих вызовах.

Смотри так-же:
Ошибки:
Тип Описание
\JsonException Исключение при ошибке работы с JSON при кэшировании.
\Throwable Исключение при неизвестной ошибке в процессе обработки файла.
Возвращает:
Text Only
array

Ассоциативный массив переводов.


languageList

Text Only
static private languageList(string  lang) : array
Краткое содержание

Возвращает массив данных о языке на основе переданного кода языка.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$lang string
Возвращает:
Text Only
array

Ассоциативный массив с данными о языке. Содержит следующие ключи:

  • 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 []
Возвращает:
Text Only
string

Обработанная строка с произведёнными заменами.


parseXliffFile

Text Only
static private parseXliffFile(string  filePath) : array
Свойства:
Название Тип По умолчанию
$filePath string
Возвращает:
Text Only
array

set_cache

Text Only
private set_cache(string  type, string  name, mixed  data) : void
Краткое содержание

Сохраняет данные в кеш.

Описание

Метод записывает данные в кеш, используя указанный тип и имя. Для сохранения данных вызывается метод CacheControl::setCache, который обрабатывает директорию и имя файла, записывает данные в формате JSON и устанавливает необходимые права доступа к файлу.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$type string
$name string
$data mixed
Ошибки:
Тип Описание
\JsonException
Возвращает:
Text Only
void

writeJsFile

Text Only
static private writeJsFile(string  path, string  content) : bool
Краткое содержание

Записывает переданное содержимое в указанный файл JavaScript.

Описание

В случае неуспешной записи генерирует критический лог с использованием метода LogGenerator::generateLog.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$path string
$content string
Ошибки:
Тип Описание
\Throwable
Возвращает:
Text Only
bool

Возвращает true, если запись прошла успешно, или false, если возникла ошибка.