$id ] )->get_value(); } ) ); self::macro( 'getBatchId', curryN( 1, function ( $batch ) { return \TranslationProxy_Batch::update_translation_batch( $batch ); } ) ); $setLanguage = curryN( 4, [ $sitepress, 'set_element_language_details' ] ); self::macro( 'setBatchLanguage', $setLanguage( Fns::__, self::EXTERNAL_TYPE, null, Fns::__ ) ); self::macro( 'batchStringsStorage', curryN( 4, function ( callable $saveBatch, $batchId, $stringId, $sourceLang ) { self::setBatchLanguage( $batchId, $sourceLang ); $saveBatch( $batchId, $stringId ); } ) ); $initializeTranslation = StringTranslations::markTranslationsAsInProgress( partial( [ Status::class, 'getStatusesOfBatch' ], $wpdb ) ); Hooks::addHooks( self::getBatchId(), self::batchStringsStorage( Records::set( $wpdb ) ), Records::get( $wpdb ), self::getString() ); Hooks::addStringTranslationStatusHooks( StringTranslations::updateStatus(), $initializeTranslation ); } }