summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLVectorTileSource.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLVectorTileSource.mm')
-rw-r--r--platform/darwin/src/MGLVectorTileSource.mm11
1 files changed, 10 insertions, 1 deletions
diff --git a/platform/darwin/src/MGLVectorTileSource.mm b/platform/darwin/src/MGLVectorTileSource.mm
index 6b9d857ad2..50d98051f3 100644
--- a/platform/darwin/src/MGLVectorTileSource.mm
+++ b/platform/darwin/src/MGLVectorTileSource.mm
@@ -109,7 +109,16 @@ static NSArray * const MGLMapboxStreetsAlternativeLanguages = @[
+ (NSString *)preferredMapboxStreetsLanguageForPreferences:(NSArray<NSString *> *)preferencesArray {
BOOL acceptsEnglish = [preferencesArray filteredArrayUsingPredicate:
[NSPredicate predicateWithBlock:^BOOL(NSString * _Nullable language, NSDictionary<NSString *,id> * _Nullable bindings) {
- return [[NSLocale localeWithLocaleIdentifier:language].languageCode isEqualToString:@"en"];
+ NSString *languageCode;
+
+ if (@available(iOS 10.0, macOS 10.12.0, *)) {
+ languageCode = [NSLocale localeWithLocaleIdentifier:language].languageCode;
+ }
+ else {
+ languageCode = [[NSLocale localeWithLocaleIdentifier:language] objectForKey:NSLocaleLanguageCode];
+ }
+
+ return [languageCode isEqualToString:@"en"];
}]].count;
NSArray<NSString *> *availableLanguages = acceptsEnglish ? MGLMapboxStreetsLanguages : MGLMapboxStreetsAlternativeLanguages;