Mercurial > hg > orthanc
diff Core/Toolbox.cpp @ 2330:9c7a80c87ae9
"Locale" configuration option
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 14 Jul 2017 16:34:16 +0200 |
parents | 423d3b692bb9 |
children | 6677cdbfbafd |
line wrap: on
line diff
--- a/Core/Toolbox.cpp Fri Jul 14 16:17:02 2017 +0200 +++ b/Core/Toolbox.cpp Fri Jul 14 16:34:16 2017 +0200 @@ -1256,7 +1256,7 @@ static std::auto_ptr<std::locale> globalLocale_; - void Toolbox::InitializeGlobalLocale() + void Toolbox::InitializeGlobalLocale(const char* locale) { // Make Orthanc use English, United States locale @@ -1270,18 +1270,25 @@ try { - if (DEFAULT_LOCALE == NULL) + if (locale != NULL) { + LOG(WARNING) << "Using user-specified locale: \"" << locale << "\""; + globalLocale_.reset(new std::locale(locale)); + } + else if (DEFAULT_LOCALE == NULL) + { + LOG(WARNING) << "Using system-wide default locale"; globalLocale_.reset(new std::locale()); } else { + LOG(WARNING) << "Using default locale: \"" << DEFAULT_LOCALE << "\""; globalLocale_.reset(new std::locale(DEFAULT_LOCALE)); } } - catch (std::runtime_error& e) + catch (std::runtime_error&) { - LOG(ERROR) << "Cannot initialize global locale as \"" << DEFAULT_LOCALE << "\""; + LOG(ERROR) << "Cannot initialize global locale"; throw OrthancException(ErrorCode_InternalError); } }