This is an area of code I'm planning changes to very soon, so let me jump in before anyone else explains the way it works now, which won't help you in a week or two.
The way it's going to work soon is this: the first word appearing before a : character in a link [[like:this]] will determine how that link is rendered in the final document. There are several sets of such words that have different functions. For example, two-letter ones are reserved for language links, so that [[pl:xxx]] will create a link to the article "xxx" on the Polish wiki. Recognized URL methods are another set: [[http:xxx]], [[ftp:xxx]], etc., will make direct links to those URLs. Another set is the wiki database namespaces like "talk", "user", and "wikipedia". Those will create links to wikipedia pages under those name spaces. Each of these namespaces has a corresponding talk page--"talk" links to the talk page of the main article; "user talk" to the talk page of the User page; "wikipedia talk" to the talk page of the "wikipedia" space article. This correspondence is used for the "talk page/subject page" link in the sidebar. Coming next week sometime, the "file" and "file talk" namespaces will point to the image description pages and their corresponding discussion pages (now confused with "image", which causes problems).
Uploaded files are stored in a database independent of wiki pages. The special-case prefixes "image:" and "media:" access these. "Image:xxx" means "look for the file 'xxx' among the uploaded files, and produce an HTML IMG tag". "media:xxx" means "look for file 'xxx' among the uploads, and produce a regular A HREF tag". "File:" and the corresponding "File talk:" will be regular wiki page namespaces that link to a page with special association with an uploaded file of the same name (so the page will automatically show its upload history, what pages use the file, etc.), but will otherwise be a normal editable wiki page.
Combining interwiki prefixes and article namespaces will work in that order; so [[de:benutzer:Magnus Manske]] will make a link to Magnus's user page on the German wiki. Image links will need to come /before/ any others, so to create an IMG tag referencing an image on the German wiki, you would use [[image:de:xxx]], and the German wiki would use [[bild:en:xxx]] to link here. [[image:http:xxx]] will NOT work; you will no longer be able to inline-render external images. Alternately, I could make it work for a specifically allowed subset of external sites.
So you will need to translate the namespaces like "user", "wikipedia", and "file", and their corresponging talk namespaces, and also the special prefixes "image" and "media". The two- letter interwiki codes are international, as are "HTTP" and the other URL schemes.
lcrocker@nupedia.com wrote:
Combining interwiki prefixes and article namespaces will work in that order; so [[de:benutzer:Magnus Manske]] will make a link to Magnus's user page on the German wiki. Image links will need to come /before/ any others, so to create an IMG tag referencing an image on the German wiki, you would use [[image:de:xxx]], and the German wiki would use [[bild:en:xxx]] to link here. [[image:http:xxx]] will NOT work; you will no longer be able to inline-render external images. Alternately, I could make it work for a specifically allowed subset of external sites.
Don't forget to make a table (or even a new database?) for the "real" language links, while you're at it. This will be needed for automatic language link building.
Magnus
wikitech-l@lists.wikimedia.org