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.