On Tuesday, I released ikiwiki 3.141592, with a unique new feature contributed by Intrigeri: Translation via PO files.

The normal way to translate a wiki is ad-hoc and generally you get one wiki in English and a different, vaguely related, or out of sync one in another language. What Intrigeri has done with ikiwiki and PO files is to tie translation right into the core of the wiki, so that the wiki engine knows what parts of each page are translated, can display untranslated text if a translation is not available (and even shows the translation percentage on the page and updates it as edits are made).

And the really awesome part is that it uses standard gettext PO files, one per page, which support things like fuzzy translations, and can be checked out and committed via revision control. (Or edited in a stupid web form if you prefer.)

I've set up l10n.ikiwiki.info, which is both a demo of a translated ikiwiki wiki, and a platform for easily translating ikiwiki's basewiki.

I hope to get the basewiki, which includes the default front page and some basic documentation, translated into lots of languages. So far we have one translation, to Danish, done by Jonas Smedegaard. Translating the basewiki is a fairly big job; the POT files for it are 120k in size. (There's another 200k set of POT files of additional documentation if anyone is feeling ambitious.)