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];
有不对的地方,请大神指教,刚做这个需求,可能有写地方还不完善,请大家见谅。
#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];
有不对的地方,请大神指教,刚做这个需求,可能有写地方还不完善,请大家见谅。
相关文章推荐
- iOS之旅--获取字符长度
- iOS之轮播图(collectionView)加定时器
- ios异常类型
- iOS 中捕获程序崩溃日志
- 有关autoresizingMask属性遇到的一个小问题
- iOS崩溃 捕获异常处理
- iOS NSNumber NSDecimalNumber 对数值的限制
- iOS杂记——static关键字作用
- iOS开发--下载安装cocoapods的详细教程、cocoapods使用第三方库
- IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework
- iOS /* */多个嵌套解决
- iOS 开发中的争议(二)
- [iOS]修改ABPeoplePickerNavigationController导航栏颜色
- iOS学习笔记
- iOS浅拷贝和深拷贝的区别
- iOS 复制功能的实现
- iOS项目异常捕捉提示及处理方案。
- iOS 出现蓝色块
- FFmpeg编译
- iOS tableView 设置分割线