標籤: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項目國際化詳解