1.app本地内容国际化
①在项目中新建一个New File ---> iOS Resource -> String File ---> 命名为Localizable(之所以命名为Localizable纯粹是方便系统查找,可直接自行编译,当然也可以命名为其他,只不过需要再连接,为了省事就叫Localizable...)
②选择Localizable.strings文件 ---> 点击右侧按钮Localize...
③选择项目 ---> Project ---> Info ---> Localizations ---> 点击+按钮添加需要支持的语言 ---> 选择需要国际化的文件
④在Localizable.strings(English)和Localizable.strings(xxx)添加键值对,格式如下:
English: "loginButtonTitle" = "Login";
Chinese: "loginButtonTitle" = "登陆";
⑤在项目中使用,格式如下:
[loginButton setTitle:NSLocalizedString(@"loginButtonTitle",nil) forState:UIControlStateNormal];
2.app图片(资源)国际化
步骤与 1.app本地内容国际化 相同
在项目中使用,格式如下:
self.imageView.image = [UIImage imageNamed:NSLocalizedString(@"imageViewName", nil)];
3.app项目名称国际化
①在项目中新建一个New File ---> iOS Resource -> String File ---> 命名为InfoPlist
②选择Info.plist文件 ---> 添加键值对Bundle display name
③在InfoPlist.strings(Englist)和InfoPlist.strings(xxx)添加键值对,格式如下:
English: CFBundleDisplayName = "Tencent";
Chinese: CFBundleDisplayName = "腾讯";
4.app网络文字国际化
1 //获取当前系统的首选语言 2 NSArray *array = [NSLocale preferredLanguages]; 3 //获取当前系统的语言 4 NSString *language = [array firstObject]; 5 NSLog(@"%@",language); 6 7 8 //iOS9,iOS9以下没有_US 9 if ([language isEqualToString:@"en_US"]) 10 { 11 NSLog(@"英语"); 12 } 13 else if ([language isEqualToString:@"zh-Hans-US"]) 14 { 15 NSLog(@"简体中文"); 16 }
5.xib&StroryBoard国际化