Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
Services.php
1<?php
2declare( strict_types = 1 );
3
4namespace MediaWiki\Extension\Translate;
5
31use MediaWiki\MediaWikiServices;
32use MessageIndex;
33use Psr\Container\ContainerInterface;
34
44class Services implements ContainerInterface {
46 private $container;
47
48 private function __construct( ContainerInterface $container ) {
49 $this->container = $container;
50 }
51
52 public static function getInstance(): Services {
53 return new self( MediaWikiServices::getInstance() );
54 }
55
57 public function get( string $id ) {
58 return $this->container->get( $id );
59 }
60
62 public function has( string $id ): bool {
63 return $this->container->has( $id );
64 }
65
66 public function getConfigHelper(): ConfigHelper {
67 return $this->get( 'Translate:ConfigHelper' );
68 }
69
72 return $this->get( 'Translate:CsvTranslationImporter' );
73 }
74
76 public function getEntitySearch(): EntitySearch {
77 return $this->get( 'Translate:EntitySearch' );
78 }
79
80 public function getExternalMessageSourceStateImporter(): ExternalMessageSourceStateImporter {
81 return $this->get( 'Translate:ExternalMessageSourceStateImporter' );
82 }
83
84 public function getFileFormatFactory(): FileFormatFactory {
85 return $this->get( 'Translate:FileFormatFactory' );
86 }
87
88 public function getGroupSynchronizationCache(): GroupSynchronizationCache {
89 return $this->get( 'Translate:GroupSynchronizationCache' );
90 }
91
93 public function getHookRunner(): HookRunner {
94 return $this->get( 'Translate:HookRunner' );
95 }
96
99 return $this->get( 'Translate:MessageBundleStore' );
100 }
101
103 public function getMessageIndex(): MessageIndex {
104 return $this->get( 'Translate:MessageIndex' );
105 }
106
109 return $this->get( 'Translate:MessageGroupReviewStore' );
110 }
111
114 return $this->get( 'Translate:MessageGroupStatsTableFactory' );
115 }
116
119 return $this->get( 'Translate:ParsingPlaceholderFactory' );
120 }
121
124 return $this->get( 'Translate:PersistentCache' );
125 }
126
129 return $this->get( 'Translate:ProgressStatsTableFactory' );
130 }
131
133 public function getRevTagStore(): RevTagStore {
134 return $this->get( 'Translate:RevTagStore' );
135 }
136
139 return $this->get( 'Translate:TranslatableBundleExporter' );
140 }
141
144 return $this->get( 'Translate:TranslatableBundleImporter' );
145 }
146
149 return $this->get( 'Translate:TranslatableBundleFactory' );
150 }
151
154 return $this->get( 'Translate:TranslatableBundleMover' );
155 }
156
159 return $this->get( 'Translate:TranslatableBundleStatusStore' );
160 }
161
162 public function getTranslatablePageParser(): TranslatablePageParser {
163 return $this->get( 'Translate:TranslatablePageParser' );
164 }
165
168 return $this->get( 'Translate:TranslatablePageStore' );
169 }
170
173 return $this->get( 'Translate:TranslationStashReader' );
174 }
175
178 return $this->get( 'Translate:TranslationStatsDataProvider' );
179 }
180
183 return $this->get( 'Translate:TranslationUnitStoreFactory' );
184 }
185
186 public function getTranslatorActivity(): TranslatorActivity {
187 return $this->get( 'Translate:TranslatorActivity' );
188 }
189
192 return $this->get( 'Translate:TtmServerFactory' );
193 }
194}
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
A factory class used to instantiate instances of pre-provided File formats.
Hook runner for the Translate extension.
Provides methods to get and change the state of a message group.
Class to manage revision tags for translatable bundles.
Create instances of various classes based on the type of TranslatableBundle.
Store service for looking up and storing status for translatable bundle status.
Contains the core logic to validate and move translatable bundles.
Generates ParserOutput from text or removes all tags from a text.
Minimal service container.
Definition Services.php:44
Service for searching message groups and message keys.
A helper class added to work with configuration values of the Translate Extension.
Create unique placeholders that can be used when parsing (wiki)text.
Creates a database of keys in all groups, so that namespace and key can be used to get the groups the...
Defines what method should be provided by a class implementing a persistent cache.