Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
38
libs/platform/locale_std.cpp
Normal file
38
libs/platform/locale_std.cpp
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#include "platform/locale.hpp"
|
||||
|
||||
#include <locale>
|
||||
|
||||
namespace platform
|
||||
{
|
||||
Locale StdLocale2Locale(std::locale loc)
|
||||
{
|
||||
return {"", "", std::use_facet<std::moneypunct<char, true>>(loc).curr_symbol(),
|
||||
std::string(1, std::use_facet<std::numpunct<char>>(loc).decimal_point()),
|
||||
std::string(1, std::use_facet<std::numpunct<char>>(loc).thousands_sep())};
|
||||
}
|
||||
|
||||
Locale GetCurrentLocale()
|
||||
{
|
||||
// Environment's default locale.
|
||||
std::locale loc;
|
||||
|
||||
return StdLocale2Locale(loc);
|
||||
}
|
||||
|
||||
bool GetLocale(std::string const localeName, Locale & result)
|
||||
{
|
||||
try
|
||||
{
|
||||
std::locale loc(localeName);
|
||||
|
||||
result = StdLocale2Locale(loc);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace platform
|
||||
Loading…
Add table
Add a link
Reference in a new issue