Разделы Написать в Telegram

Перевод сайта на 1С-Битрикс

mrLexndr Мультиязычность переводит сайт на Битриксе: интерфейс, инфоблоки, SEO-свойства, каталог и оформление заказа. Переводы хранятся в базе, а не в файлах, поэтому править их может контент-менеджер, а не только разработчик.

Этот раздел — вся документация модуля, и живёт она только здесь. В поставке её копии нет: две копии одного текста расходятся, и читатель архива рано или поздно получает ответ, устаревший на несколько версий.

С чего начать

Зависит от того, кто вы.

ВыНачните отсюда
Ставите модуль на проектПервая установка
Обновляетесь с прежней версииОбновление на бою
Ведёте контент и правите текстыГде живут переводы
Пишете шаблоны и компонентыКак фраза попадает на страницу
Ищете, почему что-то не работаетЧто делать, если

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

Что модуль умеет

Словарь фраз. Любая строка интерфейса — от подписи кнопки до текста письма — заводится один раз и выводится на языке посетителя. Фразу можно создать прямо из шаблона, через админку или импортом из таблицы.

Фразы из языковых файлов. Сайт, собранный до модуля, выводит подписи через штатный GetMessage(), а текст лежит в lang/*.php рядом с шаблоном. Переписывать эти вызовы не нужно: после поиска фраз тот же GetMessage() на языках перевода берёт текст из словаря. См. Фразы из языковых файлов.

Инфоблоки. Названия, описания, свойства, подсказки, справочники и торговые предложения переводятся в тех же элементах: перевод лежит в языковом свойстве рядом с оригиналом, отдельных копий элементов не заводится.

SEO. Шаблоны title, description и остальных SEO-свойств работают на каждом языке, включая наследование по разделам.

Магазин. Каталог, корзина и оформление заказа: названия товаров, свойства, единицы измерения, платёжные системы и способы доставки.

Машинный перевод. Пустые переводы заполняются через сервис mrLexndr — Google Gemini или Яндекс на выбор. Есть глоссарий и описание сайта для переводчика, чтобы термины проекта переводились одинаково, очередь, которая переводит только изменившееся, и разовый перевод для первого запуска.

Контроль качества. Модуль замечает, когда оригинал изменился после перевода, и умеет искать испорченные переводы — потерянные ссылки, разъехавшиеся таблицы, обрывки текста.

Что нужно для работы

  • 1С-Битрикс с модулями «Информационные блоки» и Highload-блоки;
  • для перехвата GetMessage() — главный модуль Битрикса версии 23.0.0 или новее. На более старом ядре модуль ставится и работает, не включается только перехват;
  • PHP 8.2 или новее;
  • исходящий HTTPS до https://api.mrlexndr.com — для машинного перевода, баланса и пополнения. Без сети словарь и подстановка работают, не работает только машинный перевод;
  • модуль mrlexndr.corrector — необязательно, нужен только для типографики после перевода, см. Типографика.

Подробнее — Первая установка.

Как устроен раздел

Слева дерево из тринадцати групп. Порядок в нём не алфавитный, а по частоте обращений: установка, экраны админки и задачи контент-менеджера идут раньше, чем внутреннее устройство SEO-хранилища.

Две страницы собираются автоматически и потому всегда актуальны: Все сообщения модуля — полный список фраз об ошибках, чтобы найти свою поиском по тексту, и История версий.


Внутренние материалы разработки — реестр дефектов, аудиты, записи по группам работ — в этот раздел не входят и не публикуются. Они живут в docs/ рядом с кодом. Состав раздела задаёт docs/build/manifest.php, и прогон проверок падает, если в docs/site/ появился файл вне манифеста: отсюда страницы уезжают на сайт, то есть на всеобщее обозрение.