Esempio n. 1
0
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;
}
Esempio n. 2
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;
}
Esempio n. 4
0
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;
}
Esempio n. 6
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
}
Esempio n. 8
0
/**
 * @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);
}