10use MediaWiki\Config\ServiceOptions;
39use MediaWiki\Logger\LoggerFactory;
40use MediaWiki\MediaWikiServices;
44 'Translate:ConfigHelper' =>
static function ():
ConfigHelper {
48 'Translate:CsvTranslationImporter' =>
static function ( MediaWikiServices $services ):
CsvTranslationImporter {
52 'Translate:EntitySearch' =>
static function ( MediaWikiServices $services ):
EntitySearch {
54 $services->getMainWANObjectCache(),
55 $services->getCollationFactory()->makeCollation(
'uca-default-u-kn' ),
57 $services->getNamespaceInfo(),
58 $services->get(
'Translate:MessageIndex' ),
59 $services->getTitleParser(),
60 $services->getTitleFormatter()
64 'Translate:ExternalMessageSourceStateImporter' =>
static function (
65 MediaWikiServices $services
68 $services->getMainConfig(),
69 $services->get(
'Translate:GroupSynchronizationCache' ),
70 $services->getJobQueueGroup(),
71 LoggerFactory::getInstance(
'Translate.GroupSynchronization' ),
72 $services->get(
'Translate:MessageIndex' )
76 'Translate:GroupSynchronizationCache' =>
static function (
77 MediaWikiServices $services
82 'Translate:MessageBundleStore' =>
static function ( MediaWikiServices $services ):
MessageBundleStore {
85 $services->getJobQueueGroup(),
86 $services->getLanguageNameUtils(),
87 $services->get(
'Translate:MessageIndex' )
91 'Translate:MessageGroupReview' =>
static function ( MediaWikiServices $services ):
MessageGroupReview {
93 $services->getDBLoadBalancer(),
94 $services->getHookContainer()
98 'Translate:MessageGroupStatsTableFactory' =>
static function (
99 MediaWikiServices $services
102 $services->get(
'Translate:ProgressStatsTableFactory' ),
103 $services->getDBLoadBalancer(),
104 $services->getLinkRenderer(),
105 $services->getMainConfig()->get(
'TranslateWorkflowStates' ) !== false
109 'Translate:MessageIndex' =>
static function ( MediaWikiServices $services ):
MessageIndex {
110 $params = $services->getMainConfig()->get(
'TranslateMessageIndex' );
111 if ( is_string( $params ) ) {
112 $params = (array)$params;
115 $class = array_shift( $params );
117 return new $class( $params );
120 'Translate:MessagePrefixStats' =>
static function ( MediaWikiServices $services ):
MessagePrefixStats {
128 'Translate:PersistentCache' =>
static function ( MediaWikiServices $services ):
PersistentCache {
130 $services->getDBLoadBalancer(),
131 $services->getJsonCodec()
138 $services->getLinkRenderer(),
139 $services->get(
'Translate:ConfigHelper' )
143 'Translate:SubpageListBuilder' =>
static function ( MediaWikiServices $services ):
SubpageListBuilder
146 $services->get(
'Translate:TranslatableBundleFactory' ),
147 $services->getLinkBatchFactory()
154 $services->get(
'Translate:TranslatablePageStore' ),
155 $services->get(
'Translate:MessageBundleStore' )
159 'Translate:TranslatableBundleMover' =>
static function ( MediaWikiServices $services ):
TranslatableBundleMover
162 $services->getMovePageFactory(),
163 $services->getJobQueueGroup(),
164 $services->getLinkBatchFactory(),
165 $services->get(
'Translate:TranslatableBundleFactory' ),
166 $services->get(
'Translate:SubpageListBuilder' ),
167 $services->getMainConfig()->get(
'TranslatePageMoveLimit' )
171 'Translate:TranslatableBundleStatusStore' =>
174 $services->getDBLoadBalancer()->getConnection( DB_PRIMARY ),
175 $services->getCollationFactory()->makeCollation(
'uca-default-u-kn' ),
176 $services->getDBLoadBalancer()->getMaintenanceConnectionRef( DB_PRIMARY )
180 'Translate:TranslatablePageParser' =>
static function ( MediaWikiServices $services ):
TranslatablePageParser
183 $services->get(
'Translate:ParsingPlaceholderFactory' )
187 'Translate:TranslatablePageStore' =>
static function ( MediaWikiServices $services ):
TranslatablePageStore
190 $services->get(
'Translate:MessageIndex' ),
191 $services->getJobQueueGroup(),
193 $services->getDBLoadBalancer(),
194 $services->get(
'Translate:TranslatableBundleStatusStore' )
198 'Translate:TranslationStashReader' =>
static function ( MediaWikiServices $services ):
TranslationStashReader
200 $db = $services->getDBLoadBalancer()->getConnectionRef( DB_REPLICA );
204 'Translate:TranslationStatsDataProvider' =>
static function (
205 MediaWikiServices $services
210 $services->getMainConfig()
212 $services->getObjectFactory()
216 'Translate:TranslationUnitStoreFactory' =>
static function (
217 MediaWikiServices $services
222 'Translate:TranslatorActivity' =>
static function ( MediaWikiServices $services ):
TranslatorActivity {
224 $services->getMainConfig(),
225 $services->getDBLoadBalancer()
229 $services->getMainObjectStash(),
231 $services->getJobQueueGroup()
235 'Translate:TtmServerFactory' =>
static function ( MediaWikiServices $services ):
TtmServerFactory {
236 $config = $services->getMainConfig();
238 $default = $config->get(
'TranslateTranslationDefaultService' );
239 if ( $default ===
false ) {
243 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: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:MessageGroupStatsTableFactory'=> static function(MediaWikiServices $services):MessageGroupStatsTableFactory { return new MessageGroupStatsTableFactory($services->get( 'Translate:ProgressStatsTableFactory'), $services->getDBLoadBalancer(), $services->getLinkRenderer(), $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: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: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(), new RevTagStore(), $services->getDBLoadBalancer(), $services->get( 'Translate:TranslatableBundleStatusStore'));}, '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.
Creates a database of keys in all groups, so that namespace and key can be used to get the groups the...