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

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

Как в 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);

— Натяжка вёрстки на 1С-Битрикс;

— Скрипты на PHP и JS (jQuery);

— Парсинг (CSV, XML, XLSX, JSON);

— Интеграции со сторонними сервисами по API;

— Многоязычные версии сайтов;

— и многое другое :)


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

E-mail: dmitriyribka@gmail.com

Skype: cinemacreaterus


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

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