TrinityCore
Locales.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "Locales.h"
19#include <boost/locale/generator.hpp>
20#include <clocale>
21
22namespace
23{
24std::locale _global;
25std::locale _calendar;
26}
27
29{
30 // Change global locale from "C" to UTF-8 for c runtime functions
31 std::locale utf8("");
32 _global = utf8;
33 _global = std::locale(_global, std::locale::classic(), std::locale::numeric);
34 std::locale::global(_global);
35
36 std::setlocale(LC_ALL, "");
37 std::setlocale(LC_NUMERIC, "C");
38
39 boost::locale::generator g;
40 _calendar = g.generate(utf8, "");
41}
42
44{
45 return _global;
46}
47
49{
50 return _calendar;
51}
TC_COMMON_API std::locale const & GetGlobalLocale()
Definition: Locales.cpp:43
TC_COMMON_API void Init()
Definition: Locales.cpp:28
TC_COMMON_API std::locale const & GetCalendarLocale()
Definition: Locales.cpp:48