|
|
@@ -1200,9 +1200,29 @@ char* json_to_system_config_info(int tls)
|
|
|
/// @brief 多语言切换
|
|
|
/// @param str
|
|
|
/// @return
|
|
|
+static int get_lang_id(char *lang_str)
|
|
|
+{
|
|
|
+ int i;
|
|
|
+ char *LANG_STR[LANG_ID_MAX]={"zh-CN","en-US","ru-RU","fr","de","es","pt","it","ja"};
|
|
|
+
|
|
|
+ if(!lang_str) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ for(i=0; i<LANG_ID_MAX; i++) {
|
|
|
+ if(strcmp(lang_str, LANG_STR[i])==0) {
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
int json_to_switch_language(const char* str)
|
|
|
{
|
|
|
+ int lang_id;
|
|
|
cJSON* cjson = NULL;
|
|
|
+
|
|
|
cjson = cJSON_Parse(str);
|
|
|
if(cjson==NULL)
|
|
|
{
|
|
|
@@ -1212,21 +1232,10 @@ int json_to_switch_language(const char* str)
|
|
|
cJSON* cjson_language = cJSON_GetObjectItem(cjson,"lang");
|
|
|
if(cjson_language!=NULL)
|
|
|
{
|
|
|
- log_d(cjson_language->valuestring);
|
|
|
- if(strcmp(cjson_language->valuestring,"zh-CN")==0)
|
|
|
- {
|
|
|
- __globalDeviceManage._globalDevInfo.product.language = 0 ;
|
|
|
+ lang_id = get_lang_id(cjson_language->valuestring);
|
|
|
+ if(lang_id>=0) {
|
|
|
+ __globalDeviceManage._globalDevInfo.product.language = lang_id;
|
|
|
}
|
|
|
- else if(strcmp(cjson_language->valuestring,"en-US")==0)
|
|
|
- {
|
|
|
- __globalDeviceManage._globalDevInfo.product.language = 1 ;
|
|
|
- }
|
|
|
- else if(strcmp(cjson_language->valuestring,"ru-RU")==0)
|
|
|
- {
|
|
|
- __globalDeviceManage._globalDevInfo.product.language = 2 ;
|
|
|
- }
|
|
|
- else
|
|
|
- __globalDeviceManage._globalDevInfo.product.language = 0 ;
|
|
|
|
|
|
}
|
|
|
cJSON_Delete(cjson);
|