My Joomla 5.2 experiment: a 35 Languages Multilingual Landing Page
A few years ago I created a free website using launch.joomla.org. I registered the website specialist.joomla.com and created a Joomla 3 website with an English and Dutch page with a small description about my (business and volunteer) work.
A few days ago I decided to migrate the website to Joomla 5. Actually, because it was a 2 page website, I just started with a clean Joomla 5.2.1 on my local computer (using docker to simulate a web server).
By default, when installing Joomla, English (en-GB) is installed. When I wanted to add the Dutch language pack (nl-NL), I wondered how far I could go with multilingual capability of Joomla.
Currently, Joomla 5.2 supports 48 languages, some of which are regional variants, such as English (Australia, Canada, New Zealand, USA), French (Canada), and German (Austria, Liechtenstein, Luxembourg, Switzerland).
Getting Started with multilingual Joomla
To set up a multilingual Joomla site is quite simple. The difficulty is in managing it. Each additional language will increase your maintenance efforts, especially if you aim to publish every article in each language. After installing Joomla 5.2, I added some languages in the Joomla back-end via:
System > Languages > Install Languages.
I decided to not install regional variants. So I installed 34 additional language packs alongside the default English (en-GB), from Afrikaans to Welsh, resulting in 35 content languages: Afrikaans, Arabic, Catalan, Chinese Simplified, Czech, Danish, Dutch, English, Estonian, Finnish, French, Georgian, German, Greek, Hungarian, Italian, Japanese, Kazakh, Korean, Latvian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Tamil, Thai, Turkish, Ukrainian, Urdu, Welsh.
I also tried installing the Pashto Afghanistan (ps-AF) language pack. I had some issues with it because the <version> tag was missing, so I had to remove that language for now.
Content Languages
After installing the 34 languages, I went to “Content Languages” via System > Content Languages and published all the content languages for the installed languages.
I noticed that the available Content Languages had inconsistent "Title in Native Language" fields. I standardized the titles by using each language’s native name, followed between brackets by the English equivalent for clarity. Furthermore I also decided to sort the languages by their native names. The languages with non-Latin character I sorted on their English name.
Creating the multilingual content
Joomla has a nice feature called "Sample Data" with a "Multilingual Sample Data" option, that makes it easier to set up a website in multiple languages.
I clicked it, and…
Joomla automatically created 35 categories, articles and menu items. One for each language.
And even nicer: Joomla even created the Language Associations for all 35 categories, articles and menu items!
That saves a lot of manual work and time!
The only thing is that with this many languages the “Associations” column takes too much vertical space:
I wrote the text for one English landing page and separated it into different Custom Fields that I created. That way it would not just be one big block of text. With Joomla’s Custom Fields you can arrange parts of text (images, etc) in various ways.
After that I machine translated the English article including its Custom Fields to each of the other 34 languages.
Creating the layout
For the layout I am using YOOtheme Pro (a commercial template system). It works well with dynamic content and Custom Fields. I created just one Template for all languages and assigned dynamic content (Title, Text and all Custom Fields) to it. And that same template is used for every language. It even displays the right-to-left languages correctly.
Switching between languages
On a multilingual Joomla site a visitor can use Joomla’s “Language Switcher” module to switch to another language. To configure the “Language Switcher” Module:
Content > Site Modules > Language Switcher.
Make sure that you configure it with parameters Language: “All” and Module Assignment: “on all pages”.
For this site I chose:
- Use Dropdown: No - With 35 languages the dropdown got too long.
- Use Image Flags: No - flags are less suitable as they represent countries, while language regions are often broader.
- Full Language Names: Yes
- Active Language: Yes
- Horizontal Display: Yes
I assigned the “Language Switcher” module to a position on the bottom of the page. The various languages are displayed according to the order of the "Content Languages".
To automatically switch to the language of the visitor’s browser, I configured the “System - Language Filter” plugin:
System > Plugins > System - Language Filter:
- Language Selection for new Visitors: Browser Settings
- Automatic Language Change: Yes
Hosting this 35 Languages Landing Page Website
I wanted to make the website available at that joomla.com domain for visitors so I had to move it from my local computer to the joomla.com web server. I used Akeeba Backup to create a backup, and its kickstart.php to restore the backup on the web server.
launch.joomla.org provides a platform where you can easily and freely set up and host a Joomla website under a joomla.com subdomain of your choice. However, the speed of this free service is limited which makes it less suitable for a business website. I tried to optimize the speed with setting the cache settings to the maximum. I still wasn't satisfied with the speed so, I decided to move it to my own server.
The result
See my multilingual landing page in action:
https://specialist.db8.nl/
Missing languages
When I was installing the languages, I missed some important languages like Arabic (ar-SA), Basque (eu-ES), Croatian (hr-HR), Hebrew (he-IL), Indonesian (id-ID), Lithuanian (lt-LT), Norwegian (nb-NO), Swahili (sw-KE), Vietnamese (vi-VN) and more. These languages are not yet available because they need more translation and/or some testing work.
Here is where you can help out!
If you are missing your own language, please visit the Joomla translation page on CrowdIn:
joomla.crowdin.com/cms
There you can see which languages need more translations or tests. When you see that your own language needs some translations or test, please start helping!
By helping with translation or testing, you can make Joomla easier to use for people who speak your language. You do not need to translate everything! Even translating or testing a few words will make a difference.
With your help we can make Joomla accessible and useful for more people.
Every small contribution is important!
Thank you for making Joomla available in other languages!
>>> joomla.crowdin.com/cms
Spanish translation of this article: https://mejorconjoomla.com/noticias/magazine/mi-experimento-con-joomla-5-2-una-pagina-de-aterrizaje-multilinguee-en-35-idiomas
Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project
By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/
Comments