遇到的問(wèn)題
關(guān)于國(guó)際化的文章有很多,大致是讓我們?cè)?Xcode 中去新建一個(gè) .strings 文件,然后點(diǎn)擊右側(cè)的Localized,再在對(duì)應(yīng)語(yǔ)言中去添加key - value達(dá)到多語(yǔ)言。這類(lèi)的文章有很多,在此就不贅述了。
但是有一種情況,我們有一些權(quán)限的提示語(yǔ),甚至是 App 的顯示名稱,這些都是在 info.plist中去添加的,那要怎么做呢?

1

2.png
錯(cuò)誤的做法
可能你會(huì)單擊當(dāng)前工程的 info.plist,然后點(diǎn)擊右側(cè)的localized

3
這樣做顯然是不對(duì)的。哪怕你生成了一串 .strings 文件,也更改了 info.plist 的路徑(而且會(huì)生成一個(gè)默認(rèn)語(yǔ)言 .strings(Base))
正確的做法
- 新建一個(gè)
.strings文件,叫做InfoPlist.strings(文件名必須是這個(gè)) - 新建以后,點(diǎn)擊右側(cè)的
localized才有意義。 - 關(guān)鍵的步驟來(lái)了,這時(shí)候,點(diǎn)擊我們的
info.plist,右鍵選擇open as source code查看我們所要獲取權(quán)限的原始key
4
也可以先在 info.plist 內(nèi)部點(diǎn)擊右鍵,查看權(quán)限本身的 key 名

5
可以看到右鍵打開(kāi)的source code是一個(gè) xml 文件,找到對(duì)應(yīng)的key,復(fù)制。

6
需要注意的點(diǎn)
參考文檔中有一條,我這里摘抄一下:
注意,層級(jí)要正確,如果在Info.plist里面是在最外邊可以這么寫(xiě),但是如果是在一個(gè)字典中,那么也需要把字典加進(jìn)去,保持層級(jí)不變,不能只寫(xiě)想修改的那個(gè)key值。比如快捷菜單的層級(jí)在Info.plist里面是這樣,如果想修改「查看密碼」這個(gè)文字
<key>UIApplicationShortcutItems</key>
<array>
<dict>
<key>UIApplicationShortcutItemIconType</key>
<string>UIApplicationShortcutIconTypeLove</string>
<key>UIApplicationShortcutItemTitle</key>
<string>查看密碼</string>
<key>UIApplicationShortcutItemType</key>
<string>all</string>
</dict>
</array>
那么你在多語(yǔ)言里面就要這么寫(xiě)
"UIApplicationShortcutItems" = (
{
"UIApplicationShortcutItemType" = all;
"UIApplicationShortcutItemTitle" = "View Password";
"UIApplicationShortcutItemIconType" = "UIApplicationShortcutIconTypeLove";
},
);
