4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
30 #include "appcore-internal.h"
34 void update_lang(void)
39 lang = vconf_get_str(VCONFKEY_LANGSET);
41 setenv("LANG", lang, 1);
42 setenv("LC_MESSAGES", lang, 1);
43 r = setlocale(LC_ALL, "");
45 r = setlocale(LC_ALL, vconf_get_str(VCONFKEY_LANGSET));
46 _DBG("*****appcore setlocale=%s\n", r);
52 void update_region(void)
57 region = vconf_get_str(VCONFKEY_REGIONFORMAT);
59 setenv("LC_CTYPE", region, 1);
60 setenv("LC_NUMERIC", region, 1);
61 setenv("LC_TIME", region, 1);
62 setenv("LC_COLLATE", region, 1);
63 setenv("LC_MONETARY", region, 1);
64 setenv("LC_PAPER", region, 1);
65 setenv("LC_NAME", region, 1);
66 setenv("LC_ADDRESS", region, 1);
67 setenv("LC_TELEPHONE", region, 1);
68 setenv("LC_MEASUREMENT", region, 1);
69 setenv("LC_IDENTIFICATION", region, 1);
70 r = setlocale(LC_ALL, "");
72 _DBG("*****appcore setlocale=%s\n", r);
78 static int __set_i18n(const char *domain, const char *dir)
87 r = setlocale(LC_ALL, "");
88 /* if locale is not set properly, try again to set as language base */
90 r = setlocale(LC_ALL, vconf_get_str(VCONFKEY_LANGSET));
91 _DBG("*****appcore setlocale=%s\n", r);
94 _ERR("appcore: setlocale() error");
96 //_retvm_if(r == NULL, -1, "appcore: setlocale() error");
98 r = bindtextdomain(domain, dir);
100 _ERR("appcore: bindtextdomain() error");
102 //_retvm_if(r == NULL, -1, "appcore: bindtextdomain() error");
104 r = textdomain(domain);
106 _ERR("appcore: textdomain() error");
108 //_retvm_if(r == NULL, -1, "appcore: textdomain() error");
114 EXPORT_API int appcore_set_i18n(const char *domainname, const char *dirname)
121 r = __set_i18n(domainname, dirname);
128 int set_i18n(const char *domainname, const char *dirname)
135 return __set_i18n(domainname, dirname);
138 EXPORT_API int appcore_get_timeformat(enum appcore_time_format *timeformat)
142 if (timeformat == NULL) {
147 r = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, (int *)timeformat);
150 *timeformat = APPCORE_TIME_FORMAT_UNKNOWN;