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国际化原理分析 国际化其实都大同小异,其核心思想就是为每种语言单独定义一份资源。 iOS就是通过xxx.lp...
    中秋梧桐语阅读 717评论 0 1
  • 最近被安排处理一下旧项目的国际化处理。写篇文章记录下心得,也希望能为遇到问题的你提供点思路。开始进入正题。 国际化...
    码动人生阅读 1,106评论 0 0
  • 最近项目再做国际化处理, 记录一下,方便以后参考,这里面有些是自己写的,有些是从网上找的.仅供参考 环境是 Xco...
    Zakerberg阅读 285评论 0 1
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,029评论 3 119
  • 这里的孟先生,也就是孟瑞。演员孟瑞,偶像孟瑞,亦或是作家孟瑞。只是单纯的很喜欢孟先生这个称呼。 这是我第一次写关于...
    怎么又被人注册了阅读 292评论 3 3