#include <setting-phone.h>
#include <libxml/xmlmemory.h>
#include <Ecore_X.h>
+#include "unicode/unum.h"
#ifndef UG_MODULE_API
#define UG_MODULE_API __attribute__ ((visibility("default")))
return ret_str;
}
+static char *__setting_phone_number_format_get(const char *region)
+{
+ setting_retvm_if(region == NULL, NULL, "region parameter is NULL");
+ UNumberFormat *fmt = NULL;
+ UErrorCode status = U_ZERO_ERROR;
+ UChar number_uchar[MAX_DISPLAY_NAME_LEN_ON_UI] = {0,};
+ char number_char[MAX_DISPLAY_NAME_LEN_ON_UI] = {0,};
+ double example_number = 1234567.89;
+
+ fmt = unum_open(UNUM_DEFAULT, NULL, -1, region, NULL, &status);
+ unum_formatDouble(fmt, example_number, number_uchar, MAX_DISPLAY_NAME_LEN_ON_UI, NULL, &status);
+ u_austrcpy(number_char, number_uchar);
+ SETTING_TRACE("number_char = %s", number_char);
+ unum_close(fmt);
+
+ return g_strdup(number_char); /* should be freed by caller */
+}
+
char *setting_phone_lang_get_example_desc(const char *region, void *data)
{
setting_retvm_if(region == NULL, NULL, "region parameter is NULL");
char *time = setting_phone_lang_get_by_pattern(region, time_skeleton, data);
+ char *number = __setting_phone_number_format_get(region);
+
Eina_Strbuf *temp_str = eina_strbuf_new();
char *r_str_text = NULL;
eina_strbuf_append_printf(temp_str,
"%s", _("IDS_ST_BODY_REGIONAL_EXAMPLE"));
eina_strbuf_append_printf(temp_str, "<br>%s : %s", _("IDS_ST_BODY_DATE"), date);
eina_strbuf_append_printf(temp_str, "<br>%s : %s", _("IDS_COM_BODY_DETAILS_TIME"), time);
+ eina_strbuf_append_printf(temp_str, "<br>%s : %s", _(SETTING_PHONE_EXAMPLE_NUMBER), number);
r_str_text = eina_strbuf_string_steal(temp_str);
/* eina_strbuf_string_free(temp_str); */
eina_strbuf_free(temp_str);
G_FREE(date);
G_FREE(time);
+ G_FREE(number);
return r_str_text; /* will be freed in calling place */
}