iOS本地化通过NSBundle 使用 localizedStringForKey: value: table: 方法 获取Localizable.strings

转自:  版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wojiaoweide/article/details/51426298

在iOS设备,包括iPhone和iPad是全球可用。显然,iOS用户都来自不同国家,说着不同的语言。为了提供出色的用户体验,你可能希望以多种语言提供您的应用程序。适应应用程序以支持特定语言的过程通常被称为本地化。

Xcode中有本地化的内置支持。所以它很容易为​​开发商通过本地化的功能和一些API调用国际化的应用程序。

一、NSLocalizedString的定义:

#define NSLocalizedString(key, comment) \

[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
  • 1
  • 2
  • 3

第一个参数key是从Localizable.strings这个文件中读取对应的key-value值。

第二个参数comment可以是nil,可以是一段为空的字符串,也可以是对key的注释。 
二、本地化字符串 
1.点击图片中加号,选择增加的语言(在例子中添加英文和简体中文) 
选择+号
2.建立String File文件,命名命名为“Localizable,生成一个Localizable.strings文件(名字不要其他的) 
建立String File文件
3.选中新建的Localizable.strings文件,点击右边的Localize 
点击右边的Loacalize
4.勾选英文,简体中文 
勾选
5.左边的Localizable.strings 文件自动添加两个文件 
自动添加两个文件
6.在Localizable.strings(English) 文件中写 “hello” = “hello world”;(注意:不要忘记写分号) 
在Localizable.strings(Chinese(Simplified)) 文件中写 “hello” = “你好,世界”;(注意:不要忘记写分号) 
7.在代码中使用NSLocalizedString(<#key#>, <#comment#>)来读取本地化字符串 
在文件中添加在不同语言下的显示文字
8.运行代码,可以看到在不同语言下分别显示不同的文字(下面是在English下的) 
显示

如果你的strings文件名字不是Localizable而是自定义的话,如hel.strings,那么你就得使用NSLocalizedStringFromTable()来读取本地化字符串

NSLocalizedStringFromTable(@"hello",@"hel", nil)

猜你喜欢

转载自blog.csdn.net/zhanglizhi111/article/details/89241260
今日推荐