級別:★★☆☆☆
標(biāo)簽:「iOS本地化」「Localizable.strings」
作者: WYW
審校: QiShare團隊
上篇:iOS 本地化(IB篇),講述了iOS 本地化中與
Interface Builder
相關(guān)的內(nèi)容。
本篇將給大家分享一下iOS本地化(非IB本地化文本)的內(nèi)容。
iOS本地化(非IB本地化文本)
步驟如下:
- 步驟一:創(chuàng)建
Localizable.strings
,用于本地化文本。
示意圖如下:
- 步驟二:
Localizable.strings
添加中文簡體支持,如下圖:
- 步驟三:
Localizable.strings
創(chuàng)建完成,如下圖:
- 步驟四:添加本地化文本(默認(rèn)叫
Localizable.strings
),如下圖:
本地化(英文環(huán)境部分):
本地化(簡體中文環(huán)境部分):
備注:可以使用“英文”作為key,也可以使用“中文”作為key。(可以根據(jù)開發(fā)者的語言習(xí)慣決定)
- 步驟五:
調(diào)用方法:就會根據(jù)設(shè)備當(dāng)前的語言環(huán)境 => 不同語種的字符串。
[[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;
有三個參數(shù)key
、value
、tableName
,并且返回一個字符串。
參數(shù) | 含義 |
---|---|
key | 鍵名 |
value | 值名 |
tableName | 文件名(默認(rèn)是Localizable) |
key,value,和返回的字符串之間的關(guān)系可由如下表格表示
key | value | return(string) |
---|---|---|
nil | nil | empty string |
nil | non-nil | value |
not found | nil or empty string | key |
not found | non-nil | value |
注:在日常開發(fā)中:直接使用
NSLocalizedString(key, comment)
這個宏就可以啦~既方便又直觀快捷。
本地化補充:創(chuàng)建多個本地化文件。
可以添加其他的本地化文件,例如:supplementaryLocalizable.strings
,過程與創(chuàng)建Localizable.strings
的過程相同。
如下圖:
調(diào)用方法:
[[NSBundle mainBundle] localizedStringForKey:@"奇分享本地化文本補充" value:nil table:@"supplementaryLocalizable"];
// 或者使用宏
NSLocalizedStringFromTable(@"奇分享本地化文本補充", @"supplementaryLocalizable", nil);
工程源碼:GitHub地址
了解更多iOS及相關(guān)新技術(shù),請關(guān)注我們的公眾號:
關(guān)注我們的途徑有:
QiShare(簡書)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公眾號)
推薦文章:
iOS 文件操作簡介
iOS 關(guān)鍵幀動畫
iOS 小游戲項目——數(shù)字速算升級版
iOS 小游戲項目——你話我猜升級版
奇舞周刊