}
}
}
}
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
);
}
}
}
}
}