Связь
Здравствуйте! Я Ваш личный надежный программист.
1С Предприятие 8.2-8.3, 1С-Битрикс: Управление сайтом, Битрикс24
Уже достаточно долгое время на форумах и телеграмм чатах обсуждается тема многоязычности битрикс и способы ее решения. Сами же варианты решения зачастую бываю чем то очень трудно вообразимым и несопоставимым с движком системы управления сайтом Битрикс. В основном такие решения называются костыльными. И все это только потому, что Битрикс не обладает многоязычностью как таковой.

Хорошо, если контент разный

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

Но если контент один для всех языков?

Хорошо, с разным контентом мы разобрались. Но что делать, когда у нас единый контент, например каталог товаров, и продаем мы эти товары в нескольких странах. Или в своей стране нам нужно показывать эти товары на разных языках. Дублировать каталоги, скажете вы? Это же скольким товарам придется менять цену, описания, свойства, и так далее... Такой подход к многоязычности сайта окажется Вам просто кошмаром в последствии всех проделанных вами и вашей командой манипуляций. Управлять таким количеством информации и синхронизировать ее будет просто невозможно! Да и вы никак не настроите выгрузку вашего каталога из 1С в разные инфоблоки на разных языках? Как? Невозможно! Я видел такие процессы внутри компаний, когда с большими усилиями пробуют эту хромую кобылу заставить бежать.

Каждый что-то делает, но непонятно что. Сделали выгрузку из 1С, дальше контентщик старается это все причесать на сайте. Добавляет вручную свойства на дубликатах инфоблоков, дальше через какое-то время видят что у них товар покупают на дублирующих каталогах по старой цене и они в страшном минусе. За этим следуют разборки с шефством, после чего дают задание контентщикам рангом ниже пройтись по всему каталогу товаров с торговыми предложениями и выровнять цены по екселю. Дальше СЕОшница кричит что тут нужно поправить и тут, так как метатеги нужно прописывать для каждого элемента отдельно. Для каждого товара отдельно и нет возможности это делать по шаблону, когда кастомизировали шаблоны каталога костыльными методами под многоязычность сайта. В итоге маркетологи, контентщики, сеошники и другие ребята в компании даже не имеют времени поработать над улучшением для прогресса сайта, а зависают в дурацкой постоянно нарастающей рутине ненужных дел. И на это компании тратят большие деньги. Идет время, уходят деньги, а толку как не было, так и нет.

Разработка многоязычности

Теперь о хорошем. Идея создать Модуль Многоязычности возникла еще пару лет назад. После того, как все время приходилось сталкиваться с одной и той же задачей, и видеть весь этот бред который творился в коде сайта и в процессах компаний. Захотелось принести пользу и решить эти все проблемы с многоязычностью сайта на Битрикс. И вот, после длительного изучения вопроса не только в теории, но и на практике, и после долгих бессонных ночей у компьютера, родился результат моего творчества - Модуль для Битрикс Мультиязычность: инфоблоки на разных языках. Теперь у вас есть возможность хранить основную информацию в одном инфоблоке на многих языках. Количество языков на которых можно хранить информацию в инфоблоке - неограниченно.

А так же наш модуль совершенно не нагружает систему при выводе этой самой информации. Компоненты выдают ту же самую скорость работы, что и на чистой редакции битрикс без установленных сторонних модулей. Более того, наш модуль не требует правки шаблонов компонентов. Так как все функции вывода многоязычной информации выполняются еще до подключения шаблонов компонентов. Это снимает много вопросов для тех, у кого кастомизированные шаблоны. Но и для тех, кому нужна интеграция своего компонента с нашим модулем многоязычности Битрикс, для программистов не составит никакого труда. Достаточно подключить наш модуль в коде и переопределить класс всего лишь добавив один символ в его название. Например CIBlockElement::GetList заменить на FCIBlockElement::GetList. Все просто? Конечно!

Многоязычность Битрикс легко установить и использовать

Наш модуль Многоязычность Битрикс легко устанавливается. Достаточно скачать файл-установщик модуля Модуль Маркет, с помощью которого уже установить наш модуль Мультиязычность: инфоблоки на разных языках. И приступать к переводам сайта! Да, именно настраивать ничего не надо. При установке система сама определит основной язык, который будет по умолчанию и не будет участвовать в переводах. А будет храниться и выводиться как есть. А все остальные языки будут в режиме многоязычности. За хранение и вывод данных по таких языках уже будет отвечать наш модуль многоязычности.

Многоязычность Битрикс в каталоге 1С:Предприятия

И самой полезной стороной данного модуля является то что владельцы интернет магазинов, которые используют родную для Битрикс систему учета 1С, будут иметь возможность выводить их каталог 1С в режиме многоязычности.

Тут все так же очень просто как 1,2,3:

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

Как работает многоязычность

И теперь немножко расскажу как работает модуль многоязычность Битрикс. Все основные функции соблюдены с правилами Битрикс - это главное! Пользователь заходит в админку, и не видит никаких сложностей для себя. Все просто и привычно, как и должно быть по умолчанию. Достаточно переключить язык в админпанели и начинать вносить переводы. Для примера возьмем инфоблок каталога. Переводим инфоблоки, разделы и элементы. В самом начале указываем СЕО поля инфоблока, которые будут наследоваться в режиме многоязычности от инфоблока до его раздела, от раздела до его элемента. Звучит прекрасно, не так ли? А ведь раньше такого небыло в кастомизированых решениях, и приходилось СЕОшить каждый элемент отдельно. Контентщики поймут о чем я, и будут бесконечно рады, особенно вместе с СЕО специалистами. Заполняем поля разделов на разных языках. Вносим переводы для полей элементов инфоблока, а так же их свойств в режиме многоязычности. Так как это каталог, то у него может быть инфоблок с торговыми предложениями. Не забываем проделать все то де самое и для него. Все, вроде готово!

Вывод данных в режиме многоязычности

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

Проверяем:

  • Метатеги
  • Меню
  • Навигационная цепочка
  • Заголовки
  • Картинки
  • Описания разделов
  • Описания товаров
  • Корзина
  • Оформление заказа
  • Поиск по заголовкам
  • Поиск по каталогу
Да, все это работает в режиме многоязычности.

Заключение

Мы проделали большую и сложную работу, которая, как и любое другое творчество занимает очень много времени. Но мы старались чтобы другим облегчить жизнь в менеджменте больших объемов контента. Наш модуль многоязычности Битрикс не стоит на месте. Он находится в постоянном режиме тестирования и усовершенствования. Поэтому этот сайт, на котором Вы сейчас читаете мою статью - тоже работает на данном модуле. А это значит, что доя Вас мы делаем все как для себя. Ну а за годы практики, не только в программировании, но и других процессах развития сайтов, уж поверьте, мы знаем как это делать!

Буду рад Вашим обращениям. Задавайте вопросы напрямую, а так же на моем форуме. До связи!

Видео: Многоязычность Битрикс

11 августа 2022 (Boudybuilder) Виталий Фантич

Возврат к списку


Материалы по теме:

file_download Скачать Модуль Маркет ?
file_download Скачать Модуль Маркет ?