diff --git a/src/gettext.hpp b/src/gettext.hpp index beb2aa6951a..81ff4fa427a 100644 --- a/src/gettext.hpp +++ b/src/gettext.hpp @@ -76,8 +76,13 @@ namespace translation void set_language(const std::string& language, const std::vector* alternates); void init(); + + /** Case-sensitive lexicographical comparison. */ int compare(const std::string& s1,const std::string& s2); + /** Case-insensitive lexicographical comparison. */ + int icompare(const std::string& s1,const std::string& s2); + std::string strftime(const std::string& format, const std::tm* time); } diff --git a/src/gettext_boost.cpp b/src/gettext_boost.cpp index 82e079321bd..9e34876bce8 100644 --- a/src/gettext_boost.cpp +++ b/src/gettext_boost.cpp @@ -267,14 +267,19 @@ void set_language(const std::string& language, const std::vector* / LOG_G << "setting language to '" << language << "' \n"; get_manager().set_language(language); } + int compare(const std::string& s1, const std::string& s2) { return std::use_facet >(get_manager().get_locale()).compare(s1.c_str(), s1.c_str() + s1.size(), s2.c_str(), s2.c_str() + s2.size()); } +int icompare(const std::string& s1, const std::string& s2) +{ + return std::use_facet >(get_manager().get_locale()).compare(bl::collator_base::secondary, s1, s2); +} + void init() { - } std::string strftime(const std::string& format, const std::tm* time)