Rev 121 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef __LANGUAGES_H__#define __LANGUAGES_H__#include "Utils\String.h"#include <map>#include <vector>enum Lang_Section{LS_STARTUP = 1,LS_DIRECTORY,LS_FILEDIALOG};enum Lang_Startup{LANGSTARTUP_ANOTHERINSTANCE_TITLE = 1,LANGSTARTUP_ANOTHERINSTANCE,LANGSTARTUP_PROTECTEDDIR,LANGSTARTUP_LOCKEDDIR,LANGSTARTUP_LOCKEDDIR_TITLE,};enum Lang_Directory{LANGDIR_TITLE = 1,};typedef std::map<int, Utils::String> LangPage;typedef std::map<int, LangPage> LangPages;typedef std::map<int, LangPages> LangTexts;class SPKEXPORT CLanguages{public:static CLanguages *Instance();static void Release();void SetLanguage(int lang);Utils::String findText(int section, int id);protected:CLanguages();~CLanguages();private:void DEBUG_AddDefaultTexts();LangPages *_findLanguageText(int id = -1) const;Utils::String _error(int section, int id) const;bool _findText(LangPages *texts, int section, int id, Utils::String *out) const;private:static CLanguages *_pInstance;int _iLanguage;LangTexts *_lTexts;LangPages *_pDefaultLang;LangPages *_pCurrentLang;};#endif //__LANGUAGES_H__