iOS支援多語言

2021-07-24 12:25:57 字數 1787 閱讀 4631

找到info→localizations→+選擇需要新增的語言

新建strings檔案,名字為localizable

3.為localizable.strings新增不同的支援語言

4.在string檔案中設定不同的key值對應在不同語言下應該顯示的字元

5.使用示範

uilabel * lb =[[uilabel alloc]initwithframe:cgrectmake(40, 100, 200, 40)];

nsstring * t =nslocalizedstring(@"testname", nil);

lb.text =t;

[self

.view addsubview:lb];

當你的手機預設語言為中文時就會呼叫chinese裡面的設定,為英文時會呼叫english裡面的

6.注意

如果建立的時候,string檔案的名字不是用的localizable,則使用字串時,應該使用nslocalizedstringfromtable方法,如下

nsstring * t = nslocalizedstringfromtable(@"testname", @"file",nil);
cfbundledisplayname="中國";

cfbundledisplayname="china";

方法一

nslog(@"%@",langarray);

nsuinteger def_lang_index = [langarray indexofobject:@"en"];

if (def_lang_index != 1 && def_lang_index != 0)

這段**的意思是:先獲取到當前手機已經本地化的語言列表,因為第乙個肯定是當前手機的語言,所以如果我們想要使用的預設的英文不是第二個的時候,我們用排序把他放到第二。

static

nsbundle *bundle = nil;

- (nsstring*)getcurrentlanguage

- (void)setlanguage:(nsstring *)l

bundle = [nsbundle bundlewithpath:path];

} - (nsstring *)get:(nsstring *)key alter:(nsstring *)alternate

這幾個方法分別是獲得當前語言,設定語言——如果沒有資源檔案就是用預設語言,最後的get:alter:方法就是實際呼叫的方法

參考文章:

iOS 多語言支援

具體方式如下 首先在supporting files中新建 strings 起名 localizable 開始配置 如果在點開的選項中缺少你想選擇的語言 比如說你需要選擇法語,此時可以通過如下方式新增 配置完成之後 我們回到剛才新建的 localizable.strings開啟會發現生成了對應語言的...

iOS 多語言化

ios開發中,實現多語言化。首先建立乙個string file的檔案,可以命名localization.strings.然後在這兒新增你程式希望實現的多語言。點localizations 下的 號即可新增,這裡我新增了english和簡體中文 新增之後,回到你的工程目錄下,會發現剛建立的locali...

ios多語言切換

軟體需要適配多語言,通常想到的第乙個方法就是切換多語言的時候傳送通知到各個頁面,從而實現多語言的切換,其實這個方法太不好了,通知多,影響大,有的乾脆直接重啟軟體來切換多語言,其實這幾種都是不可取的,現在作者提供乙個簡單的方法僅供參考 1理論準備 現在大部分軟體頁面的控制器都是tabbar和narba...