summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'MLEB/Translate/src/ServiceWiring.php')
-rw-r--r--MLEB/Translate/src/ServiceWiring.php66
1 files changed, 55 insertions, 11 deletions
diff --git a/MLEB/Translate/src/ServiceWiring.php b/MLEB/Translate/src/ServiceWiring.php
index a38ed81c..44bbb4f0 100644
--- a/MLEB/Translate/src/ServiceWiring.php
+++ b/MLEB/Translate/src/ServiceWiring.php
@@ -12,34 +12,70 @@ use MediaWiki\Extension\Translate\Cache\PersistentCache;
use MediaWiki\Extension\Translate\Cache\PersistentDatabaseCache;
use MediaWiki\Extension\Translate\PageTranslation\TranslatablePageMover;
use MediaWiki\Extension\Translate\PageTranslation\TranslatablePageParser;
+use MediaWiki\Extension\Translate\PageTranslation\TranslationUnitStoreFactory;
use MediaWiki\Extension\Translate\Statistics\TranslationStatsDataProvider;
use MediaWiki\Extension\Translate\Statistics\TranslatorActivity;
use MediaWiki\Extension\Translate\Statistics\TranslatorActivityQuery;
+use MediaWiki\Extension\Translate\Synchronization\ExternalMessageSourceStateImporter;
use MediaWiki\Extension\Translate\Synchronization\GroupSynchronizationCache;
+use MediaWiki\Extension\Translate\TranslatorInterface\EntitySearch;
use MediaWiki\Extension\Translate\TranslatorSandbox\TranslationStashReader;
use MediaWiki\Extension\Translate\TranslatorSandbox\TranslationStashStorage;
use MediaWiki\Extension\Translate\TtmServer\TtmServerFactory;
+use MediaWiki\Extension\Translate\Utilities\ConfigHelper;
use MediaWiki\Extension\Translate\Utilities\Json\JsonCodec;
use MediaWiki\Extension\Translate\Utilities\ParsingPlaceholderFactory;
+use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
/** @phpcs-require-sorted-array */
return [
- 'Translate:GroupSynchronizationCache' => function (
+ 'Translate:ConfigHelper' => static function (): ConfigHelper {
+ return new ConfigHelper();
+ },
+
+ 'Translate:EntitySearch' => static function ( MediaWikiServices $services ): EntitySearch {
+ // BC for MW <= 1.36
+ if ( method_exists( $services, 'getCollationFactory' ) ) {
+ $collation = $services->getCollationFactory()->makeCollation( 'uca-default-u-kn' );
+ } else {
+ $collation = Collation::factory( 'uca-default-u-kn' );
+ }
+
+ return new EntitySearch(
+ $services->getMainWANObjectCache(),
+ $collation,
+ MessageGroups::singleton()
+ );
+ },
+
+ 'Translate:ExternalMessageSourceStateImporter' => static function (
+ MediaWikiServices $services
+ ): ExternalMessageSourceStateImporter {
+ return new ExternalMessageSourceStateImporter(
+ $services->getMainConfig(),
+ $services->get( 'Translate:GroupSynchronizationCache' ),
+ JobQueueGroup::singleton(),
+ LoggerFactory::getInstance( 'Translate.GroupSynchronization' ),
+ MessageIndex::singleton()
+ );
+ },
+
+ 'Translate:GroupSynchronizationCache' => static function (
MediaWikiServices $services
): GroupSynchronizationCache {
return new GroupSynchronizationCache( $services->get( 'Translate:PersistentCache' ) );
},
- 'Translate:JsonCodec' => function (): JsonCodec {
+ 'Translate:JsonCodec' => static function (): JsonCodec {
return new JsonCodec();
},
- 'Translate:ParsingPlaceholderFactory' => function (): ParsingPlaceholderFactory {
+ 'Translate:ParsingPlaceholderFactory' => static function (): ParsingPlaceholderFactory {
return new ParsingPlaceholderFactory();
},
- 'Translate:PersistentCache' => function ( MediaWikiServices $services ): PersistentCache {
+ 'Translate:PersistentCache' => static function ( MediaWikiServices $services ): PersistentCache {
return new PersistentDatabaseCache(
$services->getDBLoadBalancer(),
// TODO: Since we have a similar interface, see if we can load the JsonCodec
@@ -48,30 +84,32 @@ return [
);
},
- 'Translate:TranslatablePageMover' => function ( MediaWikiServices $services ): TranslatablePageMover
+ 'Translate:TranslatablePageMover' => static function ( MediaWikiServices $services ): TranslatablePageMover
{
return new TranslatablePageMover(
$services->getMovePageFactory(),
JobQueueGroup::singleton(),
+ $services->getLinkBatchFactory(),
$services->getMainConfig()->get( 'TranslatePageMoveLimit' )
);
},
- 'Translate:TranslatablePageParser' => function ( MediaWikiServices $services ): TranslatablePageParser
+ 'Translate:TranslatablePageParser' => static function ( MediaWikiServices $services ): TranslatablePageParser
{
return new TranslatablePageParser(
$services->get( 'Translate:ParsingPlaceholderFactory' )
);
},
- 'Translate:TranslationStashReader' => function ( MediaWikiServices $services ): TranslationStashReader
+ 'Translate:TranslationStashReader' => static function ( MediaWikiServices $services ): TranslationStashReader
{
$db = $services->getDBLoadBalancer()->getConnectionRef( DB_REPLICA );
return new TranslationStashStorage( $db );
},
- 'Translate:TranslationStatsDataProvider' => function ( MediaWikiServices $services ): TranslationStatsDataProvider
- {
+ 'Translate:TranslationStatsDataProvider' => static function (
+ MediaWikiServices $services
+ ): TranslationStatsDataProvider {
return new TranslationStatsDataProvider(
new ServiceOptions(
TranslationStatsDataProvider::CONSTRUCTOR_OPTIONS,
@@ -81,7 +119,13 @@ return [
);
},
- 'Translate:TranslatorActivity' => function ( MediaWikiServices $services ): TranslatorActivity {
+ '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()
@@ -95,7 +139,7 @@ return [
);
},
- 'Translate:TtmServerFactory' => function ( MediaWikiServices $services ): TtmServerFactory {
+ 'Translate:TtmServerFactory' => static function ( MediaWikiServices $services ): TtmServerFactory {
$config = $services->getMainConfig();
$default = $config->get( 'TranslateTranslationDefaultService' );