在iOS設備,包括iPhone和iPad是全球可用。顯然,iOS用戶都來自不同國家,說着不同的語言。爲了提供出色的用戶體驗,你可能希望以多種語言提供您的應用程序。適應應用程序以支持特定語言的過程通常被稱爲本地化。
Xcode中有本地化的內置支持。所以它很容易爲開發商通過本地化的功能和一些API調用國際化的應用程序。
一、NSLocalizedString的定義:
#define NSLocalizedString(key, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
第一個參數key是從Localizable.strings這個文件中讀取對應的key-value值。
第二個參數comment可以是nil,可以是一段爲空的字符串,也可以是對key的註釋。
二、本地化字符串
1.點擊圖片中加號,選擇增加的語言(在例子中添加英文和簡體中文)
2.建立String File文件,命名命名爲“Localizable,生成一個Localizable.strings文件(名字不要其他的)
3.選中新建的Localizable.strings文件,點擊右邊的Localize
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)