Битрикс как подключить файл с переводом

Когда проект выходит на новый уровень, он становится доступным для чтения на нескольких языках. Как же настроить переводы в своем компоненте и шаблоне?

Как в 1С-Битрикс подключить файл с переводом в компонентах и шаблонах

Для начала давайте разберемся где мы будем хранить переменную с языком. Вариантов довольно много — cookie, local storage или-же в дополнительных свойствах пользователя. Есть и другие способы. А вот еще дилемма — будет ли язык сам определяться при входе на сайт? 🙂 Как видите, вопросов на старте много и данную задачу можно решить несколькими способами.

Рассмотрим простой пример записи в куки:

Если мы применим этот код, у нас появится обычный селект с выбором языка. При отправке формы, записываем выбранный язык в куки-переменную LANG. После отправки делаем редирект чтобы избежать вопросов «почему я нажимаю F5 а у меня в браузере …». К сожалению, 1С-Битрикс не решит все ваши траблы.

В файле header.php нашего шаблона объявляем константу:

Для подключения языка используются несколько способов, причем нужно внимательно смотреть что и где работает, а что нет:

Для компонентов обычно используются первые 4 варианта, для шаблона соответственно последний. $templateFolder — папка шаблона. Кстати говоря, теперь вы понимаете почему в константе (и в куках) записывается язык явно, а не его ID :).

Не забывайте что все языковые файлы имеют вид:

Хранятся такие файлы в соответствующей папке шаблона или компонента, и путь их лежит от шаблона:
lang/ru/component.php
где, ru соответствующий язык, а component.php соответствует имени файла, в котором используется вывод.

Для отображения воспользуемся битрикс методом GetMessage():

Тема переводов в битриксе довольно противоречивая, идеального решения вы не найдете, т.к. часть информации хранится в файлах, другая часть в инфоблоках. Настоятельно рекомендую почитать документацию на этот счет. Стоит также отметить, иногда для решения задачи перевода на несколько языков применяют многосайтовость. На всех редакциях 1С-Битрикс можно создавать по 2 сайта, и докупать недостающее кол-во.

Надеюсь, что данная статья помогла вам, а если вы знаете решение получше, пожалуйста поделитесь им в комментариях. Уверен другим читателям будет очень интересно :).

Свяжитесь со мной, если на вашем сайте необходимо настроить переводы на несколько языков или реализовать многосайтовость.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года.

Предоставляю услуги по созданию проектов на CMS 1С-Битрикс - сайты, шаблоны и компоненты с нуля.

Другие виды работ:
  • Доработка функционала на уже существующих проектах
  • Вёрстка макетов (HTML, CSS, JavaScript, jQuery, JADE, SASS, Gulp)
  • Скрипты на PHP и JS (jQuery)

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

E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *