From 30b4e4962f766534cfdd59b4a2b7fc86ed8f28f4 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Tue, 21 Aug 2018 09:46:12 -0700 Subject: [PATCH] Improve iOS locale calculation (thanks @maaniv, close #1224) --- project/src/system/Locale.mm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/project/src/system/Locale.mm b/project/src/system/Locale.mm index 9874683e5..c3a954a7f 100644 --- a/project/src/system/Locale.mm +++ b/project/src/system/Locale.mm @@ -17,7 +17,16 @@ namespace lime { #endif NSString* localeLanguage = [[NSLocale preferredLanguages] firstObject]; - NSString* localeRegion = [[NSLocale currentLocale] countryCode]; + if (localeLanguage == nil) localeLanguage = @"en"; + + NSString* localeRegion = nil; + NSLocale* currentLocale = [NSLocale autoupdatingCurrentLocale]; + if (currentLocale == nil || ![currentLocale respondsToSelector:@selector(countryCode)]) { + localeRegion = @""; + } else { + localeRegion = [currentLocale countryCode]; + } + NSString* locale = [[localeLanguage stringByAppendingString:@"_"] stringByAppendingString:localeRegion]; std::string* result = 0;