26 #ifndef __TERRALIB_COMMON_INTERNAL_TRANSLATOR_H    27 #define __TERRALIB_COMMON_INTERNAL_TRANSLATOR_H    30 #include "../BuildConfig.h"    33 #ifdef TERRALIB_TRANSLATOR_ENABLED   119       friend class Singleton<Translator>;
   141         const char* translate(
const std::string& message,
   142                               const std::string& textDomain);
   157         const char* translate(
const char* message,
   158                               const char* textDomain);
   175         const char* translate(
const std::string& textDomain,
   176                               const std::string& msg1,
   177                               const std::string& msg2,
   195         const char* translate(
const char* textDomain,
   210         const char* addTextDomain(
const std::string& textDomain, 
const std::string& textDomainDir);
   222         const char* setTextDomainCodeSet(
const std::string& textDomain, 
const std::string& codeset);
   229         bool exist(
const std::string& textDomain);
   240         std::string getTextDomainDir(
const std::string& textDomain);
   255         std::map<std::string, std::string> m_textDomainMap;  
   261 #endif  // TERRALIB_TRANSLATOR_ENABLED   272 #ifdef TERRALIB_TRANSLATOR_ENABLED   274 #error "The TE_TR macro has been already defined by another application or code. Please, inform TerraLib Development Team <terralib-team@dpi.inpe.br>, we will be glad to help solving this problem!"   283 #define TERRALIB_TEXT_DOMAIN "terralib"   290 #define TERRALIB_TEXT_DOMAIN_DIR "locale"   300 #ifdef TERRALIB_TRANSLATOR_ENABLED   301   #define TE_ADD_TEXT_DOMAIN(domain, domaindir, codeset)                         \   302   if(!te::common::Translator::getInstance().exist(domain))                       \   304     te::common::Translator::getInstance().addTextDomain(domain, domaindir);      \   305     te::common::Translator::getInstance().setTextDomainCodeSet(domain, codeset); \   309   #define TE_ADD_TEXT_DOMAIN(domain, domaindir, codeset) ((void)0)   317 #ifdef TERRALIB_TRANSLATOR_ENABLED   318   #define TE_GENERAL_TR(message, domain) te::common::Translator::getInstance().getInstance().translate(message, domain)   320   #define TE_GENERAL_TR(message, domain) message   328 #ifdef TERRALIB_TRANSLATOR_ENABLED   329   #define TE_GENERAL_TR_PLURAL(domain, message1, message2, n) te::common::Translator::getInstance().getInstance().translate(domain, message1, message2, n)   331   #define TE_GENERAL_TR_PLURAL(domain, message1, message2, n) (n > 1 ? message2 : message1)   346 #define TE_TR(message) TE_GENERAL_TR(message, TERRALIB_TEXT_DOMAIN)   369 #define TE_TR_PLURAL(message1, message2, n) TE_GENERAL_TR_PLURAL(TERRALIB_TEXT_DOMAIN, message1, message2, n)   373 #endif  // __TERRALIB_COMMON_INTERNAL_TRANSLATOR_H Configuration flags for the TerraLib Common Runtime module. 
 
Template support for singleton pattern. 
 
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.