aboutsummaryrefslogtreecommitdiffstats
path: root/includes/cache/MessageCache.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/cache/MessageCache.php')
-rw-r--r--includes/cache/MessageCache.php20
1 files changed, 16 insertions, 4 deletions
diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php
index 09d64f3d32f6..613a505235a0 100644
--- a/includes/cache/MessageCache.php
+++ b/includes/cache/MessageCache.php
@@ -21,6 +21,8 @@
* @ingroup Cache
*/
use MediaWiki\Languages\LanguageFactory;
+use MediaWiki\Languages\LanguageFallback;
+use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
@@ -110,6 +112,10 @@ class MessageCache implements LoggerAwareInterface {
protected $langFactory;
/** @var LocalisationCache */
protected $localisationCache;
+ /** @var LanguageNameUtils */
+ protected $languageNameUtils;
+ /** @var LanguageFallback */
+ protected $languageFallback;
/**
* Get the singleton instance of this class
@@ -152,6 +158,8 @@ class MessageCache implements LoggerAwareInterface {
* Default: true.
* @param LanguageFactory $langFactory
* @param LocalisationCache $localisationCache
+ * @param LanguageNameUtils $languageNameUtils
+ * @param LanguageFallback $languageFallback
*/
public function __construct(
WANObjectCache $wanCache,
@@ -162,7 +170,9 @@ class MessageCache implements LoggerAwareInterface {
LoggerInterface $logger,
array $options,
LanguageFactory $langFactory,
- LocalisationCache $localisationCache
+ LocalisationCache $localisationCache,
+ LanguageNameUtils $languageNameUtils,
+ LanguageFallback $languageFallback
) {
$this->wanCache = $wanCache;
$this->clusterCache = $clusterCache;
@@ -172,6 +182,8 @@ class MessageCache implements LoggerAwareInterface {
$this->logger = $logger;
$this->langFactory = $langFactory;
$this->localisationCache = $localisationCache;
+ $this->languageNameUtils = $languageNameUtils;
+ $this->languageFallback = $languageFallback;
$this->cache = new MapCacheLRU( 5 ); // limit size for sanity
@@ -1014,7 +1026,7 @@ class MessageCache implements LoggerAwareInterface {
// Try checking the database for all of the fallback languages
if ( $useDB ) {
- $fallbackChain = Language::getFallbacksFor( $langcode );
+ $fallbackChain = $this->languageFallback->getAll( $langcode );
foreach ( $fallbackChain as $code ) {
if ( isset( $alreadyTried[$code] ) ) {
@@ -1319,7 +1331,7 @@ class MessageCache implements LoggerAwareInterface {
* Mainly used after a mass rebuild
*/
public function clear() {
- $langs = Language::fetchLanguageNames( null, 'mw' );
+ $langs = $this->languageNameUtils->getLanguageNames( null, 'mw' );
foreach ( array_keys( $langs ) as $code ) {
$this->wanCache->touchCheckKey( $this->getCheckKey( $code ) );
}
@@ -1339,7 +1351,7 @@ class MessageCache implements LoggerAwareInterface {
}
$lang = array_pop( $pieces );
- if ( !Language::fetchLanguageName( $lang, null, 'mw' ) ) {
+ if ( !$this->languageNameUtils->getLanguageName( $lang, null, 'mw' ) ) {
return [ $key, $wgLanguageCode ];
}