Author: psychonaut
Description:
Some wikis, such as meta.wikimedia.org, are multilingual (that is, they don't
use separate language-specific wikis in separate directories or subdomains).
Generally, each page is in a single language. However, there are two problems
with this:
1. The interface texts are always in the default language.
For example, meta.wikimedia.org is in English by default. However, when one visits a non-English page, such as the German-language http://meta.wikimedia.org/wiki/Hauptseite, the portlets and action tabs are still in English. This is sensible if the user is logged in and has specified English as his preferred interface language, but for anonymous users this is inappropriate.
2. The XHTML source code incorrectly specifies that all pages are in the default language.
For example, meta.wikimedia.org is in English by default, so the XHTML container is specified as follows:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">…</html>
This is incorrect for pages in other languages, and has important implications for a variety of applications. For example, a search engine may be misled by the incorrect language and inappropriately index the page as if it were English, or skip indexing the page altogether because it is looking for pages in another language. Another example: a web browser with text-to-speech
capability (for the blind, for example) may select the wrong pronunciation settings and try to read the text as if it were English. (Editors can currently work around this problem by wrapping the whole wikitext in <div lang="xx">…</div> tags, though this is not optimal as some search/indexing applications won't bother reading past the opening <html> tag to determine the page's language if the <html> tag already specifies it.)
A solution for both these problems is to allow the user to somehow tag a page to indicate that it is in particular language other than the default language. Perhaps this could be done with some sort of directive in the wikitext (e.g., [[lang:de]] or __LANG:DE__.) However, it might be easier to implement a system whereby wiki system administrators could simply specify that an entire namespace, or prefix, or page title matching a particular pattern, is in a particular language. For example, one could specify that all pages with the prefix "de/" are in German.
See Also:
T12736