您的位置:首页 > 移动开发 > IOS开发

iOS 国际化 没有国际化的语言显示默认语言

2016-07-27 17:15 363 查看
我们公司只做了简体,繁体,英文国际化 需求是如果没有国际化的语言默认显示英语。

#define CURR_LANG ([[NSLocale preferredLanguages] objectAtIndex:0])

NSString *localizedString = NSLocalizedString(translation_key, nil);

NSString *localeStr = CURR_LANG;

NSString *lauguageString;

// 切割字符串因为大陆版,港版,美版 所标示的字符串不通,比如行货切换为简体中文为:zh-Hant ,美版为zh-Hant-US所以的切割判断。

NSArray *lauguageArr = [localeStr componentsSeparatedByString:@”-“];

if (lauguageArr.count > 1) {

NSString *lauStr = [lauguageArr[0] stringByAppendingString:@”-“];

lauguageString = [lauStr stringByAppendingString:lauguageArr[1]];

} else {

lauguageString = localeStr;

}

// 由于繁体分为台湾繁体,香港繁体,繁体中文,所以要各自判断。

if (![lauguageString isEqualToString:@”en”] && ![lauguageString isEqualToString:@”zh-Hant”] && ![lauguageString isEqualToString:@”zh-Hans”] && ![lauguageString isEqualToString:@”zh-HK”] && ![lauguageString isEqualToString:@”zh-TW”]) {

NSString *path = [[NSBundle mainBundle] pathForResource:@”en” ofType:@”lproj”];

NSBundle *languageBundle = [NSBundle bundleWithPath:path];

localizedString= [languageBundle localizedStringForKey:translation_key value:@”” table:nil];

有不对的地方,请大神指教,刚做这个需求,可能有写地方还不完善,请大家见谅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: