DLE Multi-Language

Мультиязычный модуль для DLE: AI-перевод новостей по одной и массово (GPT, Claude, Gemini, DeepSeek), SEO и hreflang — без дублирования движка.
Версия 3.1.0 PHP 8.0 — 8.5 DLE 15.1 — 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 переводит только пустые поля: правильные названия и значения, которые вы или парсер уже заполнили, не затираются.
  • Названия из источника — если в доп. поле новости есть ссылка на источник (например, Google Play), модуль берёт оттуда официальное название игры, приложения или фильма на каждом языке и передаёт 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 — версии 15.1 — 21.0.
  • PHP — совместим с PHP 8.0 — 8.5.
  • Одна база данных — никакого дублирования записей, только дополнительные колонки.
  • Минимальное влияние на производительность — модуль работает на уровне шаблонного движка и не влияет на основные запросы 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 000₽
  • Все функции Расширенного
  • Сайты без ограничения
  • Персональные консультации
  • Обновления навсегда
  • Установка и настройка
  • Адаптация под ваш сайт (включая доработку кода)
Без привязкиДля студий и закрытых серверов

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

30 000₽

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

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

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

    Новое 2

    • Массовый перевод категорий и статических страниц: выберите раздел в «Массовом переводе» или нажмите кнопку прямо в списке категорий и страниц
    • «Полнота перевода»: нажмите на раздел и увидите, какие новости, категории, страницы и файлы интерфейса не переведены, со ссылками на редактирование

    Исправлено 5

    • Заголовки и описания больше не остаются по-русски: если AI вернул текст без перевода, модуль повторяет запрос, а при неудаче показывает ошибку и не сохраняет такой текст
    • «Не перезаписывать заполненные» теперь не пропускает поле с непереведённым текстом: такие новости переводятся при повторном запуске
    • Названия из Google Play: магазин больше не отдаёт русское название из-за страны сервера, а русское название для других языков не используется
    • «Полнота перевода» считает точнее: пустые в оригинале поля не считаются пропущенными, текст как в оригинале не считается переводом, служебные файлы админки не занижают «Интерфейс», полоски снова видны
    • В «Массовом переводе» список ошибок виден и после завершения задания
  2. 3.0.1 5 Исправлено

    Исправлено 5

    • Массовый перевод больше не останавливается на «AI вернул некорректный JSON»: модуль чинит такой ответ, повторяет запрос и при необходимости переводит по частям
    • Карты сайта языков: все ссылки внутри ведут на существующие файлы, раньше они отдавали 404 без дополнительных правил на сервере
    • Символ & в полях языка в редакторе новости больше не показывается как &amp;
    • Описательные слова в названиях переводятся, а имя игры или приложения остаётся: «Pixel Gun 3D Стрелялки Онлайн» больше не остаётся по-русски на других языках
    • Язык без файла website.lng больше не ломает сайт: надписи берутся с основного языка, а в «Список языков» появляется предупреждение
  3. 3.0.0 2 Новое

    Новое 2

    • Поддержка DLE 15.1–18.1: модуль работает на всех версиях DLE с 15.1 по 21.0 — переводы новостей, категорий, статических страниц, адреса языков, hreflang, AI-перевод
    • Для DLE до 19.0 — готовые строки для .htaccess и nginx в «Список языков» и кнопка «Проверить адреса»: видно, открываются ли адреса всех языков
  4. 2.9.1 1 Исправлено

    Исправлено 1

    • Добавление и удаление языка на большом сайте больше не зависает на «Ошибка сети (Timeout/504)»: поля в таблицу добавляются за один раз, а страница спокойно ждёт, пока база закончит
  5. 2.9.0 2 Новое 1 Улучшено

    Новое 2

    • Названия из источника: если в доп. поле новости есть ссылка на источник (например, Google Play), модуль берёт оттуда официальное название на каждом языке и передаёт ИИ, а по желанию ставит его заголовком без ИИ
    • Инструкция для ИИ — в настройках AI (вкладка «Перевод»): одна для кнопки перевода в новости, категориях, статических страницах и для массового перевода. Кнопка в новости тоже сохраняет названия игр, приложений и брендов

    Улучшено 1

    • Страницы сайта открываются быстрее: модуль не делает тяжёлых проверок при каждом открытии страницы
Ещё 17 версий
  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 больше не меняет дату публикации новости на сайтах, где дата в базе обновлялась при любой правке записи
    • Если нейросеть добавила в перевод ссылки или звёздочки, которых нет в оригинале, запрос повторяется, а такой текст в новость не попадает
  6. 2.5.0 1 Новое 9 Исправлено

    Новое 1

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

    Исправлено 9

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

    Новое 1

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

    Исправлено 2

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

    Исправлено 1

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

    Исправлено 2

    • Служебный файл модуля в engine/data больше не открывается из браузера: он хранится в защищённом PHP-файле, а старый файл удаляется при обновлении
    • На DLE без испанского языка (19.x) модуль больше не добавляет в выбор языка админки пустой «Spanish», из-за которого открывалась ошибка «Language file not found»
  10. 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, а не как квадратные галочки
  11. 2.1.0 3 Новое 2 Улучшено

    Новое 3

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

    Улучшено 2

    • Старые поля [EN] с заполненными переводами переносятся в новую схему автоматически, старые теги вида [xfvalue_поле_en] продолжают работать
    • Панель модуля на испанском языке
  12. 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 минут.
  13. 2.0.0 3 Новое 2 Улучшено 2 Исправлено

    Новое 3

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

    Улучшено 2

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

    Исправлено 2

    • Настройка «Пустые дополнительные поля перевода» неверно работала с некоторыми типами полей.
    • DLE 19.0: часть правок модуля не применялась — теперь применяются все.
  14. 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 и возможные конфликты функций при одновременной работе с другими модулями.
  15. 1.0.2 4 Новое 2 Исправлено

    Новое 4

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

    Исправлено 2

    • Добавлены отсутствующие сообщения об ошибках AI-провайдеров (OpenAI, Claude, Gemini, DeepSeek).
    • Добавлены недостающие переводы настроек дополнительных полей в украинской локализации.
  16. 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.
  17. 1.0.0 1 Новое

    Новое 1

    • Первый релиз модуля
Ошибки и предложения Сообщите об ошибке или предложите улучшение — и следите за статусом. 0открыто 4исправлено за месяц
DLE Multi-Language · модуль для DataLife Engine

Комментарии13

D С W B НК
5 участников
Сергей

Как я понял, в одном из ближайших обновлений DLE может наконец-то появиться мультиязычность.

dlemod Разработчик Сергей

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

Сергей dlemod

Ну, в демо-админке уже есть. Через отдельные шаблоны будто бы будет реализовано.

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

dlemod Разработчик Сергей

Сергей, если через отдельные шаблоны, то переведётся только оформление. Новости, категории и SEO так и останутся на одном языке. Модуль переводит сами материалы, у каждого языка свой адрес. Когда выйдет, посмотрим вживую.

Сергей dlemod

Пытаюсь понять, вообще есть возможность переводить другие модули? Вот возьмём например Pulsr с кучей доработок и модулей. Реально с DLE Multi-Language полностью сделать его ещё на другом языке? Или переводится только функционал непосредственно движка без всех дополнений?

Николай Куликов

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

dlemod Разработчик

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

В шаблоне ничего менять не нужно, [xfvalue_имя] сам выводит значение на языке страницы. И если поле уже заполнено, например парсером, AI его не перезапишет.

BinSyst

Этот модуль может работать как плагин Google-Translate в WordPress? Автоматически переводить сайт на выбранные языки с основного языка

dlemod Разработчик

Здравствуйте! Почти, но есть разница. Виджет Google переводит страницу на лету, а здесь переводы сохраняются в базе, и у каждого языка свой адрес (/en/, /de/ и т.д.). Так их нормально индексируют поисковики.

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

Worldquotes

Я загружаю два шаблона один основа русский , второй англ ? или как работает ?

dlemod Разработчик

Здравствуйте! Нет, два шаблона загружать не нужно — модуль так не работает.

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

Заголовки сайта, описания, статические страницы и новости переводятся прямо в админке — отдельными полями под каждый язык. Никаких копий шаблона делать не надо.

Worldquotes

А если у меня много строк кода внутри шаблона с текстом внутри он тоже переведет скрипты?

Скрипты имееют 9к строк

dlemod Разработчик

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

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