10use MediaWiki\Config\ServiceOptions;
43use MediaWiki\Logger\LoggerFactory;
44use MediaWiki\MediaWikiServices;
48 'Translate:ConfigHelper' =>
static function ():
ConfigHelper {
52 'Translate:CsvTranslationImporter' =>
static function ( MediaWikiServices $services ):
CsvTranslationImporter {
56 'Translate:EntitySearch' =>
static function ( MediaWikiServices $services ):
EntitySearch {
58 $services->getMainWANObjectCache(),
59 $services->getCollationFactory()->makeCollation(
'uca-default-u-kn' ),
61 $services->getNamespaceInfo(),
62 $services->get(
'Translate:MessageIndex' ),
63 $services->getTitleParser(),
64 $services->getTitleFormatter()
68 'Translate:ExternalMessageSourceStateImporter' =>
static function (
69 MediaWikiServices $services
72 $services->getMainConfig(),
73 $services->get(
'Translate:GroupSynchronizationCache' ),
74 $services->getJobQueueGroup(),
75 LoggerFactory::getInstance(
'Translate.GroupSynchronization' ),
76 $services->get(
'Translate:MessageIndex' )
80 'Translate:FileFormatFactory' =>
static function ( MediaWikiServices $services ):
FileFormatFactory {
84 'Translate:GroupSynchronizationCache' =>
static function (
85 MediaWikiServices $services
90 'Translate:HookRunner' =>
static function (
91 MediaWikiServices $services
96 'Translate:MessageBundleStore' =>
static function ( MediaWikiServices $services ):
MessageBundleStore {
98 $services->get(
'Translate:RevTagStore' ),
99 $services->getJobQueueGroup(),
100 $services->getLanguageNameUtils(),
101 $services->get(
'Translate:MessageIndex' )
105 'Translate:MessageGroupReviewStore' =>
static function ( MediaWikiServices $services ):
MessageGroupReviewStore {
107 $services->getDBLoadBalancer(),
108 $services->get(
'Translate:HookRunner' )
112 'Translate:MessageGroupStatsTableFactory' =>
static function (
113 MediaWikiServices $services
116 $services->get(
'Translate:ProgressStatsTableFactory' ),
117 $services->getDBLoadBalancer(),
118 $services->getLinkRenderer(),
119 $services->get(
'Translate:MessageGroupReviewStore' ),
120 $services->getMainConfig()->get(
'TranslateWorkflowStates' ) !== false
124 'Translate:MessageIndex' =>
static function ( MediaWikiServices $services ):
MessageIndex {
125 $params = $services->getMainConfig()->get(
'TranslateMessageIndex' );
126 if ( is_string( $params ) ) {
127 $params = (array)$params;
130 $class = array_shift( $params );
132 return new $class( $params );
135 'Translate:MessagePrefixStats' =>
static function ( MediaWikiServices $services ):
MessagePrefixStats {
143 'Translate:PersistentCache' =>
static function ( MediaWikiServices $services ):
PersistentCache {
145 $services->getDBLoadBalancer(),
146 $services->getJsonCodec()
153 $services->getLinkRenderer(),
154 $services->get(
'Translate:ConfigHelper' )
158 'Translate:RevTagStore' =>
static function ( MediaWikiServices $services ):
RevTagStore {
160 $services->getDBLoadBalancerFactory()
164 'Translate:SubpageListBuilder' =>
static function ( MediaWikiServices $services ):
SubpageListBuilder
167 $services->get(
'Translate:TranslatableBundleFactory' ),
168 $services->getLinkBatchFactory()
172 'Translate:TranslatableBundleExporter' =>
static function (
173 MediaWikiServices $services
176 $services->get(
'Translate:SubpageListBuilder' ),
177 $services->getWikiExporterFactory(),
178 $services->getDBLoadBalancer()
185 $services->get(
'Translate:TranslatablePageStore' ),
186 $services->get(
'Translate:MessageBundleStore' )
190 'Translate:TranslatableBundleImporter' =>
static function (
191 MediaWikiServices $services
194 $services->getWikiImporterFactory(),
195 $services->get(
'Translate:TranslatablePageParser' ),
196 $services->getRevisionLookup()
200 'Translate:TranslatableBundleMover' =>
static function ( MediaWikiServices $services ):
TranslatableBundleMover
203 $services->getMovePageFactory(),
204 $services->getJobQueueGroup(),
205 $services->getLinkBatchFactory(),
206 $services->get(
'Translate:TranslatableBundleFactory' ),
207 $services->get(
'Translate:SubpageListBuilder' ),
208 $services->getMainConfig()->get(
'TranslatePageMoveLimit' )
212 'Translate:TranslatableBundleStatusStore' =>
215 $services->getDBLoadBalancer()->getConnection( DB_PRIMARY ),
216 $services->getCollationFactory()->makeCollation(
'uca-default-u-kn' ),
217 $services->getDBLoadBalancer()->getMaintenanceConnectionRef( DB_PRIMARY )
221 'Translate:TranslatablePageParser' =>
static function ( MediaWikiServices $services ):
TranslatablePageParser
224 $services->get(
'Translate:ParsingPlaceholderFactory' )
228 'Translate:TranslatablePageStore' =>
static function ( MediaWikiServices $services ):
TranslatablePageStore
231 $services->get(
'Translate:MessageIndex' ),
232 $services->getJobQueueGroup(),
233 $services->get(
'Translate:RevTagStore' ),
234 $services->getDBLoadBalancer(),
235 $services->get(
'Translate:TranslatableBundleStatusStore' ),
236 $services->get(
'Translate:TranslatablePageParser' ),
240 'Translate:TranslationStashReader' =>
static function ( MediaWikiServices $services ):
TranslationStashReader
242 $db = $services->getDBLoadBalancer()->getConnection( DB_REPLICA );
246 'Translate:TranslationStatsDataProvider' =>
static function (
247 MediaWikiServices $services
252 $services->getMainConfig()
254 $services->getObjectFactory(),
255 $services->getDBLoadBalancer()
259 'Translate:TranslationUnitStoreFactory' =>
static function (
260 MediaWikiServices $services
265 'Translate:TranslatorActivity' =>
static function ( MediaWikiServices $services ):
TranslatorActivity {
267 $services->getMainConfig(),
268 $services->getDBLoadBalancer()
272 $services->getMainObjectStash(),
274 $services->getJobQueueGroup()
278 'Translate:TtmServerFactory' =>
static function ( MediaWikiServices $services ):
TtmServerFactory {
279 $config = $services->getMainConfig();
281 $default = $config->get(
'TranslateTranslationDefaultService' );
282 if ( $default ===
false ) {
286 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'), $services->get( 'Translate:MessageIndex'));}, 'Translate:FileFormatFactory'=> static function(MediaWikiServices $services):FileFormatFactory { return new FileFormatFactory( $services->getObjectFactory());}, 'Translate:GroupSynchronizationCache'=> static function(MediaWikiServices $services):GroupSynchronizationCache { return new GroupSynchronizationCache( $services->get( 'Translate:PersistentCache'));}, 'Translate:HookRunner'=> static function(MediaWikiServices $services):HookRunner { return new HookRunner( $services->getHookContainer());}, 'Translate:MessageBundleStore'=> static function(MediaWikiServices $services):MessageBundleStore { return new MessageBundleStore($services->get( 'Translate:RevTagStore'), $services->getJobQueueGroup(), $services->getLanguageNameUtils(), $services->get( 'Translate:MessageIndex'));}, 'Translate:MessageGroupReviewStore'=> static function(MediaWikiServices $services):MessageGroupReviewStore { return new MessageGroupReviewStore($services->getDBLoadBalancer(), $services->get( 'Translate:HookRunner'));}, 'Translate:MessageGroupStatsTableFactory'=> static function(MediaWikiServices $services):MessageGroupStatsTableFactory { return new MessageGroupStatsTableFactory($services->get( 'Translate:ProgressStatsTableFactory'), $services->getDBLoadBalancer(), $services->getLinkRenderer(), $services->get( 'Translate:MessageGroupReviewStore'), $services->getMainConfig() ->get( 'TranslateWorkflowStates') !==false);}, '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:MessagePrefixStats'=> static function(MediaWikiServices $services):MessagePrefixStats { return new MessagePrefixStats( $services->getTitleParser());}, '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:RevTagStore'=> static function(MediaWikiServices $services):RevTagStore { return new RevTagStore($services->getDBLoadBalancerFactory());}, 'Translate:SubpageListBuilder'=> static function(MediaWikiServices $services):SubpageListBuilder { return new SubpageListBuilder($services->get( 'Translate:TranslatableBundleFactory'), $services->getLinkBatchFactory());}, 'Translate:TranslatableBundleExporter'=> static function(MediaWikiServices $services):TranslatableBundleExporter { return new TranslatableBundleExporter($services->get( 'Translate:SubpageListBuilder'), $services->getWikiExporterFactory(), $services->getDBLoadBalancer());}, 'Translate:TranslatableBundleFactory'=> static function(MediaWikiServices $services):TranslatableBundleFactory { return new TranslatableBundleFactory($services->get( 'Translate:TranslatablePageStore'), $services->get( 'Translate:MessageBundleStore'));}, 'Translate:TranslatableBundleImporter'=> static function(MediaWikiServices $services):TranslatableBundleImporter { return new TranslatableBundleImporter($services->getWikiImporterFactory(), $services->get( 'Translate:TranslatablePageParser'), $services->getRevisionLookup());}, '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:TranslatableBundleStatusStore'=> static function(MediaWikiServices $services):TranslatableBundleStatusStore { return new TranslatableBundleStatusStore($services->getDBLoadBalancer() ->getConnection(DB_PRIMARY), $services->getCollationFactory() ->makeCollation( 'uca-default-u-kn'), $services->getDBLoadBalancer() ->getMaintenanceConnectionRef(DB_PRIMARY));}, '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(), $services->get( 'Translate:RevTagStore'), $services->getDBLoadBalancer(), $services->get( 'Translate:TranslatableBundleStatusStore'), $services->get( 'Translate:TranslatablePageParser'),);}, 'Translate:TranslationStashReader'=> static function(MediaWikiServices $services):TranslationStashReader { $db=$services->getDBLoadBalancer() ->getConnection(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(), $services->getDBLoadBalancer());}, '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.
Creates a database of keys in all groups, so that namespace and key can be used to get the groups the...