} } } } return $new_strings; } /** * @param array $current_string * @param array $leftover_string * * @return bool */ private function is_same_location_and_different_ids( array $current_string, array $leftover_string ) { return $current_string['location'] === $leftover_string['location'] && $current_string['id'] !== $leftover_string['id']; } /** * @param string $old_text * @param string $new_text * * @return bool */ private function is_similar_text( $old_text, $new_text ) { return WPML_ST_Diff::get_sameness_percent( $old_text, $new_text ) > 50; } /** * @param int[] $strings */ private function reuse_translations( array $strings ) { foreach ( $strings as $new_string_id => $old_string_id ) { if ( $old_string_id ) { $new_string = $this->string_factory->find_by_id( $new_string_id ); $old_string = $this->string_factory->find_by_id( $old_string_id ); $translations = $old_string->get_translations(); foreach ( $translations as $translation ) { $status = $translation->status == ICL_TM_COMPLETE ? ICL_TM_NEEDS_UPDATE : $translation->status; $new_string->set_translation( $translation->language, $translation->value, $status, $translation->translator_id, $translation->translation_service, $translation->batch_id ); } } } } }