64  /  328

Механизм реализации

Просмотров: 1576 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 16.09.2015

Языковое сообщение - группа фраз на разных языках, имеющая один смысл.


  • В папке шаблона сайта создается папка с именем /lang/:
    /bitrix/templates/< идентификатор шаблона >/lang/
  • В папке /lang/ создаются папки с идентификаторами используемых языков: /en/, /de/, /ru/ и т.д. Например:
    /bitrix/templates/<идентификатор шаблона>/lang/ru/
  • В созданных папках размещаются соответствующие файлы языковых сообщений. Файлы языковых сообщений характеризуются следующими параметрами:

    • Имя файла языковых сообщений соответствует имени файла, в котором выполняется его вызов. Например, если предполагается, что вызов файла с языковыми сообщениями будет выполняться в прологе шаблона сайта (файл header.php), то файл языковых сообщений должен быть сохранен с именем header.php;
    • Список сообщений в файле хранится в следующем виде:
      <?
      $MESS ['COMPANY_NAME'] = "Company Name";
      $MESS ['MAIN_PAGE'] = "Home page";
      $MESS ['PRINT'] = "Print version";
      $MESS ['AUTH_LOGIN'] = "Authorization";
      $MESS ['RATES_HEADER'] = "Currency rates";
      $MESS ['SEARCH'] = "Site search";
      $MESS ['SUBSCR'] = "Subscription";
      ?>
  • Затем в начало файла, для которого предусмотрено использование языковых сообщений (например, header.php), добавляется функция:
    <?
    IncludeTemplateLangFile(__FILE__);
    ?>
    Функция IncludeTemplateLangFile(__FILE__) выполняет подключение файла языковых сообщений для текущего языка.
  • Далее все текстовые сообщения заменяются на функции вызова соответствующих языковых сообщений:
    <?echo GetMessage("SEARCH");?>
    В качестве параметра функции GetMessage() используется код подключаемого сообщения. Функция проверяет наличие в подключенном языковом файле сообщения с соответствующим кодом и отображает его пользователю.

21
Курсы разработаны в компании «1С-Битрикс»

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