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="..."> для всіх активних мов, зокрема обов’язковий для 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 перекладає лише порожні поля: правильні назви та значення, які ви або парсер уже заповнили, не затираються.

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 — версії 19.0 — 21.0.
  • PHP — сумісний із PHP 7.4 – 8.x.
  • Одна база даних — жодного дублювання записів, лише додаткові колонки.
  • Мінімальний вплив на продуктивність — модуль працює на рівні шаблонного рушія й не впливає на основні запити DLE.
  • Кеш DLE, Memcache і Redis — кешовані блоки (календар, архів, хмара тегів та інші) зберігаються окремо для кожної мови, а збереження налаштувань модуля очищає кеш повністю.

Для кого цей модуль

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

Що ви отримуєте

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

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

Скріншоти

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

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

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

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

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

$360

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

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

  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 більше не змінює дату публікації новини на сайтах, де дата в базі оновлювалася за будь-якої правки запису
    • Якщо нейромережа додала в переклад посилання або зірочки, яких немає в оригіналі, запит повторюється, а такий текст у новину не потрапляє
Ще 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к строк
В целом, если это код, он его не будет переводить, но, конечно, всё зависит от промпта. Код открыт, поэтому можно просто задать инструкцию: если распознаётся, что это код (даже в обычном текстовом формате), то пропускать его и не переводить .