background image

 

IOS

 

     

應用程序多語言本地化解决方案

 

 

最近要對一款遊戲進行多語言本地化,在網上找了一些方案,加上自己的一點點想法整理
出一套方案和大家分享!
多語言在應用程序中一般有兩種做法:
一、程序中提供给用戶自己選擇的機會;
二、根據當前用戶當前移動設備的語言自動將我們的

app 切換對應語言。

第一種做法比較簡單完全靠自己的發揮了,這裏主要講第二種做法,主要分一下幾點:
1.本地化應用程序名稱
2.本地化字符串
3.本地化圖片
4.本地化其他文件

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)文件中加入:

1

CFBundleDisplayName =

"Program"

;   

其中

“Program”为英文應用程序名稱,同理在 InfoPlish.strings(chinese)文件中加入:

2

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)文件中加入:

3

"welcome"

=

"Click on the screen to continue..."

;  

 同理在 Localizable.strings(chinese)文件中加入:

4

"welcome"

=

"點擊屏幕繼續..."

;  

3)在代碼中使用 NSLocalizedString(<#key#>, <#comment#>)來讀取本地化字符串,代碼

如下: