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
This commit is contained in:
parent
a580d5d60e
commit
e0043257c0
1 changed files with 5 additions and 7 deletions
12
includes/cache/LocalisationCache.php
vendored
12
includes/cache/LocalisationCache.php
vendored
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue