iOS开发基于xcode7.2的应用程序需国际化本地化处理

时间:2021-11-10 08:36:59

小编是程序员一枚,以前写过很多项目,都没有遇到要国际化的情况,这侧写了一个项目,甲方是一对海归,要求国际化,这下有点为难了,不过还好网上资料很多,整理了之后还是很顺利的搞好了,在这里也想与广大程序员友友们分享一下:

我用的是storyboard写的程序,所以项目的国际化本地化分三个模块,1:main.storyboard和launchScreen.storyboard的国际化本地化;2:controller中字符串的国际化本地化;3:项目名称的国际化本地化;

具体流程如下:

一:配置工程

在xcode点击程序图标:点击Info选项->Localizationn,点击“+”,选择要添加的语言,简体中文选择Chinese(zh-Hans) 你会在你工程目录下发现多了个文件夹,“zh-Hans.lproj",x-code使用.lproj作为其本地化文件夹的扩展名。 iOS开发基于xcode7.2的应用程序需国际化本地化处理

iOS开发基于xcode7.2的应用程序需国际化本地化处理

然后打开info.plist接入两个字段:

iOS开发基于xcode7.2的应用程序需国际化本地化处理

这样的话,工程就配置完成了;

二:storyboard的国际化本地化

很简单,选中main.storyboard,在右边工具栏中iOS开发基于xcode7.2的应用程序需国际化本地化处理点击localize,iOS开发基于xcode7.2的应用程序需国际化本地化处理,然后iOS开发基于xcode7.2的应用程序需国际化本地化处理多了几个文件,接下来点击English和Chinese,你就发现不同了,这个时间替换你想要出现的文字吧;

lunchscreen也是一样的;

三:controller中字符串的国际化本地化

这个有点麻烦,我是用本方法的生成的Localizable.strings文件,(大家有什么好的方法生成可以告诉小编,感激不尽),图解吧:

iOS开发基于xcode7.2的应用程序需国际化本地化处理

NSLocalizedString(@"phoneIsNum",@"手机号必须为数字")定义你的字符串,然后关键点来了,关闭程序,打开终端,找到存放上边说的这个controller的文件夹,写入命令:genStrings PrBBeginViewController.m(PrBBeginViewController.m这是我的类名,需要替换你的哦),然后你会在文件夹里看到一个Localizable.strings,把这个文件拉倒你的工程里吧,选中,看图:iOS开发基于xcode7.2的应用程序需国际化本地化处理,还是这样,然后你就发现了iOS开发基于xcode7.2的应用程序需国际化本地化处理又是这样的,选择Chinese或English,你会看到:iOS开发基于xcode7.2的应用程序需国际化本地化处理跟上边对比你会发现规律所在的,相信聪明的你;至此,controller中的多有字段就写在这两个文件里吧,记得NSLocalizedString(@"phoneIsNum"@"手机号必须为数字")加载你的字符串啊;

四:项目名称的国际化本地化

这个不难,邮件创建一个newFile->Resource->String File,命名必须为:InfoPlist,同上选择,iOS开发基于xcode7.2的应用程序需国际化本地化处理,人后在Chinese里边写"CFBundleDisplayName" = "我的项目";,在English里写"CFBundleDisplayName" ="MyProduct";,这就是前边配置工程中info.plist中的Bundle display name的作用,

五:到此,我的发言就完了,做这些操作不出意外地话是成功的,如果不成功,欢迎留言,我们在深入探讨更多的知识;

六:致谢!