+7 495 008 8452 пн.-пт. 10:00 – 17:00
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Разработчики сайтов для сетей филиалов нередко сталкиваются с необходимостью обеспечить представление контента на нескольких языках. Каким образом это устроить? Используем штатные средства «Битрикс» с минимальной доработкой. Итак:

 

1. Добавьте языки

Перейдите на страницу (Настройки > Настройки продукта > Языковые параметры > Языки интерфейса. Нажмите кнопку «Добавить язык». Настройте ID, название, региональные настройки.

Как известно, лицензии «1С-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал» можно приобрести в трех языковых комплектациях: русском, английском и немецком. Таким образом, сообщения «Битрикс» доступны только на этих языках. Для локализации сайта на другой язык сообщения надо будет перевести: своими силами либо использовав модуль перевода языковых файлов.

2. Настройте переключение языка

После подключения дополнительного языка переключатель языка в публичной части сайта надо будет доработать. Допустим, мы подключаем белорусский язык. В административной панели мы добавили язык с идентификатором BY, как описано выше.

2.1. Редактируем php_interface

Найдя файл /bitrix/php_interface/dbconn.php, добавляем в него код:

<?
session_register("LANG_UI");
if(isset($_REQUEST['lang_ui']))
$_SESSION["LANG_UI"] = ($_REQUEST['lang_ui']=='en'?'en':'by');

if(!isset($_REQUEST['lang']) && isset($_SESSION["LANG_UI"]))
define(LANGUAGE_ID, $_SESSION["LANG_UI"]);      
?>

2.2. Редактируем пролог шаблона сайта

Найдем файл шаблона /bitrix/templates/<шаблон>\header.php и в раздел <head> добавим код:

<script>
function action_lang()
{
window.location = '?lang_ui=' + document.getElementsByName('Lang')[0].value;
}
</script>

2.3. Вызовем переключатель языка
Добавим переключатель языков в подходящих областях сайта. Обычно его устанавливают в «шапке» и «подвале» сайта. Код для этого используйте такой:

<?echo CLanguage::SelectBox('Lang', $_SESSION["LANG_UI"],'','action_lang()');?>

 
Разумеется, нам потребуется и локализованное меню. Как его настроить, читайте в заметке «Многоязычный сайт: настройка языкового меню»

 
--------------------------
Спасибо за внимание!
Читайте свежий выпуск «Кладовки программиста» каждый день!

Назад в раздел

Подписаться на новые материалы раздела:












CAPTCHA