DLE Multi-Language
Full multilingual support for DLE — without duplicating the engine
DLE Multi-Language is a professional solution that makes your site truly multilingual within a single DLE installation, with one database and full support for search engine SEO requirements.
Add an unlimited number of languages, translate content by hand or with artificial intelligence (GPT, Claude, Gemini, DeepSeek), and give developers a flexible set of template tags for building any multilingual interface.
Features
1. URL structure and routing
- Prefix-based URLs — every language gets its own prefix: site.com/en/, site.com/es/, site.com/de/. The default language lives on the root domain without a prefix, which matters for SEO.
- Automatic URL rewriting — every internal link in the template gets the language prefix automatically. Developers don’t have to rewrite hrefs by hand.
- Static resources are protected — /uploads/, /templates/, /engine/, /language/ and the favicon never get a language prefix, so there are no 404 errors on images and CSS.
- Any ISO code — a built-in database of more than 90 language codes (ISO 639-1) and 90+ country codes (ISO 3166-1), with reference tables right in the admin panel.
- Translated SEO-friendly URL for every language — each item can have its own URL (alt_name) in each language. When a page is viewed in that language, the translated URL is used automatically in links, canonical, hreflang and the Sitemap.
- Remembers the chosen language — the visitor’s language is stored in a cookie, and the site opens in that language on the next visit.
- Browser language detection — on the first visit the site can open in the visitor’s language automatically, if it is on the list.
2. SEO for international search engines
- Automatic hreflang — the module generates correct <link rel="alternate" hreflang="..."> tags for all active languages, including the x-default that Google requires.
- Localised site meta tags — home_title, description, short_title and keywords can be set separately for each language in the system settings.
- Four strategies for untranslated pages:
- Fallback — show the original content
- Strict Mode — clear the fields and show empty values
- 404 Not Found — return an error to the search engine
- Redirect — a 301 redirect to the home page
- Hide untranslated content in lists — exclude news without a translation from the home page, categories and search results for a given language.
- Your own translation criteria — the administrator decides which fields (Title / Short Story / Full Story) must be filled in for an item to count as translated.
3. Language files (.lng) and the translation editor
- A visual .lng editor — no more editing files over FTP. All keys are shown in a clear table with the original and the translation side by side.
- Missing translations are highlighted — untranslated keys show up in red, and a counter tells you how many lines are left.
- Instant search — a live filter by key and by text, with no page reload.
- Your own .lng files — add custom files (for example my_design.lng) to translate elements of your design.
- Import translations from other languages — a two-step wizard copies the contents of a .lng file between any language folders.
- DLE system files are protected — keys from adminpanel.lng, website.lng and other original DLE files cannot be deleted by accident.
4. Automatic AI translation
- Four AI providers:
- OpenAI — GPT-5.4 Pro, GPT-5.4 Thinking, GPT-5.4 Mini, GPT-4o
- Anthropic Claude — Claude Opus 4.6, Claude Sonnet 4.6
- Google Gemini — Gemini 3.1 Pro, Gemini 3 Flash, Gemini 3.1 Flash-Lite
- DeepSeek AI — an economical choice for large volumes
- Switch providers on the fly — compare the translation quality of different models without touching the code.
- One key, one button — for pinpoint edits.
- Batch AI translation of a whole file — with a progress bar, smart batching of 5 keys per request and automatic retries on network errors.
- Skip Existing mode — translate only empty keys and leave finished translations alone.
- Technical elements stay intact — the AI gets special instructions to leave variables like {user}, HTML tags and DLE markup untouched.
- News content translation — a separate mechanism translates the title, short description and full text of news, keeping every HTML tag, style and the structure of the document.
5. Template tags for developers
The module adds a powerful set of tags that work in any DLE .tpl template:
- {lang=key} — output any string from a .lng file directly in the template.
- {lang-code} — the two-letter ISO code of the current language (handy for <html lang="...">).
- {home-url} — the absolute home page URL, including the current language prefix.
- {site-title}, {site-description}, {site-name} — localised site metadata.
- [if_lang=en,ru]...[/if_lang] — show a block only for the listed languages.
- [not_lang=en]...[/not_lang] — show a block to everyone except the listed languages.
6. The language switcher — {lang-select}
One tag — dozens of design options, no JavaScript to write:
- Four display types:
- links — a horizontal or vertical list of links
- dropdown — an animated drop-down list
- select — a native HTML select (great on mobile)
- auto — switches automatically: dropdown on desktop, select or links on mobile
- Choose what to show — flag, name, native name and code, in any combination, through the show parameter.
- Themes and sizes — light/dark and sm/md/lg through CSS variables.
- Animations — fade, slide and other dropdown effects.
- Positioning — bottom-left, bottom-right, top-left, top-right.
- Open on — click or hover.
- Order control — the order parameter sets any language order, exclude hides the ones you don’t need.
- Custom names — the names parameter sets your own labels for any language.
- Responsive breakpoint — a configurable point where the desktop version switches to mobile.
- Full accessibility — ARIA attributes, keyboard support and hreflang attributes on every link.
7. Custom switchers with {lang-select-loop}
For developers who want full control over the switcher’s HTML, the module offers a loop tag with its own templating:
- Loop variables: {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}.
- Conditional blocks: [if_ls_active], [if_ls_inactive], [if_ls_first], [if_ls_last], [if_ls_odd], [if_ls_even].
- Build any custom interface — language cards with flags, tab switchers, grouped mega menus — all within a regular HTML template.
8. DLE XFields (additional fields) support
- Automatic XField cloning — when a new language is added, all existing additional fields are duplicated automatically with a language suffix.
- A separate field group per language — in the DLE admin panel the fields to translate are grouped under Multi-Language: [ISO].
- Clean removal — when a language is deleted, all its localised XFields are removed with it, leaving no junk in the database.
9. Safe installation and removal of languages via AJAX
- Step-by-step installation with a progress bar — every operation (creating the folder, copying files, adding database columns, setting up XFields) runs in stages.
- Resilient to 504 timeouts — the module reconnects automatically after network errors and continues from the same step.
- Clone from an existing language — when creating a new language, copy all .lng files from any existing folder to speed up localisation.
- Flag icons installed automatically — the module picks the right country icon from its built-in database even when the language ISO code differs from the country code (for example, en → the gb flag).
- Safe change of the default language — a step-by-step background migration moves content between the main and language fields in the database without losing data, so you can change the site’s main language even after it has been filled.
10. A professional admin panel
- A dashboard with statistics — module status, number of active languages and the default language on one screen.
- A built-in ISO code reference — pop-ups with every language and country code, flag and name. Click a row and the code is inserted into the form.
- ISO code validation — the module warns you immediately if you try to use a country code instead of a language code (a common SEO mistake).
- Update checks — automatic and manual checks for new versions, with the changelog shown right in the admin panel.
- A multilingual admin interface — the whole module is built on .lng files and can be translated into any language.
11. Compatibility and performance
- DataLife Engine — all current versions, including 19.x and newer.
- PHP — compatible with PHP 7.4 – 8.x.
- One database — no duplicated records, only extra columns.
- Minimal performance impact — the module works at the template engine level and does not affect DLE’s main queries.
Who it is for
- News sites reaching an international audience.
- Corporate portals that need localisation for different regions.
- Blogs and information projects that need SEO visibility in several countries.
- Travel and event sites that simply must work in several languages.
- Any DLE project that wants to go multilingual without moving to another CMS.
What you get
- Full multilingual support within a single DLE installation.
- Automatic translation of content and interface with the leading AI models of 2026.
- Correct SEO for Google, Yandex and other search engines.
- A flexible toolkit for building language switchers without writing JavaScript.
- An intuitive translation editor that saves dozens of hours of work with .lng files.
- Professional technical support and regular updates.
DLE Multi-Language turns your single-language site into a full international publication in a few clicks — painlessly, without duplicating the engine and without losing SEO.
Screenshots
Click a screenshot to zoom in
Choose a suitable plan
We offer flexible licensing options depending on your needs.
- 3 sites (each with all its subdomains)
- Open source code
- Support 12 months
- No updates
- Downloads 7 days
- All Standard features
- 10 sites (each with all its subdomains)
- Priority support
- Updates 12 months
- Downloads 12 months
- All Extended features
- Unlimited number of sites (each with all its subdomains)
- Personal consultations
- Updates forever
- Downloads forever
- Installation and setup
- Adapted to your website (including code refinement)
Version history
-
1.0.3 current
- New Добавлен умный hreflang: язык объявляется в альтернативных ссылках только если материал действительно переведён. Поисковые системы больше не переходят по альтернативам, ведущим на 404 или на дубль контента.
- New Добавлена панель полноты перевода на главной странице модуля: процент переведённого по новостям, категориям, статическим страницам и файлам интерфейса для каждого языка.
- New Добавлено обновление списка AI-моделей одной кнопкой: список загружается напрямую от провайдера и сохраняется, поэтому новые модели доступны без обновления модуля. Рядом добавлена кнопка проверки соединения, которая тестирует ключ, модель и прокси.
- New Добавлено управление языками: смена папки языка, изменение порядка в переключателе и отключение языка без удаления переведённого контента.
- New Добавлены экспорт и импорт языковых файлов в форматах JSON и CSV, включая выгрузку только непереведённых строк — удобно для передачи переводчику.
- New Добавлена настройка поведения переключателя для непереведённых страниц: показывать ссылку как обычно, скрывать язык или вести на главную этого языка.
- New Языковые карты сайта теперь автоматически подключаются к основному sitemap.xml, поэтому поисковые системы находят их без ручной настройки.
- New Расширена транслитерация ЧПУ (alt_name): добавлены армянский, греческий, грузинский, арабский, иврит, персидский, а также казахский и другие кириллические варианты. Для иероглифических языков предусмотрен запасной вариант вместо пустого адреса.
- Improvement Устаревшие названия AI-моделей теперь переносятся автоматически, поэтому сохранённая ранее модель не остаётся неработающей после переименования у провайдера.
- Improvement Поисковые роботы больше не перенаправляются автоматически на другой язык: робот получает именно тот адрес, который запросил. Прежнее поведение можно вернуть отдельной настройкой.
- Improvement Автоматическое перенаправление больше не применяется к RSS, ajax-запросам и файлам, чтобы не ломать ленты и сторонние интеграции.
- Improvement Кеш страниц теперь очищается автоматически при изменении настроек и списка языков.
- Improvement Снижена нагрузка на сайт: языковые файлы админпанели, установщика и самого модуля больше не подключаются при каждом обращении посетителя.
- Improvement Проверка обновлений теперь использует собственный суточный кеш и не обращается к серверу обновлений при каждом открытии страницы модуля.
- Improvement Cookie выбранного языка теперь выставляется с атрибутами SameSite и Secure.
- Fix Исправлена ошибка 404 на ссылках вида /xx/index.php?do=register, ?do=lostpassword, ?action=logout и других: адреса больше не содержат index.php и открываются на всех серверах, включая nginx.
- Fix Исправлена форма поиска на языковых страницах, которая отправляла запрос на несуществующий адрес.
- Fix Исправлена невозможность вернуться на язык по умолчанию при включённом запоминании языка: выбор в переключателе теперь сохраняется корректно для всех типов переключателя.
- Fix Исправлена отдача 403 вместо 404 для непереведённых материалов и статических страниц в режиме «Отдавать 404».
- Fix Исправлена ошибка SQL в пользовательских блоках {custom} с постраничной навигацией при включённом скрытии непереведённых материалов.
- Fix Исправлена работа модуля в подкаталоге сайта: пути к флагам, изображениям и перенаправлениям больше не задаются жёстко от корня домена.
- Fix Исправлен редактор переводов: определение папки языка по умолчанию, критическая ошибка при открытии некоторых языковых файлов на PHP 8 и неработавшая проверка дубликата ключа.
- Fix Исправлена потеря языка у форм, отправляющих данные на корень сайта.
- Fix Устранены предупреждения PHP и возможные конфликты функций при одновременной работе с другими модулями.
-
1.0.2
- New Добавлен переводимый ЧПУ (alt_name) для каждого языка: отдельное поле URL в форме добавления и редактирования материала с AI-генерацией слага. При просмотре на другом языке переведённый URL используется в ссылках, canonical, hreflang и Sitemap.
- New Добавлено запоминание выбранного языка посетителя через cookie: при следующем заходе на сайт без префикса посетитель автоматически перенаправляется на свой язык.
- New Добавлено автоопределение языка посетителя по настройкам браузера: если язык есть в списке, посетитель сразу перенаправляется на него.
- New Добавлена безопасная смена языка по умолчанию: пошаговая фоновая (AJAX) миграция, которая переносит контент между основными и языковыми полями БД. Предусмотрены предупреждения о рисках, счётчик материалов, защита от прерывания и резервная копия конфигурации.
- Fix Добавлены отсутствующие сообщения об ошибках AI-провайдеров (OpenAI, Claude, Gemini, DeepSeek).
- Fix Добавлены недостающие переводы настроек дополнительных полей в украинской локализации.
-
1.0.1
- New Добавлена полноценная поддержка DataLife Engine 20.0: обновлены XML-модификации и разделены операции для DLE 19.0–19.1 и DLE 20.0+
- New Добавлена поддержка прокси, SOCKS5 и SOCKS5H для AI-провайдеров с отдельной вкладкой настроек.
- New Добавлена настройка поведения пустых дополнительных полей: использовать значение основного языка либо не отображать поле.
- Fix Исправлена загрузка языкового файла ml.lng и отображение текстов модуля в административной панели.
- Fix Исправлено размножение обратных слешей при повторном сохранении материалов.
- Fix Исправлено создание и редактирование языковых .lng-файлов: массивы и сложные значения теперь сохраняются в исходном PHP-формате.
- Fix Исправлена многоязычная работа поиска, статических страниц, тегов, новостей, Sitemap и Google News.
-
1.0.0
- New Первый релиз модуля