Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Zolotarev <deathbaba@gmail.com>2011-06-04 16:59:36 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:18:58 +0300
commit81bf621ab797e76522253174a4e87c461502fc0b (patch)
treeb6f1fa16b14eab667ef0504841e256b64ba3b185 /platform
parent637ab59cfca7bf358ac5f20c26ad369c47397ef6 (diff)
Added preferred languages support for Linux
Diffstat (limited to 'platform')
-rw-r--r--platform/preferred_languages.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/platform/preferred_languages.cpp b/platform/preferred_languages.cpp
index 130f3fb055..9228c359fa 100644
--- a/platform/preferred_languages.cpp
+++ b/platform/preferred_languages.cpp
@@ -13,6 +13,9 @@
#elif defined(OMIM_OS_WINDOWS)
// @TODO
+#elif defined(OMIM_OS_LINUX)
+ #include "../std/stdlib.hpp"
+
#else
#error "Define language preferences for your platform"
@@ -74,6 +77,27 @@ void SystemPreferredLanguages(vector<string> & languages)
#elif defined(OMIM_OS_WINDOWS)
// @TODO Windows implementation
+
+#elif defined(OMIM_OS_LINUX)
+ // check environment variables
+ char const * p = getenv("LANGUAGE");
+ if (p) // LANGUAGE can contain several values divided by ':'
+ {
+ string const str(p);
+ strings::SimpleTokenizer iter(str, ":");
+ while (iter)
+ {
+ languages.push_back(*iter);
+ ++iter;
+ }
+ }
+ else if ((p = getenv("LC_ALL")))
+ languages.push_back(p);
+ else if ((p = getenv("LC_MESSAGES")))
+ languages.push_back(p);
+ else if ((p = getenv("LANG")))
+ languages.push_back(p);
+
#else
#error "Define language preferences for your platform"
#endif