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:
authorygorshenin <mipt.vi002@gmail.com>2016-10-10 18:43:30 +0300
committerGitHub <noreply@github.com>2016-10-10 18:43:30 +0300
commit0449cb90b04e9816d6c7df91b02b3bbdac4f0bc1 (patch)
tree249c01296fc0a7153cca8e53c9402b23080b6d89 /platform
parentecc59be84ff4b13c768f41422964d69a90c3fa2c (diff)
parentaa1dd61dcdb109eef16111962c9c0edb48a4938c (diff)
Merge pull request #4444 from Zverik/feature_list
Feature list tool
Diffstat (limited to 'platform')
-rw-r--r--platform/preferred_languages.cpp57
1 files changed, 29 insertions, 28 deletions
diff --git a/platform/preferred_languages.cpp b/platform/preferred_languages.cpp
index b2dba2ad0f..77712b8e9d 100644
--- a/platform/preferred_languages.cpp
+++ b/platform/preferred_languages.cpp
@@ -47,17 +47,38 @@ namespace languages
void GetSystemPreferred(vector<string> & languages)
{
+#if defined(OMIM_OS_MAC) || defined(OMIM_OS_IPHONE) || defined(OMIM_OS_LINUX)
+ // check environment variables
+ char const * p = getenv("LANGUAGE");
+ if (p && strlen(p)) // LANGUAGE can contain several values divided by ':'
+ {
+ string const str(p);
+ strings::SimpleTokenizer iter(str, ":");
+ for (; iter; ++iter)
+ languages.push_back(*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);
+
#if defined(OMIM_OS_MAC) || defined(OMIM_OS_IPHONE)
- // Mac and iOS implementation
- CFArrayRef langs = CFLocaleCopyPreferredLanguages();
- char buf[30];
- for (CFIndex i = 0; i < CFArrayGetCount(langs); ++i)
+ else
{
- CFStringRef strRef = (CFStringRef)CFArrayGetValueAtIndex(langs, i);
- CFStringGetCString(strRef, buf, 30, kCFStringEncodingUTF8);
- languages.push_back(buf);
+ // Mac and iOS implementation
+ CFArrayRef langs = CFLocaleCopyPreferredLanguages();
+ char buf[30];
+ for (CFIndex i = 0; i < CFArrayGetCount(langs); ++i)
+ {
+ CFStringRef strRef = (CFStringRef)CFArrayGetValueAtIndex(langs, i);
+ CFStringGetCString(strRef, buf, 30, kCFStringEncodingUTF8);
+ languages.push_back(buf);
+ }
+ CFRelease(langs);
}
- CFRelease(langs);
+#endif
#elif defined(OMIM_OS_WINDOWS)
// if we're on Vista or above, take list of preferred languages
@@ -100,26 +121,6 @@ void GetSystemPreferred(vector<string> & languages)
}
}
-#elif defined(OMIM_OS_LINUX)
- // check environment variables
- char const * p = getenv("LANGUAGE");
- if (p && strlen(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);
-
#elif defined(OMIM_OS_ANDROID)
languages.push_back(GetAndroidSystemLanguage());