Multilingual sites
Multilingual done properly means switching the language of the site without losing your place in it.
Now the same thing in plain words, with examples.
There are four common ways to make a site multilingual: three easy ones that are wrong, and one that is right.
Four ways to build a multilingual site
The first way
The quickest, easiest and very nearly adequate approach: build the site in whatever language suits you and add the Google website translator widget so the site translates itself.
Two things are good about it:
- it takes no time at all;
- the site will “translate” into every language Google knows.
What is wrong with it is that it is not really a multilingual site:
- the translation will be nowhere near good;
- you still have exactly one version of the site, and Google will not index or show it to people searching in other languages.
The second way
Build two separate sites in two languages. Or one proper site plus a single page in the other language carrying the bare minimum of information.
An example: that is what we did on one of our earliest sites — the PEMZ factory site — back in the year 2000.
The third way
Build two sites with the same content in two languages, and send the visitor to the home page of the other site when they switch language.
The convenient part is that the two language versions can have different numbers of pages and different structures.
The bad part is that a visitor who switches language while reading an inner page loses that page and has to go hunting for it again in the other language. And there is no guarantee the page even exists there — so on top of the irritation of searching, they get the disappointment of not finding.
The fourth way, and the right one
Build two sites with the same content in two languages, and have the language switch move the visitor to the current page in the chosen language.
This is the best outcome for the visitor. It also demands a more careful construction and rather more discipline when pages are written and edited.
Mehrsprachigkeit erfordert Disziplin
If you decide to do multilingual properly, be ready for meticulous work.
Every time you add anything new to the site, you have to remember that an identical translation is needed in every language the site has.
Suppose you post a news item in Ukrainian and have no time to translate it into English.
What can the site’s engine do when a visitor sitting on that single-language item clicks “English”?
- Switch the interface — header, footer, navigation, block headings — to English, but show the item itself in the only language it exists in, Ukrainian.
- Throw the visitor back to the English home page.
Either way the visitor is confused, because the site has given them something other than what they intuitively asked for.
To avoid that, every piece of material you add should have its translations prepared straight away and published, as far as possible, at the same moment.
Even the act of adding material calls for attention: you need to be clear at all times which language the item you are editing belongs to. A distracted content editor will sooner or later fill an item marked “English” with Ukrainian text, or the reverse — which leads to confusion and to complaints that the site is “buggy”.
This matters for more than just what appears when the language is switched. The language assigned to an item is written into the code of the page: the lang attribute on the html tag, the :lang rules in CSS. Get it wrong and the text can end up genuinely unreadable through the wrong encoding.
Get it all right, though, and the site is a pleasure to use — and Google indexes it as many times over as you have languages.