10use MediaWiki\Config\ServiceOptions;
35use MediaWiki\Logger\LoggerFactory;
36use MediaWiki\MediaWikiServices;
40 'Translate:ConfigHelper' =>
static function ():
ConfigHelper {
44 'Translate:CsvTranslationImporter' =>
static function ( MediaWikiServices $services ):
CsvTranslationImporter {
48 'Translate:EntitySearch' =>
static function ( MediaWikiServices $services ):
EntitySearch {
50 $services->getMainWANObjectCache(),
51 $services->getCollationFactory()->makeCollation(
'uca-default-u-kn' ),
53 $services->getNamespaceInfo(),
54 $services->get(
'Translate:MessageIndex' ),
55 $services->getTitleParser(),
56 $services->getTitleFormatter()
60 'Translate:ExternalMessageSourceStateImporter' =>
static function (
61 MediaWikiServices $services
64 $services->getMainConfig(),
65 $services->get(
'Translate:GroupSynchronizationCache' ),
66 $services->getJobQueueGroup(),
67 LoggerFactory::getInstance(
'Translate.GroupSynchronization' ),
72 'Translate:GroupSynchronizationCache' =>
static function (
73 MediaWikiServices $services
78 'Translate:MessageBundleStore' =>
static function ( MediaWikiServices $services ):
MessageBundleStore {
81 $services->getJobQueueGroup(),
82 $services->getLanguageNameUtils(),
83 $services->get(
'Translate:MessageIndex' )
87 'Translate:MessageGroupReview' =>
static function ( MediaWikiServices $services ):
MessageGroupReview {
89 $services->getDBLoadBalancer(),
90 $services->getHookContainer()
94 'Translate:MessageIndex' =>
static function ( MediaWikiServices $services ):
MessageIndex {
95 $params = $services->getMainConfig()->get(
'TranslateMessageIndex' );
96 if ( is_string( $params ) ) {
97 $params = (array)$params;
100 $class = array_shift( $params );
102 return new $class( $params );
109 'Translate:PersistentCache' =>
static function ( MediaWikiServices $services ):
PersistentCache {
111 $services->getDBLoadBalancer(),
112 $services->getJsonCodec()
119 $services->getLinkRenderer(),
120 $services->get(
'Translate:ConfigHelper' )
124 'Translate:SubpageListBuilder' =>
static function ( MediaWikiServices $services ):
SubpageListBuilder
127 $services->get(
'Translate:TranslatableBundleFactory' ),
128 $services->getLinkBatchFactory()
135 $services->get(
'Translate:TranslatablePageStore' ),
136 $services->get(
'Translate:MessageBundleStore' )
140 'Translate:TranslatableBundleMover' =>
static function ( MediaWikiServices $services ):
TranslatableBundleMover
143 $services->getMovePageFactory(),
144 $services->getJobQueueGroup(),
145 $services->getLinkBatchFactory(),
146 $services->get(
'Translate:TranslatableBundleFactory' ),
147 $services->get(
'Translate:SubpageListBuilder' ),
148 $services->getMainConfig()->get(
'TranslatePageMoveLimit' )
152 'Translate:TranslatablePageParser' =>
static function ( MediaWikiServices $services ):
TranslatablePageParser
155 $services->get(
'Translate:ParsingPlaceholderFactory' )
159 'Translate:TranslatablePageStore' =>
static function ( MediaWikiServices $services ):
TranslatablePageStore
162 $services->get(
'Translate:MessageIndex' ),
163 $services->getJobQueueGroup(),
165 $services->getDBLoadBalancer()
169 'Translate:TranslationStashReader' =>
static function ( MediaWikiServices $services ):
TranslationStashReader
171 $db = $services->getDBLoadBalancer()->getConnectionRef( DB_REPLICA );
175 'Translate:TranslationStatsDataProvider' =>
static function (
176 MediaWikiServices $services
181 $services->getMainConfig()
183 $services->getObjectFactory()
187 'Translate:TranslationUnitStoreFactory' =>
static function (
188 MediaWikiServices $services
193 'Translate:TranslatorActivity' =>
static function ( MediaWikiServices $services ):
TranslatorActivity {
195 $services->getMainConfig(),
196 $services->getDBLoadBalancer()
200 $services->getMainObjectStash(),
202 $services->getJobQueueGroup()
206 'Translate:TtmServerFactory' =>
static function ( MediaWikiServices $services ):
TtmServerFactory {
207 $config = $services->getMainConfig();
209 $default = $config->get(
'TranslateTranslationDefaultService' );
210 if ( $default ===
false ) {
214 return new TtmServerFactory( $config->get(
'TranslateTranslationServices' ), $default );
return[ 'Translate:ConfigHelper'=> static function():ConfigHelper { return new ConfigHelper();}, 'Translate:CsvTranslationImporter'=> static function(MediaWikiServices $services):CsvTranslationImporter { return new CsvTranslationImporter( $services->getWikiPageFactory());}, 'Translate:EntitySearch'=> static function(MediaWikiServices $services):EntitySearch { return new EntitySearch($services->getMainWANObjectCache(), $services->getCollationFactory() ->makeCollation( 'uca-default-u-kn'), MessageGroups::singleton(), $services->getNamespaceInfo(), $services->get( 'Translate:MessageIndex'), $services->getTitleParser(), $services->getTitleFormatter());}, 'Translate:ExternalMessageSourceStateImporter'=> static function(MediaWikiServices $services):ExternalMessageSourceStateImporter { return new ExternalMessageSourceStateImporter($services->getMainConfig(), $services->get( 'Translate:GroupSynchronizationCache'), $services->getJobQueueGroup(), LoggerFactory::getInstance( 'Translate.GroupSynchronization'), MessageIndex::singleton());}, 'Translate:GroupSynchronizationCache'=> static function(MediaWikiServices $services):GroupSynchronizationCache { return new GroupSynchronizationCache( $services->get( 'Translate:PersistentCache'));}, 'Translate:MessageBundleStore'=> static function(MediaWikiServices $services):MessageBundleStore { return new MessageBundleStore(new RevTagStore(), $services->getJobQueueGroup(), $services->getLanguageNameUtils(), $services->get( 'Translate:MessageIndex'));}, 'Translate:MessageGroupReview'=> static function(MediaWikiServices $services):MessageGroupReview { return new MessageGroupReview($services->getDBLoadBalancer(), $services->getHookContainer());}, 'Translate:MessageIndex'=> static function(MediaWikiServices $services):MessageIndex { $params=$services->getMainConfig() ->get( 'TranslateMessageIndex');if(is_string( $params)) { $params=(array) $params;} $class=array_shift( $params);return new $class( $params);}, 'Translate:ParsingPlaceholderFactory'=> static function():ParsingPlaceholderFactory { return new ParsingPlaceholderFactory();}, 'Translate:PersistentCache'=> static function(MediaWikiServices $services):PersistentCache { return new PersistentDatabaseCache($services->getDBLoadBalancer(), $services->getJsonCodec());}, 'Translate:ProgressStatsTableFactory'=> static function(MediaWikiServices $services):ProgressStatsTableFactory { return new ProgressStatsTableFactory($services->getLinkRenderer(), $services->get( 'Translate:ConfigHelper'));}, 'Translate:SubpageListBuilder'=> static function(MediaWikiServices $services):SubpageListBuilder { return new SubpageListBuilder($services->get( 'Translate:TranslatableBundleFactory'), $services->getLinkBatchFactory());}, 'Translate:TranslatableBundleFactory'=> static function(MediaWikiServices $services):TranslatableBundleFactory { return new TranslatableBundleFactory($services->get( 'Translate:TranslatablePageStore'), $services->get( 'Translate:MessageBundleStore'));}, 'Translate:TranslatableBundleMover'=> static function(MediaWikiServices $services):TranslatableBundleMover { return new TranslatableBundleMover($services->getMovePageFactory(), $services->getJobQueueGroup(), $services->getLinkBatchFactory(), $services->get( 'Translate:TranslatableBundleFactory'), $services->get( 'Translate:SubpageListBuilder'), $services->getMainConfig() ->get( 'TranslatePageMoveLimit'));}, 'Translate:TranslatablePageParser'=> static function(MediaWikiServices $services):TranslatablePageParser { return new TranslatablePageParser($services->get( 'Translate:ParsingPlaceholderFactory'));}, 'Translate:TranslatablePageStore'=> static function(MediaWikiServices $services):TranslatablePageStore { return new TranslatablePageStore($services->get( 'Translate:MessageIndex'), $services->getJobQueueGroup(), new RevTagStore(), $services->getDBLoadBalancer());}, 'Translate:TranslationStashReader'=> static function(MediaWikiServices $services):TranslationStashReader { $db=$services->getDBLoadBalancer() ->getConnectionRef(DB_REPLICA);return new TranslationStashStorage( $db);}, 'Translate:TranslationStatsDataProvider'=> static function(MediaWikiServices $services):TranslationStatsDataProvider { return new TranslationStatsDataProvider(new ServiceOptions(TranslationStatsDataProvider::CONSTRUCTOR_OPTIONS, $services->getMainConfig()), $services->getObjectFactory());}, 'Translate:TranslationUnitStoreFactory'=> static function(MediaWikiServices $services):TranslationUnitStoreFactory { return new TranslationUnitStoreFactory( $services->getDBLoadBalancer());}, 'Translate:TranslatorActivity'=> static function(MediaWikiServices $services):TranslatorActivity { $query=new TranslatorActivityQuery($services->getMainConfig(), $services->getDBLoadBalancer());return new TranslatorActivity($services->getMainObjectStash(), $query, $services->getJobQueueGroup());}, 'Translate:TtmServerFactory'=> static function(MediaWikiServices $services):TtmServerFactory { $config=$services->getMainConfig();$default=$config->get( 'TranslateTranslationDefaultService');if( $default===false) { $default=null;} return new TtmServerFactory( $config->get( 'TranslateTranslationServices'), $default);}]
@phpcs-require-sorted-array
Generates list of subpages for the translatable bundle that can be moved or deleted.
Contains the core logic to validate and move translatable bundles.
Generates ParserOutput from text or removes all tags from a text.
Factory class for accessing message groups individually by id or all of them as an list.
Creates a database of keys in all groups, so that namespace and key can be used to get the groups the...