БонусБесплатный первый месяц абонентской поддержки при заказе разработки «под ключ»

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

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

Вывести магазин на новый рынок звучит просто: «давайте добавим английскую версию». А на практике это упирается в десятки вопросов, о которых не думаешь заранее. Где хранить переводы названий и свойств? По какому адресу открывать английскую версию — /en/, поддомен или отдельный домен? Как быть с ценами в другой валюте и другими регионами доставки? Почему после перевода кнопок товары остались на русском, а умный фильтр показывает «Красный» вместо «Red»? Как объяснить поисковику, что это не дубли, а языковые версии? И, наконец, как обменивать переводы с 1С, чтобы не переводить один и тот же товар дважды.

В этой статье разберём, как построить мультиязычный сайт на 1С-Битрикс с полноценным каталогом, без общих слов. Пройдём по всей цепочке: чем перевод интерфейса (языковые файлы) отличается от перевода контента каталога; какие есть подходы к языковым версиям — многосайтовость, отдельные свойства-переводы товаров и отдельные инфоблоки — и когда какой выбирать; где физически хранить перевод каталога — названия, свойства, описания; как сделать переключатель языков и ЧПУ вида /en/; как перевести свойства умного фильтра; как связать мультиязычность с мультивалютностью и регионами; как настроить SEO языковых версий (hreflang, canonical, отдельная индексация) и как обменивать многоязычный магазин с 1С через мультиязычные реквизиты. Материал — выжимка из наших внедрений по разработке многоязычного сайта на 1С-Битрикс, где каталог на нескольких языках закладывается в архитектуру с самого начала.

Коротко

  • В мультиязычном сайте два слоя перевода: интерфейс (языковые файлы, lang) и контент каталога (названия, свойства, описания в инфоблоках) — их переводят разными механизмами.
  • Три базовых подхода: многосайтовость (сайт на язык), свойства-переводы на каждый язык в одном инфоблоке и отдельные инфоблоки на язык.
  • Выбор зависит от того, насколько сильно расходятся версии: одинаковый ассортимент — свойства-переводы; сильно разные версии, валюты и регионы — многосайтовость.
  • Языковую версию открывают по ЧПУ вида /en/ (или поддомен/домен); переключатель ведёт на ту же страницу на другом языке, а не на главную.
  • SEO языковых версий держится на паре hreflang + canonical: hreflang связывает эквиваленты, canonical у каждой версии — на саму себя.
  • Свойства умного фильтра переводят вместе с товарами (заголовок и значения), после чего пересобирают фасетный индекс; переводы удобно обменивать с 1С через мультиязычные реквизиты.

Что такое мультиязычный каталог

Мультиязычный каталог — это интернет-магазин, витрина которого доступна на нескольких языках так, что покупатель видит на своём языке всё: и интерфейс (кнопки, меню, формы), и содержимое каталога (названия товаров, свойства, описания, категории), и служебные тексты (валюты, единицы измерения, письма, статусы заказа). Важно сразу отделить это понятие от близких, но других задач.

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

Главная сложность мультиязычного каталога в том, что текст на странице приходит из разных источников. Кнопка «В корзину» — из шаблона, название товара — из инфоблока, значение свойства «Цвет» — из справочника, символ валюты — из настроек валют, текст письма о заказе — из почтовых шаблонов. Чтобы версия была переведена полностью, а не «на четверть», нужно перевести каждый из этих источников. Именно поэтому мультиязычность — это не «добавить кнопку с флагом», а системная работа по всей архитектуре сайта.

Терминология: «язык» в Битриксе — набор языковых файлов интерфейса (например, ru, en). «Сайт» — сущность многосайтовости со своим языком, шаблоном и настройками. «Языковая версия» — то, что видит покупатель по адресу вроде /en/. «Свойство-перевод» — отдельное свойство товара, хранящее значение на конкретном языке. Дальше эти слова используются строго в этих значениях.

Два слоя перевода: интерфейс и контент

Ключ к пониманию всей мультиязычности — разделить перевод на два слоя, которые устроены и переводятся совершенно по-разному. Если этого не сделать, получится классическая ошибка: «перевели, а половина осталась на русском».

Слой 1. Интерфейс (статические тексты шаблона)

Это надписи, которые заложены в код и не зависят от конкретного товара: «В корзину», «Купить в один клик», «Сортировать по цене», «Показать ещё», «Характеристики», «Отзывы», подписи полей формы, кнопки, системные сообщения об ошибках. Их не тысячи, они конечны и меняются редко. В Битриксе такие тексты хранят в языковых файлах (lang-файлы) — массивах строк, привязанных к языку. При переключении языка интерфейс подставляет строки из нужного файла.

Слой 2. Контент каталога (динамические данные)

Это то, что хранится в базе как данные и меняется постоянно: названия товаров, значения и заголовки свойств, описания, тексты и метатеги категорий, баннеры, статьи. Этот слой нельзя перевести языковыми файлами, потому что он живёт не в коде, а в инфоблоках. Его переводят одним из подходов к мультиязычности каталога: многосайтовость, свойства-переводы или отдельные инфоблоки (об этом ниже).

Разница принципиальна. Интерфейс переводит разработчик один раз при создании шаблона — и дальше строки просто есть. Контент каталога переводит контент-менеджер (или обмен с 1С) на каждый новый товар, и это непрерывный процесс. Смешивать их нельзя: нельзя положить название товара в языковой файл (оно динамическое), и нельзя хранить перевод кнопки в свойстве товара (оно статическое). Понимание этих двух слоёв — фундамент, без которого мультиязычный проект разваливается на «наполовину переведённые» страницы.

Языки интерфейса и языковые файлы

Начнём с более простого слоя — интерфейса. В 1С-Битрикс язык — это встроенная сущность. В системе есть список языков, каждый со своим кодом (ru, en), названием и настройками форматов (даты, числа). К языку привязываются языковые файлы — файлы lang/<код>/*.php рядом с компонентами, шаблонами и модулями, в которых лежат переводы строк.

Как это работает на практике:

Практический вывод: перевод интерфейса — это конечная, обозримая задача, которую решают на этапе разработки шаблона. Важно проследить, чтобы все кастомные компоненты и шаблоны магазина использовали языковые сообщения, а не «зашитые» русские строки в коде. Если разработчик написал «Купить» прямо в вёрстке, на английской версии эта кнопка так и останется русской — и это одна из самых частых причин смешанного языка. Поэтому в мультиязычном проекте правило простое: ни одной видимой строки интерфейса в коде напрямую, всё — через языковые файлы.

Важно: языковые файлы переводят только интерфейс. Ни одно название товара, значение свойства или описание категории туда не попадает — это данные, а не код. Если хочется «перевести товар через lang-файл», это верный признак, что архитектура мультиязычности выбрана неправильно.

Три подхода к мультиязычности каталога

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

ПодходКак устроенКогда подходит
Многосайтовость с языкамиОтдельный сайт Битрикса на каждый язык, свой инфоблок/раздел, свои настройки, папка /en/ или доменВерсии сильно различаются: ассортимент, валюты, регионы, менеджеры
Свойства-переводы товаровОдин инфоблок, у товара — отдельные свойства на каждый язык (Название EN, Описание EN и т. д.)Ассортимент общий, различается в основном текст
Отдельные инфоблоки на языкСвой инфоблок под каждый язык, товары связаны между собой привязкойКаталоги пересекаются лишь частично, версии полу-независимы

Ни один из подходов не является «единственно правильным» — каждый оптимален под свою ситуацию. Ошибка не в выборе конкретного подхода, а в том, чтобы выбрать его наугад и потом переезжать на другой на живом каталоге. Поэтому подход фиксируют в самом начале, отталкиваясь от того, насколько сильно расходятся языковые версии по ассортименту, ценам, регионам и бизнес-логике.

Три подхода к мультиязычному каталогу Многосайтовость Сайт RU Сайт EN инфоблок RU инфоблок EN свои настройки, валюты, регионы /en/ или домен Свойства-переводы Один инфоблок Название · Название EN Описание · Описание EN Цвет · Color одна карточка — все языки Отдельные инфоблоки КаталогRU КаталогEN товары связаны привязкой (XML_ID) полу-независимые версии
Схема: слева — сайт на каждый язык (многосайтовость), в центре — свойства-переводы внутри одного инфоблока, справа — отдельные инфоблоки на язык со связью товаров.

Подход 1: многосайтовость с языками

Самый «взрослый» подход — использовать штатную многосайтовость 1С-Битрикс. В ней каждая языковая версия — это отдельный сайт со своим идентификатором, своим языком интерфейса, своим шаблоном, своими настройками и, как правило, своим набором инфоблоков (или своей привязкой инфоблока к сайту). Русская версия — сайт s1 на языке ru, английская — сайт s2 на языке en, и так далее.

Что даёт эта модель:

Цена этой гибкости — сложность. Многосайтовость требует аккуратной настройки, дублирования части контента, слаженного обмена с 1С по каждому сайту и внимательной работы с общими и раздельными данными (например, единый склад, но разные цены). Зато для серьёзного выхода на зарубежный рынок, где версия — это фактически отдельный магазин на своём языке и в своей валюте, это самый чистый и масштабируемый путь. Именно так мы обычно строим многоязычные сайты на 1С-Битрикс, когда версии должны жить самостоятельно.

Отдельно отметим: многосайтовость и мультирегиональность технически похожи (в обоих случаях — несколько «сайтов» или поддоменов), и часто их совмещают. Разница в назначении: язык переключает перевод, регион — город/условия. Как устроена региональная схема на поддоменах и что это даёт SEO, подробно разобрано в статье про мультирегиональность и поддомены.

Подход 2: свойства-переводы товаров

Более лёгкий подход — держать один инфоблок с одним набором товаров и хранить переводы в дополнительных свойствах. У товара, помимо основного названия и описания, заводят свойства «Название (EN)», «Описание (EN)», а для характеристик — параллельные свойства или переводимые справочники значений. Витрина на английском языке при выводе берёт не базовые поля, а английские свойства.

Плюсы этого подхода:

Минусы и ограничения:

Этот подход оптимален, когда ассортимент и логика продаж общие для всех языков, а различается в основном текст: название, описание, значения характеристик. Тогда «свойства-переводы» дают полноценный мультиязычный каталог малой кровью, без разведения на несколько сайтов.

Практика: при модели «свойство на язык» задавайте переводным свойствам понятную и единообразную систему кодов (например, суффикс языка: NAME_EN, COLOR_EN). Это резко упрощает и настройку вывода, и обмен с 1С, и последующую поддержку — компоненты и скрипты обмена работают по предсказуемым именам, а не по «зоопарку» из случайных кодов.

Подход 3: отдельные инфоблоки на язык

Промежуточный вариант — завести отдельный инфоблок под каждый язык: «Каталог RU» и «Каталог EN». Товары в них — независимые элементы, но связанные между собой служебной привязкой (обычно через свойство-привязку или общий внешний код), чтобы можно было найти английский аналог русского товара для переключателя и hreflang.

Когда это уместно:

Сложности:

На практике «отдельные инфоблоки на язык» выбирают реже двух других подходов — обычно когда языковые версии близки к самостоятельным магазинам по ассортименту, но при этом должны оставаться в рамках одного сайта/домена и делить общую техническую базу. Часто такой сценарий в итоге всё равно тяготеет к полноценной многосайтовости.

Как выбрать подход

Выбор подхода — это не вопрос вкуса, а следствие того, насколько сильно расходятся языковые версии. Сформулируем в виде проверочных вопросов, которые быстро приводят к решению.

  1. Различается ли ассортимент? Если на английском продаётся то же самое, что на русском, — склоняйтесь к свойствам-переводам. Если набор товаров, категорий и правил заметно разный — к многосайтовости.
  2. Различаются ли валюты и регионы? Разные валюты, цены и условия доставки на каждый язык — сильный аргумент за многосайтовость, где всё это настраивается на сайт.
  3. Насколько независимы бизнес-процессы? Отдельные менеджеры, свои акции, свои письма, своя оплата — снова многосайтовость. Общий бэк-офис и один поток заказов — свойства-переводы проще.
  4. Сколько языков планируется? Два-три близких языка при общем каталоге хорошо ложатся на свойства-переводы. Много рынков со своей спецификой — многосайтовость.
  5. Как устроен обмен с 1С? Если в 1С товар один и переводы можно передать реквизитами — свойства-переводы отлично стыкуются. Если в учёте под рынки заведены разные номенклатуры — ближе многосайтовость/отдельные инфоблоки.

Обобщённо: чем сильнее версии похожи, тем легче подход (свойства-переводы в одном инфоблоке); чем сильнее версии расходятся, тем тяжелее и надёжнее подход (многосайтовость на отдельных сайтах). Отдельные инфоблоки — компромисс для середины. Худшее, что можно сделать, — выбрать наугад и обнаружить на полпути, что версии переросли выбранную модель: переезд мультиязычного каталога с одной архитектуры на другую сопоставим по трудозатратам с повторным запуском. Поэтому подход обсуждают и фиксируют на старте, вместе с планами по рынкам, валютам и обмену.

Где хранятся переводы каталога

Разберём предметно, что именно в каталоге приходится переводить и где это физически хранится. Это помогает не забыть ни один источник текста — а забытый источник и есть причина смешанного языка.

Что переводимГде хранитсяКак переводится
Название товараПоле элемента инфоблокаСвойство-перевод или отдельный инфоблок/сайт
Описание (детальное и анонс)Поля элемента инфоблокаСвойство-перевод или элемент на язык
Заголовок свойства («Цвет»)Настройки свойства инфоблокаПривязка к языку/сайту или параллельное свойство
Значение свойства («Красный»)Список значений / справочник (highload)Переводимый справочник значений
Название и текст разделаПоля раздела инфоблокаСвойство-перевод раздела или раздел на язык
Метатеги категории и товараSEO-поля инфоблокаШаблоны/значения метатегов на язык
Единицы измеренияСвойство или справочникПереводимое значение единицы
Символ и формат валютыНастройки модуля валютФормат валюты на язык

Из таблицы видно главное: текст каталога приходит из множества мест, и «перевести каталог» — значит пройти по всем строкам этой таблицы, а не только по названиям товаров. Особенно легко забыть про значения свойств и заголовки свойств (их видно в умном фильтре и в характеристиках), про метатеги (их не видно на странице, но их читает поиск) и про единицы измерения и валюту (мелочь, которая сразу выдаёт «недоперевод»). Хранение переводов проектируют так, чтобы у каждого из этих источников был предусмотрен способ отдать текст на нужном языке.

Отдельно про справочники значений. Списочные свойства (цвет, бренд, материал) удобно хранить как справочник — либо встроенный список значений свойства, либо highload-справочник. Во втором случае у элемента справочника легко завести переводные поля (значение на каждом языке), и тогда одно значение «красный/red/rot» живёт единой записью с переводами, а не тремя разными свойствами. Как устроены highload-справочники и почему они удобны для больших каталогов со множеством характеристик, мы разбирали в контексте структуры каталога — см. статью про структуру каталога, разделы и хлебные крошки.

Переключатель языков и ЧПУ /en/

Покупатель должен понимать, что версия на его языке существует, и легко на неё переключаться. За это отвечают две вещи: адреса языковых версий (ЧПУ) и сам переключатель языков.

Адреса языковых версий

Есть три стандартных способа развести версии по URL, у каждого свои плюсы:

В многосайтовой модели маршрутизация по папке настраивается в списке сайтов (папка сайта /en/) и в правилах обработки адресов, чтобы запросы из /en/ обслуживал англоязычный сайт. ЧПУ каталога при этом на каждой версии свои: /catalog/smartfony/ на русской и /en/catalog/smartphones/ на английской (символьные коды разделов и товаров на английской версии тоже уместно делать латинскими и осмысленными на её языке).

Переключатель языков

Переключатель — это не просто «кнопка с флагом в шапке». Правильный переключатель ведёт с текущей страницы на её эквивалент на другом языке, а не на главную. Если покупатель смотрит карточку смартфона на русском и жмёт «EN», он должен попасть на ту же карточку на английском, а не на английскую главную. Это требует, чтобы система знала соответствие страниц между версиями:

Если соответствие не выстроено, переключатель приходится «ронять» на главную, и это заметно ухудшает и удобство, и SEO (об этом — в разделе про hreflang). Поэтому переключатель проектируют вместе с моделью хранения переводов, а не прикручивают в конце.

Переключатель ведёт на ту же страницу на другом языке Русская версия /catalog/smartfony/model-a/ Смартфон Модель A Цвет: Чёрный · 128 ГБ В корзину English version /en/catalog/smartphones/model-a/ Smartphone Model A Color: Black · 128 GB Add to cart RU ⇄ EN переключатель сохраняет контекст: тот же товар, тот же раздел — только другой язык
Схема: переключатель языков ведёт с русской карточки на её английский эквивалент по адресу с префиксом /en/, сохраняя контекст — тот же товар и раздел.

Перевод свойств умного фильтра

Умный фильтр — то место, где недоперевод виден особенно ярко. Покупатель на английской версии открывает фильтр и видит «Цвет: Красный, Синий», «Бренд: …» на русском — и версия сразу выглядит сырой. Дело в том, что фильтр строится из свойств каталога, а у свойства есть две переводимые части, и обе нужно перевести.

Как перевод свойств реализуется в зависимости от подхода:

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

Перевод свойств фильтра: заголовок + значения Фильтр (RU) Цвет ☐ Красный ☐ Чёрный Бренд ☐ Марка A Filter (EN) Color ☐ Red ☐ Black Brand ☐ Brand A перевод после перевода значений — пересобрать фасетный индекс!
Схема: переводят и заголовок свойства («Цвет» → «Color»), и его значения («Красный» → «Red»), после чего обязательно пересобирают фасетный индекс.

Мультиязычность, валюты и регионы

На реальном проекте выход на новый язык почти никогда не бывает «чистым»: вместе с языком приходят другая валюта и другой регион. Важно понимать, что это три независимых механизма, которые в 1С-Битрикс настраиваются по отдельности, но должны быть согласованы.

Их часто совмещают: английская версия по адресу /en/ показывает цены в евро и доставку по Европе. Но нельзя реализовывать «валюту через язык» или «регион через язык» — каждый механизм остаётся своим. Язык переключает слова, валюта — цифры и символ, регион — условия. Если их запутать (например, зашить символ валюты в языковой файл), система станет неуправляемой при добавлении новой комбинации «язык + валюта + регион».

Практически связка выглядит так: в многосайтовой модели у сайта s2 (английского) задают язык en, валюту вывода EUR/USD, свой регион и свои типы цен. Тогда покупатель на английской версии видит переведённый каталог, цены в нужной валюте и релевантные условия доставки — но каждый из этих аспектов настроен своим модулем. При модели «свойства-переводы» язык переключается выводом, а валюту и регион всё равно подключают отдельными механизмами поверх единого каталога. Детали ценообразования в нескольких валютах (типы цен, курсы, округление, вывод) вынесены в отдельный разбор — мультивалютность и цены в 1С-Битрикс, а региональная схема — в статью про мультирегиональность и поддомены.

Три независимых механизма одной версии Язык интерфейс + каталог перевод слов Валюта цены и символ модуль валют Регион наличие и доставка местоположения Языковая версия /en/ · EUR · Европа
Схема: язык, валюта и регион — три отдельных механизма; они сходятся на языковой версии, но настраиваются каждый своим модулем, а не «через язык».

SEO языковых версий: hreflang и canonical

С точки зрения поиска мультиязычный сайт — это набор очень похожих страниц на разных языках, и без явных сигналов поисковик легко запутается: покажет не ту версию, посчитает версии дублями или заставит их конкурировать. За правильную индексацию отвечают два инструмента, работающие в паре.

hreflang — связывает эквиваленты

Теги hreflang сообщают поиску, что данная страница имеет языковые аналоги, и указывают, какой из них для какого языка. Правила, которые нужно соблюсти:

canonical — разделяет версии

У каждой языковой версии страницы свой canonical на саму себя. Частая грубая ошибка — поставить на английской странице canonical на русскую (в надежде «отдать вес основному домену»): в этом случае поиск сочтёт английскую версию неканоничной копией русской и просто выкинет её из индекса. Правильно: русская каноникализируется на русскую, английская — на английскую, а связь между ними обеспечивает hreflang.

Ещё несколько важных SEO-моментов мультиязычного каталога:

Резюме простое: hreflang связывает языковые версии, canonical их разделяет. Оба нужны одновременно. Именно на этой паре держится корректная индексация многоязычного магазина, и именно её чаще всего настраивают неправильно — отсюда дубли, вылеты версий из индекса и показ пользователю «не того» языка.

hreflang связывает · canonical разделяет RU-страница /catalog/model-a/ hreflang=ru → сама на себя hreflang=en → EN-страница EN-страница /en/catalog/model-a/ hreflang=en → сама на себя hreflang=ru → RU-страница hreflang canonical → RUна саму себя canonical → ENна саму себя
Схема: hreflang взаимно связывает русскую и английскую страницы (включая ссылку на саму себя и x-default), а canonical каждой версии указывает на саму себя, а не на другую.

Обмен переводов с 1С

Мультиязычный каталог редко наполняют руками — товары приходят обменом из 1С. И тут возникает вопрос: откуда взять переводы, если в типовой выгрузке передаётся один язык — тот, на котором ведётся номенклатура? Есть два принципиальных сценария.

Сценарий А. Переводы ведут в 1С

Самый управляемый путь — хранить переводы в учётной системе и обменивать их вместе с товаром. Для этого в 1С заводят мультиязычные реквизиты: наименования и значения характеристик на разных языках. Технически это делают дополнительными реквизитами/сведениями, отдельными полями или через механизм локализации, а выгрузку настраивают так, чтобы переводы попадали в соответствующие свойства (при модели «свойства-переводы») или в нужную языковую версию (при многосайтовости/отдельных инфоблоках).

Сценарий Б. Переводы ведут на сайте

Если менять 1С нельзя, переводы делают на стороне сайта (руками или автопереводом с последующей вычиткой) и хранят в переводных свойствах/версиях. Здесь ключевая опасность — обмен не должен затирать переводы при очередной выгрузке. Правила, которые это предотвращают:

Общий принцип для обоих сценариев — тот же, что и для любой структуры каталога: стабильные внешние коды. Пока обмен опознаёт товары и разделы по неизменному XML_ID, переводы держатся на своих местах. Как только обмен начинает пересоздавать элементы, рушатся и переводы, и ЧПУ, и SEO. Про роль стабильных кодов и связь структуры каталога с обменом мы подробно писали в статье про структуру каталога и разделы.

Важно: прежде чем выбирать, где вести переводы — в 1С или на сайте, — уточните у команды 1С, реально ли завести мультиязычные реквизиты и настроить их выгрузку. От этого ответа зависит вся схема наполнения многоязычного каталога, и решать это нужно до старта, а не после первого обмена, который «стёр» ручные переводы.

Автоперевод или ручной перевод

Отдельный вопрос — как физически получать переводы: машиной или человеком. Для каталога, который должен продавать и ранжироваться, ответ почти всегда гибридный, но крайности стоит понимать.

СпособСильные стороныСлабые стороны
Машинный автопереводБыстро и дёшево, масштабируется на тысячи товаров, хорош для черновикаОшибки в терминах и единицах, «неживой» язык, поиск невысоко ценит без вычитки
Ручной переводТочность, отраслевые термины, тональность, доверие и конверсияДорого и медленно на больших объёмах
Гибрид (автоперевод + вычитка)Скорость машины + качество человека на ключевом контентеНужен процесс: что переводить машиной, что вычитывать

Разумная рабочая схема выглядит так:

  1. Автоперевод как заготовка. Пакетно перевести названия, свойства и описания машиной и сложить в переводные поля — получить полный черновик версии.
  2. Ручная вычитка ключевого. Носителем или отраслевым переводчиком вычитать то, что важнее всего: названия и свойства ходовых категорий, тексты и метатеги основных разделов, коммерческие блоки.
  3. Приоритет по трафику и марже. Сначала довести до идеала топовые категории и товары, дальше — по убыванию важности; редкий «хвост» может пожить на автопереводе.
  4. Единый глоссарий. Зафиксировать перевод терминов, брендов и характеристик, чтобы «диагональ», «цвет», «материал» переводились одинаково везде.

Технически автоперевод удобно встроить в наполнение (пакетно перевести и разложить по языкам), но публиковать без редактуры то, что видит покупатель и индексирует поиск, не стоит: массово автопереведённый каталог без вычитки и продаёт хуже, и ранжируется хуже. Автоперевод — это ускоритель ручной работы, а не её замена.

Перевод писем, статусов и служебных текстов

Даже когда витрина переведена целиком, легко забыть про «невидимую» часть магазина — тексты, которые покупатель встречает после клика «Оформить заказ». Если они остались на исходном языке, впечатление от аккуратной английской версии рушится на последнем шаге.

Практический приём приёмки — пройти полный сценарий покупки на второй языковой версии: от карточки до письма о заказе, отмечая любые «островки» исходного языка. Именно на этом пути обычно всплывают забытые статусы, письма и подписи, которые не видны при беглом осмотре витрины.

Пошагово: запускаем мультиязычный каталог

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

  1. Определить рынки и требования. Какие языки, валюты, регионы; насколько различаются ассортимент и бизнес-логика версий. Это определяет выбор подхода.
  2. Выбрать подход к мультиязычности. Многосайтовость, свойства-переводы или отдельные инфоблоки — исходя из того, насколько версии расходятся. Зафиксировать решение.
  3. Настроить языки и сайты. Завести язык(и) интерфейса и (при многосайтовости) сайты с папкой /en/, шаблоном и маршрутизацией по URL.
  4. Спроектировать хранение переводов. Определить, где живут переводы названий, описаний, заголовков и значений свойств, разделов, метатегов; продумать справочники значений.
  5. Перевести интерфейс. Заполнить языковые файлы шаблона и всех кастомных компонентов; убедиться, что в коде нет «зашитых» строк.
  6. Перевести контент каталога. Названия, описания, разделы, свойства и их значения, метатеги — вручную/гибридно; завести глоссарий терминов.
  7. Настроить умный фильтр и пересобрать фасет. Проверить, что фильтр берёт переводы заголовков и значений; пересобрать фасетный индекс на каждой версии.
  8. Подключить валюты и регионы. Настроить валюту вывода и региональные условия для каждой версии отдельными механизмами, согласованно с языком.
  9. Сделать переключатель и URL. Настроить ЧПУ версий и переключатель, ведущий на эквивалентную страницу другого языка с сохранением контекста.
  10. Настроить SEO версий. hreflang между эквивалентами (+ x-default), canonical каждой версии на саму себя, переведённые метатеги, карта сайта, отдельная индексация.
  11. Согласовать обмен с 1С. Решить, где ведутся переводы; настроить мультиязычные реквизиты или защиту переводных полей от перезаписи; сопоставление по XML_ID.
  12. Перевести служебные тексты и принять. Письма, статусы, оплату/доставку, формы; пройти полный сценарий покупки на каждой версии и по чек-листу.

Заметьте, что «перевод текстов» — лишь часть работы: половина шагов приходится на архитектуру (подход, сайты, хранение, обмен) и на SEO/служебный слой (фасет, hreflang, письма, статусы). Именно поэтому мультиязычный каталог — это инженерный проект, а не «прогнать тексты через переводчик».

Реализация в 1С-Битрикс

Соберём в одном месте, какими штатными средствами Битрикса реализуется всё описанное, — чтобы было понятно, что где настраивается.

ЗадачаИнструмент 1С-Битрикс
Языки интерфейсаЯзыки системы + языковые файлы (lang/<код>/), инструмент перевода
Отдельная версия на языкМногосайтовость: сайт со своим языком, шаблоном и папкой /en/
Перевод названий и описанийСвойства-переводы элемента или элемент/инфоблок на язык
Перевод заголовков свойствПривязка инфоблока к сайту/языку или параллельные свойства
Перевод значений свойствСписки значений / highload-справочник с переводными полями
Умный фильтр на языкеbitrix:catalog.smart.filter + пересборка фасетного индекса
Адреса версий и ЧПУ /en/Список сайтов (папка) + правила обработки URL (urlrewrite)
Переключатель языковСсылки между эквивалентами версий (по связи товаров/путей)
Валюты версииМодуль валют, типы цен, формат валюты на язык
Регионы версииМногосайтовость / местоположения / доставка
SEO версийhreflang и canonical в шаблоне, SEO-поля инфоблока, sitemap
Переводы из учётаОбмен с 1С (CommerceML), мультиязычные реквизиты, сопоставление по XML_ID

Ключевая мысль этой таблицы: у каждого слоя перевода — свой инструмент. Интерфейс — языковые файлы. Контент — инфоблоки (свойства-переводы или сайты). Фильтр — свойства плюс фасетный индекс. Адреса — сайты и urlrewrite. Деньги — модуль валют. География — регионы. SEO — hreflang/canonical в шаблоне. Обмен — мультиязычные реквизиты и стабильные коды. Полноценный мультиязычный каталог получается тогда, когда каждый из этих механизмов настроен и согласован с остальными, а не когда «перевели тексты и добавили флажок».

Частые ошибки

Мини-FAQ. С чего начать, если версий будет несколько? С двух решений: подход к мультиязычности (насколько версии расходятся) и где ведутся переводы (в 1С или на сайте). Оба принимают до старта — они определяют всю остальную настройку, и менять их потом дороже всего.

Чек-лист мультиязычного каталога

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

  1. Подход зафиксирован. Выбран и обоснован подход (многосайтовость / свойства-переводы / отдельные инфоблоки) под реальную дистанцию между версиями.
  2. Оба слоя переведены. И интерфейс (языковые файлы), и контент каталога; в коде нет «зашитых» строк.
  3. Свойства переведены полностью. Заголовки и значения свойств на языке версии; фасетный индекс пересобран.
  4. Метатеги на языке. Title, Description, H1 категорий и товаров переведены на язык версии.
  5. Адреса и переключатель. ЧПУ версий (/en/ или домен) стабильны; переключатель ведёт на эквивалентную страницу с сохранением контекста.
  6. hreflang и canonical. Взаимный hreflang с x-default между эквивалентами; canonical каждой версии на саму себя; версии открыты для индексации.
  7. Валюты и регионы. Валюта вывода и региональные условия настроены своими механизмами, согласованно с языком.
  8. Служебные тексты. Письма, статусы заказа, оплата/доставка, формы и единицы/форматы переведены; пройден полный сценарий покупки.
  9. Обмен с 1С безопасен. Сопоставление по XML_ID; переводы не затираются; при необходимости — мультиязычные реквизиты.
  10. Качество перевода. Ключевой контент вычитан человеком; есть глоссарий терминов; автоперевод не опубликован «как есть».
  11. Приёмка по версиям. Каждая языковая версия пройдена глазами целиком — без «островков» исходного языка.

Вывод

Мультиязычный каталог на 1С-Битрикс — это не «кнопка с флагом», а системная работа по нескольким слоям сразу. Сначала — архитектурное решение: какой подход к языковым версиям выбрать (многосайтовость для сильно разных версий, свойства-переводы для общего каталога, отдельные инфоблоки для промежуточных случаев) и где вести переводы (в 1С через мультиязычные реквизиты или на сайте). Затем — два слоя перевода: интерфейс через языковые файлы и контент каталога через инфоблоки, включая обязательный перевод заголовков и значений свойств с пересборкой фасета. И поверх — переключатель и ЧПУ версий, связка с валютами и регионами как отдельными механизмами, SEO на паре hreflang + canonical и безопасный обмен со стабильными кодами.

Практический вывод один: мультиязычность закладывают в архитектуру с самого начала. Выберете подход наугад, переведёте только половину слоёв, забудете про свойства фильтра, canonical или письма — и получите «наполовину переведённый» магазин, который и покупателя раздражает, и в поиске не работает. Пройдёте по всей цепочке аккуратно — язык, контент, фильтр, валюта, регион, URL, hreflang, обмен — и получите многоязычный магазин, который одинаково хорошо продаёт на каждом рынке и корректно индексируется на каждом языке. А если такой каталог нужно спроектировать и запустить, мы помогаем с этим в рамках разработки многоязычного сайта на 1С-Битрикс и настройки мультирегионального сайта на 1С-Битрикс. Больше разборов по теме — в рубрике «Каталог и поиск».

Частые вопросы

Чем перевод интерфейса отличается от перевода каталога?

Это два разных слоя, которые часто путают. Перевод интерфейса — это статические надписи шаблона и компонентов: «В корзину», «Купить», «Сортировать», «Показать ещё», названия полей формы, тексты кнопок и системных сообщений. Они хранятся в языковых файлах (lang-файлы) и переключаются штатным механизмом языка Битрикса. Перевод каталога — это динамический контент: названия товаров, значения и заголовки свойств, описания, тексты категорий. Он хранится в инфоблоках (в данных, а не в коде) и переводится отдельно — через многосайтовость, отдельные свойства на каждый язык или отдельные инфоблоки. Ошибка «перевели кнопки, а товары остались на русском» возникает именно потому, что перевели только первый слой и забыли про второй.

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

Зависит от того, насколько сильно расходятся языковые версии. Если ассортимент, цены и логика продаж на разных языках почти одинаковы и различается в основном текст — удобнее свойства-переводы на каждый язык внутри одного инфоблока: проще обмен, один каталог, легко держать соответствие. Если версии сильно различаются (разный ассортимент, свои акции, отдельные менеджеры, разные валюты и регионы) — чище многосайтовость: отдельный сайт на язык со своими настройками, а часто и своим доменом или разделом. Отдельные инфоблоки на язык — компромисс для случаев, когда каталоги пересекаются лишь частично. На практике выбор фиксируют в самом начале, потому что переезд с одного подхода на другой на живом каталоге дорог.

Как сделать языковую версию по адресу /en/?

В многосайтовой модели каждый язык — это отдельный сайт Битрикса со своей папкой и настройками. Английскую версию размещают в подпапке /en/ (или на поддомене/отдельном домене), а корень отдаёт русскую. Маршрутизация по папке настраивается в списке сайтов и в правилах обработки адресов, чтобы запросы из /en/ обслуживал англоязычный сайт со своим языком интерфейса, своим набором компонентов и своим деревом каталога. Переключатель языков — это ссылки между эквивалентными страницами версий: он должен вести не на главную другой версии, а на ту же страницу на другом языке. Важно, чтобы у каждой языковой версии был стабильный, предсказуемый URL и чтобы переключение сохраняло контекст (та же категория, тот же товар).

Нужен ли hreflang для языковых версий?

Да, hreflang — обязательный элемент SEO мультиязычного сайта. Это набор тегов, которые связывают эквивалентные страницы на разных языках и говорят поиску: «вот русская версия этой страницы, вот английская, вот версия по умолчанию». Без hreflang поиск может показывать пользователю не ту языковую версию, считать версии дублями или конкурировать им между собой в выдаче. Каждая страница должна ссылаться hreflang-тегами на все свои языковые аналоги, включая саму себя, и указывать x-default для версии по умолчанию. Одновременно у каждой версии свой canonical на саму себя (а не на русскую) — иначе поиск склеит версии и оставит в индексе только одну. hreflang и canonical работают в паре: hreflang связывает, canonical разделяет.

Как переводить свойства умного фильтра?

У свойств каталога переводят две вещи: заголовок свойства («Цвет» → «Color») и его значения-варианты («Красный» → «Red»). В умном фильтре покупатель видит именно их, поэтому если перевести только товары, но не свойства, фильтр останется на исходном языке и версия будет выглядеть «наполовину переведённой». В многосайтовой модели заголовки свойств берутся из привязки инфоблока к сайту/языку, а значения списочных свойств хранят как справочник с переводами. При модели «свойство на язык» под каждый язык заводят своё свойство и свой набор значений, а фильтр на англоязычной версии строят по английским свойствам. Ключевой момент — после перевода значений обязательно пересобрать фасетный индекс, иначе фильтр будет отдавать старые или пустые значения.

Можно ли обменивать переводы каталога с 1С?

Да, но это требует подготовки на стороне 1С. В самой типовой конфигурации выгрузки на сайт передаётся один язык — тот, на котором ведётся номенклатура. Чтобы обменивать переводы, в 1С заводят мультиязычные реквизиты (наименования и значения характеристик на разных языках) — как дополнительные реквизиты, отдельные поля или через механизм локализации — и настраивают выгрузку так, чтобы эти переводы попадали в соответствующие свойства или языковые версии сайта. Тогда контент-менеджер переводит один раз в учётной системе, а обмен раскладывает переводы по языкам сайта. Если же переводы делаются только на сайте, важно, чтобы обмен не затирал их при обновлении: сопоставление ведут по стабильному внешнему коду, а переводные поля исключают из перезаписи или сливают аккуратно.

Автоперевод или ручной перевод каталога?

Для каталога, который должен продавать и ранжироваться, базовый ответ — ручной или как минимум отредактированный человеком перевод. Машинный перевод хорош для черновика и для второстепенного, редко читаемого контента, но на карточках и в категориях он даёт неточности в терминах, единицах, характеристиках и тональности, а поиск невысоко оценивает массово автопереведённые тексты без вычитки. Разумная схема — гибрид: автоперевод как заготовка, затем ручная вычитка ключевых категорий, названий, свойств и коммерческих текстов носителем или отраслевым переводчиком. Технически автоперевод удобно подключить к процессу наполнения (пакетно перевести и сложить в переводные поля), но публиковать без редактуры то, что видит покупатель и индексирует поиск, не стоит.

Частая ошибка — смешанный язык на странице. Почему так выходит?

Смешанный язык (когда кнопки английские, а товары русские, или наоборот) — это почти всегда признак того, что перевели только один из слоёв. Типичные причины: перевели языковые файлы интерфейса, но не перевели контент инфоблока; перевели названия товаров, но забыли заголовки и значения свойств, единицы измерения, тексты категорий, метатеги, письма и статусы заказа; настроили язык интерфейса, но компонент каталога тянет данные из русского инфоблока. Лечится это ревизией всех источников текста на странице: шаблон (lang-файлы), контент (инфоблок и его свойства), служебные тексты (валюты, единицы, статусы, письма) — и проверкой, что на выбранной версии каждый из них отдаёт правильный язык. Хороший приём приёмки — пройти всю витрину на второй языковой версии глазами и отметить любые «островки» исходного языка.

Поделиться:

Выходите на новый рынок и нужен каталог на нескольких языках?

Спроектируем и запустим мультиязычный магазин на 1С-Битрикс: выберем подход к языковым версиям, настроим перевод каталога и свойств, переключатель и ЧПУ /en/, hreflang, связку с валютами и регионами и безопасный обмен переводов с 1С. Рассчитаем стоимость по вашему проекту.

Игорь Воскресенский

Основатель студии B2Bsite. С 2014 года команда разрабатывает и поддерживает интернет-магазины и корпоративные сайты на 1С-Битрикс: проектирует мультиязычные и мультирегиональные каталоги, настраивает перевод товаров и свойств, языковые версии, hreflang, умный фильтр и обмен с 1С для среднего и крупного бизнеса.

← Все статьи блога