Подскажите если кто сталкивался, как подключить языковой файл на любой произвольной странице? Например на странице: www.example.ru/path1/path2/index.php
Прописываю IncludeTemplateLangFile(__FILE__); //Так же пробовал /path1/path2/index.php вместо __FILE__ указывать index.php и др. варианты, всё-равно не подключает Размещаю в нужных местах: GetMessage("644_1"); GetMessage("644_2"); GetMessage("644_3");
Создаю дерево папок в текущем шаблоне: /bitrix/templates/shablon/lang/ru/path1/path2/
В конечной папке, создаю файл языковых сообщений с именем templates.php в котором пишем сами сообщения: //пробовал так же создать с именем index.php не раб.
Пробовал с синтаксисом D7 та же матрешка use \Bitrix\Main\Localization\Loc; Loc::loadLanguageFile(__FILE__); echo Loc::getMessage("SOMETHING_LANGUAGE_CONSTANT");
Я делал так: 1. В корне шаблона создал стандартные каталоги для перевода: ./lang/ru ./lang/en 2. В каждой из этих каталогов положил файл с переводом - pages.php (я в такие файлы собрал переводы для всех не шаблонизированных страниц):
Код
<?
...
$MESS["CT_UNDER_CONSTRUCTION"] = "Страница готовится к публикации";
...
?>
3. На нужной произвольной странице подключал файл перевода:
Код
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die();
use \Bitrix\Main\Localization\Loc;
Loc::loadLanguageFile($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/pages.php");
...
<div class="col-xs-12">
<div class="bodytext">
<h2><?=Loc::getMessage("CT_UNDER_CONSTRUCTION");?></h2>
</div>
</div>
...