/********************************************************************\ * gnc-locale-utils.hpp -- provide a default locale for C++ * * Copyright (C) 2019 John Ralls #include /** Get the default application locale. * * If we set std::locale::global we have to imbue every stream that * we want in the C locale, and that's a lot more than we want imbued * with the application locale. Calling std::locale("") is expensive, * so call this instead. * * @returns A static std::locale representing the one set with * setlocale() in main(). */ const std::locale& gnc_get_locale(); /** Create default boost locale. * * std::locale has very limited used on Windows so for translation work we rely * on boost::locale instead. Calling boost::locale("") is expensive, * so call gnc_get_boost_locale instead. * * However before that function can be called the locale should be initialized * with gnc_init_boost_locale. */ void gnc_init_boost_locale(const std::string& messages_path); /** Get the default boost locale. * * std::locale has very limited used on Windows so for translation work we rely * on boost::locale instead. Calling boost::locale("") is expensive, * so call this instead. * * @returns A static std::locale representing the one set with * setlocale() in main(), but generated from boost::locale. */ const std::locale& gnc_get_boost_locale(); #endif /* GNC_LOCALE_UTILS_HPP */