1、本地化xib文件 在XCode中点击LocalizedDemo项目文件—PROJECT栏—LocalizedDemo—Info,可以看到Localization部分下面Language只有English一项。 点击Localization下面的加号(+)按钮,会弹出一个本地化语言列表,选择需要增加的本地化语言,比如我选Chinese(zh-Hans),这个是简体中文,然后会弹出一个对话框,里面包括需要本地化为简体中文的资源,本工程中有ViewController.xib和InfoPlist.strings,点击Finish。 工程中的ViewController.xib和InfoPlist.strings文件旁就有一个可以展开的三角形了,展开可以看到他们有两个子项:English和Chinese,English资源位于工程目录的en.lproj文件夹中,Chinese资源位于工程目录的zh-Hans.lproj文件夹中。 这样就完成了xib的本地化。 当iOS设备当前语言是English时,会调用ViewController.xib(English), 当iOS设备当前语言是中文简体时,会调用ViewController.xib(Chinese)。 其他语言xib的本地化类似。 这种方式在于能够迅速的处理多语言本地化,可以根据不同语言的文本长度直接在xib中调整控件大小,但如果需要本地化的语言种类非常多,项目中xib文件也很多,那么项目中就充斥着太多太多的xib资源文件,感觉非常不好。 2、本地化图像 在步骤1中不同的本地化xib文件中的UIImageView选用不同的图片就能完成图片的本地化。 3、本地化应用程序显示名称 在步骤1中的不同本地化InfoPlist.strings文件中设置: CFBundleDisplayName = "APPNAME"; "APPNAME"改成想要显示的本地化名字即可完成应用程序名称的本地化。 4、本地化字符串 假设在ViewController.xib有一个UILabel,将其文本赋值如下: label.text = NSLocalizedString(@”Hello, World”, @”The test label”); 启动/Application/Utilities/Terminal.app,cd到LocalizedDemo目录,执行如下指令: genstrings ./LocalizedDemo/*.m 命令执行完后将在项目工程目录下生成一个名为Localizable.strings的新文件,将其导入到工程中。 在Xcode中选中Localizable.strings,选择XCode菜单—View—Utilities—Show Utilities,选择Localization,选择需要本地化的语言,即可完成。 这样,在Localizable.strings可以看到一个能展开的三角形,展开后能看到所有已经本地化的语言。 需要注意的是,还要对Localizable.strings对应的本地化语言做修改,因为它默认是会以某一个语言为模板复制的。比如,中文本地化默认如果以English为模板,英文本地化字符内容为: /* The test label */ "Hello, World" = "Hello, World"; 那么中文本地化初始化值也是: /* The test label */ "Hello, World" = "Hello, World"; 需要将中文等号后面的修改: /* The test label */ "Hello, World" = "你好,世界"; 注意等号前面的字符串是本地化字符的key,不能随意修改,若修改了它,需要重新生成本地化字符串文件。