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 ) {
|
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' );
|
$data = $this->readPHPFile( $fileName, 'extension' );
|
||||||
$used = false;
|
$used = false;
|
||||||
|
|
||||||
foreach ( $data as $key => $item ) {
|
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 ) ) {
|
if ( $this->mergeExtensionItem( $codeSequence, $key, $allData[$key], $item ) ) {
|
||||||
$used = true;
|
$used = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue