Merge with tizen2.4 beta 60/44960/1 accepted/tizen/mobile/20150730.074507 accepted/tizen/tv/20150730.074727 accepted/tizen/wearable/20150730.074919 submit/tizen/20150730.060703
authorByungWoo Lee <bw1212.lee@samsung.com>
Thu, 30 Jul 2015 05:57:45 +0000 (14:57 +0900)
committerByungWoo Lee <bw1212.lee@samsung.com>
Thu, 30 Jul 2015 05:57:45 +0000 (14:57 +0900)
Change-Id: I952662c8f787cdc4173a4d10134cc3cab5bc0f2b

26 files changed:
packaging/capi-base-utils.spec
src/include/mobile/utils_i18n.h
src/include/mobile/utils_i18n_types.h
src/include/mobile/utils_i18n_ucalendar.h
src/include/mobile/utils_i18n_udate.h
src/include/mobile/utils_i18n_uenumeration.h
src/include/mobile/utils_i18n_unumber.h
src/include/mobile/utils_i18n_usearch.h
src/include/mobile/utils_i18n_uset.h
src/include/wearable/utils_i18n.h
src/include/wearable/utils_i18n_types.h
src/include/wearable/utils_i18n_ucalendar.h
src/include/wearable/utils_i18n_udate.h
src/include/wearable/utils_i18n_uenumeration.h
src/include/wearable/utils_i18n_unumber.h
src/include/wearable/utils_i18n_usearch.h
src/include/wearable/utils_i18n_uset.h
src/utils_i18n_timezone.cpp
src/utils_i18n_ucalendar.c
src/utils_i18n_udate.c
src/utils_i18n_udatepg.c
src/utils_i18n_ulocale.c
src/utils_i18n_unumber.c
src/utils_i18n_usearch.c
src/utils_i18n_uset.c
src/utils_i18n_ustring.c

index b8f5be708f319bdd7eed159194123a97b9a42d77..49229d7edc9b3d99b31365a12fc072eb7c7bf158 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-base-utils
 Summary:    Base Utils
-Version:    1.0.2
+Version:    1.0.5
 Release:    1
 Group:      Base
 License:    Apache-2.0 and ICU
index f0040d2dc1863a0774840ba5b56ab258c9117de4..94a07bdfea736f0fe355ae2d8380a2446155daac 100755 (executable)
@@ -61,6 +61,14 @@ extern "C" {
  *    <td>The Timezone module represents a time zone offset, and also figures out daylight savings.</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>UEnumeration defines functions for handling String Enumeration.</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>Ubrk module defines methods for finding the location of boundaries in text.</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UCOLLATOR_MODULE</td>
  *    <td>Ucollator module performs locale-sensitive string comparison. It builds searching and sorting routines for natural language text and provides correct sorting orders for most locales.</td>
  * </tr>
@@ -77,6 +85,10 @@ extern "C" {
  *    <td>Usearch module provides language-sensitive text searching based on the comparison rules defined in a ucollator data struct.</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>Uset module allows to specify a subset of character used in strings.</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_USTRING_MODULE</td>
  *    <td>Ustring module provides general unicode string handling.</td>
  * </tr>
@@ -247,6 +259,131 @@ extern "C" {
  *    <td>getDSTSavings</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_destroy</td>
+ *    <td>uenum_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_count</td>
+ *    <td>uenum_count</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_unext</td>
+ *    <td>uenum_unext</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_next</td>
+ *    <td>uenum_next</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_reset</td>
+ *    <td>uenum_reset</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_uchar_strings_enumeration_create</td>
+ *    <td>uenum_openUCharStringsEnumeration</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_char_strings_enumeration_create</td>
+ *    <td>uenum_openCharStringsEnumeration</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_create</td>
+ *    <td>ubrk_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_create_rules</td>
+ *    <td>ubrk_openRules</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_safe_clone</td>
+ *    <td>ubrk_safeClone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_destroy</td>
+ *    <td>ubrk_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_set_text</td>
+ *    <td>ubrk_setText</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_current</td>
+ *    <td>ubrk_current</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_next</td>
+ *    <td>ubrk_next</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_preceding</td>
+ *    <td>ubrk_preceding</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_previous</td>
+ *    <td>ubrk_previous</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_first</td>
+ *    <td>ubrk_first</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_last</td>
+ *    <td>ubrk_last</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_following</td>
+ *    <td>ubrk_following</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_available</td>
+ *    <td>ubrk_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_count_available</td>
+ *    <td>ubrk_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_is_boundary</td>
+ *    <td>ubrk_isBoundary</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_rule_status</td>
+ *    <td>ubrk_getRuleStatus</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_rule_status_vec</td>
+ *    <td>ubrk_getRuleStatusVec</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_locale_by_type</td>
+ *    <td>ubrk_getLocaleByType</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
  *    <td>#i18n_ucalendar_set_default_timezone</td>
  *    <td>ucal_setDefaultTimeZone</td>
@@ -327,6 +464,136 @@ extern "C" {
  *    <td>ucal_get</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_clear</td>
+ *    <td>ucal_clear</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_clear_field</td>
+ *    <td>ucal_clearField</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_count_available</td>
+ *    <td>ucal_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_country_timezones_create</td>
+ *    <td>ucal_openCountryTimeZones</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_available</td>
+ *    <td>ucal_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_canonical_timezone_id</td>
+ *    <td>ucal_getCanonicalTimeZoneID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_day_of_week_type</td>
+ *    <td>ucal_getDayOfWeekType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_default_timezone</td>
+ *    <td>ucal_getDefaultTimeZone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_field_difference</td>
+ *    <td>ucal_getFieldDifference</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_gregorian_change</td>
+ *    <td>ucal_getGregorianChange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_keyword_values_for_locale</td>
+ *    <td>ucal_getKeywordValuesForLocale</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_limit</td>
+ *    <td>ucal_getLimit</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_locale_by_type</td>
+ *    <td>ucal_getLocaleByType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_timezone_id</td>
+ *    <td>ucal_getTimeZoneID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_timezone_transition_date</td>
+ *    <td>ucal_getTimeZoneTransitionDate</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_type</td>
+ *    <td>ucal_getType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_tz_data_version</td>
+ *    <td>ucal_getTZDataVersion</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_weekend_transition</td>
+ *    <td>ucal_getWeekendTransition</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_is_set</td>
+ *    <td>ucal_isSet</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_is_weekend</td>
+ *    <td>ucal_isWeekend</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_roll</td>
+ *    <td>ucal_roll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_set_date</td>
+ *    <td>ucal_setDate</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_set_gregorian_change</td>
+ *    <td>ucal_setGregorianChange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_set_timezone</td>
+ *    <td>ucal_setTimeZone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_timezones_create</td>
+ *    <td>ucal_openTimeZones</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_timezone_id_enumeration_create</td>
+ *    <td>ucal_openTimeZoneIDEnumeration</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UCHAR_MODULE</td>
  *    <td>#i18n_uchar_get_int_property_value</td>
  *    <td>u_getIntpropertyValue</td>
@@ -382,6 +649,111 @@ extern "C" {
  *    <td>udat_format</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_apply_pattern</td>
+ *    <td>udat_applyPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_clone</td>
+ *    <td>udat_clone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_count_available</td>
+ *    <td>udat_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_count_symbols</td>
+ *    <td>udat_countSymbols</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_2digit_year_start</td>
+ *    <td>udat_get2DigitYearStart</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_available</td>
+ *    <td>udat_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_calendar</td>
+ *    <td>udat_getCalendar</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_locale_by_type</td>
+ *    <td>udat_getLocaleByType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_number_format</td>
+ *    <td>udat_getNumberFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_symbols</td>
+ *    <td>udat_getSymbols</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_is_lenient</td>
+ *    <td>udat_isLenient</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_parse</td>
+ *    <td>udat_parse</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_parse_calendar</td>
+ *    <td>udat_parseCalendar</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_2digit_year_start</td>
+ *    <td>udat_set2DigitYearStart</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_calendar</td>
+ *    <td>udat_setCalendar</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_context</td>
+ *    <td>udat_setContext</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_lenient</td>
+ *    <td>udat_setLenient</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_number_format</td>
+ *    <td>udat_setNumberFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_symbols</td>
+ *    <td>udat_setSymbols</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_to_calendar_date_field</td>
+ *    <td>udat_toCalendarDateField</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_to_pattern</td>
+ *    <td>udat_toPattern</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
  *    <td>#i18n_udatepg_create</td>
  *    <td>udatpg_open</td>
@@ -397,79 +769,425 @@ extern "C" {
  *    <td>udatpg_getBestPattern</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_default</td>
- *    <td>uloc_getDefault</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_add_pattern</td>
+ *    <td>udatpg_addPattern</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_set_default</td>
- *    <td>uloc_setDefault</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_base_skeletons_create</td>
+ *    <td>udatpg_openBaseSkeletons</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_language</td>
- *    <td>uloc_getLanguage</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_clone</td>
+ *    <td>udatpg_clone</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_country</td>
- *    <td>uloc_getCountry</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_create_empty</td>
+ *    <td>udatpg_openEmpty</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_display_name</td>
- *    <td>uloc_getDisplayName</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_append_item_format</td>
+ *    <td>udatpg_getAppendItemFormat</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_available</td>
- *    <td>uloc_getAvailable</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_append_item_name</td>
+ *    <td>udatpg_getAppendItemName</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_count_available</td>
- *    <td>uloc_countAvailable</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_base_skeleton</td>
+ *    <td>udatpg_getBaseSkeleton</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
- *    <td>#i18n_unormalization_get_instance</td>
- *    <td>unorm2_getInstance</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_best_pattern_with_options</td>
+ *    <td>udatpg_getBestPatternWithOptions</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
- *    <td>#i18n_unormalization_normalize</td>
- *    <td>unorm2_normalize</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_date_time_format</td>
+ *    <td>udatpg_getDateTimeFormat</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
- *    <td>#i18n_unumber_create</td>
- *    <td>unum_open</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_decimal</td>
+ *    <td>udatpg_getDecimal</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
- *    <td>#i18n_unumber_destroy</td>
- *    <td>unum_close</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_pattern_for_skeleton</td>
+ *    <td>udatpg_getPatternForSkeleton</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
- *    <td>#i18n_unumber_get_symbol</td>
- *    <td>unum_getSymbol</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_skeleton</td>
+ *    <td>udatpg_getSkeleton</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
- *    <td>#i18n_usearch_create_new</td>
- *    <td>usearch_open</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_replace_field_types</td>
+ *    <td>udatpg_replaceFieldTypes</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
- *    <td>#i18n_usearch_destroy</td>
- *    <td>usearch_close</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_replace_field_types_with_options</td>
+ *    <td>udatpg_replaceFieldTypesWithOptions</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
- *    <td>#i18n_usearch_get_matched_text</td>
- *    <td>usearch_getMatchedText</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_append_item_format</td>
+ *    <td>udatpg_setAppendItemFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_append_item_name</td>
+ *    <td>udatpg_setAppendItemName</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_date_time_format</td>
+ *    <td>udatpg_setDateTimeFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_decimal</td>
+ *    <td>udatpg_setDecimal</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_skeletons_create</td>
+ *    <td>udatpg_openSkeletons</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_default</td>
+ *    <td>uloc_getDefault</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_set_default</td>
+ *    <td>uloc_setDefault</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_language</td>
+ *    <td>uloc_getLanguage</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_country</td>
+ *    <td>uloc_getCountry</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_name</td>
+ *    <td>uloc_getDisplayName</td>
+ * </tr>
+ *
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_add_likely_subtags</td>
+ *    <td>uloc_addLikelySubtags</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_canonicalize</td>
+ *    <td>uloc_canonicalize</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_for_language_tag</td>
+ *    <td>uloc_forLanguageTag</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_base_name</td>
+ *    <td>uloc_getBaseName</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_character_orientation</td>
+ *    <td>uloc_getCharacterOrientation</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_country</td>
+ *    <td>uloc_getDisplayCountry</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_keyword</td>
+ *    <td>uloc_getDisplayKeyword</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_keyword_value</td>
+ *    <td>uloc_getDisplayKeywordValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_language</td>
+ *    <td>uloc_getDisplayLanguage</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_script</td>
+ *    <td>uloc_getDisplayScript</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_variant</td>
+ *    <td>uloc_getDisplayVariant</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso3_country</td>
+ *    <td>uloc_getISO3Country</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso3_language</td>
+ *    <td>uloc_getISO3Language</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso_countries</td>
+ *    <td>uloc_getISOCountries</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso_languages</td>
+ *    <td>uloc_getISOLanguages</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_keyword_value</td>
+ *    <td>uloc_getKeywordValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_lcid</td>
+ *    <td>uloc_getLCID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_line_orientation</td>
+ *    <td>uloc_getLineOrientation</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_locale_for_lcid</td>
+ *    <td>uloc_getLocaleForLCID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_name</td>
+ *    <td>uloc_getName</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_parent</td>
+ *    <td>uloc_getParent</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_script</td>
+ *    <td>uloc_getScript</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_variant</td>
+ *    <td>uloc_getVariant</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_keywords_create</td>
+ *    <td>uloc_openKeywords</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_minimize_subtags</td>
+ *    <td>uloc_minimizeSubtags</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_set_keyword_value</td>
+ *    <td>uloc_setKeywordValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_to_language_tag</td>
+ *    <td>uloc_toLanguageTag</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_available</td>
+ *    <td>uloc_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_count_available</td>
+ *    <td>uloc_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
+ *    <td>#i18n_unormalization_get_instance</td>
+ *    <td>unorm2_getInstance</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
+ *    <td>#i18n_unormalization_normalize</td>
+ *    <td>unorm2_normalize</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_create</td>
+ *    <td>unum_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_destroy</td>
+ *    <td>unum_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_symbol</td>
+ *    <td>unum_getSymbol</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_apply_pattern</td>
+ *    <td>unum_applyPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_clone</td>
+ *    <td>unum_clone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_count_available</td>
+ *    <td>unum_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format</td>
+ *    <td>unum_format</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_decimal</td>
+ *    <td>unum_formatDecimal</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_double</td>
+ *    <td>unum_formatDouble</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_double_currency</td>
+ *    <td>unum_formatDoubleCurrency</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_int64</td>
+ *    <td>unum_formatInt64</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_attribute</td>
+ *    <td>unum_getAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_available</td>
+ *    <td>unum_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_double_attribute</td>
+ *    <td>unum_getDoubleAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_locale_by_type</td>
+ *    <td>unum_getLocaleByType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_text_attribute</td>
+ *    <td>unum_getTextAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse</td>
+ *    <td>unum_parse</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_decimal</td>
+ *    <td>unum_parseDecimal</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_double</td>
+ *    <td>unum_parseDouble</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_double_currency</td>
+ *    <td>unum_parseDoubleCurrency</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_int64</td>
+ *    <td>unum_parseInt64</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_attribute</td>
+ *    <td>unum_setAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_double_attribute</td>
+ *    <td>unum_setDoubleAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_symbol</td>
+ *    <td>unum_setSymbol</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_text_attribute</td>
+ *    <td>unum_setTextAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_to_pattern</td>
+ *    <td>unum_toPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
+ *    <td>#i18n_usearch_create_new</td>
+ *    <td>usearch_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
+ *    <td>#i18n_usearch_destroy</td>
+ *    <td>usearch_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
+ *    <td>#i18n_usearch_get_matched_text</td>
+ *    <td>usearch_getMatchedText</td>
  * </tr>
  * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
@@ -482,6 +1200,286 @@ extern "C" {
  *    <td>usearch_first</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create_empty</td>
+ *    <td>uset_openEmpty</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create</td>
+ *    <td>uset_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create_pattern</td>
+ *    <td>uset_openPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create_pattern_options</td>
+ *    <td>uset_openPatternOptions</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_destroy</td>
+ *    <td>uset_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_clone</td>
+ *    <td>uset_clone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_is_frozen</td>
+ *    <td>uset_isFrozen</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_freeze</td>
+ *    <td>uset_freeze</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_clone_as_thawed</td>
+ *    <td>uset_cloneAsThawed</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_set</td>
+ *    <td>uset_set</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_apply_pattern</td>
+ *    <td>uset_applyPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_apply_int_property_value</td>
+ *    <td>uset_applyIntPropertyValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_apply_property_alias</td>
+ *    <td>uset_applyPropertyAlias</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_resembles_pattern</td>
+ *    <td>uset_resemblesPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_to_pattern</td>
+ *    <td>uset_toPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add</td>
+ *    <td>uset_add</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_all</td>
+ *    <td>uset_addAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_range</td>
+ *    <td>uset_addRange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_string</td>
+ *    <td>uset_addString</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_all_code_points</td>
+ *    <td>uset_addAllCodePoints</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove</td>
+ *    <td>uset_remove</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_range</td>
+ *    <td>uset_removeRange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_string</td>
+ *    <td>uset_removeString</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_all</td>
+ *    <td>uset_removeAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_retain</td>
+ *    <td>uset_retain</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_retain_all</td>
+ *    <td>uset_retainAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_compact</td>
+ *    <td>uset_compact</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_complement</td>
+ *    <td>uset_complement</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_complement_all</td>
+ *    <td>uset_complementAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_clear</td>
+ *    <td>uset_clear</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_destroy_over</td>
+ *    <td>uset_closeOver</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_all_strings</td>
+ *    <td>uset_removeAllStrings</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_is_empty</td>
+ *    <td>uset_isEmpty</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains</td>
+ *    <td>uset_contains</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_range</td>
+ *    <td>uset_containsRange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_string</td>
+ *    <td>uset_containsString</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_index_of</td>
+ *    <td>uset_indexOf</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_char_at</td>
+ *    <td>uset_charAt</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_size</td>
+ *    <td>uset_size</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_item_count</td>
+ *    <td>uset_getItemCount</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_item</td>
+ *    <td>uset_getItem</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_all</td>
+ *    <td>uset_containsAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_all_code_points</td>
+ *    <td>uset_containsAllCodePoints</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_none</td>
+ *    <td>uset_containsNone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_some</td>
+ *    <td>uset_containsSome</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span</td>
+ *    <td>uset_span</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span_back</td>
+ *    <td>uset_spanBack</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span_utf8</td>
+ *    <td>uset_spanUTF8</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span_back_utf8</td>
+ *    <td>uset_spanBackUTF8</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_equals</td>
+ *    <td>uset_equals</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_serialize</td>
+ *    <td>uset_serialize</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_serialized_set</td>
+ *    <td>uset_getSerializedSet</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_set_serialized_to_one</td>
+ *    <td>uset_setSerializedToOne</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_serialized_contains</td>
+ *    <td>uset_serializedContains</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_serialized_range_count</td>
+ *    <td>uset_getSerializedRangeCount</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_serialized_range</td>
+ *    <td>uset_getSerializedRange</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_USTRING_MODULE</td>
  *    <td>#i18n_ustring_get_length</td>
  *    <td>u_strlen</td>
index 1ed1863e13eea0a5a189b62a0f6a64b08f57d4f1..a833e080165b8a4214d7ca33fe72db07ff173402 100644 (file)
@@ -1076,7 +1076,7 @@ typedef enum {
  */
 
 /**
- * @brief i18n_unormalizer_h.
+ * @brief i18n_usearch_h.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef void* i18n_usearch_h;
@@ -1373,7 +1373,7 @@ typedef enum {
     I18N_UDATE_FORMAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD, /**< Timezone localized gmt offset field */
     I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD,                  /**< Timezone ISO field */
     I18N_UDATE_FORMAT_TIMEZONE_ISO_LOCAL_FIELD,            /**< Timezone ISO local field */
-    I18N_UDATE_FORMAT_FIELD_COUNT = 35                     /**< Field count */
+    I18N_UDATE_FORMAT_FIELD_COUNT                          /**< Field count */
 } i18n_udate_format_field_e;
 
 /**
index 2c6ab1d78f52379f3fc37c1601320c24c72d074b..8dae45811bcdb4e5f43ed36e71ef2ef141ba88b0 100644 (file)
@@ -203,7 +203,7 @@ int i18n_ucalendar_clone ( const i18n_ucalendar_h cal, i18n_ucalendar_h *identic
  *
  * @param[in] calendar     The #i18n_ucalendar_h to query
  * @param[in] type         The desired display name format \n
- *                          One of #I18N_UCALENDAR_STANDARD, #I18N_UCALENDAR_SHORT_STANDARD, #I18N_UCALENDAR_DST, or #I18N_UCALENDAR_SHORT_DST
+ *                         One of #I18N_UCALENDAR_STANDARD, #I18N_UCALENDAR_SHORT_STANDARD, #I18N_UCALENDAR_DST, or #I18N_UCALENDAR_SHORT_DST
  * @param[in] locale       The desired locale for the display name
  * @param[out] result      A pointer to a buffer to receive the formatted number
  * @param[in] result_len The maximum size of the result
@@ -359,7 +359,7 @@ int i18n_ucalendar_is_equivalent_to ( const i18n_ucalendar_h calendar1, const i1
  * @param[in] field The field to which to add the signed value\n One of #I18N_UCALENDAR_ERA, #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH,
  * #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR, #I18N_UCALENDAR_DAY_OF_WEEK,
  * #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE, #I18N_UCALENDAR_SECOND,
- * #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET, or #I18N_UCALENDAR_DST_OFFSET.
+ * #I18N_UCALENDAR_MILLISECOND.
  * @param[in] amount The signed amount to add to the field \n
  *              If the amount causes the value to exceed to maximum or minimum values for that field,
  *              other fields are modified to preserve the magnitude of the change.
@@ -410,8 +410,10 @@ int i18n_ucalendar_get ( const i18n_ucalendar_h calendar, i18n_ucalendar_date_fi
  *                     #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE,
  *                     #I18N_UCALENDAR_DAY_OF_YEAR, #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH,
  *                     #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE,
- *                     #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET,
- *                     #I18N_UCALENDAR_DST_OFFSET.
+ *                     #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND.
+ *                     <strong>Please note</strong> that the returned value type is int32_t. In case of #I18N_UCALENDAR_MILLISECOND, maximal
+ *                     difference between dates may be equal to the maximal value of the int32_t, which is 2147483647 (about one month difference).
+ *                     If the difference is bigger, then the #I18N_ERROR_INVALID_PARAMETER error will be returned.
  * @param[out] status  A pointer to an i18n_error_code_e to receive any errors
  *
  * @return The date difference for the specified field.
@@ -654,13 +656,8 @@ int i18n_ucalendar_roll (i18n_ucalendar_h calendar, i18n_ucalendar_date_fields_e
  * @since_tizen 2.3.1
  *
  * @param[in] calendar The #i18n_ucalendar_h to query.
- * @param[in] field The field to which to add the signed value; one of #I18N_UCALENDAR_ERA,
- *      #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH, #I18N_UCALENDAR_WEEK_OF_YEAR,
- *      #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR,
- *      #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM,
- *      #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE,
- *      #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET,
- *      #I18N_UCALENDAR_DST_OFFSET.
+ * @param[in] field    The desired field.
+ *
  * @return @c true if field is set, @c false otherwise.
  * @exception #I18N_ERROR_NONE Successful
  * @exception #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
@@ -678,13 +675,7 @@ i18n_ubool i18n_ucalendar_is_set (const i18n_ucalendar_h calendar, i18n_ucalenda
  * @since_tizen 2.3.1
  *
  * @param[in] calendar The #i18n_ucalendar_h containing the field to clear.
- * @param[in] field The field to which to add the signed value; one of #I18N_UCALENDAR_ERA,
- *      #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH, #I18N_UCALENDAR_WEEK_OF_YEAR,
- *      #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR,
- *      #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM,
- *      #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE,
- *      #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET,
- *      #I18N_UCALENDAR_DST_OFFSET.
+ * @param[in] field    The field to clear.
  *
  * @return Error code
  * @retval #I18N_ERROR_NONE Successful
@@ -716,22 +707,25 @@ int i18n_ucalendar_clear_field (i18n_ucalendar_h calendar, i18n_ucalendar_date_f
 int i18n_ucalendar_clear (i18n_ucalendar_h calendar);
 
 /**
- * @brief Determines a limit for a field in a #i18n_ucalendar_h.
+ * @brief Determines a limit for a field in an #i18n_ucalendar_h.
  * @details A limit is a maximum or minimum value for a field.
- * @remarks The specific error code can be obtained using the get_last_result()
- *      method. Error codes are described in Exceptions section and
- *      #i18n_error_code_e description.
+ * @remarks The specific error code can be obtained using the get_last_result() method.
+ *          Error codes are described in Exceptions section and #i18n_error_code_e description.
  * @since_tizen 2.3.1
  *
  * @param[in] calendar The #i18n_ucalendar_h to query.
- * @param[in] field The desired field; one of #I18N_UCALENDAR_ERA, #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH,
- *      #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR,
- *      #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR,
- *      #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE, #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND,
- *      #I18N_UCALENDAR_ZONE_OFFSET, #I18N_UCALENDAR_DST_OFFSET.
- * @param[in] type The desired critical point; one of #I18N_UCALENDAR_MINIMUM, #I18N_UCALENDAR_MAXIMUM,
- *      #I18N_UCALENDAR_GREATEST_MINIMUM, #I18N_UCALENDAR_LEAST_MAXIMUM, #I18N_UCALENDAR_ACTUAL_MINIMUM,
- *       #I18N_UCALENDAR_ACTUAL_MAXIMUM
+ * @param[in] field    The desired field; one of #I18N_UCALENDAR_ERA, #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH,
+ *                     #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE,
+ *                     #I18N_UCALENDAR_DAY_OF_YEAR, #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH,
+ *                     #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY,
+ *                     #I18N_UCALENDAR_MINUTE, #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND,
+ *                     #I18N_UCALENDAR_ZONE_OFFSET, #I18N_UCALENDAR_DST_OFFSET, #I18N_UCALENDAR_YEAR_WOY,
+ *                     #I18N_UCALENDAR_DOW_LOCAL, #I18N_UCALENDAR_EXTENDED_YEAR, #I18N_UCALENDAR_JULIAN_DAY,
+ *                     #I18N_UCALENDAR_MILLISECONDS_IN_DAY, #I18N_UCALENDAR_IS_LEAP_MONTH.
+ * @param[in] type     The desired critical point; one of #I18N_UCALENDAR_MINIMUM, #I18N_UCALENDAR_MAXIMUM,
+ *                     #I18N_UCALENDAR_GREATEST_MINIMUM, #I18N_UCALENDAR_LEAST_MAXIMUM,
+ *                     #I18N_UCALENDAR_ACTUAL_MINIMUM, #I18N_UCALENDAR_ACTUAL_MAXIMUM.
+ *
  * @exception #I18N_ERROR_NONE Successful
  * @exception #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
  *
index 0ea5702913e8b6ed7fa30ea7c3b5771d4ac59c33..f5eb738166ce5852f155f06d33aa60a398653201 100644 (file)
@@ -179,11 +179,12 @@ extern "C" {
  * are not currently supported).
  * @param[in] date_style The style used to format dates\n One of #I18N_UDATE_FULL, #I18N_UDATE_LONG,
  * #I18N_UDATE_MEDIUM, #I18N_UDATE_SHORT, #I18N_UDATE_DEFAULT, #I18N_UDATE_RELATIVE, #I18N_UDATE_LONG_RELATIVE,
- * #I18N_UDATE_MEDIUM_RELATIVE, #I18N_UDATE_SHORT_RELATIVE, or #I18N_UDATE_NONE
+ * #I18N_UDATE_MEDIUM_RELATIVE, #I18N_UDATE_SHORT_RELATIVE, #I18N_UDATE_PATTERN, or #I18N_UDATE_NONE
  * @param[in] locale The locale specifying the formatting conventions.
  * @param[in] tz_id A timezone ID specifying the timezone to use\n  If @c 0, use the default timezone.
  * @param[in] tz_id_len The length of @a tz_id, otherwise @c -1 if NULL-terminated.
  * @param[in] pattern A pattern specifying the format to use. The pattern is generated by Udatepg module.
+ * When the pattern parameter is used, pass in #I18N_UDATE_PATTERN for both time_style and date_style.
  * @param[in] pattern_len The number of characters in the pattern, or otherwise @c -1 if NULL-terminated.
  * @param[out] format A pointer to an #i18n_udate_format_h to use for formatting dates and times, otherwise @c 0 if an error occurs.
  *
@@ -237,8 +238,8 @@ int i18n_udate_format_date ( const i18n_udate_format_h format, i18n_udate date_t
  * @details Note: since the mapping is many-to-one, there is no inverse mapping.
  * @since_tizen 2.3.1
  *
- * @param[in] field The #i18n_udate_format_h to map. 
- *     #I18N_UDATE_FORMAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD, #I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD, 
+ * @param[in] field The #i18n_udate_format_h to map.
+ *     #I18N_UDATE_FORMAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD, #I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD,
  *     #I18N_UDATE_FORMAT_TIMEZONE_ISO_LOCAL_FIELD and #I18N_UDATE_FORMAT_FIELD_COUNT are not supported.
  * @param[out] date_field_type A pointer to the #i18n_ucalendar_date_fields_e.
  *
@@ -526,15 +527,9 @@ int i18n_udate_apply_pattern ( i18n_udate_format_h format, i18n_ubool localized,
  *
  * @param[in] format        The #i18n_udate_format_h to query.
  * @param[in] type          The type of symbols to get.
- *                          One of #I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_MONTHS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_MONTHS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_WEEKDAYS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_WEEKDAYS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_AM_PMS,
- *                          or #I18N_UDATE_FORMAT_SYMBOL_TYPE_LOCALIZED_CHARS
+ *                          All the types defined in the #i18n_udate_format_symbol_type_e enumeration are supported.
  * @param[in] symbol_index  The desired symbol of type type.
- * @param[out] result    A pointer to a buffer to receive the pattern.
+ * @param[out] result       A pointer to a buffer to receive the pattern.
  * @param[in] result_length The maximum size of the result buffer.
  *
  * @return The total buffer size needed; if greater than result_length, the output was truncated.
@@ -556,13 +551,7 @@ int32_t i18n_udate_get_symbols ( const i18n_udate_format_h format, i18n_udate_fo
  *
  * @param[in] format The #i18n_udate_format_h to query.
  * @param[in] type   The type of symbols to count.
- *                   One of #I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_MONTHS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_MONTHS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_WEEKDAYS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_WEEKDAYS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_AM_PMS,
- *                   or #I18N_UDATE_FORMAT_SYMBOL_TYPE_LOCALIZED_CHARS
+ *                   If wrong type is passed, 0 will be returned.
  *
  * @return The number of symbols of type @a type.
  *
@@ -582,18 +571,13 @@ int32_t i18n_udate_count_symbols ( const i18n_udate_format_h format, i18n_udate_
  *
  * @param[in] format       The #i18n_udate_format_h to set.
  * @param[in] type         The type of symbols to set.
- *                         One of #I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_MONTHS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_MONTHS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_WEEKDAYS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_WEEKDAYS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_AM_PMS,
- *                         or #I18N_UDATE_FORMAT_SYMBOL_TYPE_LOCALIZED_CHARS
+ *                         All the types defined in the #i18n_udate_format_symbol_type_e enumeration are supported.
+ *                         If a type not defined in the enumeration is passed, then the #I18N_ERROR_NOT_SUPPORTED error is returned.
  * @param[in] symbol_index The index of the symbol to set of type type.
  * @param[in] value        The new value.
- * @param[in] value_length The length of value, or -1 if NULL-terminated.
+ * @param[in] value_length The length of @a value, or @c -1 if NULL-terminated.
  *
- * @return Error code. Error codes not listed below are described in #i18n_error_code_e
+ * @return Error code. Error codes not listed below are described in the #i18n_error_code_e enumeration.
  * @retval #I18N_ERROR_NONE Successful
  * @retval #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
  *
index 05285eb80060008f9188dc0219cfb63883a053b8..bbfe620ff89cdb971d2da818261cda407a31e386 100755 (executable)
@@ -32,13 +32,14 @@ extern "C" {
 /**
  * @ingroup CAPI_BASE_UTILS_I18N_MODULE
  * @defgroup CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE UEnumeration
- * @brief Ubrk defines methods for finding the location of boundaries in text.
+ * @brief UEnumeration defines functions for handling String Enumeration.
  *
  * @section CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE_HEADER Required Header
  *  \#include <utils_i18n.h>
  *
  * @section CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE_OVERVIEW Overview
- * @details Pointer to a UBreakIterator maintain a current position and scan over text returning the index of characters where boundaries occur.
+ * @details The UEnumeration module allows to create String Enumeration
+ *          from chars and uchars.
  *
 */
 
index d4f7f564d25eb2cdca3c00aa50ddb1f4a347707a..c25d66532a986da300f2ccf27998f1ba18db2e71 100644 (file)
@@ -272,7 +272,7 @@ int32_t i18n_unumber_format_decimal (const i18n_unumber_format_h fmt, const char
  *
  * @param[in] fmt               The formatter to use.
  * @param[in] number            The number to format.
- * @param[in] currency          The length of the input @a number, or -1 if the input is NULL-terminated.
+ * @param[in] currency          The 3-letter NULL-terminated ISO 4217 currency code.
  * @param[out] result           A pointer to a buffer to receive the NULL-terminated formatted number.
  *                              If the formatted number fits into @a result but cannot be NULL-terminated (<code>length == result_length</code>)
  *                              then the error code is set to #I18N_WARNING_STRING_NOT_TERMINATED.
@@ -467,7 +467,7 @@ int32_t i18n_unumber_count_available (void);
  *                      #I18N_UNUMBER_ROUNDING_MODE, #I18N_UNUMBER_FORMAT_WIDTH, #I18N_UNUMBER_PADDING_POSITION,
  *                      #I18N_UNUMBER_SECONDARY_GROUPING_SIZE, #I18N_UNUM_SCALE.
  *
- * @return The value of @a attr.
+ * @return The value of @a attr or @c -1 if the given attribute is not supported.
  *
  * @exception #I18N_ERROR_NONE Successful
  * @exception #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
@@ -478,7 +478,7 @@ int32_t i18n_unumber_get_attribute (const i18n_unumber_format_h fmt, i18n_unumbe
  * @brief Sets a numeric attribute associated with an #i18n_unumber_format_h.
  * @details An example of a numeric attribute is the number of integer digits a formatter will produce.
  *          If the formatter does not understand the attribute, the call is ignored. Rule-based formatters only understand
- *          the lenient-parse attribute.
+ *          the lenient-parse attribute. The #I18N_UNUMBER_ROUNDING_INCREMENT attribute is not supported.
  * @remarks Error codes are described in #i18n_error_code_e description.
  * @since_tizen 2.3.1
  *
@@ -488,7 +488,9 @@ int32_t i18n_unumber_get_attribute (const i18n_unumber_format_h fmt, i18n_unumbe
  *                       #I18N_UNUMBER_INTEGER_DIGITS, #I18N_UNUMBER_MAX_FRACTION_DIGITS, #I18N_UNUMBER_MIN_FRACTION_DIGITS,
  *                       #I18N_UNUMBER_FRACTION_DIGITS, #I18N_UNUMBER_MULTIPLIER, #I18N_UNUMBER_GROUPING_SIZE,
  *                       #I18N_UNUMBER_ROUNDING_MODE, #I18N_UNUMBER_FORMAT_WIDTH, #I18N_UNUMBER_PADDING_POSITION,
- *                       #I18N_UNUMBER_SECONDARY_GROUPING_SIZE, #I18N_UNUM_SCALE.
+ *                       #I18N_UNUMBER_SECONDARY_GROUPING_SIZE, #I18N_UNUMBER_SIGNIFICANT_DIGITS_USED, #I18N_UNUMBER_MIN_SIGNIFICANT_DIGITS,
+ *                       #I18N_UNUMBER_MAX_SIGNIFICANT_DIGITS, #I18N_UNUMBER_LENIENT_PARSE, #I18N_UNUM_SCALE,
+ *                       #I18N_UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS, #I18N_UNUM_PARSE_NO_EXPONENT.
  * @param[in] new_value  The new value of @a attr.
  *
  * @return The obtained error code.
@@ -523,7 +525,7 @@ double i18n_unumber_get_double_attribute (const i18n_unumber_format_h fmt, i18n_
  * @since_tizen 2.3.1
  *
  * @param[in] fmt        The formatter to set.
- * @param[in] attr       The attribute to query; e.g. #I18N_UNUMBER_ROUNDING_INCREMENT.
+ * @param[in] attr       The attribute to query; Only #I18N_UNUMBER_ROUNDING_INCREMENT is supported.
  * @param[in] new_value  The new value of @a attr.
  *
  * @return The obtained error code.
@@ -558,16 +560,16 @@ int32_t i18n_unumber_get_text_attribute (const i18n_unumber_format_h fmt, i18n_u
 /**
  * @brief Sets a text attribute associated with an #i18n_unumber_format_h.
  * @details An example of a text attribute is the suffix for positive numbers. Rule-based formatters only understand
- *          #I18N_UNUMBER_DEFAULT_RULESET.
+ *          #I18N_UNUMBER_DEFAULT_RULESET. The #I18N_UNUMBER_PUBLIC_RULESETS tag is not supported.
  * @remarks Error codes are described in #i18n_error_code_e description.
  * @since_tizen 2.3.1
  *
- * @param[in] fmt                The formatter to query.
- * @param[in] tag                The attribute to query; one of #I18N_UNUMBER_POSITIVE_PREFIX, #I18N_UNUMBER_POSITIVE_SUFFIX,
+ * @param[in] fmt                The formatter to set.
+ * @param[in] tag                The attribute to set; one of #I18N_UNUMBER_POSITIVE_PREFIX, #I18N_UNUMBER_POSITIVE_SUFFIX,
  *                               #I18N_UNUMBER_NEGATIVE_PREFIX, #I18N_UNUMBER_NEGATIVE_SUFFIX, #I18N_UNUMBER_PADDING_CHARACTER,
- *                               #I18N_UNUMBER_CURRENCY_CODE, #I18N_UNUMBER_DEFAULT_RULESET, or #I18N_UNUMBER_PUBLIC_RULESETS.
- * @param[out] new_value         A pointer to a buffer to receive the attribute.
- * @param[in] new_value_length   The maximum size of @a new_value.
+ *                               #I18N_UNUMBER_CURRENCY_CODE, #I18N_UNUMBER_DEFAULT_RULESET.
+ * @param[in] new_value          The new value of @a tag.
+ * @param[in] new_value_length   The length of new_value, or -1 if NULL-terminated.
  *
  * @return The obtained error code.
  * @retval #I18N_ERROR_NONE Successful.
index 9a7b90ca285610b0ae3b73cbaeb92058c81aff65..a770cf6f6f1f6ed05165c586735d0f2b91dce79a 100755 (executable)
@@ -152,7 +152,7 @@ int i18n_usearch_destroy ( i18n_usearch_h search_iter );
  * is not possible.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in]  search_iter The search iterator data struct
+ * @param[in]  search_iter The search iterator handle
  * @param[out] result i18n_uchar The buffer to store the matched string
  * @param[in]  result_capacity The length of the result buffer
  * @param[out] len_matched_text The exact length of the matched text, not counting the NULL-termination
@@ -170,7 +170,7 @@ int i18n_usearch_get_matched_text ( const i18n_usearch_h search_iter, i18n_uchar
  * i18n_usearch_destroy() will delete the collator if this search owns it.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] search_iter The search iterator data struct
+ * @param[in] search_iter The search iterator handle
  * @param[out] collator The collator
  *
  * @retval #I18N_ERROR_NONE Successful
@@ -186,7 +186,7 @@ int i18n_usearch_get_collator ( const i18n_usearch_h search_iter, i18n_ucollator
  * the iterator will be adjusted to the index #I18N_USEARCH_DONE.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] search_iter The search iterator data struct
+ * @param[in] search_iter The search iterator handle
  * @param[out] index_first The character index of the first match,
  * otherwise #I18N_USEARCH_DONE if there are no matches.
  *
index 2515dc167d78803b1be70ccc893342ae8e7e4cdc..6cf528e4ac959c3565f5d7967b781d9c4f44142f 100755 (executable)
@@ -36,13 +36,13 @@ extern "C" {
 /**
  * @ingroup CAPI_BASE_UTILS_I18N_MODULE
  * @defgroup CAPI_BASE_UTILS_I18N_USET_MODULE Uset
- * @brief C API: Unicode Set.
+ * @brief Uset module allows to specify a subset of character used in strings.
  *
  * @section CAPI_BASE_UTILS_I18N_USET_MODULE_HEADER Required Header
  *  \#include <utils_i18n.h>
  *
  * @section CAPI_BASE_UTILS_I18N_USET_MODULE_OVERVIEW Overview
- * @details The Uset module is a C wrapper around the C++ UnicodeSet class.
+ * @details Uset module allows to specify a subset of character used in strings.
  */
 
 /**
@@ -1056,7 +1056,7 @@ i18n_ubool i18n_uset_equals (const i18n_uset_h set1, const i18n_uset_h set2);
  * @since_tizen 2.3.1
  *
  * @param[in] set               the set. Must not be @c NULL.
- * @param[in] dest              pointer to buffer of @a dest_capacity 16-bit integers
+ * @param[out] dest             pointer to buffer of @a dest_capacity 16-bit integers
  *                              May be NULL only if @a dest_capacity is zero.
  * @param[in] dest_capacity     size of @a dest, or zero
  *                              Must not be negative.
index f0040d2dc1863a0774840ba5b56ab258c9117de4..94a07bdfea736f0fe355ae2d8380a2446155daac 100755 (executable)
@@ -61,6 +61,14 @@ extern "C" {
  *    <td>The Timezone module represents a time zone offset, and also figures out daylight savings.</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>UEnumeration defines functions for handling String Enumeration.</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>Ubrk module defines methods for finding the location of boundaries in text.</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UCOLLATOR_MODULE</td>
  *    <td>Ucollator module performs locale-sensitive string comparison. It builds searching and sorting routines for natural language text and provides correct sorting orders for most locales.</td>
  * </tr>
@@ -77,6 +85,10 @@ extern "C" {
  *    <td>Usearch module provides language-sensitive text searching based on the comparison rules defined in a ucollator data struct.</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>Uset module allows to specify a subset of character used in strings.</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_USTRING_MODULE</td>
  *    <td>Ustring module provides general unicode string handling.</td>
  * </tr>
@@ -247,6 +259,131 @@ extern "C" {
  *    <td>getDSTSavings</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_destroy</td>
+ *    <td>uenum_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_count</td>
+ *    <td>uenum_count</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_unext</td>
+ *    <td>uenum_unext</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_next</td>
+ *    <td>uenum_next</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_reset</td>
+ *    <td>uenum_reset</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_uchar_strings_enumeration_create</td>
+ *    <td>uenum_openUCharStringsEnumeration</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE</td>
+ *    <td>#i18n_uenumeration_char_strings_enumeration_create</td>
+ *    <td>uenum_openCharStringsEnumeration</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_create</td>
+ *    <td>ubrk_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_create_rules</td>
+ *    <td>ubrk_openRules</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_safe_clone</td>
+ *    <td>ubrk_safeClone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_destroy</td>
+ *    <td>ubrk_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_set_text</td>
+ *    <td>ubrk_setText</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_current</td>
+ *    <td>ubrk_current</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_next</td>
+ *    <td>ubrk_next</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_preceding</td>
+ *    <td>ubrk_preceding</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_previous</td>
+ *    <td>ubrk_previous</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_first</td>
+ *    <td>ubrk_first</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_last</td>
+ *    <td>ubrk_last</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_following</td>
+ *    <td>ubrk_following</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_available</td>
+ *    <td>ubrk_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_count_available</td>
+ *    <td>ubrk_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_is_boundary</td>
+ *    <td>ubrk_isBoundary</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_rule_status</td>
+ *    <td>ubrk_getRuleStatus</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_rule_status_vec</td>
+ *    <td>ubrk_getRuleStatusVec</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UBRK_MODULE</td>
+ *    <td>#i18n_ubrk_get_locale_by_type</td>
+ *    <td>ubrk_getLocaleByType</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
  *    <td>#i18n_ucalendar_set_default_timezone</td>
  *    <td>ucal_setDefaultTimeZone</td>
@@ -327,6 +464,136 @@ extern "C" {
  *    <td>ucal_get</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_clear</td>
+ *    <td>ucal_clear</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_clear_field</td>
+ *    <td>ucal_clearField</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_count_available</td>
+ *    <td>ucal_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_country_timezones_create</td>
+ *    <td>ucal_openCountryTimeZones</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_available</td>
+ *    <td>ucal_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_canonical_timezone_id</td>
+ *    <td>ucal_getCanonicalTimeZoneID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_day_of_week_type</td>
+ *    <td>ucal_getDayOfWeekType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_default_timezone</td>
+ *    <td>ucal_getDefaultTimeZone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_field_difference</td>
+ *    <td>ucal_getFieldDifference</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_gregorian_change</td>
+ *    <td>ucal_getGregorianChange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_keyword_values_for_locale</td>
+ *    <td>ucal_getKeywordValuesForLocale</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_limit</td>
+ *    <td>ucal_getLimit</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_locale_by_type</td>
+ *    <td>ucal_getLocaleByType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_timezone_id</td>
+ *    <td>ucal_getTimeZoneID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_timezone_transition_date</td>
+ *    <td>ucal_getTimeZoneTransitionDate</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_type</td>
+ *    <td>ucal_getType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_tz_data_version</td>
+ *    <td>ucal_getTZDataVersion</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_get_weekend_transition</td>
+ *    <td>ucal_getWeekendTransition</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_is_set</td>
+ *    <td>ucal_isSet</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_is_weekend</td>
+ *    <td>ucal_isWeekend</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_roll</td>
+ *    <td>ucal_roll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_set_date</td>
+ *    <td>ucal_setDate</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_set_gregorian_change</td>
+ *    <td>ucal_setGregorianChange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_set_timezone</td>
+ *    <td>ucal_setTimeZone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_timezones_create</td>
+ *    <td>ucal_openTimeZones</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UCALENDAR_MODULE</td>
+ *    <td>#i18n_ucalendar_timezone_id_enumeration_create</td>
+ *    <td>ucal_openTimeZoneIDEnumeration</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UCHAR_MODULE</td>
  *    <td>#i18n_uchar_get_int_property_value</td>
  *    <td>u_getIntpropertyValue</td>
@@ -382,6 +649,111 @@ extern "C" {
  *    <td>udat_format</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_apply_pattern</td>
+ *    <td>udat_applyPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_clone</td>
+ *    <td>udat_clone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_count_available</td>
+ *    <td>udat_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_count_symbols</td>
+ *    <td>udat_countSymbols</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_2digit_year_start</td>
+ *    <td>udat_get2DigitYearStart</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_available</td>
+ *    <td>udat_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_calendar</td>
+ *    <td>udat_getCalendar</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_locale_by_type</td>
+ *    <td>udat_getLocaleByType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_number_format</td>
+ *    <td>udat_getNumberFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_get_symbols</td>
+ *    <td>udat_getSymbols</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_is_lenient</td>
+ *    <td>udat_isLenient</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_parse</td>
+ *    <td>udat_parse</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_parse_calendar</td>
+ *    <td>udat_parseCalendar</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_2digit_year_start</td>
+ *    <td>udat_set2DigitYearStart</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_calendar</td>
+ *    <td>udat_setCalendar</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_context</td>
+ *    <td>udat_setContext</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_lenient</td>
+ *    <td>udat_setLenient</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_number_format</td>
+ *    <td>udat_setNumberFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_set_symbols</td>
+ *    <td>udat_setSymbols</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_to_calendar_date_field</td>
+ *    <td>udat_toCalendarDateField</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATE_MODULE</td>
+ *    <td>#i18n_udate_to_pattern</td>
+ *    <td>udat_toPattern</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
  *    <td>#i18n_udatepg_create</td>
  *    <td>udatpg_open</td>
@@ -397,79 +769,425 @@ extern "C" {
  *    <td>udatpg_getBestPattern</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_default</td>
- *    <td>uloc_getDefault</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_add_pattern</td>
+ *    <td>udatpg_addPattern</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_set_default</td>
- *    <td>uloc_setDefault</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_base_skeletons_create</td>
+ *    <td>udatpg_openBaseSkeletons</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_language</td>
- *    <td>uloc_getLanguage</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_clone</td>
+ *    <td>udatpg_clone</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_country</td>
- *    <td>uloc_getCountry</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_create_empty</td>
+ *    <td>udatpg_openEmpty</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_display_name</td>
- *    <td>uloc_getDisplayName</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_append_item_format</td>
+ *    <td>udatpg_getAppendItemFormat</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_get_available</td>
- *    <td>uloc_getAvailable</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_append_item_name</td>
+ *    <td>udatpg_getAppendItemName</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
- *    <td>#i18n_ulocale_count_available</td>
- *    <td>uloc_countAvailable</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_base_skeleton</td>
+ *    <td>udatpg_getBaseSkeleton</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
- *    <td>#i18n_unormalization_get_instance</td>
- *    <td>unorm2_getInstance</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_best_pattern_with_options</td>
+ *    <td>udatpg_getBestPatternWithOptions</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
- *    <td>#i18n_unormalization_normalize</td>
- *    <td>unorm2_normalize</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_date_time_format</td>
+ *    <td>udatpg_getDateTimeFormat</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
- *    <td>#i18n_unumber_create</td>
- *    <td>unum_open</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_decimal</td>
+ *    <td>udatpg_getDecimal</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
- *    <td>#i18n_unumber_destroy</td>
- *    <td>unum_close</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_pattern_for_skeleton</td>
+ *    <td>udatpg_getPatternForSkeleton</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
- *    <td>#i18n_unumber_get_symbol</td>
- *    <td>unum_getSymbol</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_get_skeleton</td>
+ *    <td>udatpg_getSkeleton</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
- *    <td>#i18n_usearch_create_new</td>
- *    <td>usearch_open</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_replace_field_types</td>
+ *    <td>udatpg_replaceFieldTypes</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
- *    <td>#i18n_usearch_destroy</td>
- *    <td>usearch_close</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_replace_field_types_with_options</td>
+ *    <td>udatpg_replaceFieldTypesWithOptions</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
- *    <td>#i18n_usearch_get_matched_text</td>
- *    <td>usearch_getMatchedText</td>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_append_item_format</td>
+ *    <td>udatpg_setAppendItemFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_append_item_name</td>
+ *    <td>udatpg_setAppendItemName</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_date_time_format</td>
+ *    <td>udatpg_setDateTimeFormat</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_set_decimal</td>
+ *    <td>udatpg_setDecimal</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UDATEPG_MODULE</td>
+ *    <td>#i18n_udatepg_skeletons_create</td>
+ *    <td>udatpg_openSkeletons</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_default</td>
+ *    <td>uloc_getDefault</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_set_default</td>
+ *    <td>uloc_setDefault</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_language</td>
+ *    <td>uloc_getLanguage</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_country</td>
+ *    <td>uloc_getCountry</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_name</td>
+ *    <td>uloc_getDisplayName</td>
+ * </tr>
+ *
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_add_likely_subtags</td>
+ *    <td>uloc_addLikelySubtags</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_canonicalize</td>
+ *    <td>uloc_canonicalize</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_for_language_tag</td>
+ *    <td>uloc_forLanguageTag</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_base_name</td>
+ *    <td>uloc_getBaseName</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_character_orientation</td>
+ *    <td>uloc_getCharacterOrientation</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_country</td>
+ *    <td>uloc_getDisplayCountry</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_keyword</td>
+ *    <td>uloc_getDisplayKeyword</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_keyword_value</td>
+ *    <td>uloc_getDisplayKeywordValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_language</td>
+ *    <td>uloc_getDisplayLanguage</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_script</td>
+ *    <td>uloc_getDisplayScript</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_display_variant</td>
+ *    <td>uloc_getDisplayVariant</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso3_country</td>
+ *    <td>uloc_getISO3Country</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso3_language</td>
+ *    <td>uloc_getISO3Language</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso_countries</td>
+ *    <td>uloc_getISOCountries</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_iso_languages</td>
+ *    <td>uloc_getISOLanguages</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_keyword_value</td>
+ *    <td>uloc_getKeywordValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_lcid</td>
+ *    <td>uloc_getLCID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_line_orientation</td>
+ *    <td>uloc_getLineOrientation</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_locale_for_lcid</td>
+ *    <td>uloc_getLocaleForLCID</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_name</td>
+ *    <td>uloc_getName</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_parent</td>
+ *    <td>uloc_getParent</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_script</td>
+ *    <td>uloc_getScript</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_variant</td>
+ *    <td>uloc_getVariant</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_keywords_create</td>
+ *    <td>uloc_openKeywords</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_minimize_subtags</td>
+ *    <td>uloc_minimizeSubtags</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_set_keyword_value</td>
+ *    <td>uloc_setKeywordValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_to_language_tag</td>
+ *    <td>uloc_toLanguageTag</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_get_available</td>
+ *    <td>uloc_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_ULOCALE_MODULE</td>
+ *    <td>#i18n_ulocale_count_available</td>
+ *    <td>uloc_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
+ *    <td>#i18n_unormalization_get_instance</td>
+ *    <td>unorm2_getInstance</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNORMALIZATION_MODULE</td>
+ *    <td>#i18n_unormalization_normalize</td>
+ *    <td>unorm2_normalize</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_create</td>
+ *    <td>unum_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_destroy</td>
+ *    <td>unum_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_symbol</td>
+ *    <td>unum_getSymbol</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_apply_pattern</td>
+ *    <td>unum_applyPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_clone</td>
+ *    <td>unum_clone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_count_available</td>
+ *    <td>unum_countAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format</td>
+ *    <td>unum_format</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_decimal</td>
+ *    <td>unum_formatDecimal</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_double</td>
+ *    <td>unum_formatDouble</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_double_currency</td>
+ *    <td>unum_formatDoubleCurrency</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_format_int64</td>
+ *    <td>unum_formatInt64</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_attribute</td>
+ *    <td>unum_getAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_available</td>
+ *    <td>unum_getAvailable</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_double_attribute</td>
+ *    <td>unum_getDoubleAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_locale_by_type</td>
+ *    <td>unum_getLocaleByType</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_get_text_attribute</td>
+ *    <td>unum_getTextAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse</td>
+ *    <td>unum_parse</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_decimal</td>
+ *    <td>unum_parseDecimal</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_double</td>
+ *    <td>unum_parseDouble</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_double_currency</td>
+ *    <td>unum_parseDoubleCurrency</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_parse_int64</td>
+ *    <td>unum_parseInt64</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_attribute</td>
+ *    <td>unum_setAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_double_attribute</td>
+ *    <td>unum_setDoubleAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_symbol</td>
+ *    <td>unum_setSymbol</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_set_text_attribute</td>
+ *    <td>unum_setTextAttribute</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_UNUMBER_MODULE</td>
+ *    <td>#i18n_unumber_to_pattern</td>
+ *    <td>unum_toPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
+ *    <td>#i18n_usearch_create_new</td>
+ *    <td>usearch_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
+ *    <td>#i18n_usearch_destroy</td>
+ *    <td>usearch_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
+ *    <td>#i18n_usearch_get_matched_text</td>
+ *    <td>usearch_getMatchedText</td>
  * </tr>
  * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_USEARCH_MODULE</td>
@@ -482,6 +1200,286 @@ extern "C" {
  *    <td>usearch_first</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create_empty</td>
+ *    <td>uset_openEmpty</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create</td>
+ *    <td>uset_open</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create_pattern</td>
+ *    <td>uset_openPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_create_pattern_options</td>
+ *    <td>uset_openPatternOptions</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_destroy</td>
+ *    <td>uset_close</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_clone</td>
+ *    <td>uset_clone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_is_frozen</td>
+ *    <td>uset_isFrozen</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_freeze</td>
+ *    <td>uset_freeze</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_clone_as_thawed</td>
+ *    <td>uset_cloneAsThawed</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_set</td>
+ *    <td>uset_set</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_apply_pattern</td>
+ *    <td>uset_applyPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_apply_int_property_value</td>
+ *    <td>uset_applyIntPropertyValue</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_apply_property_alias</td>
+ *    <td>uset_applyPropertyAlias</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_resembles_pattern</td>
+ *    <td>uset_resemblesPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_to_pattern</td>
+ *    <td>uset_toPattern</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add</td>
+ *    <td>uset_add</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_all</td>
+ *    <td>uset_addAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_range</td>
+ *    <td>uset_addRange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_string</td>
+ *    <td>uset_addString</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_add_all_code_points</td>
+ *    <td>uset_addAllCodePoints</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove</td>
+ *    <td>uset_remove</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_range</td>
+ *    <td>uset_removeRange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_string</td>
+ *    <td>uset_removeString</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_all</td>
+ *    <td>uset_removeAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_retain</td>
+ *    <td>uset_retain</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_retain_all</td>
+ *    <td>uset_retainAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_compact</td>
+ *    <td>uset_compact</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_complement</td>
+ *    <td>uset_complement</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_complement_all</td>
+ *    <td>uset_complementAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_clear</td>
+ *    <td>uset_clear</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_destroy_over</td>
+ *    <td>uset_closeOver</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_remove_all_strings</td>
+ *    <td>uset_removeAllStrings</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_is_empty</td>
+ *    <td>uset_isEmpty</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains</td>
+ *    <td>uset_contains</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_range</td>
+ *    <td>uset_containsRange</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_string</td>
+ *    <td>uset_containsString</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_index_of</td>
+ *    <td>uset_indexOf</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_char_at</td>
+ *    <td>uset_charAt</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_size</td>
+ *    <td>uset_size</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_item_count</td>
+ *    <td>uset_getItemCount</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_item</td>
+ *    <td>uset_getItem</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_all</td>
+ *    <td>uset_containsAll</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_all_code_points</td>
+ *    <td>uset_containsAllCodePoints</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_none</td>
+ *    <td>uset_containsNone</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_contains_some</td>
+ *    <td>uset_containsSome</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span</td>
+ *    <td>uset_span</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span_back</td>
+ *    <td>uset_spanBack</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span_utf8</td>
+ *    <td>uset_spanUTF8</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_span_back_utf8</td>
+ *    <td>uset_spanBackUTF8</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_equals</td>
+ *    <td>uset_equals</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_serialize</td>
+ *    <td>uset_serialize</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_serialized_set</td>
+ *    <td>uset_getSerializedSet</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_set_serialized_to_one</td>
+ *    <td>uset_setSerializedToOne</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_serialized_contains</td>
+ *    <td>uset_serializedContains</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_serialized_range_count</td>
+ *    <td>uset_getSerializedRangeCount</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_BASE_UTILS_I18N_USET_MODULE</td>
+ *    <td>#i18n_uset_get_serialized_range</td>
+ *    <td>uset_getSerializedRange</td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_BASE_UTILS_I18N_USTRING_MODULE</td>
  *    <td>#i18n_ustring_get_length</td>
  *    <td>u_strlen</td>
index 1ed1863e13eea0a5a189b62a0f6a64b08f57d4f1..a833e080165b8a4214d7ca33fe72db07ff173402 100644 (file)
@@ -1076,7 +1076,7 @@ typedef enum {
  */
 
 /**
- * @brief i18n_unormalizer_h.
+ * @brief i18n_usearch_h.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef void* i18n_usearch_h;
@@ -1373,7 +1373,7 @@ typedef enum {
     I18N_UDATE_FORMAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD, /**< Timezone localized gmt offset field */
     I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD,                  /**< Timezone ISO field */
     I18N_UDATE_FORMAT_TIMEZONE_ISO_LOCAL_FIELD,            /**< Timezone ISO local field */
-    I18N_UDATE_FORMAT_FIELD_COUNT = 35                     /**< Field count */
+    I18N_UDATE_FORMAT_FIELD_COUNT                          /**< Field count */
 } i18n_udate_format_field_e;
 
 /**
index 2c6ab1d78f52379f3fc37c1601320c24c72d074b..8dae45811bcdb4e5f43ed36e71ef2ef141ba88b0 100644 (file)
@@ -203,7 +203,7 @@ int i18n_ucalendar_clone ( const i18n_ucalendar_h cal, i18n_ucalendar_h *identic
  *
  * @param[in] calendar     The #i18n_ucalendar_h to query
  * @param[in] type         The desired display name format \n
- *                          One of #I18N_UCALENDAR_STANDARD, #I18N_UCALENDAR_SHORT_STANDARD, #I18N_UCALENDAR_DST, or #I18N_UCALENDAR_SHORT_DST
+ *                         One of #I18N_UCALENDAR_STANDARD, #I18N_UCALENDAR_SHORT_STANDARD, #I18N_UCALENDAR_DST, or #I18N_UCALENDAR_SHORT_DST
  * @param[in] locale       The desired locale for the display name
  * @param[out] result      A pointer to a buffer to receive the formatted number
  * @param[in] result_len The maximum size of the result
@@ -359,7 +359,7 @@ int i18n_ucalendar_is_equivalent_to ( const i18n_ucalendar_h calendar1, const i1
  * @param[in] field The field to which to add the signed value\n One of #I18N_UCALENDAR_ERA, #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH,
  * #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR, #I18N_UCALENDAR_DAY_OF_WEEK,
  * #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE, #I18N_UCALENDAR_SECOND,
- * #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET, or #I18N_UCALENDAR_DST_OFFSET.
+ * #I18N_UCALENDAR_MILLISECOND.
  * @param[in] amount The signed amount to add to the field \n
  *              If the amount causes the value to exceed to maximum or minimum values for that field,
  *              other fields are modified to preserve the magnitude of the change.
@@ -410,8 +410,10 @@ int i18n_ucalendar_get ( const i18n_ucalendar_h calendar, i18n_ucalendar_date_fi
  *                     #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE,
  *                     #I18N_UCALENDAR_DAY_OF_YEAR, #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH,
  *                     #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE,
- *                     #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET,
- *                     #I18N_UCALENDAR_DST_OFFSET.
+ *                     #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND.
+ *                     <strong>Please note</strong> that the returned value type is int32_t. In case of #I18N_UCALENDAR_MILLISECOND, maximal
+ *                     difference between dates may be equal to the maximal value of the int32_t, which is 2147483647 (about one month difference).
+ *                     If the difference is bigger, then the #I18N_ERROR_INVALID_PARAMETER error will be returned.
  * @param[out] status  A pointer to an i18n_error_code_e to receive any errors
  *
  * @return The date difference for the specified field.
@@ -654,13 +656,8 @@ int i18n_ucalendar_roll (i18n_ucalendar_h calendar, i18n_ucalendar_date_fields_e
  * @since_tizen 2.3.1
  *
  * @param[in] calendar The #i18n_ucalendar_h to query.
- * @param[in] field The field to which to add the signed value; one of #I18N_UCALENDAR_ERA,
- *      #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH, #I18N_UCALENDAR_WEEK_OF_YEAR,
- *      #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR,
- *      #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM,
- *      #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE,
- *      #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET,
- *      #I18N_UCALENDAR_DST_OFFSET.
+ * @param[in] field    The desired field.
+ *
  * @return @c true if field is set, @c false otherwise.
  * @exception #I18N_ERROR_NONE Successful
  * @exception #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
@@ -678,13 +675,7 @@ i18n_ubool i18n_ucalendar_is_set (const i18n_ucalendar_h calendar, i18n_ucalenda
  * @since_tizen 2.3.1
  *
  * @param[in] calendar The #i18n_ucalendar_h containing the field to clear.
- * @param[in] field The field to which to add the signed value; one of #I18N_UCALENDAR_ERA,
- *      #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH, #I18N_UCALENDAR_WEEK_OF_YEAR,
- *      #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR,
- *      #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM,
- *      #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE,
- *      #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND, #I18N_UCALENDAR_ZONE_OFFSET,
- *      #I18N_UCALENDAR_DST_OFFSET.
+ * @param[in] field    The field to clear.
  *
  * @return Error code
  * @retval #I18N_ERROR_NONE Successful
@@ -716,22 +707,25 @@ int i18n_ucalendar_clear_field (i18n_ucalendar_h calendar, i18n_ucalendar_date_f
 int i18n_ucalendar_clear (i18n_ucalendar_h calendar);
 
 /**
- * @brief Determines a limit for a field in a #i18n_ucalendar_h.
+ * @brief Determines a limit for a field in an #i18n_ucalendar_h.
  * @details A limit is a maximum or minimum value for a field.
- * @remarks The specific error code can be obtained using the get_last_result()
- *      method. Error codes are described in Exceptions section and
- *      #i18n_error_code_e description.
+ * @remarks The specific error code can be obtained using the get_last_result() method.
+ *          Error codes are described in Exceptions section and #i18n_error_code_e description.
  * @since_tizen 2.3.1
  *
  * @param[in] calendar The #i18n_ucalendar_h to query.
- * @param[in] field The desired field; one of #I18N_UCALENDAR_ERA, #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH,
- *      #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE, #I18N_UCALENDAR_DAY_OF_YEAR,
- *      #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH, #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR,
- *      #I18N_UCALENDAR_HOUR_OF_DAY, #I18N_UCALENDAR_MINUTE, #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND,
- *      #I18N_UCALENDAR_ZONE_OFFSET, #I18N_UCALENDAR_DST_OFFSET.
- * @param[in] type The desired critical point; one of #I18N_UCALENDAR_MINIMUM, #I18N_UCALENDAR_MAXIMUM,
- *      #I18N_UCALENDAR_GREATEST_MINIMUM, #I18N_UCALENDAR_LEAST_MAXIMUM, #I18N_UCALENDAR_ACTUAL_MINIMUM,
- *       #I18N_UCALENDAR_ACTUAL_MAXIMUM
+ * @param[in] field    The desired field; one of #I18N_UCALENDAR_ERA, #I18N_UCALENDAR_YEAR, #I18N_UCALENDAR_MONTH,
+ *                     #I18N_UCALENDAR_WEEK_OF_YEAR, #I18N_UCALENDAR_WEEK_OF_MONTH, #I18N_UCALENDAR_DATE,
+ *                     #I18N_UCALENDAR_DAY_OF_YEAR, #I18N_UCALENDAR_DAY_OF_WEEK, #I18N_UCALENDAR_DAY_OF_WEEK_IN_MONTH,
+ *                     #I18N_UCALENDAR_AM_PM, #I18N_UCALENDAR_HOUR, #I18N_UCALENDAR_HOUR_OF_DAY,
+ *                     #I18N_UCALENDAR_MINUTE, #I18N_UCALENDAR_SECOND, #I18N_UCALENDAR_MILLISECOND,
+ *                     #I18N_UCALENDAR_ZONE_OFFSET, #I18N_UCALENDAR_DST_OFFSET, #I18N_UCALENDAR_YEAR_WOY,
+ *                     #I18N_UCALENDAR_DOW_LOCAL, #I18N_UCALENDAR_EXTENDED_YEAR, #I18N_UCALENDAR_JULIAN_DAY,
+ *                     #I18N_UCALENDAR_MILLISECONDS_IN_DAY, #I18N_UCALENDAR_IS_LEAP_MONTH.
+ * @param[in] type     The desired critical point; one of #I18N_UCALENDAR_MINIMUM, #I18N_UCALENDAR_MAXIMUM,
+ *                     #I18N_UCALENDAR_GREATEST_MINIMUM, #I18N_UCALENDAR_LEAST_MAXIMUM,
+ *                     #I18N_UCALENDAR_ACTUAL_MINIMUM, #I18N_UCALENDAR_ACTUAL_MAXIMUM.
+ *
  * @exception #I18N_ERROR_NONE Successful
  * @exception #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
  *
index 0ea5702913e8b6ed7fa30ea7c3b5771d4ac59c33..f5eb738166ce5852f155f06d33aa60a398653201 100644 (file)
@@ -179,11 +179,12 @@ extern "C" {
  * are not currently supported).
  * @param[in] date_style The style used to format dates\n One of #I18N_UDATE_FULL, #I18N_UDATE_LONG,
  * #I18N_UDATE_MEDIUM, #I18N_UDATE_SHORT, #I18N_UDATE_DEFAULT, #I18N_UDATE_RELATIVE, #I18N_UDATE_LONG_RELATIVE,
- * #I18N_UDATE_MEDIUM_RELATIVE, #I18N_UDATE_SHORT_RELATIVE, or #I18N_UDATE_NONE
+ * #I18N_UDATE_MEDIUM_RELATIVE, #I18N_UDATE_SHORT_RELATIVE, #I18N_UDATE_PATTERN, or #I18N_UDATE_NONE
  * @param[in] locale The locale specifying the formatting conventions.
  * @param[in] tz_id A timezone ID specifying the timezone to use\n  If @c 0, use the default timezone.
  * @param[in] tz_id_len The length of @a tz_id, otherwise @c -1 if NULL-terminated.
  * @param[in] pattern A pattern specifying the format to use. The pattern is generated by Udatepg module.
+ * When the pattern parameter is used, pass in #I18N_UDATE_PATTERN for both time_style and date_style.
  * @param[in] pattern_len The number of characters in the pattern, or otherwise @c -1 if NULL-terminated.
  * @param[out] format A pointer to an #i18n_udate_format_h to use for formatting dates and times, otherwise @c 0 if an error occurs.
  *
@@ -237,8 +238,8 @@ int i18n_udate_format_date ( const i18n_udate_format_h format, i18n_udate date_t
  * @details Note: since the mapping is many-to-one, there is no inverse mapping.
  * @since_tizen 2.3.1
  *
- * @param[in] field The #i18n_udate_format_h to map. 
- *     #I18N_UDATE_FORMAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD, #I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD, 
+ * @param[in] field The #i18n_udate_format_h to map.
+ *     #I18N_UDATE_FORMAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD, #I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD,
  *     #I18N_UDATE_FORMAT_TIMEZONE_ISO_LOCAL_FIELD and #I18N_UDATE_FORMAT_FIELD_COUNT are not supported.
  * @param[out] date_field_type A pointer to the #i18n_ucalendar_date_fields_e.
  *
@@ -526,15 +527,9 @@ int i18n_udate_apply_pattern ( i18n_udate_format_h format, i18n_ubool localized,
  *
  * @param[in] format        The #i18n_udate_format_h to query.
  * @param[in] type          The type of symbols to get.
- *                          One of #I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_MONTHS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_MONTHS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_WEEKDAYS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_WEEKDAYS,
- *                          #I18N_UDATE_FORMAT_SYMBOL_TYPE_AM_PMS,
- *                          or #I18N_UDATE_FORMAT_SYMBOL_TYPE_LOCALIZED_CHARS
+ *                          All the types defined in the #i18n_udate_format_symbol_type_e enumeration are supported.
  * @param[in] symbol_index  The desired symbol of type type.
- * @param[out] result    A pointer to a buffer to receive the pattern.
+ * @param[out] result       A pointer to a buffer to receive the pattern.
  * @param[in] result_length The maximum size of the result buffer.
  *
  * @return The total buffer size needed; if greater than result_length, the output was truncated.
@@ -556,13 +551,7 @@ int32_t i18n_udate_get_symbols ( const i18n_udate_format_h format, i18n_udate_fo
  *
  * @param[in] format The #i18n_udate_format_h to query.
  * @param[in] type   The type of symbols to count.
- *                   One of #I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_MONTHS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_MONTHS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_WEEKDAYS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_WEEKDAYS,
- *                   #I18N_UDATE_FORMAT_SYMBOL_TYPE_AM_PMS,
- *                   or #I18N_UDATE_FORMAT_SYMBOL_TYPE_LOCALIZED_CHARS
+ *                   If wrong type is passed, 0 will be returned.
  *
  * @return The number of symbols of type @a type.
  *
@@ -582,18 +571,13 @@ int32_t i18n_udate_count_symbols ( const i18n_udate_format_h format, i18n_udate_
  *
  * @param[in] format       The #i18n_udate_format_h to set.
  * @param[in] type         The type of symbols to set.
- *                         One of #I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_MONTHS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_MONTHS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_WEEKDAYS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_SHORT_WEEKDAYS,
- *                         #I18N_UDATE_FORMAT_SYMBOL_TYPE_AM_PMS,
- *                         or #I18N_UDATE_FORMAT_SYMBOL_TYPE_LOCALIZED_CHARS
+ *                         All the types defined in the #i18n_udate_format_symbol_type_e enumeration are supported.
+ *                         If a type not defined in the enumeration is passed, then the #I18N_ERROR_NOT_SUPPORTED error is returned.
  * @param[in] symbol_index The index of the symbol to set of type type.
  * @param[in] value        The new value.
- * @param[in] value_length The length of value, or -1 if NULL-terminated.
+ * @param[in] value_length The length of @a value, or @c -1 if NULL-terminated.
  *
- * @return Error code. Error codes not listed below are described in #i18n_error_code_e
+ * @return Error code. Error codes not listed below are described in the #i18n_error_code_e enumeration.
  * @retval #I18N_ERROR_NONE Successful
  * @retval #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
  *
index 05285eb80060008f9188dc0219cfb63883a053b8..bbfe620ff89cdb971d2da818261cda407a31e386 100755 (executable)
@@ -32,13 +32,14 @@ extern "C" {
 /**
  * @ingroup CAPI_BASE_UTILS_I18N_MODULE
  * @defgroup CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE UEnumeration
- * @brief Ubrk defines methods for finding the location of boundaries in text.
+ * @brief UEnumeration defines functions for handling String Enumeration.
  *
  * @section CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE_HEADER Required Header
  *  \#include <utils_i18n.h>
  *
  * @section CAPI_BASE_UTILS_I18N_UENUMERATION_MODULE_OVERVIEW Overview
- * @details Pointer to a UBreakIterator maintain a current position and scan over text returning the index of characters where boundaries occur.
+ * @details The UEnumeration module allows to create String Enumeration
+ *          from chars and uchars.
  *
 */
 
index d4f7f564d25eb2cdca3c00aa50ddb1f4a347707a..c25d66532a986da300f2ccf27998f1ba18db2e71 100644 (file)
@@ -272,7 +272,7 @@ int32_t i18n_unumber_format_decimal (const i18n_unumber_format_h fmt, const char
  *
  * @param[in] fmt               The formatter to use.
  * @param[in] number            The number to format.
- * @param[in] currency          The length of the input @a number, or -1 if the input is NULL-terminated.
+ * @param[in] currency          The 3-letter NULL-terminated ISO 4217 currency code.
  * @param[out] result           A pointer to a buffer to receive the NULL-terminated formatted number.
  *                              If the formatted number fits into @a result but cannot be NULL-terminated (<code>length == result_length</code>)
  *                              then the error code is set to #I18N_WARNING_STRING_NOT_TERMINATED.
@@ -467,7 +467,7 @@ int32_t i18n_unumber_count_available (void);
  *                      #I18N_UNUMBER_ROUNDING_MODE, #I18N_UNUMBER_FORMAT_WIDTH, #I18N_UNUMBER_PADDING_POSITION,
  *                      #I18N_UNUMBER_SECONDARY_GROUPING_SIZE, #I18N_UNUM_SCALE.
  *
- * @return The value of @a attr.
+ * @return The value of @a attr or @c -1 if the given attribute is not supported.
  *
  * @exception #I18N_ERROR_NONE Successful
  * @exception #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
@@ -478,7 +478,7 @@ int32_t i18n_unumber_get_attribute (const i18n_unumber_format_h fmt, i18n_unumbe
  * @brief Sets a numeric attribute associated with an #i18n_unumber_format_h.
  * @details An example of a numeric attribute is the number of integer digits a formatter will produce.
  *          If the formatter does not understand the attribute, the call is ignored. Rule-based formatters only understand
- *          the lenient-parse attribute.
+ *          the lenient-parse attribute. The #I18N_UNUMBER_ROUNDING_INCREMENT attribute is not supported.
  * @remarks Error codes are described in #i18n_error_code_e description.
  * @since_tizen 2.3.1
  *
@@ -488,7 +488,9 @@ int32_t i18n_unumber_get_attribute (const i18n_unumber_format_h fmt, i18n_unumbe
  *                       #I18N_UNUMBER_INTEGER_DIGITS, #I18N_UNUMBER_MAX_FRACTION_DIGITS, #I18N_UNUMBER_MIN_FRACTION_DIGITS,
  *                       #I18N_UNUMBER_FRACTION_DIGITS, #I18N_UNUMBER_MULTIPLIER, #I18N_UNUMBER_GROUPING_SIZE,
  *                       #I18N_UNUMBER_ROUNDING_MODE, #I18N_UNUMBER_FORMAT_WIDTH, #I18N_UNUMBER_PADDING_POSITION,
- *                       #I18N_UNUMBER_SECONDARY_GROUPING_SIZE, #I18N_UNUM_SCALE.
+ *                       #I18N_UNUMBER_SECONDARY_GROUPING_SIZE, #I18N_UNUMBER_SIGNIFICANT_DIGITS_USED, #I18N_UNUMBER_MIN_SIGNIFICANT_DIGITS,
+ *                       #I18N_UNUMBER_MAX_SIGNIFICANT_DIGITS, #I18N_UNUMBER_LENIENT_PARSE, #I18N_UNUM_SCALE,
+ *                       #I18N_UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS, #I18N_UNUM_PARSE_NO_EXPONENT.
  * @param[in] new_value  The new value of @a attr.
  *
  * @return The obtained error code.
@@ -523,7 +525,7 @@ double i18n_unumber_get_double_attribute (const i18n_unumber_format_h fmt, i18n_
  * @since_tizen 2.3.1
  *
  * @param[in] fmt        The formatter to set.
- * @param[in] attr       The attribute to query; e.g. #I18N_UNUMBER_ROUNDING_INCREMENT.
+ * @param[in] attr       The attribute to query; Only #I18N_UNUMBER_ROUNDING_INCREMENT is supported.
  * @param[in] new_value  The new value of @a attr.
  *
  * @return The obtained error code.
@@ -558,16 +560,16 @@ int32_t i18n_unumber_get_text_attribute (const i18n_unumber_format_h fmt, i18n_u
 /**
  * @brief Sets a text attribute associated with an #i18n_unumber_format_h.
  * @details An example of a text attribute is the suffix for positive numbers. Rule-based formatters only understand
- *          #I18N_UNUMBER_DEFAULT_RULESET.
+ *          #I18N_UNUMBER_DEFAULT_RULESET. The #I18N_UNUMBER_PUBLIC_RULESETS tag is not supported.
  * @remarks Error codes are described in #i18n_error_code_e description.
  * @since_tizen 2.3.1
  *
- * @param[in] fmt                The formatter to query.
- * @param[in] tag                The attribute to query; one of #I18N_UNUMBER_POSITIVE_PREFIX, #I18N_UNUMBER_POSITIVE_SUFFIX,
+ * @param[in] fmt                The formatter to set.
+ * @param[in] tag                The attribute to set; one of #I18N_UNUMBER_POSITIVE_PREFIX, #I18N_UNUMBER_POSITIVE_SUFFIX,
  *                               #I18N_UNUMBER_NEGATIVE_PREFIX, #I18N_UNUMBER_NEGATIVE_SUFFIX, #I18N_UNUMBER_PADDING_CHARACTER,
- *                               #I18N_UNUMBER_CURRENCY_CODE, #I18N_UNUMBER_DEFAULT_RULESET, or #I18N_UNUMBER_PUBLIC_RULESETS.
- * @param[out] new_value         A pointer to a buffer to receive the attribute.
- * @param[in] new_value_length   The maximum size of @a new_value.
+ *                               #I18N_UNUMBER_CURRENCY_CODE, #I18N_UNUMBER_DEFAULT_RULESET.
+ * @param[in] new_value          The new value of @a tag.
+ * @param[in] new_value_length   The length of new_value, or -1 if NULL-terminated.
  *
  * @return The obtained error code.
  * @retval #I18N_ERROR_NONE Successful.
index 5d5e807c29c52f0ad58fc6b070f154bf73b5fab9..8b1e1b9f44fa99fb3f20bd0ef8f3e445fa6b7604 100755 (executable)
@@ -127,7 +127,7 @@ int i18n_usearch_destroy ( i18n_usearch_h search_iter );
  * is not possible.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in]  search_iter The search iterator data struct
+ * @param[in]  search_iter The search iterator handle
  * @param[out] result i18n_uchar The buffer to store the matched string
  * @param[in]  result_capacity The length of the result buffer
  * @param[out] len_matched_text The exact length of the matched text, not counting the NULL-termination
@@ -145,7 +145,7 @@ int i18n_usearch_get_matched_text ( const i18n_usearch_h search_iter, i18n_uchar
  * i18n_usearch_destroy() will delete the collator if this search owns it.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] search_iter The search iterator data struct
+ * @param[in] search_iter The search iterator handle
  * @param[out] collator The collator
  *
  * @retval #I18N_ERROR_NONE Successful
@@ -161,7 +161,7 @@ int i18n_usearch_get_collator ( const i18n_usearch_h search_iter, i18n_ucollator
  * the iterator will be adjusted to the index #I18N_USEARCH_DONE.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] search_iter The search iterator data struct
+ * @param[in] search_iter The search iterator handle
  * @param[out] index_first The character index of the first match,
  * otherwise #I18N_USEARCH_DONE if there are no matches.
  *
index 2515dc167d78803b1be70ccc893342ae8e7e4cdc..6cf528e4ac959c3565f5d7967b781d9c4f44142f 100755 (executable)
@@ -36,13 +36,13 @@ extern "C" {
 /**
  * @ingroup CAPI_BASE_UTILS_I18N_MODULE
  * @defgroup CAPI_BASE_UTILS_I18N_USET_MODULE Uset
- * @brief C API: Unicode Set.
+ * @brief Uset module allows to specify a subset of character used in strings.
  *
  * @section CAPI_BASE_UTILS_I18N_USET_MODULE_HEADER Required Header
  *  \#include <utils_i18n.h>
  *
  * @section CAPI_BASE_UTILS_I18N_USET_MODULE_OVERVIEW Overview
- * @details The Uset module is a C wrapper around the C++ UnicodeSet class.
+ * @details Uset module allows to specify a subset of character used in strings.
  */
 
 /**
@@ -1056,7 +1056,7 @@ i18n_ubool i18n_uset_equals (const i18n_uset_h set1, const i18n_uset_h set2);
  * @since_tizen 2.3.1
  *
  * @param[in] set               the set. Must not be @c NULL.
- * @param[in] dest              pointer to buffer of @a dest_capacity 16-bit integers
+ * @param[out] dest             pointer to buffer of @a dest_capacity 16-bit integers
  *                              May be NULL only if @a dest_capacity is zero.
  * @param[in] dest_capacity     size of @a dest, or zero
  *                              Must not be negative.
index ad5de02e2f78b205a59f337994dcb83e23ac22ec..1bcd963c0c6780b45400f9d4c80db24902425bc9 100755 (executable)
@@ -400,7 +400,7 @@ int i18n_timezone_in_daylight_time(i18n_timezone_h timezone, i18n_udate date, i1
 
 int i18n_timezone_has_same_rule(i18n_timezone_h timezone, i18n_timezone_h other, i18n_ubool *same_rule)
 {
-    retv_if(timezone == NULL || same_rule == NULL, I18N_ERROR_INVALID_PARAMETER);
+    retv_if(timezone == NULL || other == NULL || same_rule == NULL, I18N_ERROR_INVALID_PARAMETER);
 
     *same_rule = ((TimeZone*)timezone)->hasSameRules(*(TimeZone*)other);
 
index 6de7b6ba5242f8dc0066dd0e9bac8a0d75b23c46..92b8221881598cabaa8a46568c78247179dc4cd7 100644 (file)
@@ -183,13 +183,19 @@ int32_t i18n_ucalendar_get_field_difference ( i18n_ucalendar_h calendar, i18n_ud
 {
     if(calendar == NULL)
     {
-        *status = I18N_ERROR_INVALID_PARAMETER;
+        if(NULL != status) {
+            *status = I18N_ERROR_INVALID_PARAMETER;
+        }
         return 0;
     }
 
-    int32_t result = 0;
-    result =  ucal_getFieldDifference(calendar, target, field, (UErrorCode*)status);
-    *status = _i18n_error_mapping(*status);
+    UErrorCode icu_error = U_ZERO_ERROR;
+    int32_t result = ucal_getFieldDifference(calendar, target, field, &icu_error);
+    ERR("Error code: %d", icu_error);
+
+    if(NULL != status) {
+        ERR_MAPPING(icu_error, *status);
+    }
 
     return result;
 }
@@ -381,37 +387,17 @@ int i18n_ucalendar_clear ( i18n_ucalendar_h calendar )
 
 int32_t i18n_ucalendar_get_limit ( const i18n_ucalendar_h calendar, i18n_ucalendar_date_fields_e field, i18n_ucalendar_limit_type_e type)
 {
-    if (calendar == NULL) {
+    if (calendar == NULL || field < I18N_UCALENDAR_ERA || field >= I18N_UCALENDAR_FIELD_COUNT) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
 
-    int32_t result_ucal_getLimit = 0;
-    switch (field) {
-        case I18N_UCALENDAR_YEAR_WOY:
-        case I18N_UCALENDAR_DOW_LOCAL:
-        case I18N_UCALENDAR_EXTENDED_YEAR:
-        case I18N_UCALENDAR_JULIAN_DAY:
-        case I18N_UCALENDAR_MILLISECONDS_IN_DAY:
-        case I18N_UCALENDAR_IS_LEAP_MONTH:
-        case I18N_UCALENDAR_FIELD_COUNT:
-            {
-                set_last_result(I18N_ERROR_INVALID_PARAMETER);
-                ERR("Unsupported filed");
-                break;               
-            }
-        default:
-            {
-                i18n_error_code_e i18n_error = I18N_ERROR_NONE;
-                UErrorCode icu_error = U_ZERO_ERROR;
-                int32_t limit = ucal_getLimit(calendar, field, type, &icu_error);
-                ERR("ErrorCode : %d", icu_error);
-                ERR_MAPPING(icu_error, i18n_error);
-                set_last_result(i18n_error);
-                if(i18n_error == I18N_ERROR_NONE)
-                    result_ucal_getLimit = limit;                
-            }
-    }
+    i18n_error_code_e i18n_error = I18N_ERROR_NONE;
+    UErrorCode icu_error = U_ZERO_ERROR;
+    int32_t result_ucal_getLimit = ucal_getLimit(calendar, field, type, &icu_error);
+    ERR("ErrorCode : %d", icu_error);
+    ERR_MAPPING(icu_error, i18n_error);
+    set_last_result(i18n_error);
 
     return result_ucal_getLimit;
 }
index cf44f444237f7fec2687aba39f71037fb6b6a023..c6de9c77841d84fb17abcf519ea5b415634c2a88 100644 (file)
@@ -65,7 +65,7 @@ int i18n_udate_to_calendar_date_field ( i18n_udate_format_field_e field, i18n_uc
         case I18N_UDATE_FORMAT_TIMEZONE_ISO_FIELD:
         case I18N_UDATE_FORMAT_TIMEZONE_ISO_LOCAL_FIELD:
         case I18N_UDATE_FORMAT_FIELD_COUNT:
-            ERR("Unsupported filed");
+            ERR("Unsupported field");
             return I18N_ERROR_INVALID_PARAMETER;
         default:
             *date_field_type = (i18n_ucalendar_date_fields_e)udat_toCalendarDateField(field);
@@ -92,7 +92,7 @@ int i18n_udate_clone ( const i18n_udate_format_h format, i18n_udate_format_h *fo
 
 int i18n_udate_parse ( const i18n_udate_format_h format, const i18n_uchar *text, int32_t text_length, int32_t *parse_pos, i18n_udate *parsed_date )
 {
-    if (format == NULL || text == NULL || parsed_date == NULL)
+    if (format == NULL || text == NULL || text_length < -1 || parsed_date == NULL)
     {
         return I18N_ERROR_INVALID_PARAMETER;
     }
@@ -264,7 +264,7 @@ int i18n_udate_apply_pattern ( i18n_udate_format_h format, i18n_ubool localized,
 
 int32_t i18n_udate_get_symbols ( const i18n_udate_format_h format, i18n_udate_format_symbol_type_e type, int32_t symbol_index, i18n_uchar *result, int32_t result_length )
 {
-    if (format == NULL)
+    if (format == NULL || type < I18N_UDATE_FORMAT_SYMBOL_TYPE_ERAS || type > I18N_UDATE_FORMAT_SYMBOL_TYPE_STANDALONE_SHORTER_WEEKDAYS || symbol_index < 0)
     {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return -1;
@@ -294,7 +294,7 @@ int32_t i18n_udate_count_symbols ( const i18n_udate_format_h format, i18n_udate_
 
 int i18n_udate_set_symbols ( i18n_udate_format_h format, i18n_udate_format_symbol_type_e type, int32_t symbol_index, i18n_uchar *value, int32_t value_length )
 {
-    if (format == NULL || symbol_index < 0)
+    if (format == NULL || symbol_index < 0 || value_length < -1)
     {
         return I18N_ERROR_INVALID_PARAMETER;
     }
index 87a242eb809594235d0173fb8e3fe53fdcaef8db..c314dd8729874e607539e22757c32813f97be90b 100755 (executable)
@@ -124,7 +124,7 @@ int32_t i18n_udatepg_get_skeleton ( i18n_udatepg_h dtpg, const i18n_uchar *patte
 int32_t i18n_udatepg_get_base_skeleton ( i18n_udatepg_h dtpg, const i18n_uchar *pattern, int32_t length,
         i18n_uchar *base_skeleton, int32_t capacity )
 {
-    if (dtpg == NULL || pattern == NULL || capacity < 0)
+    if (dtpg == NULL || pattern == NULL || length < -1 || capacity < 0)
     {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
index d77f8e6fbd7e3c932e12326160a095b10222be82..c45fa30bde44509b89ac7e635d98575db6e51e73 100755 (executable)
@@ -47,7 +47,7 @@ int i18n_ulocale_get_language (const char *locale_id, char *language, int32_t la
 
 int32_t i18n_ulocale_get_country (const char *locale_id, char *country, int32_t country_capacity, int *error)
 {
-    if(NULL == country) {
+    if(NULL == country || country_capacity < 0) {
         if(NULL != error) {
             *error = I18N_ERROR_INVALID_PARAMETER;
         }
index da12061e6f3264dc272ca5282e78adaad40fac9c..d8498869105aad8dee0bf6a1b05cb1df044270d9 100755 (executable)
@@ -67,15 +67,19 @@ int i18n_unumber_clone(const i18n_unumber_format_h fmt, i18n_unumber_format_h *f
 
 int32_t i18n_unumber_format (const i18n_unumber_format_h fmt, int32_t number, i18n_uchar *result, int32_t result_length, i18n_ufield_position_s *pos, i18n_error_code_e *status)
 {
-    if(fmt == NULL) {
-        *status = I18N_ERROR_INVALID_PARAMETER;
+    if(NULL == fmt) {
+        if(NULL != status) {
+            *status = I18N_ERROR_INVALID_PARAMETER;
+        }
         return 0;
     }
-    UErrorCode err;
-    ERR_MAPPING_REVERSE(*status, err);
-    int32_t result_unum_format= unum_format (fmt, number, (UChar*)result, result_length, (UFieldPosition*)pos, &err);
-    ERR("pErrorCode : %d", err);
-    ERR_MAPPING(err, *status);
+
+    UErrorCode icu_error = U_ZERO_ERROR;
+    int32_t result_unum_format = unum_format (fmt, number, (UChar*)result, result_length, (UFieldPosition*)pos, &icu_error);
+    ERR("Error code : %d", icu_error);
+    if(NULL != status) {
+        ERR_MAPPING(icu_error, *status);
+    }
     return result_unum_format;
 }
 
@@ -149,7 +153,7 @@ int32_t i18n_unumber_format_double_currency (const i18n_unumber_format_h fmt, do
 
 int32_t i18n_unumber_parse (const i18n_unumber_format_h fmt, const i18n_uchar *text, int32_t text_length, int32_t *parse_pos)
 {
-    if(fmt == NULL || text == NULL) {
+    if(fmt == NULL || text == NULL || text_length < -1) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
@@ -166,7 +170,7 @@ int32_t i18n_unumber_parse (const i18n_unumber_format_h fmt, const i18n_uchar *t
 
 int64_t i18n_unumber_parse_int64 (const i18n_unumber_format_h fmt, const i18n_uchar *text, int32_t text_length, int32_t *parse_pos)
 {
-    if(fmt == NULL || text == NULL) {
+    if(fmt == NULL || text == NULL || text_length < -1) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
@@ -183,7 +187,7 @@ int64_t i18n_unumber_parse_int64 (const i18n_unumber_format_h fmt, const i18n_uc
 
 double i18n_unumber_parse_double (const i18n_unumber_format_h fmt, const i18n_uchar *text, int32_t text_length, int32_t *parse_pos)
 {
-    if(fmt == NULL || text == NULL) {
+    if(fmt == NULL || text == NULL || text_length < -1) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
@@ -200,7 +204,7 @@ double i18n_unumber_parse_double (const i18n_unumber_format_h fmt, const i18n_uc
 
 int32_t i18n_unumber_parse_decimal (const i18n_unumber_format_h fmt, const i18n_uchar *text, int32_t text_length, int32_t *parse_pos, char *out_buf, int32_t out_buf_length)
 {
-    if(fmt == NULL || text == NULL) {
+    if(fmt == NULL || text == NULL || text_length < -1 || out_buf == NULL) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
@@ -217,7 +221,7 @@ int32_t i18n_unumber_parse_decimal (const i18n_unumber_format_h fmt, const i18n_
 
 double i18n_unumber_parse_double_currency (const i18n_unumber_format_h fmt, const i18n_uchar *text, int32_t text_length, int32_t *parse_pos, i18n_uchar *currency)
 {
-    if(fmt == NULL || text == NULL || currency == NULL) {
+    if(fmt == NULL || text == NULL || text_length < -1 || currency == NULL) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
@@ -277,7 +281,7 @@ int32_t i18n_unumber_get_attribute (const i18n_unumber_format_h fmt, i18n_unumbe
 
 int i18n_unumber_set_attribute (i18n_unumber_format_h fmt, i18n_unumber_format_attribute_e attr, int32_t new_value)
 {
-    if(fmt == NULL) {
+    if(fmt == NULL || attr == I18N_UNUMBER_ROUNDING_INCREMENT) {
         return I18N_ERROR_INVALID_PARAMETER;
     }
 
@@ -287,7 +291,7 @@ int i18n_unumber_set_attribute (i18n_unumber_format_h fmt, i18n_unumber_format_a
 
 double i18n_unumber_get_double_attribute (const i18n_unumber_format_h fmt, i18n_unumber_format_attribute_e attr)
 {
-    if(fmt == NULL) {
+    if(fmt == NULL || I18N_UNUMBER_ROUNDING_INCREMENT != attr) {
         set_last_result(I18N_ERROR_INVALID_PARAMETER);
         return 0;
     }
@@ -298,7 +302,7 @@ double i18n_unumber_get_double_attribute (const i18n_unumber_format_h fmt, i18n_
 
 int i18n_unumber_set_double_attribute (i18n_unumber_format_h fmt, i18n_unumber_format_attribute_e attr, double new_value)
 {
-    if(fmt == NULL) {
+    if(fmt == NULL || attr != I18N_UNUMBER_ROUNDING_INCREMENT) {
         return I18N_ERROR_INVALID_PARAMETER;
     }
 
@@ -325,7 +329,7 @@ int32_t i18n_unumber_get_text_attribute (const i18n_unumber_format_h fmt, i18n_u
 
 int i18n_unumber_set_text_attribute (const i18n_unumber_format_h fmt, i18n_unumber_format_text_attribute_e tag, const i18n_uchar *new_value, int32_t new_value_length)
 {
-    if(fmt == NULL) {
+    if(fmt == NULL || new_value == NULL || new_value_length < -1) {
         return I18N_ERROR_INVALID_PARAMETER;
     }
 
index 2a2a7619aa8e48db0dc27ab7ae59f1e17e886a84..d45da0f4d68ba79f605e79a3fd39bd1f3ef784a7 100755 (executable)
@@ -30,10 +30,12 @@ int i18n_usearch_destroy ( i18n_usearch_h searchiter )
 int i18n_usearch_first ( i18n_usearch_h strsrch, int32_t *index_first )
 {
     retv_if ( strsrch == NULL || index_first == NULL, I18N_ERROR_INVALID_PARAMETER );
-    i18n_error_code_e err = I18N_ERROR_NONE;
-    *index_first = usearch_first ( strsrch, (UErrorCode*)&err );
+    UErrorCode err = U_ZERO_ERROR;
+    *index_first = usearch_first ( strsrch, &err );
+    int result = _i18n_error_mapping ( err );
+    ERR("ErrorCode : %d", result);
 
-    return I18N_ERROR_NONE;
+    return result;
 }
 
 int i18n_usearch_get_collator ( const i18n_usearch_h strsrch, i18n_ucollator_h *collator )
@@ -46,9 +48,10 @@ int i18n_usearch_get_collator ( const i18n_usearch_h strsrch, i18n_ucollator_h *
 
 int i18n_usearch_get_matched_text ( const i18n_usearch_h strsrch, i18n_uchar *result_w, int32_t result_capacity, int32_t *len_matched_text )
 {
-    i18n_error_code_e err = I18N_ERROR_NONE;
-    *len_matched_text = usearch_getMatchedText ( strsrch, result_w, result_capacity, (UErrorCode*)&err );
+    UErrorCode err = U_ZERO_ERROR;
+    *len_matched_text = usearch_getMatchedText ( strsrch, result_w, result_capacity, &err );
     int result = _i18n_error_mapping ( err );
+    ERR("ErrorCode : %d", result);
 
     return result;
 }
index 2f5e45cc55946c0969b7d8cb2496e8ef062f8a4c..77b16cf221d8411c1ba951c94a30de0e3895eac8 100644 (file)
@@ -86,7 +86,9 @@ int i18n_uset_clone ( const i18n_uset_h set, i18n_uset_h *set_clone )
     if (set == NULL || set_clone == NULL) {
         return I18N_ERROR_INVALID_PARAMETER;
     }
+
     *set_clone = (i18n_uset_h)uset_clone((const USet*)set);
+
     return I18N_ERROR_NONE;
 }
 
@@ -114,7 +116,9 @@ int i18n_uset_clone_as_thawed ( const i18n_uset_h set, i18n_uset_h *set_copy )
     if (set == NULL || set_copy == NULL) {
         return I18N_ERROR_INVALID_PARAMETER;
     }
+
     *set_copy = (i18n_uset_h)uset_cloneAsThawed((const USet*)set);
+
     return I18N_ERROR_NONE;
 }
 
@@ -213,7 +217,7 @@ i18n_ubool i18n_uset_resembles_pattern ( const i18n_uchar *pattern, int32_t patt
 
 int32_t i18n_uset_to_pattern ( const i18n_uset_h set, i18n_uchar *result, int32_t result_capacity, i18n_ubool escape_unprintable )
 {
-    if (set == NULL || result_capacity < 0) {
+    if (set == NULL || result == NULL || result_capacity < 0) {
        set_last_result(I18N_ERROR_INVALID_PARAMETER);
        return 0;
     }
@@ -647,7 +651,7 @@ int32_t i18n_uset_serialize ( const i18n_uset_h set, uint16_t *dest, int32_t des
 
 i18n_ubool i18n_uset_get_serialized_set ( const uint16_t *src, int32_t src_length, i18n_userialized_set_s *fill_set )
 {
-    if (src == NULL || src_length < 0) {
+    if (src == NULL || src_length < 0 || fill_set == NULL) {
        set_last_result(I18N_ERROR_INVALID_PARAMETER);
        return 0;
     }
index 1ba6126e8b80f4aae315fcda3e0f60dc6eafcdd7..319a4b0891eda145c7ac6ef823a2c4438602b9d4 100644 (file)
@@ -243,7 +243,6 @@ int32_t i18n_ustring_case_compare_with_length( const i18n_uchar *s1, int32_t len
     UErrorCode icu_error = U_ZERO_ERROR;
     int32_t result = u_strCaseCompare(s1, length1, s2, length2, options, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -495,7 +494,6 @@ int32_t i18n_ustring_to_upper ( i18n_uchar *dest, int32_t dest_capacity, const i
    UErrorCode icu_error = U_ZERO_ERROR;
     int32_t result = u_strToUpper (dest, dest_capacity, src, src_len, locale, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -505,7 +503,6 @@ int32_t i18n_ustring_to_lower ( i18n_uchar *dest, int32_t dest_capacity, const i
    UErrorCode icu_error = U_ZERO_ERROR;
     int32_t result = u_strToLower (dest, dest_capacity, src, src_len, locale, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -514,7 +511,6 @@ int32_t i18n_ustring_to_title ( i18n_uchar *dest, int32_t dest_capacity, const i
         const char *locale, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return 0;
     }
@@ -522,7 +518,6 @@ int32_t i18n_ustring_to_title ( i18n_uchar *dest, int32_t dest_capacity, const i
     UErrorCode icu_error = U_ZERO_ERROR;
     int32_t result = u_strToTitle (dest, dest_capacity, src, src_len, (UBreakIterator*)title_iter, locale, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -540,7 +535,6 @@ int32_t i18n_ustring_to_title_new ( i18n_uchar *dest, int32_t dest_capacity, con
 int32_t i18n_ustring_fold_case ( i18n_uchar *dest, int32_t dest_capacity, const i18n_uchar *src, int32_t src_len, uint32_t options, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return 0;
     }
@@ -548,7 +542,6 @@ int32_t i18n_ustring_fold_case ( i18n_uchar *dest, int32_t dest_capacity, const
    UErrorCode icu_error = U_ZERO_ERROR;
     int32_t result =u_strFoldCase (dest, dest_capacity, src, src_len, options, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -556,7 +549,6 @@ int32_t i18n_ustring_fold_case ( i18n_uchar *dest, int32_t dest_capacity, const
 wchar_t* i18n_ustring_to_WCS ( wchar_t *dest, int32_t dest_capacity, int32_t *dest_len, const i18n_uchar *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -564,7 +556,6 @@ wchar_t* i18n_ustring_to_WCS ( wchar_t *dest, int32_t dest_capacity, int32_t *de
    UErrorCode icu_error = U_ZERO_ERROR;
     wchar_t* result = u_strToWCS (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -572,7 +563,6 @@ wchar_t* i18n_ustring_to_WCS ( wchar_t *dest, int32_t dest_capacity, int32_t *de
 i18n_uchar* i18n_ustring_from_WCS ( i18n_uchar *dest, int32_t dest_capacity, int32_t *dest_len, const wchar_t *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -580,7 +570,6 @@ i18n_uchar* i18n_ustring_from_WCS ( i18n_uchar *dest, int32_t dest_capacity, int
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar* result = u_strFromWCS (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -588,7 +577,6 @@ i18n_uchar* i18n_ustring_from_WCS ( i18n_uchar *dest, int32_t dest_capacity, int
 char* i18n_ustring_to_UTF8 ( char *dest, int32_t dest_capacity, int32_t *dest_len, const i18n_uchar *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -596,7 +584,6 @@ char* i18n_ustring_to_UTF8 ( char *dest, int32_t dest_capacity, int32_t *dest_le
    UErrorCode icu_error = U_ZERO_ERROR;
     char* result = u_strToUTF8 (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -604,7 +591,6 @@ char* i18n_ustring_to_UTF8 ( char *dest, int32_t dest_capacity, int32_t *dest_le
 i18n_uchar* i18n_ustring_from_UTF8 ( i18n_uchar *dest, int32_t dest_capacity, int32_t *dest_len, const char *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -612,7 +598,6 @@ i18n_uchar* i18n_ustring_from_UTF8 ( i18n_uchar *dest, int32_t dest_capacity, in
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar* result = u_strFromUTF8 (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -620,7 +605,6 @@ i18n_uchar* i18n_ustring_from_UTF8 ( i18n_uchar *dest, int32_t dest_capacity, in
 char* i18n_ustring_to_UTF8_with_sub ( char *dest, int32_t dest_capacity, int32_t *dest_len, const i18n_uchar *src, int32_t src_len, i18n_uchar32 sub_char, int32_t *num_substitutions, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -628,7 +612,6 @@ char* i18n_ustring_to_UTF8_with_sub ( char *dest, int32_t dest_capacity, int32_t
     UErrorCode icu_error = U_ZERO_ERROR;
     char* result = u_strToUTF8WithSub (dest, dest_capacity, dest_len, src, src_len, sub_char, num_substitutions, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -637,7 +620,6 @@ i18n_uchar* i18n_ustring_from_UTF8_with_sub ( i18n_uchar *dest, int32_t dest_cap
     int32_t *num_substitutions, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -645,7 +627,6 @@ i18n_uchar* i18n_ustring_from_UTF8_with_sub ( i18n_uchar *dest, int32_t dest_cap
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar* result = u_strFromUTF8WithSub (dest, dest_capacity, dest_len, src, src_len, sub_char, num_substitutions, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -653,7 +634,6 @@ i18n_uchar* i18n_ustring_from_UTF8_with_sub ( i18n_uchar *dest, int32_t dest_cap
 i18n_uchar* i18n_ustring_from_UTF8_lenient ( i18n_uchar *dest, int32_t dest_capacity, int32_t *dest_len, const char *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -661,7 +641,6 @@ i18n_uchar* i18n_ustring_from_UTF8_lenient ( i18n_uchar *dest, int32_t dest_capa
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar* result = u_strFromUTF8Lenient (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -669,7 +648,6 @@ i18n_uchar* i18n_ustring_from_UTF8_lenient ( i18n_uchar *dest, int32_t dest_capa
 i18n_uchar32* i18n_ustring_to_UTF32 ( i18n_uchar32 *dest, int32_t dest_capacity, int32_t *dest_len, const i18n_uchar *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -677,7 +655,6 @@ i18n_uchar32* i18n_ustring_to_UTF32 ( i18n_uchar32 *dest, int32_t dest_capacity,
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar32* result = u_strToUTF32 (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -685,7 +662,6 @@ i18n_uchar32* i18n_ustring_to_UTF32 ( i18n_uchar32 *dest, int32_t dest_capacity,
 i18n_uchar* i18n_ustring_from_UTF32 ( i18n_uchar *dest, int32_t dest_capacity, int32_t *dest_len, const i18n_uchar32 *src, int32_t src_len, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -693,7 +669,6 @@ i18n_uchar* i18n_ustring_from_UTF32 ( i18n_uchar *dest, int32_t dest_capacity, i
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar* result = u_strFromUTF32 (dest, dest_capacity, dest_len, src, src_len, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -702,7 +677,6 @@ i18n_uchar32* i18n_ustring_to_UTF32_with_sub ( i18n_uchar32 *dest, int32_t dest_
         i18n_uchar32 sub_char, int32_t *num_substitutions, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -710,7 +684,6 @@ i18n_uchar32* i18n_ustring_to_UTF32_with_sub ( i18n_uchar32 *dest, int32_t dest_
    UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar32* result = u_strToUTF32WithSub (dest, dest_capacity, dest_len, src, src_len, sub_char, num_substitutions, &icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }
@@ -718,7 +691,6 @@ i18n_uchar32* i18n_ustring_to_UTF32_with_sub ( i18n_uchar32 *dest, int32_t dest_
 i18n_uchar* i18n_ustring_from_UTF32_with_sub ( i18n_uchar *dest, int32_t dest_capacity, int32_t *dest_len, const i18n_uchar32 *src, int32_t src_len, i18n_uchar32 sub_char, int32_t *num_substitutions, i18n_error_code_e *i18n_error )
 {
     if(src == NULL) {
-        set_last_result(I18N_ERROR_INVALID_PARAMETER);
         *i18n_error = I18N_ERROR_INVALID_PARAMETER;
         return NULL;
     }
@@ -726,7 +698,6 @@ i18n_uchar* i18n_ustring_from_UTF32_with_sub ( i18n_uchar *dest, int32_t dest_ca
     UErrorCode icu_error = U_ZERO_ERROR;
     i18n_uchar* result = u_strFromUTF32WithSub (dest, dest_capacity, dest_len, src, src_len, sub_char, num_substitutions, (UErrorCode*)&icu_error);
     *i18n_error = _i18n_error_mapping(icu_error);
-    set_last_result(*i18n_error);
 
     return result;
 }