69 lines
1.1 KiB
C++
69 lines
1.1 KiB
C++
#include "pch.h"
|
|
#include "CLang.h"
|
|
|
|
// 全局共用的当前语言实例
|
|
CLang gLang;
|
|
|
|
void to_json(jsonobj& j, const CLang & p)
|
|
{
|
|
if (p.Lang >= 0 && p.Lang < CLang::LangNum) {
|
|
j["Language"] = p.LangStr[p.Lang];
|
|
}
|
|
else {
|
|
j["Language"] = p.LangStr[CLang::zh];
|
|
}
|
|
|
|
}
|
|
void from_json(const jsonobj& j, CLang &p)
|
|
{
|
|
CLang::eLang lang;
|
|
readEnum(j, "Language", lang, CLang::zh, p.LangStr, CLang::LangNum);
|
|
p.Lang = lang;
|
|
}
|
|
|
|
///language在参数文件里的字符串转成enum
|
|
CLang::eLang CLang::fromStr(const char* str)
|
|
{
|
|
int i;
|
|
for (i = 0; i < LangNum; i++) {
|
|
if (strcmp(str,LangStr[i])==0) {
|
|
return eLang(i);
|
|
}
|
|
}
|
|
//返回缺省
|
|
return eLang::zh;
|
|
}
|
|
|
|
|
|
/// 用于json文件的英文字符串
|
|
const char* CLang::LangStr[LangNum] =
|
|
{
|
|
"zh",
|
|
"en",
|
|
"vn",
|
|
"th",
|
|
"sp",
|
|
"jp",
|
|
"ru",
|
|
};
|
|
|
|
/// 用于UI显示的中英文字符串
|
|
const wchar_t* CLang::LangWStr[LangNum] = {
|
|
L"简体中文",
|
|
L"English",
|
|
L"Vietnamese",
|
|
L"Thai",
|
|
L"Español",
|
|
L"日本語",
|
|
L"русский",
|
|
};
|
|
|
|
const wchar_t* CLang::LangWStrCn[LangNum] = {
|
|
L"简体中文",
|
|
L"英语",
|
|
L"越南语",
|
|
L"泰语",
|
|
L"西班牙语",
|
|
L"日语",
|
|
L"俄语",
|
|
}; |