iOS国际化

本地化需求

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容