Документация для разработчиков
Темная тема

loadMessages

Сигнатура, описание и параметры

 public static
\Bitrix\Main\Localization\Loc::loadMessages(
	string $file
);

Статический метод обозначает, для какого файла мы бы хотели в будущем загрузить языковые файлы. Поиск папки и подключение языкового файла будет происходить только при необходимости, когда вызовется Loc::getMessage (или функция GetMessage старого ядра, которая вызовет Loc::getMessage). Этот механизм в Bitrix Framework называется ленивая загрузка.

Loc::getMessage будет искать первую папку /lang наверх по файловой структуре относительно переданного файла.

Аналог методов IncludeModuleLangFile и IncludeTemplateLangFile старого ядра.

Параметры

ПараметрОписаниеВерсия
$fileФайл.

Примеры

Применение метода для файлов сайта вне модулей и шаблонов. Метод Loc::loadMessages практичнее, чем IncludeModuleLangFile и IncludeTemplateLangFile старого ядра. В старых функциях чётко указано, где искать папку с lang-файлами: в корне модуля или в корне шаблона. Loc::loadMessages можно использовать для других папок.

Пример структуры папок:

local
	php_interface
		askaron
			tools.php
		lang
			ru
		askaron
			tools.php
		init.php
		test.php
	init.php
	test.php

Возьмем любой файл. Например, init.php

Файл /local/php_interface/lang/ru/init.php.

<?
$MESS["HELLO_WORLD"] = "Привет мир";
?>

Файл /local/php_interface/init.php

<?
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

function getHelloWorld()
{
	return Loc::getMessage('HELLO_WORLD');
}
?>

Аналогично конструкция

use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

будет работать в test.php и в askaron/tools.php.



Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
7
Иван Поддубный
Есть константа в классе Loc которая может быть удобной для тестирования корректности подключения переводов.
Код
define('BX_MESS_LOG', $_SERVER['DOCUMENT_ROOT'] . '/localization.log');
В файл будут отписаны все ключи которые не были найдены по тем или иным причинам.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх