/** * @param string $string_value * @param string $string_name * @param array|WPML_Package $package * @param string $string_title * @param string $string_type * * @return string */ final function register_string_for_translation($string_value, $string_name, $package, $string_title, $string_type) { $package = new WPML_Package($package); $package_id = $package->ID; if (!$package_id) { // need to create a new record. if ($package->has_kind_and_name()) { $package_id = $this->create_new_package($package); $package = new WPML_Package($package_id); } } if ($package_id) { $this->maybe_update_package($package); $tm = new WPML_Package_TM($package); $tm->validate_translations(); $this->init_package_registered_strings($package_id); $string_name = $package->sanitize_string_name($string_name); $this->set_package_registered_strings($package_id, $string_type, $string_title, $string_name, $string_value); $this->register_string_with_wpml($package, $string_name, $string_title, $string_type, $string_value); } return $string_value; }