Что умеет решение
Модуль mrLexndr обеспечивает перевод сайта на платформе 1С-Битрикс: интерфейс, инфоблоки, каталог, SEO-поля и оформление заказа. Переведённые тексты хранятся в базе данных рядом с оригиналом в том же элементе, без создания копий сайта или изменения языковых файлов. Это позволяет контент-менеджерам редактировать тексты без дублирования инфоблоков.
Решение работает на сайтах, которые изначально не проектировались с учётом многоязычности. Подписи из языковых файлов шаблонов автоматически подтягиваются из словаря без переписывания вызовов, а свойства без языкового суффикса получают языковые пары.
Модуль переводит следующие типы контента:
Фразы интерфейса: подписи кнопок, пункты меню, подсказки, тексты блоков вёрстки и тексты писем. Каждая фраза заводится один раз и выводится на языке посетителя.
Фразы из языковых файлов: весь контент, который шаблоны и компоненты выводят стандартной функцией GetMessage() из файлов в директории lang/*.php.
Инфоблоки: названия, анонсы, описания, свойства и их значения, подписи свойств, разделы, торговые предложения и справочники Highload-блоков.
SEO: шаблоны title, description, alt и title для изображений на каждом языке с наследованием по разделам.
Магазин: названия товаров и свойств на витрине и в корзине, свойства заказа, типы плательщиков, названия платёжных систем и служб доставки, единицы измерения.
Модуль mrLexndr обеспечивает перевод интерфейса сайта на язык посетителя: результаты поиска, навигационные цепочки и названия месяцев отображаются корректно. Ядро Битрикс хранит названия платёжных систем и служб доставки единым текстом без выделенных полей для перевода. Решение переносит эти данные в словарь и переводит их как обычные фразы, что позволяет оформлению заказа на английском языке выглядеть полностью на английском, а не частично.
Ограничений по длине текста или форматам нет. Обычные строки, такие как названия товаров или подписи кнопок, переводятся напрямую. HTML-разметка, используемая в описаниях товаров и новостях, сохраняется целостной; модуль автоматически исправляет незакрытые теги, чтобы избежать нарушения вёрстки страницы.
Для блочного редактора sprint.editor поле представляет собой JSON со структурой блоков, который нельзя переводить как простой текст, чтобы не повредить имена ключей. Модуль обрабатывает такие поля в специальном формате, переводя только подписи, заголовки и текстовые значения. Если после перевода количество узлов не совпадает с исходным, запись отменяется полностью. Поддержка этого формата включена по умолчанию.
Модуль mrLexndr обеспечивает перевод сайта через GPT без ограничений по длине текста. Статья на сорок тысяч знаков обрабатывается целиком, без разбивки на фрагменты. Система оптимизирует расходы: одинаковые строки внутри пакета отправляются на перевод один раз, а строки, не содержащие букв (артикулы, числа, коды), не отправляются вовсе, что исключает оплату за их перевод.
Использование машинного перевода не является обязательным. Модуль функционирует как полноценное хранилище переводов даже при полном отказе от автоматизации. Языковые поля создаются, переключение языков работает, а подстановка контента на витрине осуществляется корректно. Тексты могут заполняться вручную через карточку элемента, словарь или импорт/экспорт в CSV-формат. Такой подход соответствует работе проектов, где перевод выполняет штатный редактор или специализированное бюро: модуль предоставляет структуру и инструменты, не ограничивая источник контента. Автоматический перевод подключается только при необходимости ускорить процесс.
Решение готово к использованию на существующем сайте без необходимости переписывания шаблонов.
Модуль mrLexndr Мультиязычность обеспечивает перевод сайта с использованием GPT, сохраняя существующую архитектуру. Если до установки модуля текст выводился через GetMessage с кодом, а исходные строки находились в файлах lang/ru/*.php рядом с шаблоном, модуль продолжает использовать эту схему. Он однократно сканирует языковые файлы в указанных каталогах, формирует словарь и подставляет переводы при вызове той же функции GetMessage для выбранных языков. Изменение текста в словаре мгновенно обновляет отображение на сайте.
Модуль не переписывает вызовы в шаблонах и не удаляет оригинальные языковые файлы, поэтому откат к прежнему поведению возможен в любой момент. В случае, если в шаблоне используется устаревший метод подключения языка, который невозможно перехватить, система отобразит имя файла и готовую однострочную замену. Модуль не вносит изменения в файлы шаблонов самостоятельно, так как они остаются под контролем пользователя. Совпадения кодов с файлами сторонних разработчиков выводятся в отдельный отчёт: до их ручной обработки фраза продолжает работать в старом режиме.
Модуль mrLexndr обеспечивает автоматический перевод сайта с использованием технологий искусственного интеллекта. Для инфоблоков названия, анонсы и описания элементов переводятся всегда. Свойства обрабатываются в зависимости от наличия языкового суффикса: если свойство названо TITLE_RU, для него автоматически создается пара TITLE_EN. Если сайт разрабатывался без учета перевода и свойства имеют базовые имена, такие как BRAND или MATERIAL, их необходимо отметить в настройках модуля. После этого система переведет все текстовые и списочные свойства, создав для них пары с суффиксом _EN. Инфоблоки, не содержащие свойств с суффиксами, определяются системой автоматически.
В новом подходе к коду текстовые строки размещаются непосредственно в шаблонах. Для этого используется специальный вызов функции, где текст на базовом языке указывается вторым аргументом. При первом отображении страницы фраза автоматически добавляется в словарь с исходным текстом. Поля для остальных языков остаются пустыми, что корректно отражает статус отсутствия перевода и позволяет системе машинного перевода корректно обработать такие записи.
Разработка верстки и программирование ведутся на русском языке, как если бы мультиязычность не была предусмотрена. Сайт начинает работать с момента запуска, а словарь заполняется автоматически. Решение о добавлении языков принимается в любой момент без необходимости отдельного этапа переноса всех надписей шаблона в языковые файлы.
Переменные подставляются по имени, что сохраняет структуру фразы: вызов LANG_VAR('DAYS_LEFT', ['COUNT' => 5]) формирует текст «Осталось #COUNT# дней». Фрагменты, собранные из частей на другом языке, не переводятся, так как порядок слов в них отличается.
Модуль не содержит копий стандартных компонентов Битрикс. Он вносит перевод непосредственно в данные, полученные компонентом, добавляя одну строку в файл result_modifier.php шаблона: IblockHelper::substituteStandardFields($arResult). Копия штатного компонента работает только до следующего обновления ядра, после чего её необходимо исправлять вручную при каждом обновлении. Корзина и процесс оформления заказа меняются чаще других элементов, поэтому их копии ломаются первыми. Для оформления заказа модуль использует события, что позволяет избежать вмешательства в шаблон.
Если элементы выбираются вручную, строка кода не требуется: перевод подставляется автоматически в момент выборки.
Стоимость перевода предсказуема. Очередь запоминает изменения, но не выполняет перевод самостоятельно. Оплата списывается только при нажатии кнопки. Благодаря этому массовый обмен с 1С по тысячам позиций не приводит к неожиданным расходам.
mrLexndr — модуль для автоматического перевода сайта с использованием GPT. Перевод выполняется построчно: вы оплачиваете только то поле, которое редактируете, например заголовок, и не платите повторно за описание.
Массовый перевод работает в фоновом режиме. Запуск осуществляется одной кнопкой, вкладку можно закрыть, а статус отображается над таблицей с информацией о прогрессе и текущем шаге. Перед каждым платным действием система проверяет возможность паузы. Задание можно отменить в любой момент, при этом уже переведённые данные сохраняются. Если сервис не успел ответить, шаг откладывается, а не помечается как ошибка; следующий шаг использует готовый перевод без повторного списания средств.
Функция повторного перевода уже переведённых элементов выделена красной плашкой и требует отдельного подтверждения при запуске, что исключает случайную оплату дублирования всего каталога. Баланс и история платежей доступны в административной панели, где также производится пополнение счёта.
Для точности перевода перед каждым действием модели передаётся краткое описание проекта. Это позволяет избежать неоднозначности, например, когда слово «заявка» может иметь десятки вариантов перевода в зависимости от контекста. Глоссарий позволяет задать фиксированные термины, которые модель использует без изменений, например: О компании на английском языке = About Us, Сбербанк = Sberbank.
Модуль mrLexndr автоматически обрабатывает отказы нейросети. Если модель возвращает стандартный отказ, например о невозможности обсуждения темы, что может случиться даже на нейтральных текстах про таможенные правила, система предпринимает три последовательные попытки: стандартный запрос, повтор с жёсткими ограничениями формулировки и использование машинного переводчика Яндекс. Поля, переведённые сторонним сервисом, заносятся в отдельный список, так как к ним не применялся глоссарий, и их требуется проверить вручную.
Инструмент сверки выявляет скрытые ошибки: потерянные ссылки, незакрытые теги или обрезанный текст. Стандартная проверка часто пропускает такие дефекты, поскольку исходный текст не менялся, и система считает перевод завершённым, хотя на странице может отсутствовать значительная часть контента.
Ручная правка имеет приоритет над автоматической. Перевод, сохранённый человеком, не будет перезаписан машинной очередью до тех пор, пока не изменится оригинальный текст.
Работа контент-менеджера
Переключите язык административной панели и откройте карточку товара. Поля отображают переведённый текст, а при сохранении записывают именно его, оставляя оригинал без изменений. Жёлтая плашка в верхней части экрана предупреждает о текущем режиме работы, чтобы избежать путаницы.
Модуль mrLexndr обеспечивает мультиязычность сайта с использованием GPT. Фразы, выводимые через функцию LANG_VAR(), редактируются непосредственно на странице: клик по тексту открывает встроенный редактор, а результат отображается в вёрстке мгновенно. Ограничения по длине текста видны только в режиме редактирования, так как фраза, корректно выглядящая в списке, может не поместиться на кнопке.
Словарь переводов экспортируется в CSV и загружается обратно. Можно передать переводчику только один язык, загрузив соответствующую колонку, при этом данные в остальных колонках не будут затёрты.
Переведённые страницы корректно индексируются поисковыми системами. Робот получает готовую HTML-страницу с переведённым текстом; подмена контента скриптами в реальном времени или наложение поверх оригинала не используются.
Шаблоны title и description переводятся отдельно для каждого языка, что предотвращает конкуренцию версий в поисковой выдаче. Макросы {=this.name} и {=this.property.CODE} автоматически подставляют переведённые значения. Если модель теряет макрос в процессе перевода, шаблон не сохраняется. Настройка разметки hreflang и файла sitemap осуществляется стандартными средствами платформы Битрикс.
Модуль mrLexndr Мультиязычность использует единственный внешний адрес api.mrlexndr.com. Связь с этим сервисом происходит только при выполнении перевода, просмотре экрана баланса или пополнении счёта. Запросы с публичных страниц сайта к сервису не отправляются.
В запросе на перевод передаются тексты для перевода, целевые языки, формат, выбранный движок, глоссарий, описание сайта и домен. Запрос баланса содержит только хеш лицензии Битрикс и домен. Телеметрия отсутствует: данные посетителей, статистика посещений, информация об установке и содержимое сайта, кроме переводимых строк, не передаются наружу.
Настройка ключей Яндекс или Google не требуется. Сайт идентифицируется по хешу лицензии Битрикс, а ключи хранятся на стороне сервиса, поэтому извлечь их из настроек модуля невозможно. Адрес сервиса проверяется по списку разрешённых хостов, что исключает возможность подмены настройки и отправки хеша лицензии на чужой сервер.
Все операции, изменяющие данные, выполняются методом POST с проверкой токена сессии и прав на запись. Фоновый перевод проверяет права пользователя, запустившего процесс, а не выполняется от имени системы. Служебные консольные скрипты в состав поставки не входят. Все выполненные переводы остаются собственностью пользователя.
Удаление модуля выполняется через мастер с обязательным подтверждением. Переведённые данные не стираются ни при каких настройках: словарь и таблица состояния сохраняются. Поскольку это контент, а не служебные данные, восстановить его извне невозможно. При повторной установке модуля переводы не потребуются, и оплата за них не взимается. Галочка на первом шаге мастера, включённая по умолчанию, управляет настройками самого модуля: списком языков, глоссарием, описанием сайта и выбранным движком.
Хранение переводов осуществляется в стандартных объектах Битрикс, а не в проприетарном формате. Данные размещаются в языковых свойствах элементов (например, NAME_EN, PREVIEW_TEXT_EN), пользовательских полях разделов и в highload-блоке со словарём. Эти данные доступны для чтения через стандартное API Битрикс даже без установленного модуля.
Модуль не изменяет языковые файлы шаблонов. После удаления вызовы GetMessage() автоматически вернутся к исходным текстам из файлов шаблонов. В коде проекта сохраняются только вызовы LANG_VAR() и IblockHelper в шаблонах. Их удаление вернёт значения к исходным русским, при этом сайт продолжит корректно работать. Если такая зависимость нежелательна, рекомендуется создать собственную функцию-обёртку: в этом случае имя модуля будет известно только в одном файле проекта. Отдельная страница документации посвящена этому сценарию.
Для разработчиков
Модуль mrLexndr обеспечивает мультиязычность сайта с использованием GPT. Публичный интерфейс включает функции LANG_VAR(), Lang::get() и IblockHelper. Для ситуаций, когда код фразы поступает из данных, а не из шаблона, доступна функция Lang::peek(), позволяющая читать значения без автоматического создания записей в словаре, что предотвращает его засорение.
В системе реализовано около двадцати пяти обработчиков событий. Экран «Проверка стенда» позволяет одной кнопкой выполнить комплексную диагностику: убедиться в наличии обработчиков, корректности схемы базы данных и согласованности настроек. Инструмент также выводит паспорт установки, содержащий версии модуля, PHP и СУБД, путь к каталогу с модулем, список доступных модулей Битрикс, поддерживаемые языки перевода и статус запуска агентов по расписанию. Отсутствие обработчика не вызывает явных ошибок, но приводит к остановке наполнения очереди.
Кастомные компоненты работают идентично штатным: перевод автоматически подставляется в массив элементов, который уже сформирован компонентом.
Документация размещена в отдельном разделе на сайте разработчика. Она охватывает весь спектр вопросов: от начальной установки до внутреннего устройства SEO-хранилища и полного перечня сообщений модуля.
Требования к среде
Требуется PHP версии 8.2 или новее. Это требование является обязательным, так как часть классов модуля объявлена как readonly, а синтаксис для таких конструкций появился только в версии 8.2.
Модуль mrLexndr обеспечивает перевод сайта с использованием искусственного интеллекта, интегрируясь с ключевыми компонентами платформы Битрикс: главным модулем, блоками Highload, инфоблоками и модулем интернет-магазина. Для корректной обработки фраз из языковых файлов через функцию GetMessage() требуется версия главного модуля 23.0.0 или новее. На более ранних версиях ядра установка возможна, но механизм перехвата фраз будет отключен.
Работа сервиса требует исходящего защищенного соединения с сервисом перевода. При отсутствии сети продолжают функционировать локальный словарь и ручная подстановка переводов на витрине, однако автоматический машинный перевод становится недоступен.
Модуль не поддерживает сайты, где языковые версии реализованы не через стандартные языки Битрикс, а через отдельные папки или домены без привязки к языку. В таких случаях система будет выдавать один и тот же язык на всех страницах.
Решения на базе шаблона Аспро на данный момент не поддерживаются. В этих решениях многоязычность реализуется через механизм многосайтовости, а шаблон размещается в каталоге /bitrix/templates/, где обновления перезаписывают необходимые файлы, что делает сохранение изменений в result_modifier.php невозможным. При использовании шаблона Аспро рекомендуется связаться с разработчиком до приобретения.
Текст, прописанный в шаблонах напрямую без вызова GetMessage(), а также фразы JavaScript (BX.message), модуль не обрабатывает. Изменение текста непосредственно на странице сайта доступно только для переменных LANG_VAR().
В качестве движков перевода используются Google Gemini и Яндекс. Поддержка DeepL отсутствует.
Повторный перевод уже переведённых текстов полностью заменяет их, включая ручные правки; предыдущие версии не сохраняются и могут быть восстановлены только из резервной копии.
Стоимость машинного перевода списывается с баланса по фактическому расходу. Покупка квот или минимальное пополнение не требуются. Перевод сайта с тысячей товаров на один язык через модель Google Gemini стоит от 500 рублей. Пополнение баланса доступно картой непосредственно в интерфейсе модуля. Для оплаты по счёту необходимо связаться с поддержкой.
Перед приобретением возможна демонстрация работы модуля на тестовом стенде с ответами на вопросы по вашему проекту. Модуль обеспечивает перевод сайта на платформе Битрикс: интерфейса, инфоблоков, каталога, SEO-полей и формы оформления заказа. Переведённые данные хранятся в базе данных рядом с оригиналом в том же элементе, без создания копий сайта или языковых файлов. Дублирование инфоблоков не требуется, редактирование текстов доступно контент-менеджерам.
Переводу подлежат фразы интерфейса: подписи кнопок, элементы меню, подсказки, тексты блоков верстки и письма. Каждая фраза регистрируется один раз и отображается на языке посетителя.
Модуль mrLexndr обеспечивает перевод контента инфоблоков: заголовков, анонсов, описаний, свойств и их значений, подписей полей, разделов, торговых предложений и справочников Highload-блоков. Настройка SEO включает шаблоны title, description, alt и title для изображений на каждом языке с возможностью наследования по разделам. В части магазина переводятся названия товаров и свойств на витрине и в корзине, параметры заказа, типы плательщиков, названия платёжных систем и служб доставки, а также единицы измерения. Пользователи английской версии видят результаты поиска, элементы навигации «хлебные крошки» и названия месяцев на родном языке.
Ядро Битрикса хранит названия платёжных систем и служб доставки единым текстом без полей для перевода. Модуль переносит эти данные в словарь и переводит их как обычные фразы, что позволяет оформлять заказ на английском языке полностью на английском, а не частично. Ограничений по длине текста или форматам нет. Модуль различает три типа контента и обрабатывает их специфично. Обычные строки, такие как названия товаров, подписи кнопок или короткие поля, переводятся напрямую. Для HTML-контента, например описаний товаров или текстов новостей, разметка возвращается неизменной. Незакрытые теги автоматически исправляются всегда, независимо от настроек, чтобы предотвратить поломку вёрстки страницы.
Модуль mrLexndr Мультиязычность: перевод сайта через GPT предназначен для работы с конструкторами страниц, в частности с полем sprint.editor, представляющим собой JSON-структуру блоков. Прямой перевод такого поля как обычного текста невозможен, так как это привело бы к искажению имён ключей и служебных значений. Модуль обрабатывает данные в специальном формате, переводя исключительно подписи, заголовки и текстовые содержимые. Если после перевода количество узлов не совпадает с исходным, вся запись отменяется. Поддержка работает автоматически, дополнительные настройки не требуются.
Ограничений по длине переводимого текста не существует: статьи объёмом до сорока тысяч знаков обрабатываются целиком без разбивки на части. Размер порции влияет лишь на количество элементов, отправляемых в одном запросе. Дублирующиеся строки внутри порции передаются однократно, а строки, не содержащие букв (артикулы, числа, коды), не отправляются вовсе, что исключает лишние расходы.
Использование автоматического перевода не является обязательным. Модуль функционирует как полноценное хранилище переводов даже при отсутствии машинного перевода. Языковые поля создаются, переключение языков работает корректно, а подстановка на витрине осуществляется штатно. Тексты в таком случае заполняются вручную через карточку элемента, словарь или импорт/экспорт в формате CSV.
Модуль mrLexndr Мультиязычность: перевод сайта через GPT от разработчика mrLexndr реализует подход к локализации, аналогичный работе штатного редактора или бюро. Система предоставляет структуру и инструменты, не завися от источника текста. Автоматический перевод активируется только тогда, когда ручная обработка становится слишком длительной.
Разработчик может писать тексты непосредственно в коде шаблона, не требуя предварительного выноса фраз в языковые файлы. Исходный текст указывается вторым аргументом функции LANG_VAR. При первой отрисовке страницы фраза автоматически создается в словаре с указанным текстом, а поля для остальных языков остаются пустыми. Это корректно отражает статус отсутствия перевода, и именно такие поля автоматически отбираются системой машинного перевода.
Ключевое преимущество заключается в возможности верстки и программирования на русском языке без учета мультиязычности на начальном этапе. Сайт функционирует с первой минуты, словарь заполняется автоматически, а решение о добавлении языков принимается в любой момент, когда тексты уже собраны в едином месте. Отдельный этап переноса всех надписей шаблона в языковые файлы не требуется.
Переменные подставляются по имени, чтобы фраза оставалась целой: LANG_VAR('DAYS_LEFT', ['COUNT' => 5]) формирует запись «Осталось #COUNT# дней». Конструкция, где переводимые части соединяются через оператор точки с переменной, например LANG_VAR('LEFT') . $n . LANG_VAR('DAYS'), не переводится, так как порядок слов в других языках отличается. Переводчик обрабатывает только цельную фразу. При повторном использовании одного и того же кода на странице выполняется единственное обращение к базе данных, а не несколько.
Если проект уже использует языковые файлы Битрикса, модуль автоматически импортирует их. Он сканирует директории /local/templates, /local/components и /local/php_interface, собирает все массивы $MESS и добавляет в свой словарь записи для новых кодов. Существующие коды пропускаются, чтобы не перезаписывать данные. Старые языковые файлы можно не удалять: пока шаблон обращается к $MESS, он продолжает читать их, что позволяет переносить данные постепенно, без единого рискованного шага.
Модуль не содержит копий стандартных компонентов Битрикса. Он не заменяет компоненты своими версиями, а подставляет перевод непосредственно в данные, полученные компонентом. Для этого достаточно добавить одну строку в файл result_modifier.php шаблона: IblockHelper::substituteStandardFields($arResult).
Модуль mrLexndr обеспечивает перевод сайта с использованием GPT. Копии стандартных компонентов работают до следующего обновления ядра; после обновления их восстановление требует вмешательства разработчика, внедрившего модуль. Корзина и процесс оформления заказа меняются чаще других элементов при обновлении версий, поэтому их копии ломаются в первую очередь. Модуль переводит события оформления заказа, что полностью исключает необходимость правки шаблонов. Если элементы выбираются вручную, перевод подставляется автоматически в момент выборки без добавления строк кода.
Стоимость перевода предсказуема. Очередь задач фиксирует изменения, но не выполняет перевод самостоятельно. Оплата списывается только в момент нажатия кнопки. Это предотвращает неожиданные расходы при массовом обмене данными с 1С, включающем тысячи позиций. Сравнение данных происходит по каждому полю отдельно: если изменён только заголовок, оплата взимается только за него, а за неизменное описание плата не берётся.
Кнопка «Остановить» проверяется перед каждым платным действием. Она останавливает как фоновые задания, так и процессы, запущенные из браузера, даже если вкладка была закрыта. После остановки перевод возобновляется с того же места. Баланс и история операций доступны в административной панели, где также осуществляется пополнение счёта.
Перед каждым переводом в модель передаётся контекст проекта — несколько предложений о сайте. Без этого контекста слово «заявка» может быть переведено десятком разных способов в зависимости от соседних слов. Глоссарий фиксирует термины, которые модель не подбирает, а использует строго указанные вами значения: например, [EN] О компании = About Us, Сбербанк = Sberbank.
Модуль автоматически обрабатывает отказы модели. Иногда вместо перевода возвращается сообщение «я не могу обсуждать эту тему», что может происходить на безобидных текстах про очереди на границе или таможенные ограничения. В таких случаях система делает три попытки подряд: обычный перевод, повтор со строгой формулировкой и использование машинного переводчика Яндекса. Поля, переведённые машиной, попадают в отдельный список, так как глоссарий к ним не применялся, и их необходимо проверить вручную.
Сверка выявляет испорченные переводы, такие как потерянные ссылки, незакрытые теги или оборванный текст. Обычная проверка этого не замечает, поскольку оригинал не менялся, и с её точки зрения всё переведено корректно, хотя на странице может отсутствовать половина текста.
Ручная правка эффективнее автоматической. Перевод, сохранённый человеком, не будет заменён в очереди машинным переводом.
Как с этим работает контент-менеджер
Модуль mrLexndr Мультиязычность обеспечивает перевод контента сайта с использованием GPT. В режиме администратора при переключении языка и открытии карточки товара поля отображают переведённый текст, а сохранение записывает только перевод, оставляя оригинал без изменений. Для визуального контроля режима работы над верхней частью экрана выводится жёлтая панель.
Редактирование фраз интерфейса выполняется непосредственно на странице сайта: клик по тексту открывает встроенный редактор, а результат отображается в вёрстке мгновенно. Это позволяет оценить длину текста в реальном контексте, так как фраза, корректно выглядящая в списке, может не помещаться на кнопке или нарушать сетку в узкой колонке.
Словарь переводов экспортируется в CSV-формат и может быть загружен обратно. Поддерживается выборочная работа: можно выгрузить все языки, передать переводчику только одну языковую колонку и загрузить её обратно, не затрагивая данные других языков.
Переведённые страницы индексируются поисковыми системами корректно. Поисковый робот получает готовую HTML-страницу с переведённым текстом; подмена контента скриптами в реальном времени или наложение поверх оригинала не используются.
Шаблоны title и description переводятся отдельно для каждого языка, что предотвращает конкуренцию версий в поисковой выдаче. Макросы {=this.name} и {=this.property.CODE} подставляют переведённые значения. Если модель теряет макрос в процессе перевода, шаблон не сохраняется. Настройка разметки hreflang и файла sitemap осуществляется стандартными средствами платформы Битрикс.
Безопасность: что уходит с вашего сервера
Единственный внешний адрес, к которому обращается модуль, — api.mrlexndr.com. В запросе передаются только строки для перевода, выбранные языки, формат, движок, глоссарий, контекст проекта и домен сайта. Телеметрия в модуле отсутствует. Данные посетителей, статистика посещений, информация об установке и содержимое сайта, за исключением переводимых строк, наружу не передаются. До момента запуска перевода модуль не совершает никаких внешних запросов.
Настройка ключей Яндекс и Google на сайте не требуется: сайт идентифицируется по хешу лицензии Битрикс, а ключи хранятся на стороне сервиса, поэтому из настроек модуля нечего красть. Любые действия, изменяющие данные, выполняются методом POST с проверкой токена сессии и прав на запись, что исключает риск несанкционированного изменения через ссылки в письмах. Служебные консольные скрипты в поставку не входят.
Все полученные переводы остаются вашей собственностью.
Удаление модуля выполняется двухэтапным мастером. Переводы никогда не стираются: словарь и таблица состояния остаются на месте. Это контент, а не служебные данные, и восстановить его извне невозможно. При повторной установке модуля переводы сохранятся, что избавит от необходимости платить за них снова. Галочка на первом шаге мастера, включённая по умолчанию, отвечает за удаление настроек: списка языков, глоссария, контекста и выбранного движка.
Переводы хранятся в стандартных объектах Битрикс, а не в проприетарном формате. Используются языковые свойства элементов (NAME_EN, PREVIEW_TEXT_EN), пользовательские поля разделов и Highload-блок со словарём. Эти данные доступны через стандартное API Битрикс даже без установленного модуля.
В шаблонах проекта после удаления модуля остаются вызовы LANG_VAR() и IblockHelper. Их удаление вернёт исходные русские значения, при этом сайт продолжит работать. Если такая зависимость нежелательна, создайте собственную функцию-обёртку: тогда имя модуля будет известно только в одном файле проекта. Отдельная страница документации посвящена этому сценарию.
Для разработчиков
Публичный интерфейс модуля включает функции LANG_VAR(), Lang::get() и класс IblockHelper. Стандартная практика — скрывать модуль за собственной обёрткой, чтобы код проекта не содержал его имени; подробное описание этого сценария вынесено в отдельный раздел документации.
Для случаев, когда код фразы поступает из данных, а не из шаблона, и нет необходимости записывать его в словарь, предусмотрен метод чтения без автосоздания — Lang::peek().
Модуль содержит около двадцати пяти обработчиков событий. Экран «Проверка стенда» отображает статус их установки и формирует паспорт системы: версию модуля, версию PHP, путь загрузки, список доступных модулей, целевые языки и статус запуска агентов по расписанию. Если обработчик отсутствует, это не вызывает явной ошибки; очередь просто перестает наполняться.
Кастомный компонент работает идентично штатному: перевод автоматически подставляется в массив элементов, который компонент уже сформировал.
Полная документация доступна в отдельном разделе сайта разработчика. Она охватывает весь путь от первой установки до внутреннего устройства SEO-хранилища и содержит полный список сообщений модуля.
Требования к среде
Требуется PHP версии 8.2 или новее. Это жесткое требование обусловлено архитектурой: часть классов модуля объявлена как readonly-классы, что невозможно в версиях PHP до 8.2.
Модуль mrLexndr работает с основными и Highload-блоками системы Битрикс. Для перевода инфоблоков используется компонент «Информационные блоки», для каталога магазина — «Интернет-магазин».
Связь с сервисом перевода осуществляется по защищённому протоколу HTTPS. Функции словаря и ручная подстановка переводов на витрине доступны без подключения к сети, однако автоматический машинный перевод требует интернет-соединения.
Ограничения работы с языковыми версиями
Модуль корректно функционирует только при использовании стандартной языковой структуры Битрикса. Если языковые версии сайта реализованы через отдельные папки или домены без привязки к языковым настройкам системы, модуль будет отображать один и тот же язык на всех страницах.
Доступные движки перевода
В модуле реализованы интеграции с Яндекс и Google Gemini. Поддержка DeepL отсутствует.
Интеграция в шаблоны
Для работы модуля в шаблон штатного компонента необходимо добавить строку вызова. В документации отсутствуют готовые инструкции для коммерческих сборок, таких как Аспро, так как принцип работы не зависит от шаблона, а конкретное место вставки кода определяется используемой вами версией шаблона.
Важное предупреждение
Включение функции перезаписи существующих переводов является необратимым действием. Восстановление данных возможно только из резервной копии.
Стоимость и оплата
Стоимость модуля составляет 99 990 рублей. Оплата машинного перевода производится отдельно со счёта пользователя по фактическому расходу. Покупка квот или минимальное пополнение не требуются. Перевод сайта с тысячей товаров на один язык через Google Gemini обойдётся примерно от 500 рублей. Пополнение баланса осуществляется банковской картой непосредственно в интерфейсе модуля.
mrLexndr — модуль для мультиязычности сайтов на Битрикс, использующий GPT для автоматического перевода. Перед покупкой доступна демонстрация работы на тестовом стенде с обсуждением специфики вашего проекта.
Модуль переводит интерфейс, инфоблоки, каталог, SEO-поля и форму оформления заказа. Переведённые тексты хранятся в базе данных непосредственно рядом с оригиналом в том же элементе, без создания копий сайта или языковых файлов. Это исключает необходимость дублирования инфоблоков и позволяет контент-менеджеру редактировать тексты напрямую.
Переводу подлежат фразы интерфейса: подписи кнопок, меню, подсказки, тексты блоков верстки и письма. Каждая фраза регистрируется один раз и отображается на языке посетителя.
Инфоблоки переводятся полностью: названия, анонсы, описания, свойства и их значения, подписи свойств, разделы, торговые предложения, а также справочники Highload-блоков.
SEO-поля включают шаблоны title, description, alt и title для изображений на каждом языке с поддержкой наследования по разделам.
Магазин переводится полностью: названия товаров и свойств на витрине и в корзине, свойства заказа, типы плательщиков, названия платёжных систем и служб доставки, а также единицы измерения.
Система поиска, хлебные крошки и даты также адаптируются под язык пользователя: посетитель английской версии видит результаты поиска и названия месяцев на английском языке.
Ядро Битрикс хранит названия платёжных систем и служб доставки единым текстом для всех языков, не выделяя отдельные поля для перевода. Модуль mrLexndr переносит эти данные в словарь и обрабатывает их как обычные фразы. Благодаря этому страница оформления заказа на английском языке отображается полностью на английском, а не частично.
Использование машинного перевода не является обязательным. Модуль функционирует как полноценное хранилище переводов даже при отсутствии автоматической обработки. Создаются языковые поля, работает переключение языков и подстановка контента на витрине. Тексты можно заполнять вручную через карточку элемента, словарь или импорт-экспорт в формате CSV. Такой подход соответствует проектам, где переводом занимается штатный редактор или специализированное бюро: модуль предоставляет структуру и инструменты, не ограничивая источник текста. Автоматический перевод подключается только тогда, когда ручная работа становится слишком трудоёмкой.
Разработчик может размещать текст непосредственно в коде шаблона. Выносить фразы в языковые файлы заранее не требуется. Текст на базовом языке указывается вторым аргументом в вызове функции LANG_VAR, например: LANG_VAR('SUBMIT_BTN', 'Отправить заявку').
При первой отрисовке страницы фраза автоматически заносится в словарь с исходным текстом. Поля для остальных языков остаются пустыми, что честно отражает отсутствие перевода; именно такие пустые поля система автоперевода и заполняет.
Это позволяет верстать и программировать на русском языке, игнорируя мультиязычность на этапе разработки. Сайт функционирует с первой минуты, словарь наполняется автоматически, а решение о добавлении языков принимается в любой момент, когда тексты уже собраны в одном месте. Отдельный этап выноса всех надписей шаблона в языковые файлы не требуется.
Переменные подставляются по имени, чтобы фраза оставалась единой: LANG_VAR('DAYS_LEFT', ['COUNT' => 5]) формирует запись «Осталось #COUNT# дней». Конструкция вида LANG_VAR('LEFT') . $n . LANG_VAR('DAYS') не переводится, так как в других языках иной порядок слов; переводчик видит только целую фразу. Повторное использование одного и того же кода на странице вызывает одно обращение к базе данных, а не два.
В поставке отсутствуют копии штатных компонентов.
Модуль не заменяет компоненты Битрикс своими копиями. Он подставляет перевод непосредственно в данные, полученные компонентом, используя одну строку в файле result_modifier.php шаблона.
Модуль mrLexndr обеспечивает перевод сайта с использованием GPT. Стандартные поля подставляются через функцию IblockHelper::substituteStandardFields($arResult). В отличие от копий штатных компонентов, которые требуют ручного исправления при каждом обновлении ядра, этот модуль переводит оформление заказа через события. Это исключает необходимость правки шаблонов корзины и оформления, которые часто меняются между версиями и ломаются при копировании. Если элементы выбираются вручную, перевод автоматически подставляется в момент выборки без дополнительных строк кода.
Стоимость перевода предсказуема благодаря работе очереди. Очередь фиксирует изменения, но не выполняет перевод самостоятельно. Списания средств происходят только в момент нажатия кнопки пользователем. Это предотвращает неожиданные расходы при массовом обмене с 1С тысячами позиций. Сравнение данных происходит по каждому полю отдельно: если изменен только заголовок, оплачивается только перевод заголовка, а описание не тарифицируется повторно.
Кнопка «Остановить» проверяется перед каждым платным шагом. Процесс останавливается как в фоновом режиме, так и при прогоне из браузера, даже если вкладка была закрыта. После остановки перевод возобновляется с того же места. Баланс и история операций доступны в административной панели, где также осуществляется пополнение счета.
Перед каждым переводом в модель передаётся контекст проекта — несколько предложений о сайте. Без этого контекста слово «заявка» может быть переведено десятком разных способов в зависимости от соседних слов. Глоссарий фиксирует термины, которые модель не подбирает, а использует строго указанные вами значения: например, [EN] О компании = About Us, Сбербанк = Sberbank.
Модуль автоматически обрабатывает отказы модели. Иногда вместо перевода возвращается сообщение «я не могу обсуждать эту тему», что может происходить на безобидных текстах про очереди на границе или таможенные ограничения. В таких случаях система делает три попытки подряд: обычный перевод, повтор со строгой формулировкой и использование машинного переводчика Яндекса. Поля, переведённые машиной, попадают в отдельный список, так как глоссарий к ним не применялся, и их необходимо проверить вручную.
Сверка выявляет испорченные переводы, такие как потерянные ссылки, незакрытые теги или оборванный текст. Обычная проверка этого не замечает, поскольку оригинал не менялся, и с её точки зрения всё переведено корректно, хотя на странице может отсутствовать половина текста.
Ручная правка эффективнее автоматической. Перевод, сохранённый человеком, не будет заменён в очереди машинным переводом.
Как с этим работает контент-менеджер
Модуль mrLexndr Мультиязычность обеспечивает перевод контента сайта с использованием GPT. В режиме администратора при переключении языка и открытии карточки товара поля отображают переведённый текст, а сохранение записывает только перевод, оставляя оригинал без изменений. Для визуального контроля режима работы над верхней частью экрана выводится жёлтая панель.
Редактирование фраз интерфейса выполняется непосредственно на странице сайта: клик по тексту открывает встроенный редактор, а результат отображается в вёрстке мгновенно. Это позволяет оценить длину текста в реальном контексте, так как фраза, корректно выглядящая в списке, может не помещаться на кнопке или нарушать сетку в узкой колонке.
Словарь переводов экспортируется в CSV-формат и может быть загружен обратно. Поддерживается выборочная работа: можно выгрузить все языки, передать переводчику только одну языковую колонку и загрузить её обратно, не затрагивая данные других языков.
Переведённые страницы индексируются поисковыми системами корректно. Поисковый робот получает готовую HTML-страницу с переведённым текстом; подмена контента скриптами в реальном времени или наложение поверх оригинала не используются.
Шаблоны title и description переводятся отдельно для каждого языка, что предотвращает конкуренцию версий в поисковой выдаче. Макросы {=this.name} и {=this.property.CODE} подставляют переведённые значения. Если модель теряет макрос в процессе перевода, шаблон не сохраняется. Настройка разметки hreflang и файла sitemap осуществляется стандартными средствами платформы Битрикс.
Что покидает ваш сервер
Единственный внешний адрес, используемый модулем, — api.mrlexndr.com. В запрос передаются тексты для перевода, целевые языки, формат, выбранный движок, глоссарий, контекст проекта и домен сайта. Данные посетителей, статистика посещений и остальное содержимое сайта, кроме переводимых строк, наружу не отправляются.
Настройка ключей Яндекс или Google не требуется: сайт идентифицируется по хешу лицензии Битрикс. Любые операции изменения данных выполняются методом POST с проверкой токена сессии и прав на запись. Служебные консольные скрипты в комплект поставки не входят.
Для разработчика
Публичный интерфейс представлен функциями LANG_VAR(), Lang::get() и IblockHelper. Стандартная практика — скрыть модуль за собственной обёрткой, чтобы код проекта не знал его имени; для этого существует отдельная страница документации.
Также доступно чтение без автоматического создания записи — функция Lang::peek(). Она используется, когда код фразы поступает из данных, а не из шаблона, и нет необходимости записывать лишнее в словарь.
Модуль использует около двадцати пяти обработчиков событий. Экран «Проверка стенда» отображает статус их наличия и формирует паспорт установки: версию модуля, версию PHP, путь загрузки, список доступных модулей, целевые языки и статус запуска агентов по расписанию. Если обработчик отсутствует, это не вызывает ошибок, а очередь просто перестает пополняться.
Кастомный компонент работает идентично штатному: перевод автоматически подставляется в массив элементов, который компонент уже сформировал.
Документация размещена в отдельном разделе на сайте разработчика. Она охватывает весь путь от первой установки до внутреннего устройства SEO-хранилища и полного списка сообщений модуля.
Требования
PHP 8.2 или новее. Это жесткое требование, обусловленное архитектурой: часть классов модуля объявлена как readonly-классы, что невозможно в версиях PHP до 8.2.
Модули Би
«mrLexndr Мультиязычность: перевод сайта через GPT» можно подключить с помощью General iT: установить модуль, настроить его и убедиться, что интеграция работает корректно.