+ 'LocalisationCache' => function ( MediaWikiServices $services ) : LocalisationCache {
+ $conf = $services->getMainConfig()->get( 'LocalisationCacheConf' );
+
+ $logger = LoggerFactory::getInstance( 'localisation' );
+
+ $store = LocalisationCache::getStoreFromConf(
+ $conf, $services->getMainConfig()->get( 'CacheDirectory' ) );
+ $logger->debug( 'LocalisationCache: using store ' . get_class( $store ) );
+
+ return new $conf['class'](
+ new ServiceOptions(
+ LocalisationCache::CONSTRUCTOR_OPTIONS,
+ // Two of the options are stored in $wgLocalisationCacheConf
+ $conf,
+ // In case someone set that config variable and didn't reset all keys, set defaults.
+ [
+ 'forceRecache' => false,
+ 'manualRecache' => false,
+ ],
+ // Some other options come from config itself
+ $services->getMainConfig()
+ ),
+ $store,
+ $logger,
+ [ function () use ( $services ) {
+ $services->getResourceLoader()->getMessageBlobStore()->clear();
+ } ],
+ $services->getLanguageNameUtils()
+ );
+ },
+