Joomla Multilingual Setup
Joomla is the only major CMS with full multilingual support out of the box, no paid plugins. Multiple language support is built into core: articles, menus, categories, modules, templates are all translatable.
Installing Language Packs
Extensions → Languages → Install languages. Select required languages (Russian, Ukrainian, English), click install — Joomla downloads packages from official server.
Or manually:
# Via CLI (Joomla 4+)
php cli/joomla.php extension:install --url https://download.joomla.org/...
Content Language Setup
Extensions → Languages → Content languages → add languages with settings:
-
Language tag:
ru-RU,en-GB,uk-UA -
URL code:
ru,en,uk— used in URL - SEF prefix: same
Language Filter
Components → Language associations → enable Language Filter plugin (Plugins → System → Language Filter):
Automatic language change: Yes
Remove URL language code for default language: Yes (main language without prefix)
Show language code in URL: Yes
Multilingual Articles and Menus
Each language has a separate article variant. Joomla links them as language associations.
- Create article for Russian: language = ru-RU
- Create article for English: language = en-GB
- Components → Language associations → select Russian article → associate with English
Menus: create separate menu for each language. Menu items are bound to specific language.
Language Switcher
Add Language Switcher module (mod_languages) to template position:
// In template index.php
<jdoc:include type="modules" name="language-switcher" style="none" />
Module parameters:
- Use flag images: optional
- Horizontal position
- Use dropdown: for many languages
Content Model for Multilingual Sites
For complex sites recommended structure:
Categories (by language):
├── News (ru-RU)
├── News (en-GB)
└── Новини (uk-UA)
Menus:
├── Main Menu (ru-RU)
├── Main Menu (en-GB)
└── Головне меню (uk-UA)
Language String Overrides
; language/en-GB/en-GB.com_content.ini
COM_CONTENT_ARTICLE_MORE_DETAILS="More"
COM_CONTENT_ARTICLES_FILTER_SEARCH_DESC="Enter search query"
Or via Extensions → Languages → Overrides.
SEO for Multilingual Sites
Hreflang is automatically added by Joomla for language associations. Check:
curl -s https://yourdomain.com/ | grep hreflang
# <link rel="alternate" hreflang="en" href="https://yourdomain.com/" />
# <link rel="alternate" hreflang="uk" href="https://yourdomain.com/uk/" />
Timeline
Setting up multilingual Joomla for 2–3 languages with menus, categories, basic content translation — 2–3 days.







