IOS 程式實現多種語言的本地化

2021-07-07 04:31:44 字數 2743 閱讀 9545

多語言在應用程式中一般有兩種做法:

一、程式中提供給使用者自己選擇的機會;

第一種做法比較簡單完全靠自己的發揮了,這裡主要講第二種做法,主要分一下幾點:

1.本地化應用程式名稱

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 = [nsuserdefaultsstandarduserdefaults ];

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

nsarray*languages = [defaults objectforkey : @];

nslog( @"%@", languages);

3.2 獲取當前使用語言

nsarray*languages = [nslocalepreferredlanguages];

nsstring*currentlanguage = [languages objectatindex:0];

nslog( @"%@", currentlanguage);

4.本地化

點中你要本地化的,如「image.png」,然後xcode-> view-> utilities -> file inspector,在localization中點「+」新增chinese (zh-hans);在左邊就會出現乙個倒三角,點開就會出現(english)和(chinese)的2張圖,並且在專案資料夾中會出現en.lproj檔案和zh-hans.lproj檔案;en.lproj檔案存放的是英文版,zh-hans.lproj存放的是中文版,中英文名字一樣,我們在資料夾中直接替換就可以了,最後使用時直接使用正常名字就行了,如:「image.png」。

5.本地化其他檔案

本地化其他檔案和本地化方法類似,先在localization中新增語言,然後把對應版本拷貝到en.lproj和zh-hans.lproj資料夾中,最後引用就行了。

ios多種語言的本地化思路

多語言在應用程式中一般有兩種做法 一 程式中提供給使用者自己選擇的機會 二 根據當前使用者當前移動裝置的語言自動將我們的app切換對應語言。第一種做法比較簡單完全靠自己的發揮了,這裡主要講第二種做法,主要分一下幾點 1.本地化應用程式名稱 2.本地化字串 3.本地化 4.本地化其他檔案 1.本地化應...

iOS 語言本地化

建立localizable.strings檔案 localizable.strings新增支援語言 編寫兩個檔案中的字段 通過key value方式 通過 nslocalizedstring 相應字段 nil 獲取本地化之後的檔案。版的本地化語言實現 storyboard版的本地化語言實現 得到當前...

Localizations程式本地化語言

1 在程式檔案info.plist localizations中新增多語言支援 如使用localizable.strings localizable.strings english 英文 demotitle this is english version string2 banana string3...