DLE Multi-Language

Мультиязычный модуль для DLE: AI-перевод новостей по одной и массово (GPT, Claude, Gemini, DeepSeek), SEO и hreflang — без дублирования движка.
Версия 2.8.1 PHP 8.0 — 8.5 DLE 19.0 — 21.0 Документация Открыть демо

Полноценная мультиязычность для DLE без дублирования движка

DLE Multi-Language — это профессиональное решение, которое делает ваш сайт по-настоящему многоязычным в рамках одной установки DLE, с одной базой данных и полной поддержкой SEO-требований поисковых систем.

Модуль позволяет добавлять неограниченное количество языков, переводить контент вручную или через искусственный интеллект (GPT, Claude, Gemini, DeepSeek), и предоставляет разработчикам гибкую систему шаблонных тегов для создания любых многоязычных интерфейсов.

Возможности модуля

1. URL-структура и маршрутизация

  • Префиксная структура URL — каждый язык получает свой префикс: site.com/en/, site.com/es/, site.com/de/. Язык по умолчанию работает на корневом домене без префикса, что важно для SEO.
  • Автоматическая подмена URL — все внутренние ссылки в шаблоне автоматически дополняются языковым префиксом. Разработчику не нужно вручную переписывать href-ы.
  • Защита статических ресурсов — папки /uploads/, /templates/, /engine/, /language/ и favicon никогда не получают языкового префикса, что исключает ошибки 404 на изображениях и CSS.
  • Поддержка произвольных ISO-кодов — встроенная база из более чем 90 языковых кодов (ISO 639-1) и 90+ кодов стран (ISO 3166-1) со справочными таблицами прямо в админке.
  • Переводимый человекопонятный URL (ЧПУ) для каждого языка — у каждого материала можно задать отдельный URL (alt_name) на каждом языке. При просмотре на нужном языке переведённый URL автоматически используется в ссылках, canonical, hreflang и в Sitemap.
  • Запоминание выбранного языка — выбранный посетителем язык сохраняется в cookie, и при следующем заходе сайт открывается на нужном языке.
  • Автоопределение языка по браузеру — при первом заходе сайт может автоматически открываться на языке посетителя, если этот язык есть в списке.

2. SEO-оптимизация для международных поисковых систем

  • Автоматическая генерация hreflang — модуль создает корректные теги <link rel=\"alternate\" hreflang=\"...\"> для всех активных языков, включая обязательный x-default для Google.
  • Локализация мета-тегов сайта — home_title, description, short_title и keywords могут быть заданы отдельно для каждого языка через системные настройки.
  • Четыре стратегии обработки непереведенных страниц:
    • Fallback — показывать оригинальный контент
    • Strict Mode — очищать поля, показывая пустые значения
    • 404 Not Found — возвращать ошибку поисковику
    • Redirect — 301-редирект на главную
  • Скрытие непереведенного контента в списках — опция позволяет исключать новости без перевода из главной, категорий и поисковой выдачи для конкретного языка.
  • Настраиваемые критерии перевода — администратор сам решает, какие поля (Title / Short Story / Full Story) должны быть обязательно заполнены, чтобы материал считался переведенным.

3. Языковые файлы (.lng) и редактор переводов

  • Встроенный визуальный редактор .lng-файлов — больше не нужно править файлы через FTP. Все ключи выводятся в удобной таблице с оригиналом и переводом бок о бок.
  • Подсветка отсутствующих переводов — непереведенные ключи сразу видны красным цветом. Счетчик показывает, сколько строк еще нужно перевести.
  • Мгновенный поиск — live-фильтр по ключам и по содержимому текста, работает без перезагрузки страницы.
  • Создание собственных .lng-файлов — добавляйте любые кастомные файлы (например, my_design.lng) для переводов элементов вашего дизайна.
  • Импорт переводов из других языков — двухшаговый визарт позволяет скопировать содержимое .lng-файла между любыми языковыми папками.
  • Защита системных файлов DLE — ключи из adminpanel.lng, website.lng и других оригинальных файлов DLE нельзя случайно удалить.

4. Автоматический AI-перевод

  • Четыре AI-провайдера — OpenAI (GPT), Anthropic Claude, Google Gemini и DeepSeek. Список моделей модуль берёт у провайдера кнопкой «Обновить модели», поэтому новые модели доступны сразу после выхода.
  • Переключение провайдеров на лету — сравнивайте качество перевода разных моделей без изменений в коде.
  • Перевод одного ключа одной кнопкой — для точечного редактирования переводов.
  • Пакетный AI-перевод всего файла — с прогресс-баром, умной обработкой по 5 ключей за запрос и автоматическим повтором при сетевых ошибках.
  • Режим Skip Existing — переводить только пустые ключи, не трогая уже готовые переводы.
  • Сохранение технических элементов — AI получает специальные инструкции о том, что переменные типа {user}, HTML-теги и специальная разметка DLE должны оставаться нетронутыми.
  • Перевод новостного контента — отдельный механизм переводит заголовки, краткое описание и полный текст новостей с сохранением всех HTML-тегов, стилей и структуры документа.
  • Массовый перевод новостей — вкладка «Массовый перевод» переводит весь сайт или выбранные категории и период на нужные языки: заголовки, тексты, мета-теги, теги и многоязычные доп. поля. Перевод идёт в открытой вкладке или в фоне по cron — с прогрессом, паузой, повтором ошибок и автоматической остановкой, если у AI закончился баланс или неверен ключ.
  • Своя инструкция для AI — задайте стиль, тон и то, что нельзя переводить. По умолчанию названия игр, приложений, брендов и имена, а также факты — языки, версии, числа — остаются как в оригинале.
  • Не перезаписывать заполненные поля — AI переводит только пустые поля: правильные названия и значения, которые вы или парсер уже заполнили, не затираются.

5. Шаблонные теги для разработчиков

Модуль добавляет мощный набор тегов, которые работают в любых .tpl-шаблонах DLE:

  • {lang=key} — вывод любой строки из .lng-файла напрямую в шаблоне.
  • {lang-code} — двухбуквенный ISO-код текущего языка (удобно для <html lang=\"...\">).
  • {home-url} — абсолютный URL главной с учетом текущего языкового префикса.
  • {site-title}, {site-description}, {site-name} — локализованные метаданные сайта.
  • [if_lang=en,ru]...[/if_lang] — показать блок только для указанных языков.
  • [not_lang=en]...[/not_lang] — показать блок всем, кроме указанных языков.

6. Переключатель языков — {lang-select } 

Один тег — десятки вариантов оформления без написания jаvascript:

  • Четыре типа отображения:
    • links — горизонтальный/вертикальный список ссылок
    • dropdown — выпадающий список с анимацией
    • select — нативный HTML-select (хорош для мобильных)
    • auto — автоматическое переключение: dropdown на десктопе, select или links на мобильных
  • Настройка отображения элементов — flag, name, native, code — в любом сочетании через параметр show.
  • Темы и размеры — light/dark, sm/md/lg через CSS-переменные.
  • Анимации — fade, slide и другие эффекты открытия dropdown.
  • Позиционирование — bottom-left, bottom-right, top-left, top-right.
  • Триггер открытия — click или hover.
  • Гибкое управление порядком — параметр order позволяет задать произвольный порядок языков, exclude — исключить ненужные.
  • Кастомные названия — через параметр names можно задать свои подписи для любых языков.
  • Адаптивный breakpoint — настраиваемая граница переключения между десктопной и мобильной версией.
  • Полная доступность — ARIA-атрибуты, поддержка клавиатуры, hreflang-атрибуты у каждой ссылки.

7. Кастомные переключатели через {lang-select-loop}

Для разработчиков, которым нужен полный контроль над HTML-разметкой переключателя, модуль предоставляет loop-тег с собственной системой шаблонизации:

  • Переменные внутри цикла: {ls-url}, {ls-code}, {ls-CODE}, {ls-name}, {ls-name-native}, {ls-flag}, {ls-flag-url}, {ls-active}, {ls-selected}, {ls-index}, {ls-count}, {ls-odd}, {ls-even}.
  • Условные блоки: [if_ls_active], [if_ls_inactive], [if_ls_first], [if_ls_last], [if_ls_odd], [if_ls_even].
  • Можно строить любые custom-интерфейсы: карточки языков с флагами, таб-переключатели, мега-меню с группировкой — все это в рамках обычного HTML-шаблона.

8. Поддержка DLE XFields (дополнительные поля)

  • Мультиязычное поле одной галочкой — в настройках любого дополнительного поля DLE включите «Использовать как мультиязычное поле (Multi-Language)» и задайте значения по умолчанию для каждого языка.
  • Переводы во вкладке языка — значения на каждом языке заполняются во вкладке языка при редактировании новости, включая списки, картинки и файлы.
  • Те же теги в шаблоне — [xfvalue_name] сам выводит значение на языке страницы, без копий полей с языковыми суффиксами.

9. Безопасная установка и удаление языков через AJAX

  • Пошаговая установка с прогресс-баром — все операции (создание папки, копирование файлов, добавление колонок в БД, настройка XFields) выполняются поэтапно.
  • Устойчивость к 504 Timeout — модуль автоматически переподключается при сетевых ошибках и продолжает операцию с того же шага.
  • Клонирование из существующего языка — при создании нового языка можно скопировать все .lng-файлы из любой существующей папки, что значительно ускоряет локализацию.
  • Автоматическая установка иконок флагов — модуль сам подбирает правильную иконку страны из встроенной базы, даже если ISO-код языка не совпадает с ISO-кодом страны (например, en → флаг gb).
  • Безопасная смена языка по умолчанию — пошаговая фоновая миграция переносит контент между основными и языковыми полями БД без потери данных, что позволяет сменить основной язык сайта даже после его наполнения.

10. Профессиональная админ-панель

  • Dashboard со статистикой — статус модуля, количество активных языков, язык по умолчанию — все в одном экране.
  • Встроенный справочник ISO-кодов — модальные окна со всеми языковыми и страновыми кодами, флагами и названиями. Клик по строке — код автоматически подставляется в форму.
  • Валидация ISO-кодов — модуль мгновенно предупреждает, если вы пытаетесь использовать код страны вместо кода языка (типичная SEO-ошибка).
  • Проверка обновлений — автоматическая и ручная проверка новых версий с отображением changelog прямо в админке.
  • Мультиязычный интерфейс самой админки — весь модуль построен на .lng-файлах и может быть переведен на любой язык.

11. Совместимость и производительность

  • DataLife Engine — версии 19.0 — 21.0.
  • PHP — совместим с PHP 7.4 — 8.x.
  • Одна база данных — никакого дублирования записей, только дополнительные колонки.
  • Минимальное влияние на производительность — модуль работает на уровне шаблонного движка и не влияет на основные запросы DLE.
  • Кеш DLE, Memcache и Redis — кешируемые блоки (календарь, архив, облако тегов и другие) хранятся отдельно для каждого языка, а сохранение настроек модуля очищает кеш полностью.

Для кого этот модуль

  • Новостные сайты, выходящие на международную аудиторию.
  • Корпоративные порталы, которым нужна локализация для разных регионов.
  • Блоги и информационные проекты, где важна SEO-видимость в нескольких странах.
  • Туристические и event-сайты, обязательно работающие на нескольких языках.
  • Любые проекты на DLE, которые хотят добавить мультиязычность без переезда на другую CMS.

Что вы получаете

  • Полноценную мультиязычность в рамках одной установки DLE.
  • Массовый перевод всего сайта на новые языки — в фоне, без ручной работы с каждой новостью.
  • Автоматический перевод контента и интерфейса через ведущие AI-модели 2026 года.
  • Корректную SEO-оптимизацию для Google, Яндекса и других поисковых систем.
  • Гибкий инструментарий для верстки переключателей языка без написания jаvascript.
  • Интуитивный редактор переводов, который сэкономит десятки часов работы с .lng-файлами.
  • Профессиональную техническую поддержку и регулярные обновления.

DLE Multi-Language превращает ваш одноязычный сайт в полноценное международное издание за несколько кликов — без боли, без дублирования движка, без потерь в SEO.

Скриншоты

Нажмите на скриншот, чтобы увеличить

Выберите подходящий тариф

Мы предлагаем гибкие варианты лицензирования в зависимости от ваших потребностей.

Стандарт
5 000₽
  • 3 сайта
  • Открытый исходный код
  • Поддержка 12 месяцев
  • Без обновлений
  • Скачивание 7 дней
Рекомендуем
Расширенный
6 000₽
  • Все функции Стандарта
  • 10 сайтов
  • Приоритетная поддержка
  • Обновления 12 месяцев
  • Скачивание 12 месяцев
Премиум
12 000₽
  • Все функции Расширенного
  • Сайты без ограничения
  • Персональные консультации
  • Обновления навсегда
  • Скачивание навсегда
  • Установка и настройка
  • Адаптация под ваш сайт (включая доработку кода)
Без привязкиДля студий и закрытых серверов

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

30 000₽

Сайт — это домен вместе со всеми его поддоменами.

История версий

  1. 2.8.1 текущая 2 Исправлено

    Исправлено 2

    • Облако тегов на языковой версии показывает только теги этого языка; если переводов тегов нет — теги основного языка
    • Теги {lang=...}, [if_lang] и [not_lang] переводятся и в AJAX-ответах: окно профиля, добавленный комментарий и другие
  2. 2.8.0 3 Новое

    Новое 3

    • Над флагом языка в списке новостей — число непереведённых новостей; нажатие на флаг показывает только их
    • Массовое действие «Перевести на … (AI)» в списке новостей: отметьте новости, выберите язык — они уйдут в массовый перевод
    • Крестик в колонке языка открывает новость сразу на вкладке этого языка, а на галочке видно переведённый заголовок; рядом с «Заголовок» — флаг основного языка
  3. 2.7.0 1 Новое 1 Исправлено

    Новое 1

    • В списке новостей в админке — колонка с флагом для каждого языка: галочка, если новость переведена, крестик, если нет. Сразу видно, что ещё нужно перевести

    Исправлено 1

    • Если к адресу новости добавить префикс языка (/de/games/1118-…html), сайт перенаправляет на эту же новость с её переведённым адресом на выбранном языке (/de/spiele/1118-…html), а не на язык по умолчанию
  4. 2.6.0 2 Новое 4 Исправлено

    Новое 2

    • Свой адрес категории на каждом языке: поле «Альтернативное имя» для языка в настройках категории (/de/hintergrunde/ вместо /de/hintergruende-ru/). Ссылки, переключатель языков, hreflang, canonical и карта сайта берут переведённый адрес, старый перенаправляется 301
    • Свой адрес статической страницы на каждом языке (/en/about-us.html), со всеми ссылками, переключателем языков и перенаправлением со старого адреса

    Исправлено 4

    • Листание страниц результатов поиска на языковых версиях сайта снова работает
    • Массовый перевод через Claude больше не обрывается с ошибкой «SSL_read: unexpected eof» на длинных текстах; при обрыве связи с AI-сервисом перевод ждёт и повторяет, а не помечает новости ошибкой
    • При смене основного языка сайта адреса новостей, категорий и страниц без перевода сохраняются
    • Другие плагины могут дополнять модуль: его файлы подключаются через систему плагинов DLE
  5. 2.5.1 2 Исправлено

    Исправлено 2

    • Перевод через AI больше не меняет дату публикации новости на сайтах, где дата в базе обновлялась при любой правке записи
    • Если нейросеть добавила в перевод ссылки или звёздочки, которых нет в оригинале, запрос повторяется, а такой текст в новость не попадает
Ещё 12 версий
  1. 2.5.0 1 Новое 9 Исправлено

    Новое 1

    • У дополнительного поля — режим перевода через AI: «По общей настройке», «Всегда переводить» (даже если поле уже заполнено, например описание, которое парсер взял с чужого сайта) или «Не переводить»

    Исправлено 9

    • Кнопка «Перевести с оригинала (AI)» переводит дополнительные поля с визуальным редактором и поля с несколькими значениями
    • Длинные оформленные тексты сохраняют оформление после перевода: заголовки, списки, таблицы и ссылки не ломаются
    • Перевод через DeepSeek стал в несколько раз быстрее и больше не обрывается на длинных текстах; если нейросеть вернула повреждённые символы «�», запрос повторяется
    • Страницы переведённых тегов и значений дополнительных полей (/en/tags/…, /en/xfsearch/…) открываются вместо ошибки 404
    • Массовый перевод: длинные дополнительные поля переводятся частями, поля с несколькими значениями не склеиваются, поиск по переведённым значениям полей обновляется
    • Теги и поиск по дополнительным полям сохраняются, если основной язык сайта тоже есть в списке языков
    • Кнопка AI-перевода статических страниц — на языке админки и без потери оформления
    • Переключатель языков на телефоне занимает меньше места, в тёмной теме шаблона становится тёмным
    • Модуль работает вместе с другими модулями, которые меняют адреса сайта в engine/init.php
  2. 2.4.0 1 Новое 2 Исправлено

    Новое 1

    • В настройках дополнительного поля — «Не переводить через AI»: кнопка «Перевести с оригинала (AI)» и массовый перевод пропускают такое поле, например озвучку или студии перевода, которые на каждом языке свои

    Исправлено 2

    • Переключение языка на странице поиска больше не открывает ошибку 404
    • Карты сайта для языков снова создаются, если на сайте также стоят DLE Movie Importer PRO или DLE SEO Pro
  3. 2.3.0 1 Исправлено

    Исправлено 1

    • Найдены и исправлены несколько мелких ошибок
  4. 2.2.1 2 Исправлено

    Исправлено 2

    • Служебный файл модуля в engine/data больше не открывается из браузера: он хранится в защищённом PHP-файле, а старый файл удаляется при обновлении
    • На DLE без испанского языка (19.x) модуль больше не добавляет в выбор языка админки пустой «Spanish», из-за которого открывалась ошибка «Language file not found»
  5. 2.2.0 3 Новое 1 Улучшено 4 Исправлено

    Новое 3

    • Массовый перевод новостей: вкладка «Массовый перевод» переводит все новости или выбранные категории и период на нужные языки — в открытой вкладке или в фоне по cron
    • Для массового перевода можно выбрать AI-сервис и задать свою инструкцию: стиль, тон, что не переводить. Названия игр, приложений и брендов остаются как в оригинале
    • Настройка «Не перезаписывать заполненные поля»: кнопка «Перевести с оригинала (AI)» переводит только пустые поля, названия и доп. поля, заполненные вручную или парсером, остаются

    Улучшено 1

    • Кнопка «Перевести с оригинала (AI)» и её сообщения — на английском, украинском и испанском в админке на этих языках

    Исправлено 4

    • Календарь, архив, облако тегов и другие блоки из кеша больше не показываются на чужом языке — в том числе при кеше в Memcache и Redis
    • Сохранение настроек модуля очищает кеш сайта полностью, в том числе в Memcache и Redis
    • Вместе с DLE Movie Importer PRO краткие новости в списках снова выводятся на языке страницы (DLE 20.0 и новее)
    • На DLE 19.0 переключатели в «Настройках» модуля снова выглядят как переключатели DLE, а не как квадратные галочки
  6. 2.1.0 3 Новое 2 Улучшено

    Новое 3

    • Дополнительные поля: в настройках поля появилась галочка «Использовать как мультиязычное поле (Multi-Language)» — перевод заполняется во вкладке языка новости, отдельные поля [EN] больше не создаются
    • Тег [xfvalue_...] сам выводит значение на языке посетителя — шаблон менять не нужно
    • Значение по умолчанию для каждого языка, а у полей-списков — свой список значений на каждом языке

    Улучшено 2

    • Старые поля [EN] с заполненными переводами переносятся в новую схему автоматически, старые теги вида [xfvalue_поле_en] продолжают работать
    • Панель модуля на испанском языке
  7. 2.0.1 1 Улучшено 5 Исправлено

    Улучшено 1

    • Если модель отказалась переводить текст или ответ оборвался из-за длины, модуль прямо говорит об этом вместо «AI вернул некорректный JSON».

    Исправлено 5

    • Новые модели Claude (Opus 5, Opus 4.7 и 4.8, Sonnet 5, Fable) снова работают: «Проверить соединение» и перевод больше не падают с ошибкой «temperature is deprecated».
    • Дополнительные поля снова получают языковые копии: у старых полей и у полей, созданных, когда правка DLE не сработала, копии создаются сами при открытии модуля — и поля появляются на вкладке языка при добавлении новости.
    • Модели OpenAI GPT-6 и серии o переводят через новый интерфейс OpenAI и не спотыкаются о настройку температуры.
    • Gemini 3 переводит с рекомендованной Google температурой: заниженная температура могла приводить к зацикливанию и худшему переводу.
    • Длинные статьи больше не обрываются по времени на медленных моделях (DeepSeek V4 Pro, Claude Opus 5, GPT-6, Gemini 3): ожидание ответа увеличено до 3 минут.
  8. 2.0.0 3 Новое 2 Улучшено 2 Исправлено

    Новое 3

    • Поддержка DLE 21.0.
    • Комментарии по языкам: у каждой языковой версии материала свои комментарии и верные счётчики — в том числе при догрузке комментариев и отправке нового.
    • Флаги языков у полей категорий, статических страниц, настроек, групп пользователей и облака тегов — без дублирующей подписи с кодом языка.

    Улучшено 2

    • Язык по умолчанию хранится в обычных полях DLE: без отдельной вкладки и без повторов при добавлении и редактировании новостей.
    • Дополнительные поля всех типов переводятся правильно, включая повторяющиеся и скрытые; языковые копии поля создаются, переименовываются и удаляются вместе с исходным полем.

    Исправлено 2

    • Настройка «Пустые дополнительные поля перевода» неверно работала с некоторыми типами полей.
    • DLE 19.0: часть правок модуля не применялась — теперь применяются все.
  9. 1.0.3 8 Новое 7 Улучшено 9 Исправлено

    Новое 8

    • Добавлен умный hreflang: язык объявляется в альтернативных ссылках только если материал действительно переведён. Поисковые системы больше не переходят по альтернативам, ведущим на 404 или на дубль контента.
    • Добавлена панель полноты перевода на главной странице модуля: процент переведённого по новостям, категориям, статическим страницам и файлам интерфейса для каждого языка.
    • Добавлено обновление списка AI-моделей одной кнопкой: список загружается напрямую от провайдера и сохраняется, поэтому новые модели доступны без обновления модуля. Рядом добавлена кнопка проверки соединения, которая тестирует ключ, модель и прокси.
    • Добавлено управление языками: смена папки языка, изменение порядка в переключателе и отключение языка без удаления переведённого контента.
    • Добавлены экспорт и импорт языковых файлов в форматах JSON и CSV, включая выгрузку только непереведённых строк — удобно для передачи переводчику.
    • Добавлена настройка поведения переключателя для непереведённых страниц: показывать ссылку как обычно, скрывать язык или вести на главную этого языка.
    • Языковые карты сайта теперь автоматически подключаются к основному sitemap.xml, поэтому поисковые системы находят их без ручной настройки.
    • Расширена транслитерация ЧПУ (alt_name): добавлены армянский, греческий, грузинский, арабский, иврит, персидский, а также казахский и другие кириллические варианты. Для иероглифических языков предусмотрен запасной вариант вместо пустого адреса.

    Улучшено 7

    • Устаревшие названия AI-моделей теперь переносятся автоматически, поэтому сохранённая ранее модель не остаётся неработающей после переименования у провайдера.
    • Поисковые роботы больше не перенаправляются автоматически на другой язык: робот получает именно тот адрес, который запросил. Прежнее поведение можно вернуть отдельной настройкой.
    • Автоматическое перенаправление больше не применяется к RSS, ajax-запросам и файлам, чтобы не ломать ленты и сторонние интеграции.
    • Кеш страниц теперь очищается автоматически при изменении настроек и списка языков.
    • Снижена нагрузка на сайт: языковые файлы админпанели, установщика и самого модуля больше не подключаются при каждом обращении посетителя.
    • Проверка обновлений теперь использует собственный суточный кеш и не обращается к серверу обновлений при каждом открытии страницы модуля.
    • Cookie выбранного языка теперь выставляется с атрибутами SameSite и Secure.

    Исправлено 9

    • Исправлена ошибка 404 на ссылках вида /xx/index.php?do=register, ?do=lostpassword, ?action=logout и других: адреса больше не содержат index.php и открываются на всех серверах, включая nginx.
    • Исправлена форма поиска на языковых страницах, которая отправляла запрос на несуществующий адрес.
    • Исправлена невозможность вернуться на язык по умолчанию при включённом запоминании языка: выбор в переключателе теперь сохраняется корректно для всех типов переключателя.
    • Исправлена отдача 403 вместо 404 для непереведённых материалов и статических страниц в режиме «Отдавать 404».
    • Исправлена ошибка SQL в пользовательских блоках {custom} с постраничной навигацией при включённом скрытии непереведённых материалов.
    • Исправлена работа модуля в подкаталоге сайта: пути к флагам, изображениям и перенаправлениям больше не задаются жёстко от корня домена.
    • Исправлен редактор переводов: определение папки языка по умолчанию, критическая ошибка при открытии некоторых языковых файлов на PHP 8 и неработавшая проверка дубликата ключа.
    • Исправлена потеря языка у форм, отправляющих данные на корень сайта.
    • Устранены предупреждения PHP и возможные конфликты функций при одновременной работе с другими модулями.
  10. 1.0.2 4 Новое 2 Исправлено

    Новое 4

    • Добавлен переводимый ЧПУ (alt_name) для каждого языка: отдельное поле URL в форме добавления и редактирования материала с AI-генерацией слага. При просмотре на другом языке переведённый URL используется в ссылках, canonical, hreflang и Sitemap.
    • Добавлено запоминание выбранного языка посетителя через cookie: при следующем заходе на сайт без префикса посетитель автоматически перенаправляется на свой язык.
    • Добавлено автоопределение языка посетителя по настройкам браузера: если язык есть в списке, посетитель сразу перенаправляется на него.
    • Добавлена безопасная смена языка по умолчанию: пошаговая фоновая (AJAX) миграция, которая переносит контент между основными и языковыми полями БД. Предусмотрены предупреждения о рисках, счётчик материалов, защита от прерывания и резервная копия конфигурации.

    Исправлено 2

    • Добавлены отсутствующие сообщения об ошибках AI-провайдеров (OpenAI, Claude, Gemini, DeepSeek).
    • Добавлены недостающие переводы настроек дополнительных полей в украинской локализации.
  11. 1.0.1 3 Новое 4 Исправлено

    Новое 3

    • Добавлена полноценная поддержка DataLife Engine 20.0: обновлены XML-модификации и разделены операции для DLE 19.0–19.1 и DLE 20.0+
    • Добавлена поддержка прокси, SOCKS5 и SOCKS5H для AI-провайдеров с отдельной вкладкой настроек.
    • Добавлена настройка поведения пустых дополнительных полей: использовать значение основного языка либо не отображать поле.

    Исправлено 4

    • Исправлена загрузка языкового файла ml.lng и отображение текстов модуля в административной панели.
    • Исправлено размножение обратных слешей при повторном сохранении материалов.
    • Исправлено создание и редактирование языковых .lng-файлов: массивы и сложные значения теперь сохраняются в исходном PHP-формате.
    • Исправлена многоязычная работа поиска, статических страниц, тегов, новостей, Sitemap и Google News.
  12. 1.0.0 1 Новое

    Новое 1

    • Первый релиз модуля
Комментарии 8

Чтобы написать комментарий, войдите в аккаунт.

Николай Куликов
А что с доп полями для разных языковых версий? Как устроен процесс перевода значений доп полей?
Здравствуйте! В настройках доп. поля ставите галочку «Использовать как мультиязычное поле», и у него появляются значения для каждого языка. В новости они заполняются во вкладке нужного языка: вручную, кнопкой AI-перевода или массово для всех новостей сразу.

В шаблоне ничего менять не нужно, [xfvalue_имя] сам выводит значение на языке страницы. И если поле уже заполнено, например парсером, AI его не перезапишет.
Этот модуль может работать как плагин Google-Translate в WordPress? Автоматически переводить сайт на выбранные языки с основного языка
Здравствуйте! Почти, но есть разница. Виджет Google переводит страницу на лету, а здесь переводы сохраняются в базе, и у каждого языка свой адрес (/en/, /de/ и т.д.). Так их нормально индексируют поисковики.

Вручную переводить не придётся: новость переводится одной кнопкой через AI, а весь сайт сразу можно перевести на вкладке «Массовый перевод», хоть в фоне по cron. Потом любой перевод можно поправить руками.
Я загружаю два шаблона один основа русский , второй англ ? или как работает ?
Здравствуйте! Нет, два шаблона загружать не нужно — модуль так не работает.

Вы используете один ваш шаблон, а модуль уже внутри него переключает языки. Для этого есть специальные теги — вы просто отмечаете ими те места, где текст должен меняться (меню, кнопки, блоки и т.д.), и модуль сам подставляет нужный язык по URL (/en/, /de/ и т.п.).

Заголовки сайта, описания, статические страницы и новости переводятся прямо в админке — отдельными полями под каждый язык. Никаких копий шаблона делать не надо.
А если у меня много строк кода внутри шаблона с текстом внутри он тоже переведет скрипты?
Скрипты имееют 9к строк
В целом, если это код, он его не будет переводить, но, конечно, всё зависит от промпта. Код открыт, поэтому можно просто задать инструкцию: если распознаётся, что это код (даже в обычном текстовом формате), то пропускать его и не переводить .