NSLocalizedString的一個小知識點

今天在使用NSLocalizedString的時候碰到一個小問題:

中文版:我是來自“xxx”的xxx
英文版:I am xxx from 'xxx'

這里有兩個問題:

  1. 中文版被兩個參數分成了4部分,英文版被兩個參數分成了5部分
  2. 參數的順序不同

第1個很好辦,只要在NSLocalizedString中使用%@這樣的參數就可以了,這樣在使用的時候按照這樣的格式就可以了:

Localizable.strings中有如下定義:
"FORMAT" = "我是來自“%@”的%@";

str = [NSString stringWithFormat:NSLocalizedString(@"FORMAT", nil), xxx, xxx];

第2個不太常見,原來參數是可以指定順序的:

Localizable.strings中有如下定義:
"FORMAT" = "我是來自“%1$@”的%2$@";
"FORMAT" = "I am %2$@ from '%1$@'";

str = [NSString stringWithFormat:NSLocalizedString(@"FORMAT", nil), xxx, xxx];

只需要在%和@中間加上1$,2$等等就可以啦,數字就代表參數的順序。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,933評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,324評論 25 708
  • 上學那會兒安妮寶貝非常火,但是大家評價說她的文章里滿是悲涼,出于乖乖女的心態,不看非正能量的書,也就沒有看安妮寶貝...
    艾米小姐閱讀 561評論 0 0
  • 浩洋: 中午,我們在特斯拉體驗店見面了。 我在聊天,你過來呼喊我。 我們之間沒有久別重逢的驚喜,卻像老友歸來淡淡的...
    周洋_圖樂園閱讀 400評論 2 10