DevCraft Документации
УстаревшееMH Admin (Legacy)Back-EndClasses

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

Документация по плагину абстрактный класс: mhtranslation для DLE.

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

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


Свойства


Методы


Подробности

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

Свойства

private $cache_folder : string


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

Папка кеша

Тип: Текст

private $locale : ?string


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

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

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

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

Tags
ТэгВерсияОписание
version173.3.0
since173.3.0

private $localization_path : ?string


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

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

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

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

Tags
ТэгВерсияОписание
version173.3.0
since173.3.0

private $prefix : ?string


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

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

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


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

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

**Тип: ** Translator

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

Tags
ТэгВерсияОписание
version173.3.0
since173.3.0

private $use_translator : bool


Тип: Логические значения

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


Методы

clear_cache

public clear_cache(string  type = "all") : void
Краткое содержание

Очищает кеш указанного типа.

Описание

Метод позволяет очистить кеш для переданного типа или полностью, если тип "all". Использует внутренний метод CacheControl::clearCache для выполнения операции очистки.

Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$typestring"all"
Возвращает:
void

convertXliffToJs

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

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

Описание

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

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

get_cache

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

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

Описание

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

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

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


getCacheFolder

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

getFormattedLanguageList

static public getFormattedLanguageList(string|null  format = "{original} ({english})") : array
Краткое содержание

Возвращает отформатированный список языков с заданным шаблоном формата.

Описание

Поддерживаемые подстановочные шаблоны в строке формата:

  • {original} - заменяется на переведённое название языка.
  • {english} - заменяется на английское название языка.
  • {iso2} - заменяется на двузначный код языка (например: ru).
  • {tag} - заменяется на код языка (например: ru_RU). Если формат не указан, по умолчанию используется шаблон: "{original} ({english})".
Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$formatstring|null"{original} ({english})"
Ошибки:
ТипОписание
\JsonExceptionВыбрасывается в случае ошибок при JSON-операциях.
\Throwable
Возвращает:
array

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

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

getLanguages

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

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

Описание

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

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

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


getLocale

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

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

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

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


getLocaleData

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

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

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

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


getLocalizationPath

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

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

Описание

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

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

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


getPrefix

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

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

Описание

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

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

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


getTranslation

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

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

Описание

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

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

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


getTranslationPlural

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

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

Описание

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

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

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


getTranslationPluralWithParameters

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

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

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

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


getTranslationWithParameters

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

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

Описание

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

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

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


getTranslator

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

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

Описание

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

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

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


isUseTranslator

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

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

Описание

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

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

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


load_data

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

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

Описание

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

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

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


setCacheFolder

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

setLocale

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

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

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

setLocalizationPath

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

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

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

setPrefix

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

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

Описание

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

Свойства:
НазваниеТипПо умолчанию
$namestring|nullnull
Возвращает:
void

setTranslator

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

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

Описание

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

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

setUseTranslator

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

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

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

generateJsTranslationContent

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

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

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

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


getTranslationArray

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

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

Описание

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

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

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


languageList

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

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

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

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

  • original (string): Название языка на его родном языке.
  • english (string): Название языка на английском.
  • iso2 (string): Код ISO 639-1 языка.
  • tag (string): Полный тег языка.

nonTranslator

static private nonTranslator(string  phrase, array  params = []) : string
Краткое содержание

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

Описание

Метод принимает строку и массив пар "ключ-значение", где каждый ключ - это плейсхолдер, который заменяется соответствующим значением в строке.

Свойства:
НазваниеТипПо умолчанию
$phrasestring
$paramsarray[]
Возвращает:
string

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


parseXliffFile

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

set_cache

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

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

Описание

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

Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$typestring
$namestring
$datamixed
Ошибки:
ТипОписание
\JsonException
Возвращает:
void

writeJsFile

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

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

Описание

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

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

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

On this page

Краткое содержание:СвойстваМетодыПодробностиСвойстваprivate $cache_folder : stringprivate $locale : ?stringTagsprivate $localization_path : ?stringTagsprivate $prefix : ?stringprivate $translator : ?\Symfony\Component\Translation\TranslatorTagsprivate $use_translator : boolМетодыclear_cacheКраткое содержаниеОписаниеСмотри так-же:Свойства:Возвращает:convertXliffToJsКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:get_cacheКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getCacheFolderВозвращает:getFormattedLanguageListКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getLanguagesКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:getLocaleКраткое содержаниеВозвращает:getLocaleDataКраткое содержаниеСмотри так-же:Свойства:Ошибки:Возвращает:getLocalizationPathКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:getPrefixКраткое содержаниеОписаниеСмотри так-же:Возвращает:getTranslationКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getTranslationPluralКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getTranslationPluralWithParametersКраткое содержаниеСмотри так-же:Свойства:Ошибки:Возвращает:getTranslationWithParametersКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getTranslatorКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:isUseTranslatorКраткое содержаниеОписаниеВозвращает:load_dataКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:setCacheFolderСвойства:Возвращает:setLocaleКраткое содержаниеСвойства:Возвращает:setLocalizationPathКраткое содержаниеСвойства:Возвращает:setPrefixКраткое содержаниеОписаниеСвойства:Возвращает:setTranslatorКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:setUseTranslatorКраткое содержаниеСвойства:Возвращает:generateJsTranslationContentКраткое содержаниеСвойства:Возвращает:getTranslationArrayКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:languageListКраткое содержаниеСмотри так-же:Свойства:Возвращает:nonTranslatorКраткое содержаниеОписаниеСвойства:Возвращает:parseXliffFileСвойства:Возвращает:set_cacheКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:writeJsFileКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает: