Skip to content

Instantly share code, notes, and snippets.

@SongJiaqiang
Created July 22, 2018 09:45
Show Gist options
  • Save SongJiaqiang/2af827c8b30030470bddc6265376d923 to your computer and use it in GitHub Desktop.
Save SongJiaqiang/2af827c8b30030470bddc6265376d923 to your computer and use it in GitHub Desktop.
[iOS设备支持的国际和语言列表] #country #language
+ (NSArray<NSString *> *)allSupportedCountries {
NSArray<NSString *> *codes = NSLocale.ISOCountryCodes;
NSMutableArray<NSString *> *names = [NSMutableArray arrayWithCapacity:codes.count];
for (NSString *code in codes ) {
NSString *name = [code uppercaseString];
[names addObject:name];
NSLog(@"country >> code:%@ - name:%@", code, name);
}
return [names copy];
}
+ (NSArray<NSString *> *)allSupportedLanguages {
NSArray<NSString *> *codes = NSLocale.ISOLanguageCodes;
NSMutableArray<NSString *> *names = [NSMutableArray arrayWithCapacity:codes.count];
for (NSString *code in codes) {
NSString *localeID = code;
NSDictionary *components = [NSLocale componentsFromLocaleIdentifier:localeID];
NSString *name = components[NSLocaleLanguageCode];
NSString *script = components[NSLocaleScriptCode];
if (name.length == 0) {
name = kDefaultLanguage;
} else if ([name isEqualToString:@"zh"] && [script isEqualToString:@"Hant"]) {
name = [NSString stringWithFormat:@"%@-%@",name, script];
}
[names addObject:name];
NSLog(@"language >> code:%@ - name:%@", code, name);
}
return [names copy];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment