Creating a multi-language site can be a challenge.
I have had the opportunity of doing a couple of those. I am not happy with either of the solutions, but there are a few things I’ve learned along the way.
If you have a newsletter or a store, your customers expect that the entire process is translated into their language. This translation process must also include support. Because not all the plugins or software has multi-language support, this can be difficult to achieve.
You will have to choose between using subdomains for our other languages or prefix your URLs.
I used to employ a prefix before, but using a subdomain, I find it gives more flexibility if, later, I want to separate the languages into different, independent websites. A subdomain also helps keep your home page link clean:
Using subdomains also offers more in terms of performance optimization, if that is important for you.
You need to consider that the effort to manage your website increases with each language. It is almost like every new language is a new site you have to worry about. Because of this, you need to consider carefully if it is worth the effort of having a multi-language setup.
Let us look at an example
Let’s assume we have English and French as our languages.
You have two options:
1. Create two separate websites, one for each language.
2. Create one website, and use a translation plugin to create the translation website, on top of the main language website.
Two Separate Websites
A two-websites option gives you the most power and flexibility. And because the sites are separate, if you decide to give up on one of them or completely change direction, it will not affect the other.
The downside is that all effort is duplicated: setting up, updating, maintenance, backups, and on top of that is keeping the websites in sync manually.
One Website – Two Languages
This is the option I have used most. You set up the website in the primary language. Then you install a translation plugin (like PolyLang), and you translate the site into the other language in small increments. The upside and downsides are flipped compared to the first option.
There is considerably less effort with updating, maintenance, and backups. The two languages are kept in sync automatically. But because the two languages are tightly connected, they are a mirror of each other. So if something goes wrong with one, it will affect the other. This option also has a performance impact; for every page load, a translation decision has to be made to display the content in the correct language.
The ideal solution
In my view, the ideal solution is two have two websites. Each one is maintained by a person who is fully responsible for their language: including support, customer care, updates, and so on. English would be the master copy, and the French language would mirror that as closely as possible. But the French website also has the flexibility of creating content or an experience that is much more specific to the French audience. The obvious downside here is that you have to have double the people who take care of the site, and that could add a lot of costs.
Potential Pitfalls to consider
Newsletter signup experience needs to be translated.
All the email campaigns need to have content in all the languages you are offering unless you choose to ignore on purpose those who don’t use the primary language of the site.
You need someone on staff to be able to respond to support requests in all the languages you offer.
Caching and SEO plugins don’t always work well with a translation plugin.
There are some technical aspects of how the webpages are rendered in a multi-language environment. Things like configuring the right language code, encoding, and locale options become important.
Timezone is another thing to take into account.
If you use a store, it may make sense to have the local currency for each of the languages you plan to use. This feature adds a layer of complexity when setting up the store and in connecting with your payment gateway.
If or when you plan to migrate to a different framework for your website, multi-language content becomes very difficult to move and work correctly, especially when using a translation plugin to keep the pages in sync.