你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS使用順序多言語本地化的兩種處理方案

IOS使用順序多言語本地化的兩種處理方案

編輯:IOS開發綜合

最近要對一款游戲停止多言語本地化,在網上找了一些方案,加上自己的一點點想法整理出一套方案和大家分享!

多言語在使用順序中普通有兩種做法:

一、順序中提供應用戶自己選擇的時機;

二、依據以後用戶以後挪動設備的言語自動將我們的app切換對應言語。

第一種做法比擬復雜完全靠自己的發揚了,這裡次要講第二種做法,次要分一下幾點:

    本地化使用順序稱號 本地化字符串 本地化圖片 本地化其他文件

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 ="Program"; 

 其中“Program”為英文使用順序稱號,同理在InfoPlish.strings(chinese)文件中參加:

CFBundleDisplayName ="使用順序"; 

其中“使用順序”為中文稱號,留意: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)文件中參加:

"BtnCancel"="BtnCancelEn.png"; 

Localizable.strings(chinese)文件中參加:

"BtnCancel"="BtnCancelCn.png"; 

然後在代碼中運用NSLocalizedString)來獲取圖片稱號:

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使用順序多言語本地化的兩種處理方案】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved