MultiLang.h 891 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "xmlserialization.h"
  3. struct StringRes
  4. {
  5. int key;
  6. CString text;
  7. CString Description;
  8. };
  9. class __declspec(dllexport) ResGroup
  10. {
  11. public:
  12. int key;
  13. CString text="";
  14. CString Description="";
  15. std::map<int, StringRes> mapRes;
  16. };
  17. class __declspec(dllexport) MultiLang
  18. {
  19. public:
  20. void GetCStringByKey(int grpKey, int itmKey, CString& text, CString& des);
  21. CString GetCStringByKey(int grpkey, int itmKey);
  22. CString GetGroupTextByKey(int grpkey);
  23. void GetGroupTextByKey(int grpKey, CString& text, CString& des);
  24. void SetCStringByKey(int grpkey, int itmkey, CString value, CString des);
  25. bool LoadStringFromXml();
  26. bool SaveStringToXml();
  27. static MultiLang &GetInstance()
  28. {
  29. static MultiLang instance;
  30. return instance;
  31. }
  32. private:
  33. MultiLang() {};
  34. MultiLang& operator = (const MultiLang&);
  35. MultiLang(const MultiLang&);
  36. std::map<int, ResGroup> resGroup;
  37. };