12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // 本地化多语言
- // 多语言文件格式是plist,一个国家一个plist,各国家plist文件名见_initLocalContent(LanguageType lan)方法
- //
- #ifndef RULocalization_h
- #define RULocalization_h
- #include "cocos2d.h"
- #include "RUDefine.h"
- USING_NS_CC;
- NS_RU_BEGIN
- #define gLocalization(key) redutils::Localization::instance(key)
- class Localization{
- public:
- static Localization* instance(std::string key4Local);
-
- std::string getString(std::string valueKey);
-
- // 分组测试用
- void setGroup(int group);
-
- // mac工具debug专用
- void debugLanguage(LanguageType lan);
- private:
- Localization() = default;
- ~Localization() = default;
- void _initLocalContent();
- void _initLocalContent(LanguageType lan);
- std::string _getLocalFileName(std::string lanSuffix);
- private:
- static std::unordered_map<std::string, Localization*> _gLocalizations;
- std::string _localName; //实例在_gLocalizations中的key,也用作多语言文件的前缀
- int _group = 0;
- bool _isLoadContent = false;
- ValueMap _contentMap;
- };
- NS_RU_END
- #endif /* RULocalization_h */
|