iOS上所有的应用都会面临一个国际化的问题,你的菜单,提示信息,文字内容等等都需要针对不同区域的用户自行更改显示。事实上,技术上的问题苹果早就解决了,当开发工具推出的时候,这个问题已经被苹果考虑到了并提出了解决的方法,用户需要做的就是针对不同语言对字符串进行翻译。
在cocoa touch的开发过程中,所有使用到的字符串资源都应该使用NSLocalizedString来访问,然后应用程序需要支持哪些地区的语言,就会建立多个Localizable.strings文件,不同的语言翻译就在不同的文件夹下面(文件名是同一个的)
但在开发中,常常为了开发的方便没有做到每使用一个字符串就在文件中添加一项,这样开发到最后需要整理字符串资源,这项工作非常麻烦累人,下面介绍一个小技巧帮助大家减轻这份工作
1. 打开终端工具,就是运行Terminal.app
2. 键入cd + space,先键入cd和一个空格
3. 打开Finder,把项目文件夹拖动到终端窗口,此时项目文件夹路径会显示在终端窗口,回车
其实以上就是打开终端,并把当前路径切换到项目路径
4. 运行genstrings,查找Classes文件夹下所有的.m文件,列出所有NSLocalizedString的字符串,命令如下
genstrings ./Class/*.m
这个时候会在项目文件夹下找到一个名为Localizable.strings的新文件,里面列出了所有使用到的字符串资源,并按字符序排列好了,你需要做的就是针对需要的语言进行翻译了。