美文网首页
iOS国际化

iOS国际化

作者: 我是小胡胡分胡 | 来源:发表于2017-04-14 15:56 被阅读70次

本地化需求

1,字符串本地化
2,app名称本地化
3,storyboard中的控件的title本地化

如何实现本地化

1,project配置,支持国际化
PROJECT-》info-》Localizations中 add不同的语种。

Paste_Image.png Paste_Image.png

2,创建本地化文件
创建空文件,取名Localizable, File->New->File, 选择Strings File

Info.plist从InfoPlist.strings中读取。
Localizable.strings
其它命名的Table Name.strings

3,编辑key-value显示内容
InfoPlist.strings
Localizable.strings
其它命名的Table Name.strings
xx.storyboard

对Localizable.Strings进行本地化:菜单-》View-》Utilities-》Show File Inspector , 选择对应的文件, 在File Inspector-》 Localization ,点击Localize按钮,弹出窗口“Do you want to localize this file?”, 选择对应的语种
localize this file,则自动创建了其它语言的strings文件。

编辑不同的Strings文件,设置显示的字段。例如:
CFBundleDisplayName = "喝咯_第一个";

4, 读取本地化的字符串

localizedStringForKey:value:table:

默认的table名称是Localizable,对应本地化文件为Localizable.strings

NSLocalizedString
NSLocalizedStringFromTable
NSLocalizedStringWithDefaultValue
NSLocalizedStringFromTableInBundle

默认的value与key名称相同。例如:[[NSBundle mainBundle] localizedStringForKey:@"label_title" value:@"" table:@"Localizable"]如果label_title没有定义,则返回key同名的label_title

5,app名称本地化
Info.plist增加Application has localized display name 设置值为YES
创建空文件,文件名为InfoPlist.strings
在不同的InfoPlist.strings文件中增加显示字段CFBundleDisplayName = "喝咯";

6,bundle资源包

https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html#//apple_ref/doc/uid/10000171i-CH5-SW1

相关文章

网友评论

      本文标题:iOS国际化

      本文链接:https://www.haomeiwen.com/subject/tiowattx.html