Have just spent a bit of time with a fellow developer grappling with the issue of maintaining multilingual documentation for an open source software project.
The initial thought was wikis are the answer, put up a basic framework and then let the users take over the development and maintenance of it, which all looked swimmingly good until we looked at the issue of the other language versions (the application interface is already translated into several languages so the documentation base needs to support these users).
Currenlty with the standard wiki architecture there is no easy way to keep different language versions in sync, and to allow fallback to a default language if certain sections are not translated. There is also no way to take a snapshot of the current default language as a basis of your translation as there is no way to edit the link text for each node, you basically have to recreate the documentation from scratch, copying as closely as you can/want the default language set, and adding in the inter-language links as you go.
This problem is solved by your usual application interface language strings setups, as there is a unique key for each string set by the default language, and so a translation can start of by falling back to the default set of strings, and then you translate as many of the strings as are needed - and any new strings added to the default langauge can be automatically pushed out to the translations, so people using the translation at least get the default langauge version until such time as it is translated.
Having thought about it, it appears that the only way of replicating this in some sort of wiki style would be to build an imperialist wiki, in which only the default langauge version was allowed to add new content and structure, and the different language versions could only translate the content and structure put in place by the default language people.
Anyway, we will keep thinking this one over, would be interested in thoughts of others on it …