UGDK
|
00001 #ifndef UGDK_UTIL_LANGUAGEMANAGER_H_ 00002 #define UGDK_UTIL_LANGUAGEMANAGER_H_ 00003 00004 #include <string> 00005 #include <map> 00006 #include <ugdk/util.h> 00007 00008 namespace ugdk { 00009 00010 #define LANGUAGE_MANAGER() (ugdk::base::Engine::reference()->language_manager()) 00011 00012 class LanguageManager { 00013 public: 00014 LanguageManager(const std::string& default_language_code) : default_language_(default_language_code) {} 00015 ~LanguageManager() {} 00016 00017 const std::string& default_language() const { return default_language_; } 00018 00019 bool RegisterLanguage(const std::string& code, const std::string& language_file); 00020 00022 bool Setup(const std::string& active_language); 00023 00024 private: 00025 std::map<std::string, std::string> registered_languages_; 00026 std::string default_language_; 00027 }; 00028 00029 } // namespace ugdk 00030 00031 #endif /* UGDK_UTIL_LANGUAGEMANAGER_H_ */