#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"俄语", };