This looks particularly interesting if language variants are on your radar. 

---------- Forwarded message ----------
From: Daniel Kinzler <daniel@brightbyte.de>
Date: Friday, February 5, 2016
Subject: [Wikitech-l] Per-language URLs for multilingual wikis (RFC T114662)
To: Wikimedia developers <wikitech-l@lists.wikimedia.org>


Hi all!

During next Wednesday's RFC meeting on IRC, we are planning to discuss
introducing "Per-language URLs for pages of multilingual wikis". This is an
exploratory discussion, with no expectation of a final decision. We are looking
for concerns and suggestions.

If you care about improved support for multi-lingual wikis, please visit
<https://phabricator.wikimedia.org/T114662> and comment before next week's
"live" meeting on IRC. And of yourse, join that meeting, if you like!

Thanks,
Daniel


PS: Don't want to click the link? Let me copy&paste that for you... but please
comment on phab rather than here.


Context:
Some wikis show page content depending on the user's interface language (for
instance wikidata.org and commons.wikimedia.org, or other wikis using the
Translate extension). All language versions (renderings) of a page are served
from the same URL, which is problematic for web caching. This is the reason we
currently do not allow anonymous users to change their interface language. This
makes it hard for use multilingual wikis without logging in.

See also for context:
* {T114640}

Proposal:
* For multilingual wikis, the user language is part of the request path: e.g. we
would use `/wiki-de/` instead of `/wiki/`.
* The plain `/wiki/` path would act as a 302 redirect to the language specific
path (based on the user's language, or a best guess or cookie as implemented by ULS)
* When viewing a page via a language-specific path, all links on the page (both
content and skin) point to pathes specific to that language. Both content and
skin are shown in the user's ui language (as far as possible, using whatever
mechanism for content translation or internationalization is available)
* When viewing a page in a language different from the user's preferred language
(according to user preferences or the cookie set by ULS), a warnign bar is shown
at the top, giving the user the option to
    ## switch to the version in their own language (according to user preference)
    ## change their user language to the current page's language
    ## hide the bar for a while (a day, or the browser session, or so).

Challanges:
* Make the Linker class aware of the target language (probably needs a complete
refactoring), so it generates links to the right path.
* Make all code that generates links in the skin use the Linker class (directly,
or via the Parser), so the path is consistent.
* Allow efficient purging of the entire "bundle" of all the renderings of a
given page when the page's content changes.
* Should translated names for namespaces and special pages be supported on the
language specific pathes? (would be nice, but tricky)
* Provide a way to explicitly link to a specific language rendering from
wikitext, e.g. `{{#link|Foo|lang=de-ch}}`

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l