Preferred Languages

Description

Thanks to language packs it’s easier than ever before to change the main language of your site.
However, in some cases a single locale is not enough. When WordPress can’t find a translation for the active locale, it falls back to the original English strings.
That’s a poor user experience for many non-English speakers.

This feature project aims to change that by letting users choose multiple languages for displaying WordPress in.
That way you can set some sort of “fallback chain” where WordPress tries to load translations in your preferred order.

Please help us test this plugin and let us know if something is not working as you think it should.

Keyboard Shortcuts

  • Arrow Up: Move selected locale one position up.
  • Arrow Down: Move selected locale one position down.
  • Home: Select first locale in the list.
  • End: Select last locale in the list.
  • Backspace/Delete: remove the selected locale from the list.
  • Alt+A: Add the current locale from the dropdown to the list.

Note: the Preferred Languages UI needs to be focused in order for the keyboard shortcuts to work.

Merging Translations

By default, only the first available translation for a given locale and domain will be loaded.
However, when translations are incomplete, some strings might still be displayed in English.
That’s a poor user experience as well.

To prevent this, the preferred_languages_merge_translations filter can be used to opt into merging incomplete translations.
It provides three parameters:

  1. $merge – Whether translations should be merged.
  2. $domain – The text domain
  3. $current_locale – The current locale.

Note: On WordPress 6.5 and newer, this functionality is enabled by default.
On older versions of WordPress, this is a potentially slow/expensive process,
so it’s recommended to use it sparingly and only for specific domains.

Get Involved

Active development is taking place on GitHub.

If you want to get involved, check out open issues and join the #core-i18n channel on Slack. If you don’t have a Slack account yet, you can sign up at make.wordpress.org/chat/.

Screenshots

  • The new language section in ‘Settings’ -> ‘General’
  • The new language section in your user profile.

Reviews

Dáliw 18, 2023 1 reply
I honestly think that this should be a core feature of WP. The only thing wrong I notice is that when you are looking at the front end… The language of the admin bar changes into the site language but that’s the only issue I have with this plugin at the time of writing. For the rest, it’s a dream plugin.
Hamal 20, 2021
a very cool plugin. this is a truely great plugin, You can use it for many purposes. It works great right out of the box, but is very easy to customize to suit your needs. my current use-case: i use this plugin to power up my page – which has visitors from several european Countries. I’m using this plugin to manage a small job-site: And i have to say: I love this plugin. And if it comes to support: it is so awesome to see that all is documented so well and good: You can do so much with this plugin: if you need to customize it towards your special use-case: just look at the documentation (and again have a look at the docs) Read those instructions – they are written so well, people. There’s a lot of detail there and alltogehter i have to say: it’s super well documented! Amazing job: i love this plugin, from me 5 stars – (i would give even more if it would be possible) keep up this awesome and outstanding job – it rocks!!!
Dáliw 17, 2022
I think this should be in Core for websites with several possible languages. I like it very much! Specially I appreciate that each user can also choose languages from the selected languages. (I am developing a translation plugin for my own needs to use Google Translate to translate posts/pages and complement it.)
Súmbile 26, 2020
An indispensable plugin for sites that use a language with formal/non-formal variant. This should become a WordPress core functionality!
Read all 18 reviews

Contributors & Developers

“Preferred Languages” is open source software. The following people have contributed to this plugin.

Contributors

“Preferred Languages” has been translated into 32 locales. Thank you to the translators for their contributions.

Translate “Preferred Languages” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

For the plugin’s changelog, please head over to the GitHub repository.