В bitrix нет готового мастера по разработке второй языковой версии сайта, рассмотрим пример как сделать английскую версию сайта в дополнение к русской.

В CMS 1C-Bitrix есть возможность устанавливать в настройках "язык сайта", но это применяется для всего сайта, причём, это применяется как для публичной части сайта, так и для административного раздела. В случае если необходимо сделать две или более языковых версий эту возможность необходимо использовать, но менять "язык сайта" для папки дополнительной языковой версии.

Чем отличаются языковые версии сайта? Контентом, который видит пользователь. В битрикс контент может храниться в следующих местах: в инфоблоках, в текстовых файлах, в языковых константах. Для создание новой языковой версии, например английской делаем следующее: создаем необходимые инфоблоки аналогичные русской версии, создаём папку на сервере /en/ - в ней будут храниться файлы английской версии сайта. В папку en копируем файлы из русско-язычной версии сайта, меняем тексты в файлах на английские, меняем ID инфоблоков на ID инфоблоков для анголоязычной версии сайта.

Теперь в нашей английской версии сайта на bitrix сформирован вывод контента для данной языковой версии. Но в шаблоне остались элементы оформления на русском языке хранящиеся в языковых константах или в подлючаемых файлах. Для папки en необходимо установить использование языковых констант английской версии. 

Сделать это следующим образом: в dbconn.php добавим следующий код:

if(strpos($_SERVER['REQUEST_URI'],'/bitrix/admin/') ===false && !isset($_REQUEST['lang'])) {

  if(strpos($_SERVER['REQUEST_URI'],'/en/') !==false ) {

    define('LANGUAGE_ID','en');

  }

}

Данный код устанавливает языковую константу LANGUAGE_ID в значение en для папки en. В шаблонах, компоненты "включаемые области" необходимо подключать в зависимости от используемого языка:

<? $APPLICATION->IncludeFile( SITE_DIR . LANGUAGE_ID. "/include/contacts.php", Array(), Array("MODE" => "html") ); ?>

в папку /en/include необходимо скопировать все файлы из include в корне и поменять тексты на английские.

Вот такими несложными манипуляциями можно создать английскую языковую версию сайта.

Обратная связь
связаться с нами

Belashov studio – разработка web - проектов различной сложности от сайта-визитки или интернет-магазина до системы автоматизации или Saas - сервиса. 

Если Вас заинтересовали наши услуги или готовый сайт, вы можете связаться с нами заполнив небольшую форму