6

我目前有兩種支持的語言:英語和西班牙語。因此,我爲每種語言都有兩個main.strings文件。一個在en.lproj,另一個在es.lprojiPhone:本地化/國際化默認字符串文件

我現在想要的是,如果用戶使用的區域設置不是enes,則用戶將會使用英文main.strings作爲默認文件。 defr

我知道我可以用defaultString參數手動設置每串代碼:

NSLocalizedStringWithDefaultValue(key, @"main",[NSBundle mainBundle], defaultString, comment); 

但我寧願不存在再次輸入(並有兩處修改),而是將enmain.strings文件作爲任何其他「不支持」區域設置的默認值。

回答

11

我現在想的是,英語 main.strings是默認的文件,如果用戶 比EN或ES 以外的環境中到達應用,例如de或 fr。

你試過嗎?我幾乎可以確定,如果沒有你做任何事情,應用程序將回退到英文語言環境。除非您的應用程序明確支持當前的語言環境,否則即使系統對話框也會以英語顯示。

+1

哎呀公佈。你是完全正確的。愚蠢的我沒有徹底測試。我沒有使用完全不同的語言,而是使用「es」進行測試,爲此我已經創建了一個空字符串文件。 – znq 2010-06-23 15:27:16

+6

回退取決於[NSLocale preferredLanguages]的順序而不是默認英語。例如,如果你從中文切換到德語,第一個是德語,第二個是中文,所以如果應用程序支持中文,那麼它顯示中文而不是英文 – chings228 2014-04-02 07:33:22

+0

這一個上面應該是接受的答案 – 2015-11-08 19:55:05