Support for Cat-speak?
© James Kanjo, 2010
I will be honest. I never cared a bit for multilingual support on websites. But throughout Wikidot, it is something that is cried out for time after time after time!
Whenever a new wiki is developed, there is always somebody to complain “It supports English only. Why can't you give us multilingual support”. And although I wasn't the target, I just always thought to myself “English is the universal language… why cater to anything else?”
But it is time I changed my attitude, and listen to the NEEDS of the people.
Multilingual support makes so much sense. There's nothing stupid about demanding this feature:
- It makes your product cater to anybody who speaks a language
- Means there is no “lost in translation” scenarios
- Expands the customers you can market your product to
It's win-win… there's no way you can lose from providing multilingual support — with, of course, the exception case where you are marketing a crappy product ;-)
So how do we do this so that it works in Wikidot? First, let's look at the previous propositions to this concept.
Languages via Subdomain
This is famously used by the Wikimedia Foundation. Firstly you have a site, let's say, wikipedia.org, where you are creating an online encyclopaedia. For each article is stored on a subdomain based on the language it is written in. If it is written in English, then it is stored on en.wikipedia.org. If it is written in French, then it is stored on fr.wikipedia.org.
Now this seems like a really good way to manage your site… and it is a good way to do it. But it's expensive to implement a system to be able to do that.
If we were to do something like this in Wikidot, it would look like this:
- site-en.wikidot.com/people — English
- site-fr.wikidot.com/people — French
This is not particularly friendly to me. If you make a structure change in one site, you need to make it in the other sites. If an article doesn't exist in one language, then it's not going to show you the other languages that the article is available in. Also, I'm pretty sure the word “people” in English translates into a different word in French, so by changing the subdomain name, you may get the incorrect article (or no article at all).
Languages via Wikidot Category
This is a concept that is currently used in handbook.wikidot.com. Essentially, instead of having a new subdomain, you contain variations of the same articles in language categories:
- site.wikidot.com/en:people — English
- site.wikidot.com/fr:people — French
This system works well as well, as you can display an automated list of all of the pages in that language. However two problems still remain: 1) the word “people” translates differently. 2) Live templates are applied “per language” rather than “per category”.
Languages via Wikidot Tag
Tagging is a brilliant way to manage your pages. If done correctly, you can select all pages from a certain language. But how then do you name articles for different languages? You can tag the language of a page, but then you'll need to find a way to link different languages of the same article.
Languages via Wikidot Parent
The original purpose of Parenting in Wikidot was to create a neat breadcrumb navigation and display an organised tree diagram of your site.
Essentially, parenting assigns a special parent-child relationship between pages. If you learn how to use this bond effectively, you can create a bunch of translated pages, and link them to the original article. With this method, it doesn't matter what you name the translated pages, because you can create an automated list of page translations on the original article.
But this isn't very effective if you just have a bunch of translated pages organised in random places. If you kept all translations in a single category, it stumps yourself into a previously mentioned problem: translated pages will be assigned a different Live template to the original page.
My latest project revolves around Multilingual Support in Wikidot, because only then can we expand the horizons of Wikidot's potential… and I'm passionate about expanding the horizons of Wikidot's potential :)
When will this new technology come out? It is already fully functional and in beta testing!
I can't wait to launch it!
λ James Kanjo