4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Haejeong Kim <backto.kim@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.
26 #include "mm_file_debug.h"
27 #include "mm_file_utils.h"
30 MMFILE_LANGUAGE_ENGLISH = 0x00, /**<Language - English*/
31 MMFILE_LANGUAGE_GERMAN, /**<Language - German*/
32 MMFILE_LANGUAGE_FRENCH, /**<Language - French*/
33 MMFILE_LANGUAGE_ITALIAN, /**<Language - Italian*/
34 MMFILE_LANGUAGE_DUTCH, /**<Language - Dutch*/
35 MMFILE_LANGUAGE_SPANISH, /**<Language - Spanish*/
36 MMFILE_LANGUAGE_GREEK, /**<Language - Greek*/
37 MMFILE_LANGUAGE_PORTUGUESE, /**<Language - Portuguese*/
38 MMFILE_LANGUAGE_TURKISH, /**<Language - Turkish*/
39 MMFILE_LANGUAGE_JAPAN_CP932, /**<Language - Japanease for CP932*/
40 MMFILE_LANGUAGE_SIM_CHINA, /**<Language - Simplified Chinese*/
41 MMFILE_LANGUAGE_TRA_CHINA, /**<Language - Traditional Chinese*/
42 MMFILE_LANGUAGE_JAPAN, /**<Language - Japanease*/
44 MMFILE_LANGUAGE_BULGARIAN, /**<Language - Bulgarian*/
45 MMFILE_LANGUAGE_ARABIC, /**<Language - Arabic*/
48 } eMMFileSettingPhoneLanguage;
53 const char *lang_prefix;
56 static mmf_locale_info_s g_locale_map[MMFILE_LANGUAGE_MAX] = {
57 {MMFILE_LANGUAGE_ENGLISH, "EUC-KR", "en"},
58 {MMFILE_LANGUAGE_GERMAN, "ISO8859-1", "de"},
59 {MMFILE_LANGUAGE_FRENCH, "ISO8859-1", "fr"},
60 {MMFILE_LANGUAGE_ITALIAN, "ISO8859-1", "it"},
61 {MMFILE_LANGUAGE_DUTCH, "ISO8859-1", "nl"},
62 {MMFILE_LANGUAGE_SPANISH, "ISO8859-1", "es"},
63 {MMFILE_LANGUAGE_GREEK, "ISO8859-7", "el"},
64 {MMFILE_LANGUAGE_PORTUGUESE, "ISO8859-1", "pt"},
65 {MMFILE_LANGUAGE_TURKISH, "ISO8859-3", "tr"},
66 {MMFILE_LANGUAGE_JAPAN_CP932, "CP932", NULL},
67 {MMFILE_LANGUAGE_SIM_CHINA, "GBK", "zh_CN"},
68 {MMFILE_LANGUAGE_TRA_CHINA, "BIG5", "zh"},
69 {MMFILE_LANGUAGE_JAPAN, "SHIFT_JIS", "ja_JP"},
71 {MMFILE_LANGUAGE_BULGARIAN, NULL, NULL},
72 {MMFILE_LANGUAGE_ARABIC, NULL, NULL},
77 char *MMFileUtilGetLocale(void)
82 lang = vconf_get_str(VCONFKEY_LANGSET);
85 for (idx = 0; idx < MMFILE_LANGUAGE_MAX; idx++) {
86 if (g_locale_map[idx].lang_prefix != NULL) {
87 if (strncmp(lang, g_locale_map[idx].lang_prefix, strlen(g_locale_map[idx].lang_prefix)) == 0) {
88 debug_msg(DEBUG, "[%s]find character set [%d]", lang, idx);
94 debug_error(DEBUG, "language value is NULL, use default character set");
98 if (idx >= MMFILE_LANGUAGE_MAX) {
99 debug_msg(DEBUG, "[%s]Cannot find character set. Use default one", lang);
108 return (char *)g_locale_map[idx].char_set;