From e0043257c02e866d176fc9cbb7721fa2defcf091 Mon Sep 17 00:00:00 2001 From: Kevin Israel Date: Mon, 14 Apr 2014 11:45:40 -0400 Subject: [PATCH] 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 --- includes/cache/LocalisationCache.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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; } -- 2.20.1