#pragma once
//
// Create by LiaoMJ at 20211020

class CLang
{
public:
	CLang(void);
	~CLang(void);

	void SetLangFile(const CString& strPath);
	BOOL SetCurLang(const int& index);

	const CString& GetLangFile() const;
	const int& GetCurLang() const;
	const int& GetLangCount() const;
	const CString& GetLangName(const int& index) const;

	void AddLang(const CString& strLangName);
	BOOL DeleteLang(); // FALSE：语言列表为空

	void Clear();

	void TranslateMenu(CMenu* pMenu); // 未实现
	void TranslateDialog(CDialog* pDlg, UINT ID);
	const CString TranslateString(const CString& str);
	void AfxMsgBox(CString strContent, UINT nType = MB_OK, UINT nIDHelp = 0); // 未实现

private:
	CString m_strPath;
	CStringArray m_arrLangName; // 语言名字列表
	int m_nCurLang; // 当前语言索引
	int m_nLangCount; // 语言总数
};

extern CLang g_lang;
