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

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.



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

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

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

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

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