Multilingual Support
10 May 2010 04:37
10 May 2010 04:37
10 May 2010 04:37
10 May 2010 04:37
nav_first.pngFirst: blog:1
My first blog!
Edited: 06 Nov 2011 11:49 by: James Kanjo
Comments: 2
Tags: ads blog css facebook first free myspace program programming wiki wikidot
nav_prev.pngPrevious: blog:63
Safe Passwords
Edited: 06 Nov 2011 11:54 by: James Kanjo
Comments: 8
Tags: computers security
Last: blog:77
Wikidot: CSS Per Category
Edited: 04 Mar 2012 05:54 by: James Kanjo
Comments: 3
Tags: programming wikidot
nav_last.png
Next: blog:65
Happy Wikidot Birthday James!
Edited: 06 Nov 2011 11:55 by: James Kanjo
Comments: 0
Tags:
nav_next.png
jameskanjo-tiger.jpg
Support for Cat-speak?
© James Kanjo, 2010
image_search
file: jameskanjo-tiger.jpg
fullname: images:pets

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

Comments:

Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +
All content on this page is subject to the guidelines outlined here