常规的国际化是通过代码中控件命名实现,而此次直接将storyboard内容作为键值进行多语言适配处理。
1、 打开工程文件后,进入工程设置界面,点击加号按钮,选择需要添加的语言,此处以简体中文为例。系统提示storyboard已关联后,点击完成,所选语言便会自动出现在语言列表中,添加过程简单快捷,无需额外配置,即可在项目中启用新语言支持。
2、 此时你会发现,storyboard中出现了一个三角形箭头。点击该箭头展开后,会看到两个文件:一个是base,代表你原有的storyboard内容;另一个则是你新增的国际化语言文件。其中,base保存着原始界面布局,而新增的语言文件则对应storyboard中所有控件的本地化翻译内容。
3、 打开你添加的简体中文strings文件,里面的内容对应着国际化配置。现在你应该明白该如何操作了,只需将等号右侧的文本修改为你想要显示的简体中文即可。
4、 你也可以在Storyboard和Strings文件的设置中点击选项,将其切换为另一个Storyboard,从而为每种语言创建单独的Storyboard。虽然这种方法可行,但我个人并不太喜欢这样操作,感觉有些繁琐,更倾向于其他更简洁的多语言实现方式。
5、 当你修改Storyboard中的控件后,若发现strings国际化文件未同步更新,这确实会带来困扰。目前可采取一种有效方法来解决该问题,确保资源文件与界面保持一致。
6、 将新界面内容整合至现有的 MainStoryboard.strings 文件中,确保资源同步更新。
7、 打开终端应用,进入项目文件夹中的 Base.lproj 目录。
8、 例如:
9、 在提示符后输入如下命令:
10、 可自定义文件名,如New.strings,灵活命名以满足需求。
11、 最后打开Xcode中的strings文件,获取新控件的值,即可开始翻译工作。
12、 建议在开发后期再进行国际化设置。若觉得上述方法繁琐,可先保存现有翻译,删除当前配置后,按前述方式重新生成即可,这样操作更简便且不易出错。
