Last modified: 2014-07-01 17:44:47 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T69318, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 67318 - messages from skin i18n not loaded for $wgLanguageCode != en
messages from skin i18n not loaded for $wgLanguageCode != en
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
Interface (Other open bugs)
1.24rc
All All
: High normal (vote)
: 1.24.0 release
Assigned To: Bartosz Dziewoński
: code-update-regression, i18n
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-06-30 17:56 UTC by Umherirrender
Modified: 2014-07-01 17:44 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Umherirrender 2014-06-30 17:56:40 UTC
I have $wgLanguageCode = "de" and see a plain "<vector-more-actions>" in my gui.

Problem exists since Gerrit change #135413, where the message was moved to extra i18n file and a extra require_once is used to load the Vector.php and with that the entry for $wgMessagesDirs.

This all is happen in Setup.php *after* the init of global $wgContLang.
The init is using Language::factory, which calls Language::newFromCode which calls Language::getFallbacksFor. getFallbacksFor now needs the fallback list from LocalisationCache. The first call to LocalisationCache will init the cache the cache, which used the existing items from $wgMessagesDirs. The Vector part is not added, because that is done later. So the cache is build without the messages from the skins.

Actually solution: Copy the require_once to LocalSettings.php.
Comment 1 Bartosz Dziewoński 2014-06-30 19:53:25 UTC
I still can't reproduce this after changing $wgLanguageCode a few times (maybe it depends on the kind of localisation cache used?), but your explanation makes sense I guess.

While the goal is to have these in LocalSettings (a comment above the problematic lines even says that "the require_once calls should eventually be generated by the installer and placed in LocalSettings.php"), I still have to unbreak quite a bit of code before I can do that without breaking too many other things.

I think we should just move this to the very top of Setup.php, just after $wgStyleDirectory and friends are defined. There's nothing interesting loaded between LocalSettings and Setup (this is done in WebStart.php), and this hack will hopefully die soon anyway.
Comment 2 Andre Klapper 2014-07-01 10:42:07 UTC
For the records: Gerrit change #135413 was merged on 2014-06-21
Comment 3 Gerrit Notification Bot 2014-07-01 13:40:06 UTC
Change 143302 had a related patch set uploaded by Bartosz Dziewoński:
Setup.php: Move hacky skin requires higher up

https://gerrit.wikimedia.org/r/143302
Comment 4 Gerrit Notification Bot 2014-07-01 13:53:25 UTC
Change 143302 merged by jenkins-bot:
Setup.php: Move hacky skin requires higher up

https://gerrit.wikimedia.org/r/143302
Comment 5 Umherirrender 2014-07-01 17:44:47 UTC
Just for record: I am using on my dev machine (windows):
•[caches] main: EmptyBagOStuff, message: SqlBagOStuff, parser: SqlBagOStuff
•[caches] LocalisationCache: using store LCStoreDB

Works after updating to you change. Thanks.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links