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