IOS本地化

IOS本地化步骤摘要

 

1. 添加项目支持的语言

在project navigator窗口(CMD+1)选中工程 -> 中间窗口选中project -> 选中Info标签 -> 点击Localizations窗口下方的加号,添加一种语言。zh-Hans就是简体中文

选中需要本地化处理的strings和xib:(这一步可以不选择,在后续步骤中操作)

 

这一步的操作将自动添加 zh-Hans.lproj或其他语言对应的文件夹

 

2. 对已经存在的,添加需要本地化处理的语言。(必须是第一步中已经加入的工程支持的语言):    

选中需要添加本地化支持的文件(xib或图片、strings等)->  进入utilities窗口的File Inspector标签页(option+cmd+1) -> Locailzation项应该是下面两种状态

   或   

如果是第一种,点击Localize...按钮并选取支持的语言,将进入第二种的状态-> 选中需要支持语言的复选框,将自动在对应语言的.lproj文件夹下创建副本。最后,在单独的文件夹中修改接口,载入资源时将自动载入对应语言的版本

3. app在主屏上,根据不同语言显示不同的名字

在对应语言的infoPlist.string(如果只有一个,按第二步的方式创建副本)中,添加一行CFBundleDisplayName = "Hello World"; 中文对应的可以添加为CFBundleDisplayName = "你好世界";

4.程序中字符串本地化

在程序中遇到需要本地化处理的字符串时,先这样写   

self.title =  @"New Test View";

改写为

self.title = NSLocalizedString(@"New Test View", @"test view's title");

第二部分的字符串用于生成本地化字符串表时自动生成注释。可以为nil

接下来,在终端中,进入工程所在目录,输入命令genstrings ./HelloWorld/*.m  (签名的命令如法遍历子文件夹,可能需要这个 find ./ -name *.m -print0 | xargs -0 genstrings -o en.lproj ])

(这里需要注意当前文件夹和源代码所在的文件夹路径。不清楚的话需要了解一下shell命令基本知识了)

       操作过后,会生成一个Localizable.strings文件。它的内容是这样的

 /* test view's title */

"New Test View" = "New Test View";

(如果找不到,检查两点:A 当前路径和操作的.m文件路径是否正确 B 工程中使用NSLocalizedString了吗)

将Localizable.strings添加到工程中,使用第二步的方法生成多语言副本,可以把中文版本改为

"New Test View" = "新测试视图";

 

重新编译后,应该可以在程序中看到对应语言下的样子了。

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/matrixchen/p/3210982.html