There are three separate responsibilities to make a multilingual WordPress site happen:
A technical matter, an implementation/tooling process, and a content/marketing assignment.
From a purely technical perspective, “redirecting users to the corresponding version” and providing options for a multilingual WordPress site is doable with different plugins out there.
- Polylang’s example of adding languages (say, US vs. GB English) — Configure the languages
- Using Polylang Pro for language detection — Detect the browser preferred language
- Geo Redirects working with several multilingual plugins — How To Redirect Users To A Different Language Based On Geolocation In WordPress
The outcome depends on your content structure and the selection of a translation tool in use for the site.
Translations are a small part of the equation.
Some plugins are more flexible than others. More complicated cases would require a lot more to be compatible than merely translating a label into several languages.
For instance, 100 English posts may only have 30 translations in German or French. Opening the category in German shouldn’t display all 100 posts, but just the ones in the corresponding language. Or if the category label isn’t translated, this menu may be missing in general.
Entire sections or snippets may be missing in certain versions.
eCommerce is a great example here. Are all of your products available in every country and for every language?
Prices will likely be different, even in different currencies.
Medical products usually require approval by the local FDAs or other government structures per country, and even browsing a given language version is not enough if the IP corresponds to a different country.
The Semantics of Translation
So, content translation is separated into two areas: code and the database.
The translation plugins usually manage the database, usually aiming to support multilingual content such as posts, pages, custom fields, menu items, widget labels.
Automatic translation is rarely an option. Some plugins support that but this tends to backfire, which is why manually translating every piece is the industry standard.
Code translation will require a bulk translation of every single translatable multilingual string. The WordPress core already supports that but every single theme (and a plugin) comes with different rules.
The more popular plugins support multiple programming languages, though the final selection isn’t as rich. Starting with Spanish, German, French is more common, but you may be having a hard time looking for a full suite of plugins with Macedonian or Akan or Malay.
This is why you want to:
- Ensure that all strings in every theme/plugin are marked as translatable
- Go through the standard manual translation process for them — Localization | Plugin Developer Handbook | WordPress Developer Resources
Finding multiple English versions in themes/plugins is rare because the differences are just a few and it’s a low priority for most plugin authors.
To sum this up, what you need to prepare in this case to ensure a multilingual WordPress site are the following:
- List down the languages or variations you want to support
- Finalize the list of plugins/theme you’ll be using (or swap some of them for those that support multilingual applications better)
- Extract all translatable code snippets based on the localization guide linked earlier
- Translate each plugin and the theme into each of the languages you want to support
- Install a multilingual plugin like Polylang or WPML based on your business needs for a website (after some research of what they support and what you actually need)
- Install the pro version of Polylang or a plugin like Geo Redirects
- Configure that for each language version