MediaWiki runs the world’s largest and best known wikis. As a result of Wikipedia’s popularity and usefulness and the community’s passion, I can’t think of another piece of software that has gotten better i18n support. Projects like translatewiki.net and the Narayam extension have sprung up to improve the i18n support. This makes it Free Software‘s best argument: give people ownership of the software and they will make sure that it runs better. We all have better software as a result.
Despite this support, MediaWiki and Wikipedia lack in some pretty important areas. One of the areas that this is most obvious is in languages that are written right-to-left (RTL) instead of left-to-right (LTR). We do try to fix these problems, but almost all of our developers work in LTR languages, so we don’t notice the problems as quickly. The problems don’t stare us in the face every day and wiki users in RTL languages like العربية (arabic), فارسی (farsi), and עברית (hebrew) don’t have proper support.
Each of those languages has a wiki with over 100,000 articles in it. I can’t help but think that some of the people who contributed to these larger wikis would also have the skills necessary to fix some of the RTL bugs that have probably annoyed them.
I think that perhaps RTL developers and LTR developers don’t communicate enough. So, if you’re an RTL developer, let me tell you clearly: We want you! You have something that our current MediaWiki developers don’t have — something that we desperately need. Find a bug, submit a patch, and your code can be running on Wikipedia!
Some bugs to get you started:
- titles of articles with LTR titles in RTL wikis may be displayed incorrectly in categories and special pages
- “top left corner” in message may be wrong in RTL wikis.
- the directionality (RTL/LTR) of definitions must match the directionality of the language in which they’re written
- Also, see the RTL tracking bug for all sorts of RTL issues.
Also, there’s some way for admins to set an English right-to-left mode — disabled by default, but useful for testing right-to-left, bidirectional, layout, etc. issues. Brion says it’s not just $wgLanguageCode = ‘en-rtl’; “that’ll switch the UI to RTL mode, but it’s not exact since all the English text is still LTR in the bidi layout :)”. There’s some other setting and I don’t know what it is.
Brion was testing this while I was talking to him on IRC and he found that
$wgLanguageCode = "enRTL"
is what it should really be. Strange. But you can start to experiment with layout fixes this way.