00001
00002 #ifndef __TRANSLATION_MANAGER__
00003 #define __TRANSLATION_MANAGER__
00004
00005 #include <string>
00006 #include <map>
00007 #include <boost/shared_ptr.hpp>
00008
00009 namespace Spm
00010 {
00011 extern std::string strUpper (const char * str);
00012 namespace Util
00013 {
00014 class TranslationManager
00015 {
00016 private :
00017 std::string __domain;
00018 std::string __locale;
00019 TranslationManager (const std::string & domain,
00020 const std::string & localeDir);
00021 static std::map<std::string,
00022 boost::shared_ptr<TranslationManager> > __instances;
00023 public :
00024 static boost::shared_ptr<TranslationManager> & create(const std::string & domain,
00025 const std::string & localeDir);
00026 void setLocale (const std::string & locale);
00027 const std::string & getLocale ();
00028
00029 std::string translate (const std::string & message);
00030 };
00031 }
00032 }
00033 #endif