Multisite Language Switcher


A simple, powerful and easy to use plugin that will add multilingual support to a WordPress multisite
installation, i.e. multiple subdomains or folders (if you need to set up multiple sites across multiple domains, you’ll also want to use the WordPress MU
Domain Mapping
plugin as well – as long as the domains are all hosted on the same server.).

Le commutateur de langues multisite vous permet de gérer les traductions d’articles, de pages, de types de contenu personnalisés, de catégories, d’étiquettes et de taxinomies personnalisées.

L’extension utilise des icônes de drapeaux depuis FamFamFam. Merci à Mark James pour son formidable travail. Je souhaite également remercier Jürgen Mayer pour la création de la bannière de l’extension.

Please, don’t forget to rate this plugin! 🙂


Merci à tous les traducteurs pour leur travail remarquable.

You can translate this plugin on, or if you prefer and have created your own language pack, or have an update of an existing one, you can send me your gettext PO and MO so that I can
bundle it into the Multisite Language Switcher. You can download the latest POT file
from here.

Captures d’écran

  • Plugin configuration
  • Liste des articles
  • Modifier l’article
  • Widget


Cette extension fournit 1 bloc.

  • Multisite Language Switcher Review the settings for the Multisite Language Switcher plugin, as the block utilizes the API function `the_msls()` for its output.


  • Download the plugin and uncompress it with your preferred unzip programme
  • Copy the entire directory in your plugin directory of your WordPress blog (/wp-content/plugins)
  • Activate the plugin in your plugin administration page (by the network administrator on all the blogs or by the root blog administrator for each particular blog).
  • You need to activate the plugin once in each blog, set the configuration in Settings -> Multisite Language Switcher

Now you can:

  • connect your translated pages and posts in Posts -> Edit or Page -> Edit
  • connect your translated categories and tags in Posts -> Categories or Post -> Tags
  • connect your Custom Post Types and Custom Taxonomies across languages
  • use the widget, the Gutenberg block, the shortcode [sc_msls] and/or a content_filter which displays a hint to the user if a translation is available
  • find also a shortcode for the widget [sc_msls_widget]
  • optionally you can place the code <?php if ( function_exists( 'the_msls' ) ) the_msls(); ?> directly in your theme files

Review the Multisite Language Switcher Website for more information.


I have no language options in the General settings.

You might read first WordPress in your language.

But I’d like the interface to stay in English.

You can choose the language of the dashboard in the settings of your user profile.

Do I really need a multisite?

It’s up to you – of course. But yes, if you want to use the Multisite Language Switcher.

How can I automatically redirect users based on the browser language?

Le commutateur de langue multisite ne redirige pas automatiquement les utilisateurs. Je ne sais pas si l’extension devrait le faire. Vous devriez vérifier cette extension jQuery ou cette approche avec un thème
Si vous avez besoin d’une telle fonctionnalité.

How can I add the Multisite Language Switcher to the nav-menu of my blog?

Veuillez vérifier le module MslsMenu.

I want to have the languages in an HTML select. How can I do that?

Veuillez vérifier le module MslsSelect out.

I don’t want to upload the same media files for every site. What can I do?

Vous pouvez essayer l’extension Network Shared Media. Cela ajoute un nouvel onglet à la fenêtre « Ajouter un média », vous permettant d’accéder aux fichiers média dans les autres sites de votre multisite.

Is there a function I can call to get the language of the page the user is currently viewing?

Yes, you should use the WordPress API function get_locale() but you could also use code like that

use lloc\Msls\MslsBlogCollection;

$blog     = MslsBlogCollection::instance()->get_current_blog();
$language = $blog->get_language();

How can I move from WPML to MSLS?

Il y a une extension qui est bien pratique ici.


7 mai 2024
There is a learning curve and i think someone should make a tutorial how to implement the language switcher and menu and how to work with it. But after all a great plugin.
13 novembre 2023 1 réponse
This is a fantastic plugin: it does exactly what promises to do, it’s not bloated with extra features and it’s been around for a long time. I can’t thank the plugin author enough for developing this plugin, maintaining it for years and having the patience to deal with occasional 1-star reviews from people who can’t be bothered to read the docs.
7 novembre 2023 1 réponse
I’m not keen to write reviews, but in this case I was so overwhelmed of this plugin’s simple features and ease of use that I had to. This is by far THE easiest multisite multilanguage plugin I ever tried. Over the years I tested several multilingual approachs (plugins for standalone WP sites, multisite « premium » plugins, country domains, etc.). But this here exceeds all my expectactions for its simplicity. Multilanguage should not be an option in WordPress, but part of the core, out of the box. This plugin deserves a 10 of 10. Two thumbs way up! Thank you for this peace of art.
29 mars 2023
I am very happy with the plugin’s operation – it is extremely easy to use and does not cause any problems.Works with WordPress Multisite great! However, there is a feature missing from the plugin that has already been popping up on the web, namely support for reciprocal hreflang (return tag: which is missing Missing x-default). When I audit any page with this plugin, I get « Missing reciprocal hreflang (no return-tag) », you can find info at Ahrefs site «  »Missing reciprocal hreflang (no return-tag) » error in Site Audit » I will be very grateful if this functionality is added :)As I can see this needs to add one line of code 🙂 Greeting from PolandPaweł
10 mars 2023
highly customizable, high performance, indispensable – thanks a lot. theo
Lire les 94 avis

Contributeurs/contributrices & développeurs/développeuses

« Multisite Language Switcher » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


“Multisite Language Switcher” a été traduit dans 15 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Multisite Language Switcher » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.


There is a separate Changelog for this project available.