Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
Services.php
1<?php
2declare( strict_types = 1 );
3
4namespace MediaWiki\Extension\Translate;
5
27use MediaWiki\MediaWikiServices;
28use MessageIndex;
29use Psr\Container\ContainerInterface;
30
40class Services implements ContainerInterface {
42 private $container;
43
44 private function __construct( ContainerInterface $container ) {
45 $this->container = $container;
46 }
47
48 public static function getInstance(): Services {
49 return new self( MediaWikiServices::getInstance() );
50 }
51
53 public function get( string $id ) {
54 return $this->container->get( $id );
55 }
56
58 public function has( string $id ): bool {
59 return $this->container->has( $id );
60 }
61
62 public function getConfigHelper(): ConfigHelper {
63 return $this->get( 'Translate:ConfigHelper' );
64 }
65
68 return $this->get( 'Translate:CsvTranslationImporter' );
69 }
70
72 public function getEntitySearch(): EntitySearch {
73 return $this->get( 'Translate:EntitySearch' );
74 }
75
76 public function getExternalMessageSourceStateImporter(): ExternalMessageSourceStateImporter {
77 return $this->get( 'Translate:ExternalMessageSourceStateImporter' );
78 }
79
80 public function getGroupSynchronizationCache(): GroupSynchronizationCache {
81 return $this->get( 'Translate:GroupSynchronizationCache' );
82 }
83
86 return $this->get( 'Translate:MessageBundleStore' );
87 }
88
90 public function getMessageIndex(): MessageIndex {
91 return $this->get( 'Translate:MessageIndex' );
92 }
93
96 return $this->get( 'Translate:MessageGroupReview' );
97 }
98
101 return $this->get( 'Translate:MessageGroupStatsTableFactory' );
102 }
103
106 return $this->get( 'Translate:ParsingPlaceholderFactory' );
107 }
108
111 return $this->get( 'Translate:PersistentCache' );
112 }
113
116 return $this->get( 'Translate:ProgressStatsTableFactory' );
117 }
118
121 return $this->get( 'Translate:TranslatableBundleFactory' );
122 }
123
126 return $this->get( 'Translate:TranslatableBundleMover' );
127 }
128
131 return $this->get( 'Translate:TranslatableBundleStatusStore' );
132 }
133
134 public function getTranslatablePageParser(): TranslatablePageParser {
135 return $this->get( 'Translate:TranslatablePageParser' );
136 }
137
140 return $this->get( 'Translate:TranslatablePageStore' );
141 }
142
145 return $this->get( 'Translate:TranslationStashReader' );
146 }
147
150 return $this->get( 'Translate:TranslationStatsDataProvider' );
151 }
152
155 return $this->get( 'Translate:TranslationUnitStoreFactory' );
156 }
157
158 public function getTranslatorActivity(): TranslatorActivity {
159 return $this->get( 'Translate:TranslatorActivity' );
160 }
161
164 return $this->get( 'Translate:TtmServerFactory' );
165 }
166}
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
Provides methods to get and change the state of a message group.
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:40
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.