iOS国际化处理

第一步,新建一个String文件,命名Localizable最好,我这里命名为Test,区别在于使用的时候这个命名调用NSLocalizedString,其他命名调用NSLocalizedStringFromTable方法

image.png

第二步,新增支持的语言,这里选择简体中文


image.png

第三步,选中string文件,点击右侧框内,勾选英文和简体中文


image.png

第四步,可以看到Test.string下面多了两个文件,分别在里面写上标记,playString作为标识符,在English文件里面使其呈现为lives,简体中文里面为直播。按照这个格式,随便添加更多标识,每一个后面不要忘了分号";"。

image.png

image.png

第五步,使用起来极简单,调用的时候注意选择的方法即可。

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.title = NSLocalizedStringFromTable(@"titleString", @"Test", nil);
    self.playBtn.titleLabel.text = NSLocalizedStringFromTable(@"playString", @"Test", nil);
}
xib的处理

第六步,新建一个xib选中,同样点击右部选择中英两种语言,可以看到多出了两个string文件。可以看到自动生成了标识符,只需要把后面的采集和播放根据当前文件语言稍作修改即可。


image.png

image.png

第七步,用真机测试,切换了语言之后的运行效果。


tip:测试中我作了一个测试,把xib下的string中的播放注释了,然后关联到代码中,
self.playBtn.titleLabel.text = NSLocalizedStringFromTable(@"playString", @"Test", nil);
"playString" = "直播";
"playString" = "lives";
但是最后效果图中,播放始终呈现的是播放二字,所以推测xib控制了国际化,再用代码来控制就无效了。(也有可能测试出错,各位不妨自己验证)


image.png
image.png

最后,还有icon国际化,app名字国际化等,差不多一样的道理,直接查阅资料即可。

你可能感兴趣的:(iOS国际化处理)