Handle preferred languages list on iOS

This commit is contained in:
Mathieu Acthernoene 2017-04-06 02:18:08 +02:00
parent d5ad3b3d0d
commit 34d39e6341
1 changed files with 9 additions and 21 deletions

View File

@ -4,30 +4,18 @@
RCT_EXPORT_MODULE();
- (NSString*) getCurrentLocale
{
NSString *preferredLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
- (NSDictionary *)constantsToExport {
NSArray *preferredLanguages = [NSLocale preferredLanguages];
NSMutableArray *languages = [NSMutableArray array];
if ([preferredLanguage rangeOfString:@"-"].location != NSNotFound) {
return preferredLanguage;
for (id language in preferredLanguages) {
[languages addObject:[language stringByReplacingOccurrencesOfString:@"_" withString:@"-"]];
}
if ([preferredLanguage rangeOfString:@"_"].location != NSNotFound) {
return [preferredLanguage stringByReplacingOccurrencesOfString:@"_" withString:@"-"];
}
NSString *countryCode = [[NSLocale currentLocale] objectForKey:NSLocaleCountryCode];
if (countryCode != nil) {
return [NSString stringWithFormat:@"%@-%@", preferredLanguage, countryCode];
}
return preferredLanguage;
}
- (NSDictionary *)constantsToExport
{
return @{ @"locale": [self getCurrentLocale] };
return @{
@"language": [languages objectAtIndex:0],
@"languages": languages
};
}
@end