如何获取所有可用本地化的列表?
我有一个有五个本地化的应用程序。我需要知道当前语言环境是否在该列表中,如果没有,则创建一个后备。但是如何确定当前语言环境是否在该列表中?
如何获取所有可用本地化的列表?
我有一个有五个本地化的应用程序。我需要知道当前语言环境是否在该列表中,如果没有,则创建一个后备。但是如何确定当前语言环境是否在该列表中?
对我来说,接受的解决方案不起作用,如果不支持语言 - 应用程序只是回退到英语,并且由于英语字符串文件包含“IsSupported”字符串 - 它返回“是”。
我不得不使用这个解决方案
NSString* currentLanguage = [NSLocale preferredLanguages][0];
NSArray* supportedLocalizations = [[NSBundle mainBundle] localizations];
if ([supportedLocalizations containsObject:currentLanguage]) {
isLocalizedToCurrentLanguage = YES;
}
else {
isLocalizedToCurrentLanguage = NO;
}
确定当前语言环境是否受支持的最简单方法是在@"IsSupported" = @"Yes"
您支持的所有五种本地化中添加一个特殊的“测试”字符串(例如 )。然后一个简单的检查将起作用:
BOOL supported = [NSLocalizedString(@"IsSupported", nil) isEqualToString:@"Yes"];