393 lines
9.1 KiB
C
393 lines
9.1 KiB
C
#include "include.h"
|
||
#include "lang.h"
|
||
#include "app_variable.h"
|
||
#define TRACE_EN 0
|
||
|
||
#if TRACE_EN
|
||
#define TRACE(...) printf(__VA_ARGS__)
|
||
#else
|
||
#define TRACE(...)
|
||
#endif
|
||
|
||
const char * const *i18n;
|
||
|
||
static uint8_t g_curLangIndex = 0;
|
||
static uint8_t g_curLangType;
|
||
|
||
//<2F>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>˳<EFBFBD><CBB3>һ<EFBFBD><D2BB>
|
||
const static uint8_t *languageList[]=
|
||
{
|
||
(uint8_t *)"English",
|
||
(uint8_t *)"Chinese",
|
||
(uint8_t *)"Spain",
|
||
(uint8_t *)"French",
|
||
(uint8_t *)"German",
|
||
(uint8_t *)"Thai",
|
||
(uint8_t *)"Arabic",
|
||
(uint8_t *)"Russian",
|
||
(uint8_t *)"Korean",
|
||
(uint8_t *)"Romania",
|
||
(uint8_t *)"Portugal",
|
||
(uint8_t *)"Italian",
|
||
(uint8_t *)"Polish",
|
||
(uint8_t *)"Japanese",
|
||
(uint8_t *)"Croatian",
|
||
(uint8_t *)"Greek",
|
||
(uint8_t *)"Ukrainian",
|
||
(uint8_t *)"Bulgarian",
|
||
(uint8_t *)"Armenian",
|
||
(uint8_t *)"Hebrew",
|
||
(uint8_t *)"Malaysia",
|
||
(uint8_t *)"Turkish",
|
||
(uint8_t *)"Indonesian",
|
||
(uint8_t *)"Dutch",
|
||
(uint8_t *)"Hindi",
|
||
(uint8_t *)"Bengalese",
|
||
(uint8_t *)"Vietnamese",
|
||
(uint8_t *)"Farsi",
|
||
(uint8_t *)"TR_Chinese",
|
||
(uint8_t *)"Finnish",
|
||
(uint8_t *)"Czech",
|
||
(uint8_t *)"Hungarian",
|
||
(uint8_t *)"Norwegian",
|
||
(uint8_t *)"Slovak",
|
||
(uint8_t *)"Filipino",
|
||
};
|
||
|
||
|
||
const static uint8_t *languageArray[]=
|
||
{
|
||
#if defined(__LANGUAGE_ENGLISH__)
|
||
(uint8_t *)"English",
|
||
#endif
|
||
#if defined(__LANGUAGE_SM_CHINESE__)
|
||
(uint8_t *)"Chinese",
|
||
#endif
|
||
#if defined(__LANGUAGE_SPAIN__)
|
||
(uint8_t *)"Spain",
|
||
#endif
|
||
#if defined(__LANGUAGE_FRENCH__)
|
||
(uint8_t *)"French",
|
||
#endif
|
||
#if defined(__LANGUAGE_GERMAN__)
|
||
(uint8_t *)"German",
|
||
#endif
|
||
#if defined(__LANGUAGE_THAI__)
|
||
(uint8_t *)"Thai",
|
||
#endif
|
||
#if defined(__LANGUAGE_ARABIC__)
|
||
(uint8_t *)"Arabic",
|
||
#endif
|
||
#if defined(__LANGUAGE_RUSSIAN__)
|
||
(uint8_t *)"Russian",
|
||
#endif
|
||
#if defined(__LANGUAGE_KOREAN__)
|
||
(uint8_t *)"Korean",
|
||
#endif
|
||
#if defined(__LANGUAGE_ROMANIA__)
|
||
(uint8_t *)"Romania",
|
||
#endif
|
||
#if defined(__LANGUAGE_PORTUGAL__)
|
||
(uint8_t *)"Portugal",
|
||
#endif
|
||
#if defined(__LANGUAGE_ITALIAN__)
|
||
(uint8_t *)"Italian",
|
||
#endif
|
||
#if defined(__LANGUAGE_POLISH__)
|
||
(uint8_t *)"Polish",
|
||
#endif
|
||
#if defined(__LANGUAGE_JAPANESE__)
|
||
(uint8_t *)"Japanese",
|
||
#endif
|
||
#if defined(__LANGUAGE_CROATIAN__)
|
||
(uint8_t *)"Croatian",
|
||
#endif
|
||
#if defined(__LANGUAGE_GREEK__)
|
||
(uint8_t *)"Greek",
|
||
#endif
|
||
#if defined(__LANGUAGE_UKRAINIAN__)
|
||
(uint8_t *)"Ukrainian",
|
||
#endif
|
||
#if defined(__LANGUAGE_BULGARIAN__)
|
||
(uint8_t *)"Bulgarian",
|
||
#endif
|
||
#if defined(__LANGUAGE_ARMENIAN__)
|
||
(uint8_t *)"Armenian",
|
||
#endif
|
||
#if defined(__LANGUAGE_HEBREW__)
|
||
(uint8_t *)"Hebrew",
|
||
#endif
|
||
#if defined(__LANGUAGE_MALAYSIA__)
|
||
(uint8_t *)"Malaysia",
|
||
#endif
|
||
#if defined(__LANGUAGE_TURKISH__)
|
||
(uint8_t *)"Turkish",
|
||
#endif
|
||
#if defined(__LANGUAGE_INDONESIAN__)
|
||
(uint8_t *)"Indonesian",
|
||
#endif
|
||
#if defined(__LANGUAGE_DUTCH__)
|
||
(uint8_t *)"Dutch",
|
||
#endif
|
||
#if defined(__LANGUAGE_HINDI__)
|
||
(uint8_t *)"Hindi",
|
||
#endif
|
||
#if defined(__LANGUAGE_BENGALESE__)
|
||
(uint8_t *)"Bengalese",
|
||
#endif
|
||
#if defined(__LANGUAGE_VIETNAMESE__)
|
||
(uint8_t *)"Vietnamese",
|
||
#endif
|
||
#if defined(__LANGUAGE_FARSI__)
|
||
(uint8_t *)"Farsi",
|
||
#endif
|
||
#if defined(__LANGUAGE_TR_CHINESE__)
|
||
(uint8_t *)"TR_Chinese",
|
||
#endif
|
||
#if defined(__LANGUAGE_FINNISH__)
|
||
(uint8_t *)"Finnish",
|
||
#endif
|
||
#if defined(__LANGUAGE_CZECH__)
|
||
(uint8_t *)"Czech",
|
||
#endif
|
||
#if defined(__LANGUAGE_HUNGARIAN__)
|
||
(uint8_t *)"Hungarian",
|
||
#endif
|
||
#if defined(__LANGUAGE_NORWEGIAN__)
|
||
(uint8_t *)"Norwegian",
|
||
#endif
|
||
#if defined(__LANGUAGE_SLOVAK__)
|
||
(uint8_t *)"Slovak",
|
||
#endif
|
||
#if defined(__LANGUAGE_FILIPINO__)
|
||
(uint8_t *)"Filipino",
|
||
#endif
|
||
|
||
};
|
||
|
||
void lang_select(void)
|
||
{
|
||
// printf("lang_select = %d\n",SysVariable.deviceInfo.language);
|
||
switch (g_curLangType) {
|
||
#if defined(__LANGUAGE_ENGLISH__)
|
||
case LANGUAGE_TYPE_English:
|
||
i18n = lang_en;
|
||
break;
|
||
#endif
|
||
|
||
#if defined(__LANGUAGE_SM_CHINESE__)
|
||
case LANGUAGE_TYPE_Chinese:
|
||
i18n = lang_zh;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_SPAIN__)
|
||
case LANGUAGE_TYPE_Spain:
|
||
i18n = lang_es;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_FRENCH__)
|
||
case LANGUAGE_TYPE_French:
|
||
i18n = lang_fr;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_GERMAN__)
|
||
case LANGUAGE_TYPE_German:
|
||
i18n = lang_de;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_THAI__)
|
||
case LANGUAGE_TYPE_Thai:
|
||
i18n = lang_th;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_ARABIC__)
|
||
case LANGUAGE_TYPE_Arabic:
|
||
i18n = lang_ar_sa;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_RUSSIAN__)
|
||
case LANGUAGE_TYPE_Russian:
|
||
i18n = lang_ru;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_KOREAN__)
|
||
case LANGUAGE_TYPE_Korean:
|
||
i18n = lang_ko;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_ROMANIA__)
|
||
case LANGUAGE_TYPE_Romania:
|
||
i18n = lang_ro;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_PORTUGAL__)
|
||
case LANGUAGE_TYPE_Portugal:
|
||
i18n = lang_pt;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_ITALIAN__)
|
||
case LANGUAGE_TYPE_Italian:
|
||
i18n = lang_it;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_POLISH__)
|
||
case LANGUAGE_TYPE_Polish:
|
||
i18n = lang_pl;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_JAPANESE__)
|
||
case LANGUAGE_TYPE_Japanese:
|
||
i18n = lang_ja;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_CROATIAN__)
|
||
case LANGUAGE_TYPE_Croatian:
|
||
i18n = lang_hr;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_GREEK__)
|
||
case LANGUAGE_TYPE_Greek:
|
||
i18n = lang_el;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_UKRAINIAN__)
|
||
case LANGUAGE_TYPE_Ukrainian:
|
||
i18n = lang_uk;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_BULGARIAN__)
|
||
(uint8_t *)"Bulgarian",
|
||
#endif
|
||
#if defined(__LANGUAGE_ARMENIAN__)
|
||
(uint8_t *)"Armenian",
|
||
#endif
|
||
#if defined(__LANGUAGE_HEBREW__)
|
||
case LANGUAGE_TYPE_Hebrew:
|
||
i18n = lang_he;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_MALAYSIA__)
|
||
case LANGUAGE_TYPE_Malaysia:
|
||
i18n = lang_ms;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_TURKISH__)
|
||
case LANGUAGE_TYPE_Turkish:
|
||
i18n = lang_tr;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_INDONESIAN__)
|
||
case LANGUAGE_TYPE_Indonesian:
|
||
i18n = lang_id;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_DUTCH__)
|
||
case LANGUAGE_TYPE_Dutch:
|
||
i18n = lang_nl;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_HINDI__)
|
||
case LANGUAGE_TYPE_Hindi:
|
||
i18n = lang_hi;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_BENGALESE__)
|
||
(uint8_t *)"Bengalese",
|
||
#endif
|
||
#if defined(__LANGUAGE_VIETNAMESE__)
|
||
case LANGUAGE_TYPE_Vietnamese:
|
||
i18n = lang_vi;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_FARSI__)
|
||
case LANGUAGE_TYPE_Farsi:
|
||
i18n = lang_fa;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_TR_CHINESE__)
|
||
case LANGUAGE_TYPE_Tr_Chinese:
|
||
i18n = lang_zh_tw;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_FINNISH__)
|
||
(uint8_t *)"Finnish",
|
||
#endif
|
||
#if defined(__LANGUAGE_CZECH__)
|
||
case LANGUAGE_TYPE_Czech:
|
||
i18n = lang_cs;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_HUNGARIAN__)
|
||
case LANGUAGE_TYPE_Hungarian:
|
||
i18n = lang_hu;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_NORWEGIAN__)
|
||
(uint8_t *)"Norwegian",
|
||
#endif
|
||
#if defined(__LANGUAGE_SLOVAK__)
|
||
case LANGUAGE_TYPE_Slovak:
|
||
i18n = lang_sk;
|
||
break;
|
||
#endif
|
||
#if defined(__LANGUAGE_FILIPINO__)
|
||
(uint8_t *)"Filipino",
|
||
#endif
|
||
default:
|
||
TRACE("Language Select Error!\n");
|
||
i18n = lang_en;
|
||
break;
|
||
}
|
||
}
|
||
|
||
|
||
LANGUAGE_TYPE tjd_Set_Language_By_Type(LANGUAGE_TYPE type)
|
||
{
|
||
uint8_t i = 0;
|
||
|
||
if (type <= LANGUAGE_BASE || type >= LANGUAGE_MAX) {
|
||
type = LANGUAGE_TYPE_English;
|
||
}
|
||
|
||
printf("tjd_Set_Language_By_Type[%d,%d]\n",type,g_curLangType);
|
||
for(i=0; i<MAX_LANGUAGES; i++) {
|
||
// printf("tjd_Set_Language_By_Type[%d %s,%s]",i,(char*)languageList[type], (char*)languageArray[i]);
|
||
if (strcmp((char*)languageList[type], (char*)languageArray[i])==0 ) {
|
||
g_curLangIndex = i;
|
||
g_curLangType = type;
|
||
break;
|
||
}
|
||
}
|
||
if (i == MAX_LANGUAGES) {
|
||
g_curLangIndex = 0;
|
||
for (i=0; i<LANGUAGE_MAX; i++) {
|
||
// printf("tjd_Set_Language_By_Type2[%d %s,%s]\n",i,(char*)languageArray[g_curLangIndex], (char*)languageList[i]);
|
||
if (strcmp((char*)languageArray[g_curLangIndex], (char*)languageList[i]) == 0) {
|
||
g_curLangType = (LANGUAGE_TYPE)i;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
printf("tjd_Set_Language_By_Type2[%d,%d]",type,g_curLangType);
|
||
return g_curLangType;
|
||
}
|
||
LANGUAGE_TYPE tjd_Set_Language_By_Index(uint8_t index)
|
||
{
|
||
uint8_t i = 0;
|
||
|
||
for (i=0; i<LANGUAGE_MAX; i++) {
|
||
if (strcmp((char*)languageArray[index], (char*)languageList[i]) == 0) {
|
||
g_curLangType = (LANGUAGE_TYPE)i;
|
||
g_curLangIndex = (LANGUAGE_TYPE)i;
|
||
break;
|
||
}
|
||
}
|
||
|
||
return g_curLangType;
|
||
}
|
||
|
||
uint8_t tjd_Get_Language_Current_Index(void)
|
||
{
|
||
return g_curLangIndex;
|
||
}
|