iOS應用程式多語言&本地化解決方案
** 1.本地化應用程式名稱 **
(1)點選“new file”然後在彈出視窗左側選擇iOS的resource項,在右側就可以看到“String File”的圖示。建立這個檔案,命名為“InfoPlist”(* 一定是這個檔名 *) 就生成一個InfoPlist.strings檔案;
(2)選中InfoPlist.strings 點選 XCode-> View-> Utilities -> File Inspector,在Localization中點“+”,新增chinese (zh-Hans)型別的為簡體中文,english 應該會自動新增上。然後在InfoPlish.strings 左邊會多出一個三角形,點選展開後可以看到InfoPlish.strings(english)和InfoPlish.strings(chinese)兩個版本的檔案;
(3)在InfoPlish.strings(english)檔案中加入:
CFBundleDisplayName = "YourAppName";````
其中“Program”為英文應用程式名稱,同理在InfoPlist.strings(chinese)檔案中加入:
CFBundleDisplayName = "你的應用名稱";````
(4)編輯Info.plist,新增一個新的屬性Application has localized display name, 設定其型別為boolean,並將其value設定為YES即可。
** 2.本地化字串**
(1)類似“本地化應用程式名稱”第一步,點選“new file”然後在彈出視窗左側選擇IOS的resource項,在右側就可以看到“String File”的圖示。建立這個檔案,命名為“Localizable”(一定是這個檔名否則後面呼叫會有一些區別)就生成一個Localizable.strings檔案;
(2)類似“本地化應用程式名稱”第二第三步,在Localizable.strings(english)檔案中加入:
"welcome"="Click on the screen to continue..."; ````
同理在Localizable.strings(chinese)檔案中加入:
"welcome"="點選螢幕繼續..."; ````
(3)在程式碼中使用NSLocalizedString(<#key#>, <#comment#>)來讀取本地化字串,程式碼如下:
CCLabelTTF *label = [CCLabelTTF labelWithString:NSLocalizedString(@"welcome", nil) fontName:@"Marker Felt" fontSize:18];
CGSize size = [[CCDirector sharedDirector] winSize];
label.position = ccp( size.width /2 , size.height/2+30 );
[self addChild: label];
注意:如果你的strings檔名字不是Localizable而是自定義的話,如wang.strings,那麼你就得使用NSLocalizedStringFromTable()來讀取本地化字串:
NSLocalizedStringFromTable(@"welcome",@"wang", nil) ; ````
**3.本地化圖片**
這裡又分兩種方法,第一種和本地化字串方法類似,把中英文圖片的名字分別存到中英文對應的strings檔案,然後通過NSLocalizedString)來獲取圖片名稱,如:
Localizable.strings(english)檔案中加入:
CCSprite *btnCancel = [CCSprite spriteWithSpriteFrameName:NSLocalizedString(@"BtnCancel", nil)];
btnCancel.position=ccp(s.width/2,s.height/2-40);
[self addChild:btnCancel z:2 tag:104];
第二種就比較正規化了:點中你要本地化的圖片,如“icon.png”,然後XCode-> View-> Utilities -> File Inspector,在Localization中點“+”新增chinese (zh-Hans);在圖片左邊就會出現一個倒三角,點開就會出現(english)和(chinese)的2張圖,並且在專案資料夾中會出現en.lproj檔案和zh-Hans.lproj檔案;en.lproj檔案存放的是英文版圖片,zh-Hans.lproj存放的是中文版圖片,中英文圖片名字一樣,我們在資料夾中直接替換圖片就可以了,最後使用時直接使用正常名字就行了,如:“icon.png”。
4.本地化其他檔案
本地化其他檔案和本地化圖片第二種方法類似,先在Localization中新增語言,然後把對應版本拷貝到en.lproj和zh-Hans.lproj資料夾中,最後引用就行了。
相關文章
- iOS元件化解決方案iOS元件化
- Netsuite本地化解決方案UI
- 應用整合虛擬化解決方案
- iOS 多國語言本地化與App內語言切換(Swift)iOSAPPSwift
- 多語言與多時區的解決方案
- MFC 多語言 本地化
- 【kein】ASP.Net本地化/國際化解決方案原理和程式碼示例ASP.NET
- iOS應用程式瘦身的靜態庫解決方案iOS
- 前端單頁應用微服務化解決方案2 - Single-SPA前端微服務
- iOS語言國際化(本地化)iOS
- 分享兩種實現Winform程式的多語言支援的解決方案ORM
- QTP測試多個Windows應用程式的解決方案QTWindows
- ios應用開發+swift語言入門iOSSwift
- golang語言SAAS下多應用模式框架Golang模式框架
- iOS 多語言化之痛iOS
- 2021 年 iOS 應用程式開發七種最佳語言iOS
- 使用Go語言開發iOS應用(Swift版)GoiOSSwift
- struts解決多語言
- 微信小程式元件化解決方案wx-component微信小程式元件化
- .NET CORE 多語言實現方案
- 國際化方案(1)- 多語言
- 通用網頁呼叫本地應用程式方案(windows平臺)網頁Windows
- 高併發優化解決方案優化
- .Net MVC5(.Net Framework 4.0+)多語言解決方案MVCFramework
- Android strings.xml 多語言翻譯解決方案AndroidXML
- 使用Go語言開發Android&IOS應用GoAndroidiOS
- iOS應用架構談(4):本地持久化方案及動態部署iOS應用架構持久化
- Qt 編寫應用支援多語言版本--一個GUI應用示例QTGUI
- [小程式利器] miniapps 工程化解決方案APP
- Oracle 實現多語言(即根據使用者登入的環境自適應本地語言)Oracle
- CosyVoice: 多語言大規模語音生成模型的全棧解決方案模型全棧
- C語言指標應用程式設計C語言指標程式設計
- iOS國際化(多語言)漫談iOS
- vivo全球商城全球化演進之路——多語言解決方案
- 《程式碼統計分析工具 4.0》多國語言實現方案
- ios 企業應用"無法安裝應用程式 因為證書無效"的解決方案iOS
- 語言本地化
- 應用程式退休(Application Retirement)解決方案APPREM