内容简介:步骤如下:示意图如下:本地化(英文环境部分):
步骤如下:
- 步骤一:创建
Localizable.strings
,用于本地化文本。
示意图如下:
- 步骤二:
Localizable.strings
添加中文简体支持,如下图:
- 步骤三:
Localizable.strings
创建完成,如下图:
- 步骤四:添加本地化文本(默认叫
Localizable.strings
),如下图:
本地化(英文环境部分):
本地化(简体中文环境部分):
备注:可以使用“英文”作为key,也可以使用“中文”作为key。 (可以根据开发者的语言习惯决定)
- 步骤五: 调用方法:就会根据设备当前的语言环境 => 不同语种的字符串。
[[NSBundle mainBundle] localizedStringForKey:@"QiPushViewController_localizationLabel.text" value:nil table:nil]; [[NSBundle mainBundle] localizedStringForKey:@"奇分享本地化文本" value:nil table:nil]; // 官方还提供了宏来做这件事,也可以使用。 NSString *str1 = NSLocalizedString(@"QiPushViewController_localizationLabel.text", @"奇分享本地化文本"); NSString *str2 = NSLocalizedString(@"QiPushViewController_localizationLabel.text", nil); NSString *str3 = NSLocalizedString(@"奇分享本地化文本", nil); 复制代码
其中这个方法:
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName; 复制代码
有三个参数 key
、 value
、 tableName
,并且返回一个字符串。
参数 | 含义 |
---|---|
key | 键名 |
value | 值名 |
tableName | 文件名(默认是Localizable) |
key,value,和返回的字符串之间的关系可由如下表格表示
key | value | return(string) |
---|---|---|
nil | nil | empty string |
nil | non-nil | value |
not found | nil or empty string | key |
not found | non-nil | value |
注:在日常开发中:直接使用 NSLocalizedString(key, comment)
这个宏就可以啦~既方便又直观快捷。
本地化补充:创建多个本地化文件。
可以添加其他的本地化文件,例如: supplementaryLocalizable.strings
,过程与创建 Localizable.strings
的过程相同。 如下图:
调用方法:
[[NSBundle mainBundle] localizedStringForKey:@"奇分享本地化文本补充" value:nil table:@"supplementaryLocalizable"]; // 或者使用宏 NSLocalizedStringFromTable(@"奇分享本地化文本补充", @"supplementaryLocalizable", nil); 复制代码
工程源码: GitHub地址
关注我们的途径有:
QiShare(微信公众号)
以上所述就是小编给大家介绍的《iOS 本地化(非IB篇)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 关于本地化的一些技巧
- iOS 本地化(IB篇)
- [ Laravel 5.7 文档 ] 前端开发 —— 本地化
- Galaxy生信分析平台-搭建(本地化)
- 如何参与 Kubernetes 文档的本地化工作
- 深入研究 .NET Core 的本地化机制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。