iOS 內容和名稱國際化

2021-07-11 19:16:39 字數 2316 閱讀 8625

1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。

1.3 新增完成後開啟對應語言檔案,比如english的新增

cfbundledisplayname="china";

chinese檔案新增

cfbundledisplayname="

中國";

執行,如果此時你的模擬器是中文,你會看到你的程式名稱變成了 中國:

來到設定裡把語言設定成 english。此時程式名稱變成了:china

這時,程式名稱的國際化完成了。那裡面內容呢?

2、內容國際化

2.1新建localization.strings檔案

2.2 新增語言和1.1環節一樣。

2.3 新增語言內容

新增"key"="value"; 然後使用時用nslocalizedstring(@"key", @""); 讀取內容.

localization.strings english檔案新增 

"key"= "english value";

localization.strings english檔案新增 

"key"= "中文內容";

在viewcontroller.m 中新增uilabel實驗一下

- (void)viewdidload

執行

設定項裡切換英文

3、如何在執行的時候判斷現在執行環境是哪個語言?

3.1 獲得所支援的語言

nsuserdefaults *defaults = [ nsuserdefaults standarduserdefaults ];

// 取得 iphone 支援的所有語言設定

nslog ( @"%@" , languages);

執行,列印結果:(

en,"zh-hant",

"zh-hans",

fr,de,

ja,nl,

it,es,

pt,"pt-pt",

da,fi,

nb,sv,

ko,ru,

pl,tr,

uk,ar,

hr,cs,

el,he,

ro,sk,

th,id,

"en-gb",

ca,hu,

vi )

"zh-hant"   正體中文

"zh-hans", 簡體中文

這段**獲取當前系統支援的語言。  

3.2 獲取當前使用語言

nsarray *languages = [nslocale preferredlanguages];

nsstring *currentlanguage = [languages objectatindex:0];

nslog ( @"%@" , currentlanguage);

列印結果:en

用獲取到的當前語言,和支援的語言做字串對比,就可以知道是那種語言了。

if([currentlanguage isequaltostring:@"en"])

IOS程式名稱及內容國際化(本地化)

1 ios程式名稱國際化 1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。1.3 新增完成後開啟對應語言檔案,比如english的新增 cfbundledisplayname china chinese檔案新...

IOS程式國際化

1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。1.3 新增完成後開啟對應語言檔案,比如english的新增 cfbundledisplayname china chinese檔案新增 cfbundledis...

IOS程式國際化

1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。1.3 新增完成後開啟對應語言檔案,比如english的新增 cfbundledisplayname china chinese檔案新增 cfbundledis...