partition( $isString ); $makeBatchPerLanguage = function ( \WPML_TM_Translation_Batch_Element $element ) use ( $getBatchId, $setBatchRecord, $basketName ) { $makeBatchElement = function ( $action, $lang ) use ( $element, $getBatchId, $setBatchRecord, $basketName ) { $batchId = $getBatchId( $basketName . '-' . $lang ); $setBatchRecord( $batchId, $element->get_element_id(), $element->get_source_lang() ); return Fns::makeN( 5, 'WPML_TM_Translation_Batch_Element', $batchId, 'st-batch', $element->get_source_lang(), [ $lang => $action ], [] ); }; return Fns::map( $makeBatchElement, $element->get_target_langs() ); }; $stringElements = $stringElements->map( $makeBatchPerLanguage ) ->flatten() ->unique( invoke( 'get_target_langs' ) ); return $otherElements->merge( $stringElements ) ->toArray(); } ) ); } } Convert::init();