SofaWiki is designed to have multilanguage content.
You enable languages in the configuration file
$swLanguages = "de";
Starting with 1.9.0 you have two options.
If you set $swLangURL (and $swSimpleURL), the URL will have the form https://www.example.com/en/name
If you don't set it, $lang will be a cookie. The cookie option is depreciated and the syntax is
You can still use the URL without language
It will use whatever you have set as default language.
And you can always use the index notation
The navigation menu will then have also a language menu.
When you edit a page, the wiki will you also propose edit links for the localized pages eg Edit de. Then you can create a localized page which is like a subpage in MediaWiki with the slash syntax name/de.
Edit multi allows you to edit the installed languages side by side. Sofawiki supports Deepl translation.
On viewing the page, the wiki looks if there is a localized page with that name. If it is available, it will show the localized page. If not, it will show the default page.
You can transclude content of the default page into the localized page using the transclusion syntax.
Another case is when the different language pages have different names. In this case, you can add interlanguage-links at the end of the page. They will be used to set the links in the language-menu. An interlanguage link is an internal link with the lang-parameter set in front with a colon eg [[de:Bearbeiten]].
Note: If you localize, do not forget to add also english as language.
The headers in the default skin will set the canonical URL and all alternate language URL.