This tutorial will show you how to set up a multilingual website in Joomla 4 using the default Cassiopeia template.

Joomla allows you to easily create a multilingual website without us having to install any third-party extension.

A multilingual Joomla website starts with installing the languages, creating different content elements and ends with publishing the content. Here are detailed steps to create a multilingual website.

Install languages

There are two ways to install languages ​​on a Joomla website. I usually choose to install from the live server.

INSTALL LANGUAGES ​​VIA LIVE SERVER

  1. To do this, I log into the Joomla admin panel and open the menu System > Installieren > Sprachen.
Joomla 4 |  Set up a multilingual website |  Install language via live server

  1. Then I install the language I want by Installierenclicking the button.
Joomla 4 |  Set up a multilingual website |  install language

There is no limit to this. It is possible to install all languages ​​that are offered as a Joomla language pack.

INSTALL LANGUAGES ​​MANUALLY

In addition to installation via the live server, manual installation is also possible. To do this, open the Joomla Community Translation Packages [^community.joomla.org/translations.html] website. There is a zip package for each language, which System > Installieren > Erweiterungen > Installationspaket hochladencan be installed via .

Joomla 4 |  Set up a multilingual website |  Install language manually

Enable content languages

At this point, I think it is important to know the difference between content language and system language. Put simply, the system language is the one that translates the menu items in the backend or descriptive texts in the frontend, such as “Author” or “Created on:” . In contrast, the text of an article is the actual content, i.e. the content. We configure the content languages ​​so that the content of the website is assigned to the correct language and machines also classify a text in the correct language.

  1. Configuring the content language is done in the menu System > Verwalten > Sprachen > Inhaltssprachen.
Joomla 4 |  Set up a multilingual website |  Select content language

  1. We select all the languages ​​in which we want to offer content or content. Typically, the content languages ​​matched the languages ​​installed for the system.
Joomla 4 |  Set up a multilingual website |  Install content language

Activate the language plugins

In the next step we activate two plugins that are necessary to operate the multilingual website.

The System Language Filter plugin helps you display the content based on the language selection on the website. This plugin must be activated. When it comes to language recognition for new website visitors, the following points are crucial:

  1. The cookie from a previous visit.
  2. The “Language selection for new visitors” setting in this plugin.
  3. If applicable, the language set in the browser.

The System Language Code Plugin helps you to hide the language code in the HTML of the website. It plays an important role in search engine optimization.

Here are the steps to activate these 2 plugins:

  1. Go toSystem > Verwalten > Plugins
Joomla 4 |  Set up a multilingual website |  Open Plugins

  1. Use search terms in the search bar to find the plugins.
  2. Activate the two plugins:  System - Sprachfilterand System - Sprachcode.
Joomla 4 |  Set up a multilingual website |  Activate language plugins

Multilingual Content

Once the language plugins are activated, we can start adding new content for each language. As an example, I have added the languages ​​German, Spanish and French to the pre-installed English language on the demo website in this tutorial. The most used content on a Joomla website are articles, categories and modules.

ADD NEW CATEGORIES

In order to better structure the content of the website I create a category for each content language. To create content in different languages, we need to add a new category for each language.

  1. Go to the menu Inhalt > Kategorienand create a new category.
  2. In the right pane, select the language for the category from the Language drop-down box.
  3. Save the category when you have added all content
  4. Repeat this process for each content language.
Joomla 4 |  Set up a multilingual website |  categories

ADD NEW ITEMS

Articles are the main content component of the website. Like most content types, they offer the ability to set the language. If Allis selected as the language, the content will be mapped to all content languages.

Joomla 4 |  Set up a multilingual website |  Article

To create article content in different languages, we add a new article for each language.

  1. Go to the menu Inhalt > Artikeland create a new item
  2. In the right pane, select the language for the article from the Language selection box.
  3. Save the article when you have added all content
  4. Repeat this process for each content language.

ADD NEW MODULES

We use modules to display content at a specific position on specified subpages of the website. A module can also be assigned to a content language.

Joomla 4 |  Set up a multilingual website |  modules

On a multilingual website, we can display different modules for each language, depending on which language the content of the module is assigned to. In practice, we’ll use this later in this text to display the navigation appropriate to the content language.

Setting up the menu system for a multilingual website

ADD MENUS FOR EACH LANGUAGE

With a multilingual website, we create separate menus for each language to have better control over navigation. Below are the steps in detail:

  1. Navigate to Menü > Manageand create a new menu
Joomla 4 |  Set up a multilingual website |  menu

  1. In the right pane, select the language for the menu from the Language drop-down box.
  2. Save the menu
  3. Repeat this process for each content language.
Joomla 4 |  Set up a multilingual website |  A menu for each language

CREATE A MODULE FOR EACH MENU

A menu in Joomla is usually displayed via a module. Our goal is that the English menu – and only this – is displayed when English is selected as the content language. The same applies analogously to each additional content language. To achieve our goal, we install a module for each menu, i.e. for each content language. We assign this module to the appropriate language:

  1. Navigate to Content | Site Moduleand create a new Modules menu.
Joomla 4 |  Set up a multilingual website |  A module for the menu

  1. Select the appropriate menu and in the right pane select the language for the module from the Language selection box.
Joomla 4 |  Set up a multilingual website |  Configure the module

  1. Save the module
  2. Repeat this process for each content language.
  3. We no longer need the main menu, which was automatically created during the installation of Joomla, and for this reason we deactivate it.
Joomla 4 |  Set up a multilingual website |  disable modules

  1. Convince yourself that only the menu that matches the content language is displayed in the frontend at all times.
Joomla 4 |  Set up a multilingual website |  Always the right menu for the content language

ADD MENU ITEMS FOR EACH LANGUAGE

Once the menu for each language is created, we add new menu items.

  1. Open the English menu and click on Neuen Menüpunkt hinzufügenthe toolbar.
  2. In the right pane, select the language for the menu item from the Language drop-down box. Make sure the correct menu is selected. Set the menu item as the default menu item if you wish.
Joomla 4 |  Set up a multilingual website |  A menu for each language

  1. Save the menu item
  2. Repeat this process for each content language.

Multilingual Associations

Multilingual associations are used to redirect articles or menu items of one language to another language when we click on the language switch flag. Website visitors expect to get to the English version of an article when they switch the content language from German to English. However, this is only possible if Joomla knows which articles or menu items belong together. Language shortcuts tell Joomla this information. If we don’t set the language shortcuts, we will be redirected to a language’s default menu item when we change the content language in the frontend. This is not desired and that is why we link the content.

ASSOCIATIONS

If we add a menu item and assign a language to it, the options for associations will appear. We find these in the tab Assoziationen. The menu items of other content languages ​​can be selected.

Joomla 4 |  Set up a multilingual website |  Default menu item per language

Assoziationencan also be found in other Joomla elements. For example with articles.

THE MULTILINGUAL ASSOCIATIONS – LANGUAGE ASSOCIATIONS COMPONENT

The component Mehrsprachige Assoziationenor Sprachverknüpfungenis a tool that makes it possible to edit associated elements side by side without having to switch back and forth. It is very convenient to create an element in several languages ​​and to associate it at the same time. The side-by-side view allows us to edit the elements after selecting a reference element.

Joomla 4 |  Set up a multilingual website |  Multilingual Associations - Language Shortcuts - Side-by-Side View

To get to this component, we navigate to Komponenten > Mehrsprachige Zuordnungen / Sprachverknüpfungen.

Joomla 4 |  Set up a multilingual website |  Multilingual Associations - language shortcuts

Set default page for each language

The default page is the home page for each language. Set a default menu item in each menu. For example, if you click the Home menu item as default in the English main menu, that becomes the default menu item for English-language sites.

Joomla 4 |  Set up a multilingual website |  Default menu item per language

  1. Open the English main menu and let’s click on the circle icon to set the menu item as the default for that language.
  2. Repeat this process for each content language

Language switcher module

This language switching module displays a list of available content languages. This way you can switch back and forth between them. The prerequisite is that Joomla is used as a multilingual website and the content languages ​​have been defined and published as explained above.

  1. To set up the language switcher navigate to Content | Site Moduleand create a new Language Switcher Module.
Joomla 4 |  Set up a multilingual website |  Set up language switcher modules

  1. I assign the module to the languageswitcherload position.
Joomla 4 |  Set up a multilingual website |  Set up language switcher modules

  1. Once the module is published, we can use it in the frontend.
Joomla 4 |  Set up a multilingual website |  Set up language switcher modules

Complete!