-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Daniel Arnold wrote:
Per Brions request I split the isues into single pieces (although I wanted to avoid having different parallel threads on related issues):
Usually UI interface links (such as "MediaWiki:Mainpage" that defines the URL of the main page) are not localisable by default (pages like "MediaWiki:Mainpag/de" get ignored). However you can whitelist their i18n with "$wgForceUIMsgAsContentMsg = array();" individually in LocalSettings.php.
In the past maintenance/update.php did copy every UI message from the default language UI message file into the wiki database.
On whitelisted UI interface links it even did copy the default language link target into the language sub pages in every language if there wasn't one created by hand before (for example the content of MediaWiki:Mainpage was copied into MediaWiki:Mainpage/de if it was empty). So if there was the link target existing in the default language it was not possible to link people in other languages into non-existant "localised" pages after running maintenance/update.php (side note: this specific behaviour of maintenance/update.php can't have been an accidential not intended side effect).
... What? I don't understand.
"Link people in other languages into non-existant "localised pages""?
Now maintenance/update.php was changed that way that it doesn't copy UI trings anylonger into the wiki and even removes the old automatically added entries. This is in principle a good thing as this allows for some other fixes (for example in mutilingual wikis) and reduces problems with hidden message strings.
Right.
However one important thing was forgotten: The special treatment of whitelisted interface links. Now they point into the nowhere by default after running maintenance/update.php (since the link definitions from the localised message string files get used now).
The localized message string files and default-initialized localized message pages are identical. If there's a difference in behavior, we'll need it described.
How to solve that (I don't want the old copy behaviour back as this is a hakish solution)?
Change for link target strings (all that now need whitelisting) the interface string resolution order from:
Mediawiki:$Message/$language-code ->$language-code-UI-String-File-$Message [further steps left out] to Mediawiki:$Message/$language-code -> Mediawiki:$Message (default language) -> UI-String-File-$Message (default language)
I'm very confused. Can you provide an example?
That way people don't get linked into nowhere on whiletlisted link targets - and of course you also could entirely remove the need for $wgForceUIMsgAsContentMsg switch in Mediawiki (and you would get rid of one Wikimedia server maintence issue that fills your Bugzilla).
Don't understand.
- -- brion vibber (brion @ pobox.com / brion @ wikimedia.org)