Last modified: 2009-06-19 12:55:38 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T8107, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 6107 - Simple multilingual wiki ability enhancement request
Simple multilingual wiki ability enhancement request
Status: RESOLVED INVALID
Product: MediaWiki
Classification: Unclassified
Internationalization (Other open bugs)
unspecified
All All
: Normal enhancement with 3 votes (vote)
: ---
Assigned To: Nobody - You can work on this!
http://meta.wikimedia.org/wiki/Multil...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-05-27 10:00 UTC by Hugh Prior
Modified: 2009-06-19 12:55 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Hugh Prior 2006-05-27 10:00:43 UTC
Multi-lingual wiki is a right pain in the ****.  Setting up a single 
language wiki is ease itself (well done folks).  Setting up a multi-lingual 
wiki is a nightmare (maybe if Jimbo and others worked in a multiligual 
enviroment like Belgium life would be different).

For example:
* for every language you have to set up a new database (even if it is part 
of the same single database, I still have to go through the setup)
* I have to have a separate copy of the MediaWiki code for every language or 
figure out the wizardry to use a single version with different LocalSettings 
per language
* I have to figure out how I'm going to sort out the problem of multiple 
signons (each language will have separate signons - that is just so NOT what 
you want when you just want a site in 2 languages (say).

I am in Belgium where every site is always in French and Dutch and I am 
gradually figuring out each of the gotchas for my site www.treekee.com.

Next I want to figure out how to do it simply for a truly multinational site 
(70+ languages).  At the very least I know I'm going to have to do everything
70+ times.

It should ideally be as easy as saying, in LocalSettings.php, that I want to
have a multi-lingual wiki:
    $multiLang = true;

It's not. It's just a nightmare.

It seems to me that there are only 2 things which a MediaWiki admin really cares
about in relation to this.  There are I know already discussions of many of the
multi-lingual aspects on the following URL
http://meta.wikimedia.org/wiki/Multilingual_MediaWiki, but many of them are
irrelevant as far as this request are concerned.  The 2 things are:
1) everything in one single database, working as one cohesive whole, with one signon
2) each page when viewed to have all messages/menus/text in the correct language

I will look at each of these in turn.  

Firstly, everything in one single database, working as one cohesive whole, with
one signon.

I think the problem is not so difficult either.  

There needs to be simply one extra column in the page table specifying the
language.  This column would simply contain the wiki code, "en", "fr" etc.

Then the URL needs to have some standard way for MediaWiki to extract the
language of the current page.  I would have thought that some system where the
language code is in the URL would work well, e.g.
http://www.mysite.com/index.php?title=Dog&lang=en
http://www.mysite.com/index.php?title=Chien&lang=fr

These could be fairly easily transformed I would have though in the way that
URLs are currently transformed to be more user friendly:
http://www.mysite.com/en/wiki/Dog
http://www.mysite.com/fr/wiki/Chien

The interwiki table could (if you really wanted) have entries added
automatically during installation like:
"fr" => "http://www.mysite.com/fr/wiki/$1" and 
"de" => "http://www.mysite.com/de/wiki/$1"
though the observant reader will realise that even these are superfluous, since
the only thing the MediaWiki software needs is a list of the wiki language codes
and it can create these easily.

Now, what does the MediaWiki software do with this extra info?  I think that
either the $title could be passed as, say, "en:dog", or (better I think, since 2
parameters are treated as 2 parameters), that an extra parameter $lang would be
passed to any routine that cared, with routines having optional language
parameters received, myFunc($title, $lang="").  

There would probably need to be a default language for any case where a language
is not passed.  e.g. in LocalSettings.php
  $multiLangDefaultLang = "en";

This could always be got via the new global $gblMultiLangDefaultLang.

Where the code finally cared about getting the right page from the now single db
for ALL languages, it would be as simple as adding "AND langCode = $lang" to the
SQL query.

OK, that very small change has now given us the ability to have a SINGLE
database with ALL languages in.  One signon comes as a freebee since the signon
user table does not have a language component.

The other thing which a MediaWiki admin wants of course is for each of the pages
to appear with all the 
messages/menus/text in the correct language.  This is the 2nd of the requirements.

For this, I don't understand at all how the current messaging is done and I will
have to leave it to someone else to comment.  I know that you have to run a tool
once at setup to get the messages in their correct language.

I would have thought though that with a little bit of thought this 2nd process
would also be fairly easy.

http://xp.c2.com/DoTheSimplestThingThatCouldPossiblyWork.html 

With these 2 things working 90% of users would have the multilingual wiki
abilities they want.  And I, facing setting up 70+ subwikis/databases etc. will
be a VERY happy man.
Comment 1 Niklas Laxström 2008-07-12 20:31:29 UTC
There is extension called Farmer, which may help in this, or maybe not.
Comment 2 Niklas Laxström 2009-06-19 12:55:38 UTC
(In reply to comment #0)
> For example:
> * for every language you have to set up a new database (even if it is part 
> of the same single database, I still have to go through the setup)

Use scripting, Farmer extension or something.

> * I have to have a separate copy of the MediaWiki code for every language or 
> figure out the wizardry to use a single version with different LocalSettings 
> per language

It's quite easy, but the actual details vary so much it's not worth trying to automate it.

> * I have to figure out how I'm going to sort out the problem of multiple 
> signons (each language will have separate signons - that is just so NOT what 
> you want when you just want a site in 2 languages (say).

CentralAuth? Shared user table?

There is too many things in this bug, making it impossible to see what is missing, what is wanted and what is in which state. I'm closing this bug now, but feel free to open new bugs for specific issues that still exists.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links