第一步,新建一个String文件,命名Localizable最好,我这里命名为Test,区别在于使用的时候这个命名调用NSLocalizedString
,其他命名调用NSLocalizedStringFromTable
方法
第二步,新增支持的语言,这里选择简体中文
第三步,选中string文件,点击右侧框内,勾选英文和简体中文
第四步,可以看到Test.string下面多了两个文件,分别在里面写上标记,playString
作为标识符,在English文件里面使其呈现为lives
,简体中文里面为直播
。按照这个格式,随便添加更多标识,每一个后面不要忘了分号";
"。
第五步,使用起来极简单,调用的时候注意选择的方法即可。
- (void)viewDidLoad {
[super viewDidLoad];
self.title = NSLocalizedStringFromTable(@"titleString", @"Test", nil);
self.playBtn.titleLabel.text = NSLocalizedStringFromTable(@"playString", @"Test", nil);
}
xib的处理
第六步,新建一个xib选中,同样点击右部选择中英两种语言,可以看到多出了两个string文件。可以看到自动生成了标识符,只需要把后面的采集和播放根据当前文件语言稍作修改即可。
第七步,用真机测试,切换了语言之后的运行效果。
tip:测试中我作了一个测试,把xib下的string中的播放注释了,然后关联到代码中,
self.playBtn.titleLabel.text = NSLocalizedStringFromTable(@"playString", @"Test", nil);
"playString" = "直播";
和"playString" = "lives";
但是最后效果图中,播放始终呈现的是播放
二字,所以推测xib控制了国际化,再用代码来控制就无效了。(也有可能测试出错,各位不妨自己验证)
最后,还有icon国际化,app名字国际化等,差不多一样的道理,直接查阅资料即可。