00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __TRANSLATION_MANAGER__
00022 #define __TRANSLATION_MANAGER__
00023
00024 #include <map>
00025 #include <boost/shared_ptr.hpp>
00026 #include <miniXml/ustring.h>
00027
00028 namespace Spm
00029 {
00030 extern miniXml::ustring strUpper (const char * str);
00031 namespace Util
00032 {
00037 class TranslationManager
00038 {
00039 private :
00040 miniXml::ustring domain_;
00041 miniXml::ustring locale_;
00042 TranslationManager (const miniXml::ustring & domain,
00043 const miniXml::ustring & localeDir);
00044 static std::map<miniXml::ustring,
00045 boost::shared_ptr<TranslationManager> > instances_;
00046 public :
00052 static boost::shared_ptr<TranslationManager> & create(const miniXml::ustring & domain,
00053 const miniXml::ustring & localeDir);
00054
00059 void setLocale (const miniXml::ustring & locale);
00060
00064 const miniXml::ustring & getLocale ();
00065
00071 miniXml::ustring translate (const miniXml::ustring & message);
00072 };
00073 }
00074 }
00075 #endif