getCurrentLanguage($settingKey, $settingDefault); } /** * Язык с правосторонним написанием (Right-To-Left) * @param string|null $languageKey ключ языка или null (текущий язык) * @return bool */ public function isRTL(?string $languageKey = null): bool { } /** * Устанавливаем текущий язык * @param string $languageKey ключ языка * @param bool $updateLocale обновить текущую локаль * @param mixed $adminPanel admin-контекст? * @return string */ public function setCurrentLanguage(string $languageKey, bool $updateLocale = false, $adminPanel = null): string { } /** * Получаем текущий язык из cookie * @return string */ public function getLanguageCookie() { } /** * Получаем префикс языка, для подстановки в URL * @param string|null $languageKey ключ языка * @param bool $trailingSlash добавлять завершающий слеш * @return string */ public function getLanguageUrlPrefix(?string $languageKey = null, bool $trailingSlash = false): string { } /** * Получаем ключ языка по-умолчанию * @return string */ public function getDefaultLanguage(): string { } /** * Получение списка используемых языков * @param bool $keywordsOnly true - только ключи, false - все доступные данные * @param array $exclude список ключей языков, которые следует исключить * @return array */ public function getLanguages(bool $keywordsOnly = true, array $exclude = []): array { } /** * Получаем список ключей языков скрытых от пользователя * @return string[] */ public function getHiddenLocalesList() { } /** * Получение настройки языка * @param string|null $languageKey ключ языка или null (вернуть настройки всех языков) * @param string|mixed $key ключ требуемой настройки * @param mixed $default значение по-умолчанию * @return mixed */ public function getLanguageSettings(?string $languageKey, $key, $default = '') { } /** * Get plural index for language * @param string $languageKey * @param int $number * @return int */ public function getLanguagePluralIndex(string $languageKey, $number): int { } /** * Формат даты по умолчанию %d.%m.%Y * @return string */ public function dateFormatDefault() { } /** * Определить порядок день, месяц, год на основании формата даты * @param string $format формат даты, например '%d.%m.%Y' * @return string порядок 'dmy' или 'mdy' или 'ymd' */ public function dateOrder($format) { } /** * Формируем форму редактирования мультиязычных данных * @param array $_data данные, подставляемые в шаблон формы ($_template) * @param string $_prefix дополнительный префикс формы * @param string $_template шаблон формы * @param array $_extra дополнительные параметры: * string {onchange} - имя JavaScript-метода, вызываемое после переключения таба языка * bool {table} - формировать таблицу * int {cols} - кол-во столбцов в таблице * @return string HTML */ public function buildForm(array $_data, $_prefix, $_template, array $_extra = []) { } /** * Формирование HTML кода мультиязычного поля * @param string $name название поля (атрибут name) * @param array $data данные * @param string $type тип поля, доступны: 'text', 'textarea' * @param array $attributes доп. атрибуты поля * @return string HTML */ public function formField($name, $data, $type, array $attributes = []) { } /** * Формируем название месяца * @param int|bool $monthIndex порядковый номер месяца, начиная с 0, или false - если необходим полный список названий * @param string|null $languageKey ключ языка * @return string|array */ public function getMonthTitle($monthIndex = false, $languageKey = null) { } /** * Перевод фразы * @param string $context контекст фразы * @param string $message фраза * @param array|string|bool $params подстановочные данные или язык локализации (string) или true - все локализации, false - не выполнять перевод (вернуть все входящие параметры) * @param string|bool|null $language язык локализации, null - текущая, true - все локализации, false - не выполнять перевод (вернуть все входящие параметры) * @param array $opts дополнительные настройки * @return string|array */ public function translate(string $context, string $message, $params = [], $language = null, array $opts = []) { } /** * Registered traslation providers * @param null|string $key * @param array $opts * @return TranslationProvider[] | TranslationProvider | null */ public function translationProvidersList(?string $key = null, array $opts = []) { } /** * Get translation provider * @param string $key * @return TranslationProvider|null */ public function translationProvider(string $key): ?TranslationProvider { } /** * Получить значение из мультиязычной переменной для конкретного языка * @param array $data массив возможных значений * @param string|null $lang для какого языка получить, null - для текущего * @return string */ public function value(array $data, ?string $lang = null): string { } /** * Заполнить(дополнить) значение мультиязычной переменной для всех языков * @param array $data текущее значение * @param string|array $default значение по умолчанию * @return array */ public function fill(array $data, $default = ''): array { } }