From: Kevin Israel Date: Mon, 14 Apr 2014 15:45:40 +0000 (-0400) Subject: Skip loading PHP shims for JSON i18n files X-Git-Tag: 1.31.0-rc.0~16181^2 X-Git-Url: http://git.cyclocoop.org/%7B%7B%20url_for%28%27admin_vote_add%27%29%20%7D%7D?a=commitdiff_plain;h=e0043257c02e;p=lhc%2Fweb%2Fwiklou.git Skip loading PHP shims for JSON i18n files For now, non-message data (e.g. special page aliases, magic words) belong in separate files having their own keys in $wgExtensionMessagesFiles. It is unnecessary to read any PHP files listed under keys that exist in $wgMessagesDirs; they are merely compatibility shims. Bug: 63926 Change-Id: I92013d0a45e83ad0f5ac483a3db867806eb71f8a --- diff --git a/includes/cache/LocalisationCache.php b/includes/cache/LocalisationCache.php index b89316bc32..9cee321665 100644 --- a/includes/cache/LocalisationCache.php +++ b/includes/cache/LocalisationCache.php @@ -875,17 +875,15 @@ class LocalisationCache { } foreach ( $wgExtensionMessagesFiles as $extension => $fileName ) { + if ( isset( $wgMessagesDirs[$extension] ) ) { + # Already loaded the JSON files for this extension; skip the PHP shim + continue; + } + $data = $this->readPHPFile( $fileName, 'extension' ); $used = false; foreach ( $data as $key => $item ) { - if ( $key === 'messages' && isset( $wgMessagesDirs[$extension] ) ) { - # For backwards compatibility, ignore messages from extensions in - # $wgExtensionMessagesFiles that are also present in $wgMessagesDirs. - # This allows extensions to use both and be backwards compatible. - # Variables other than $messages still need to be supported though. - continue; - } if ( $this->mergeExtensionItem( $codeSequence, $key, $allData[$key], $item ) ) { $used = true; }