多語制在應用中壹般有兩種方式:
第壹,程序為用戶提供了選擇的機會;
第二,根據當前用戶當前移動設備的語言,自動將我們的app切換到相應的語言。
第壹種方法比較簡單,完全看我們自己的發揮。這裏我們主要講第二種方法,主要分為以下幾點:
1.本地化的應用程序名稱
2.本地化字符串
3.本地化圖片
4.本地化其他文件
1.本地化的應用程序名稱
(1)點擊“新建文件”然後在彈出窗口的左側選擇IOS的資源項,右側會看到“字符串文件”的圖標。創建此文件並將其命名為“InfoPlist”(它必須是文件名),以生成InfoPlist.strings文件;
(2)選擇InfoPlist.strings,點擊XCode-& gt;查看-& gt;實用工具-& gt;文件檢查器,在本地化中點擊“+”,添加中文(zh-Hans)為簡體中文,英文應該會自動添加。然後在InfoPlish.strings的左邊會多出壹個三角形,點擊展開後可以看到文件的兩個版本:InfoPlish.strings(英文)和InfoPlish.strings(中文)。
(3)將以下內容添加到文件InfoPlish.strings(英語)中:
CFBundleDisplayName = " Program
其中“程序”是應用程序的英文名稱,類似地,添加:
CFBundleDisplayName = " application ";
其中“應用”為中文名稱,註意:CFBundleDisplayName可以帶雙引號,也可以不帶雙引號。
(4)編輯Info.plist,添加壹個新屬性,將其類型設置為boolean,將其值設置為YES。
2.本地化字符串
(1)與第壹步“應用名稱本地化”類似,點擊“新建文件”,然後在彈出窗口的左側選擇IOS的資源項,右側會看到“字符串文件”的圖標。創建此文件並將其命名為“Localizable”(必須是此文件名,否則在後面的調用中會有壹些不同),以生成Localizable.strings文件;
(2)類似於“本地化應用程序名稱”的第二步和第三步,在Localizable.strings(英語)文件中添加以下內容:
"歡迎" = "點擊屏幕繼續...";
同樣,在Localizable.strings(中文)文件中添加以下內容:
"歡迎" = "點擊屏幕繼續... ";
(3)使用非本地化字符串(
CCLabelTTF * label =[CCLabelTTF label withstring:NSLocalizedString(@ " welcome ",nil)font name:@ " Marker Felt " font size:18];
CGSize size =[[cc director shared director]winSize];
label . position = size.height/2+30 CCP(size . width/2);
[self addChild:label];
//這段代碼片段來自:/codes/objectc/6062。
註意:如果字符串文件的名稱不是可本地化的,而是自定義的,如wang.strings,則必須使用NSLocalizedStringFromTable()來讀取本地化的字符串:
NSLocalizedStringFromTable(@ " welcome " ,@ " Wang ",nil)
3.本地化圖片
這裏有兩種方法。第壹種方法類似於本地化字符串方法,將中英文圖片的名稱存儲在中英文對應的字符串文件中,然後通過NSLocalizedString獲取圖片的名稱,比如:
將以下內容添加到Localizable.strings(英語)文件中:
" BTN cancel " = " BTN cancelen . png ";
將以下內容添加到Localizable.strings(中文)文件中:
" BTN cancel " = " BTN cancel cn . png ";
然後在代碼中使用NSLocalizedString)獲取圖片名稱:
cc sprite * BTN cancel =[cc sprite spritewithpriteframename:NSLocalizedString(@ " BTN cancel ",nil)];
BTN cancel . position = CCP(s . width/2,s . height/2-40);
[self addChild:BTN cancel z:2 tag:104];
第二種更正規:點擊妳要本地化的圖片,比如“icon.png”,然後xcode->;查看-& gt;實用工具-& gt;文件檢查器,在本地化點“+”中添加中文(zh-Hans);圖片左側會出現壹個倒三角形。點擊後會出現(英文)和(中文)兩張圖片,項目文件夾中會出現文件en.lproj和文件zh-Hans.lproj。En.lproj文件存儲英文版圖片,zh-Hans.lproj存儲中文版圖片。中英文圖片名稱相同,我們可以直接在文件夾中替換圖片即可,最後直接使用正常名稱,比如“icon.png”。
4.本地化其他文件
本地化其他文件的第二種方法類似於本地化圖片的方法。首先在本地化中添加語言,然後將相應的版本復制到en.lproj和zh-Hans.lproj的文件夾中,最後引用。