26 #ifndef _OD_SETLOCALE_H_
27 #define _OD_SETLOCALE_H_
32 #if (defined(_WIN32) || defined(WIN64)) && !defined(_WIN32_WCE)
58 OdSetLocale(
int category,
const OdString& locale)
61 set(category, locale);
63 OdSetLocale(
int category,
int ansiCp)
70 set(category, loc.
c_str());
77 void set(
int category,
const OdString& loc)
82 OdString origLocale = ::_wsetlocale(_category, 0);
83 if (origLocale.
iCompare(loc) != 0 && ::_wsetlocale(_category, loc) != 0)
85 _origLocale = origLocale;
90 if (!_origLocale.isEmpty())
92 _wsetlocale(_category, _origLocale);
94 OdString loc = _wsetlocale(_category, 0);
109 #define SET_LOCALE(category, locale) OdSetLocale loc(category, locale);
110 #define RESET_LOCALE() loc.reset();
111 #else // TD_USE_LOCALE
113 #define SET_LOCALE(category, locale)
114 #define RESET_LOCALE()
116 #endif // TD_USE_LOCALE
121 #endif // _OD_SETLOCALE_H_