static int __set_i18n(const char *domain, const char *dir) { char *r; if (domain == NULL) { errno = EINVAL; return -1; } r = setlocale(LC_ALL, ""); /* if locale is not set properly, try again to set as language base */ if (r == NULL) { r = setlocale(LC_ALL, vconf_get_str(VCONFKEY_LANGSET)); _DBG("*****appcore setlocale=%s\n", r); } if (r == NULL) { _ERR("appcore: setlocale() error"); } //_retvm_if(r == NULL, -1, "appcore: setlocale() error"); r = bindtextdomain(domain, dir); if (r == NULL) { _ERR("appcore: bindtextdomain() error"); } //_retvm_if(r == NULL, -1, "appcore: bindtextdomain() error"); r = textdomain(domain); if (r == NULL) { _ERR("appcore: textdomain() error"); } //_retvm_if(r == NULL, -1, "appcore: textdomain() error"); return 0; }
void update_region(void) { char *region; char *r; region = vconf_get_str(VCONFKEY_REGIONFORMAT); if (region) { setenv("LC_CTYPE", region, 1); setenv("LC_NUMERIC", region, 1); setenv("LC_TIME", region, 1); setenv("LC_COLLATE", region, 1); setenv("LC_MONETARY", region, 1); setenv("LC_PAPER", region, 1); setenv("LC_NAME", region, 1); setenv("LC_ADDRESS", region, 1); setenv("LC_TELEPHONE", region, 1); setenv("LC_MEASUREMENT", region, 1); setenv("LC_IDENTIFICATION", region, 1); r = setlocale(LC_ALL, ""); if (r == NULL) { _DBG("*****appcore setlocale=%s\n", r); } free(region); } }
int helper_collation_str(const char *src, char *dest, int dest_size) { HELPER_FN_CALL; int32_t size = 0; UErrorCode status = 0; UChar tmp_result[CTS_SQL_MAX_LEN]; UCollator *collator; const char *region; region = vconf_get_str(VCONFKEY_REGIONFORMAT); HELPER_DBG("region %s", region); collator = ucol_open(region, &status); h_retvm_if(U_FAILURE(status), CTS_ERR_ICU_FAILED, "ucol_open() Failed(%s)", u_errorName(status)); if (U_FAILURE(status)){ ERR("ucol_setAttribute Failed(%s)", u_errorName(status)); ucol_close(collator); return CTS_ERR_ICU_FAILED; } u_strFromUTF8(tmp_result, array_sizeof(tmp_result), NULL, src, -1, &status); if (U_FAILURE(status)){ ERR("u_strFromUTF8 Failed(%s)", u_errorName(status)); ucol_close(collator); return CTS_ERR_ICU_FAILED; } size = ucol_getSortKey(collator, tmp_result, -1, (uint8_t *)dest, dest_size); ucol_close(collator); dest[size]='\0'; return CTS_SUCCESS; }
void update_lang(void) { char *lang; char *r; lang = vconf_get_str(VCONFKEY_LANGSET); if (lang) { setenv("LANG", lang, 1); setenv("LC_MESSAGES", lang, 1); r = setlocale(LC_ALL, ""); if (r == NULL) { r = setlocale(LC_ALL, vconf_get_str(VCONFKEY_LANGSET)); _DBG("*****appcore setlocale=%s\n", r); } free(lang); } }
int ss_set_current_lang(void) { char *lang; int ret; lang = vconf_get_str(VCONFKEY_LANGSET); if (lang == NULL) return -1; ret = setenv("LANG", lang, 1); if (ret < 0) return -1; free(lang); return 0; }
inline char *sql_get_locale(void) { char *l; char *r; char buf[6]; retv_if ((l = vconf_get_str(VCONFKEY_LANGSET)) == NULL, NULL); snprintf(buf, sizeof(buf), "%s", l); free(l); r = strdup(buf); return r; }
char* MsgSettingGetString(const char *pKey) { if (pKey == NULL) { MSG_DEBUG("IN Parameter is NULL"); return NULL; } #ifdef USE_GCONF return gconf_client_get_string((GConfClient*)pClient, pKey, NULL); #else return vconf_get_str(pKey); #endif }
/** * @brief __browser_set_i18n 设置语言环境 * @param domain 语言环境参数 * @param dir 国家化文件存放路径 * @return 是否创建成功 */ static int __browser_set_i18n(const char *domain, const char *dir) { char *r = NULL; if (domain == NULL) { BROWSER_LOGE("domain is NULL"); return -1; } r = setlocale(LC_ALL, ""); /* if locale is not set properly, try again to set as language base */ if (r == NULL) { char *lang_set = vconf_get_str(VCONFKEY_LANGSET); if (!lang_set && strlen(lang_set) > 0) r = setlocale(LC_ALL, lang_set); BROWSER_LOGE("setlocale as [%s]", r); if (lang_set) free(lang_set); } if (r == NULL) { BROWSER_LOGE("setlocale failed"); return -1; } r = bindtextdomain(domain, dir); if (r == NULL) { BROWSER_LOGE("bindtextdomain failed"); return -1; } r = textdomain(domain); if (r == NULL) { BROWSER_LOGE("textdomain failed"); return -1; } return 0; }
void get_operation(int i, const char* parent_dir) { keylist_t *kl=NULL; keynode_t *temp_node; int get_int; double get_dbl; char *get_str; vconf_get_dbl(vconfkeys[i][0], &get_dbl); vconf_get_bool(vconfkeys[i][1], &get_int); get_str=vconf_get_str(vconfkeys[i][2]); free(get_str); vconf_get_int(vconfkeys[i][3], &get_int); kl = vconf_keylist_new(); vconf_get(kl, parent_dir, 0); while((temp_node = vconf_keylist_nextnode(kl))) { switch(vconf_keynode_get_type(temp_node)) { case VCONF_TYPE_INT: printf("key = %s, value = %d\n", vconf_keynode_get_name(temp_node), vconf_keynode_get_int(temp_node)); break; case VCONF_TYPE_BOOL: printf("key = %s, value = %d\n", vconf_keynode_get_name(temp_node), vconf_keynode_get_bool(temp_node)); break; case VCONF_TYPE_DOUBLE: printf("key = %s, value = %f\n", vconf_keynode_get_name(temp_node), vconf_keynode_get_dbl(temp_node)); break; case VCONF_TYPE_STRING: printf("key = %s, value = %s\n", vconf_keynode_get_name(temp_node), vconf_keynode_get_str(temp_node)); break; default: printf("Unknown Type\n"); } } vconf_keylist_free(kl); }