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="..."> для всіх активних мов, зокрема обов’язковий для Google x-default.
  • Локалізація мета-тегів сайту — 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}

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

  • Чотири типи відображення:
    • 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].
  • Можна будувати будь-які власні інтерфейси: картки мов із прапорами, таб-перемикачі, мегаменю з групуванням — усе в межах звичайного 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, Яндекса та інших пошукових систем.
  • Гнучкий інструментарій для верстки перемикачів мови без написання JavaScript.
  • Інтуїтивний редактор перекладів, що заощадить десятки годин роботи з .lng-файлами.
  • Професійну технічну підтримку й регулярні оновлення.

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

Скріншоти

Натисніть на скріншот, щоб збільшити

Виберіть відповідний тариф

Ми пропонуємо гнучкі варіанти ліцензування залежно від ваших потреб.

Стандарт
$62
  • 3 сайти
  • Відкритий вихідний код
  • Підтримка 12 місяців
  • Без оновлень
  • Завантаження 7 днів
Рекомендуємо
Розширений
$74
  • Усі функції Стандарту
  • 10 сайтів
  • Пріоритетна підтримка
  • Оновлення 12 місяців
Преміум
$148
  • Усі функції Розширеного
  • Необмежена кількість сайтів
  • Персональні консультації
  • Оновлення назавжди
  • Встановлення та налаштування
  • Адаптація під ваш сайт (включно з доопрацюванням коду)
Без прив'язкиДля студій і закритих серверів

Усе з Преміуму, але ключ не прив'язаний до сайтів і модуль не звертається до нашого сервера.

$368

Сайт — це домен разом з усіма його піддоменами.

Історія версій

  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/). Посилання, перемикач мов, 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 Розробник

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

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