Last modified: 2014-07-01 17:44:47 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.
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.
For the records: Gerrit change #135413 was merged on 2014-06-21
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
Change 143302 merged by jenkins-bot: Setup.php: Move hacky skin requires higher up https://gerrit.wikimedia.org/r/143302
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.