diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-02-02 17:36:06 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-02-02 17:36:06 +0300 |
commit | adee4beacfb6865233c220e060697627d358bdb1 (patch) | |
tree | fc2133651606ab7f1879c0724810c71f1aae950c /src/utils | |
parent | 25a203cc7117ab67d3809f24b5fdd23a3653ef99 (diff) | |
download | manaplus-adee4beacfb6865233c220e060697627d358bdb1.tar.gz manaplus-adee4beacfb6865233c220e060697627d358bdb1.tar.bz2 manaplus-adee4beacfb6865233c220e060697627d358bdb1.tar.xz manaplus-adee4beacfb6865233c220e060697627d358bdb1.zip |
Use translation for server descriptions in server list.
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/stringutils.cpp | 20 | ||||
-rw-r--r-- | src/utils/stringutils.h | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp index a5c0c471b..08bcac9e6 100644 --- a/src/utils/stringutils.cpp +++ b/src/utils/stringutils.cpp @@ -522,6 +522,26 @@ std::string getLangSimple() return lang; } +std::string getLangShort() +{ + std::string lang = config.getValue("lang", "").c_str(); + if (lang.empty()) + { + char *lng = getenv("LANG"); + if (!lng) + return ""; + lang = lng; + } + + int dot = lang.find("."); + if (dot != (signed)std::string::npos) + lang = lang.substr(0, dot); + dot = lang.find("_"); + if (dot != (signed)std::string::npos) + return lang.substr(0, dot); + return lang; +} + std::string packList(std::list<std::string> &list) { std::list<std::string>::const_iterator i = list.begin(); diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h index 5cb726eef..0b22ef847 100644 --- a/src/utils/stringutils.h +++ b/src/utils/stringutils.h @@ -190,6 +190,8 @@ std::vector<std::string> getLang(); std::string getLangSimple(); +std::string getLangShort(); + std::string packList(std::list<std::string> &list); std::list<std::string> unpackList(const std::string &str); |