NSLocalizedString的定義:
#define NSLocalizedString(key, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
使用時
第一個參數(shù)key是從Localizable.strings這個文件中讀取對應(yīng)的key-value值。
第二個參數(shù)comment可以是nil,可以是一段為空的字符串,也可以是對key的注釋。
1.有一個參數(shù)
其實與字符串中表示參數(shù)的方法一致,直接在NSLocalizedString中使用%@、%d、%f等即可。
在引用時:
Localizable.strings中的定義:
"FORMAT" = "由%@處理";
str = [NSString stringWithFormat:NSLocalizedString(@"FORMAT", nil), xxx];
2.有多個參數(shù)
多個參數(shù)就要考慮順序問題,不同語言的表述方法不,例:
中:由a創(chuàng)建的事件b
英:Event b created by a
Localizable.strings中有如下定義:
"FORMAT" = "由“%1$@”創(chuàng)建的事件%2$@";
"FORMAT" = "Event %2$@ created by '%1$@'";
str = [NSString stringWithFormat:NSLocalizedString(@"FORMAT", nil), xxx, xxx];
本地化NSLocalizedString中有多個參數(shù),且順序不同時,要在%和@中間加上1$,2$等,數(shù)字就代表參數(shù)的順序。