iOS項目國際化詳解

來源:互聯網
上載者:User

標籤:image   use   name   英文   ios項目   nss   nsstring   圖片   系統   

  現在的開發中難免會遇到項目國際化處理,下面把我理解到的國際化相關的知識點進行總結歸納

1 首先是對項目名稱,系統性的文字進行名字化,比如程式名字

  1,先給項目添加語言

2 添加InfoPlist.strings的檔案 

3 ,將Info.plist 轉換成常規的key

 

4,配置InfoPlist.strings

 

5 這樣就完成了,切換系統語言之後名字就會跟著變化了

--------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------

 配置一般的國際化設定檔

1 新增一個 Localizable.strings 檔案,然後和上面一樣的操作,然後在對應的不同的檔案裡設定不同的key value

2 然後在項目雷根據不同的語言去擷取不通的名字

 

NSLocalizedString(@"titleName", nil)

這樣就實現項目多語言化了

如果需要切換語言 只需要設定語言 

//"zh-Hans-US", 中文//"en-US",英文 //  所有語言 NSArray *languages = [[NSUserDefaults standardUserDefaults] valueForKey:@"AppleLanguages"]; // 設定語言NSArray *lans = @[@"en-US"];    [[NSUserDefaults standardUserDefaults] setObject:lans forKey:@"AppleLanguages"];

項目中經常遇到多人開發可能會涉及到大家都去修改 Localizable.strings 這樣會處理不好可能會出現衝突 那麼可以自己再建立一個strings定義 ****.strings

然後在擷取國際化名字的時候只需要指定是從哪個.strings 表中擷取的就行 代碼如下

self.bb.text=NSLocalizedStringFromTable(@"titleName", @"Mine", nil);

 

----------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------

圖片國際化配置

1 拖入一張圖片到項目目錄下,不是拖到Assets.xcassets裡

然後和之前一樣的、操作 然後查看目錄 替換裡面的圖片就能對不同語言的圖片進行適配了

然後用代碼適配擷取不同的圖片

 NSString *imageName = NSLocalizedString(@"doctor_start_10", nil);    UIImage *image = [UIImage imageNamed:imageName];    self.img.image=image;

至此國際化適配完畢

iOS項目國際化詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.