iOS 本地化進階教程

iOS 本地化進階教程

上一篇入門教程中,我們已經(jīng)介紹了最基本的本地化方法了,接下來我們要來講講兩種特殊的本地化情況。

xib和storyboard本地化

xibstoryboard作為兩種不同類型的UI工具,讓我們得以擺脫代碼布局之苦,他們的本地化,既可以使用上一篇文章中的方法通過代碼修改,也可以直接對xib和storyboard文件進行本地化操作,操作類似strings文件的Localize操作,見下圖

屏幕快照 2015-12-23 13.57.37.png

選中文件后,點擊右邊欄Localize按鈕,勾選對應語言。

屏幕快照 2015-12-23 13.57.56.png

這樣我們發(fā)現(xiàn)在Storyboard文件中,包含了Chinese版本的Strings文件,內容如下


/* Class = "UILabel"; text = "用戶名"; ObjectID = "8f2-qK-7KS"; */
"8f2-qK-7KS.text" = "用戶名";

/* Class = "UIButton"; normalTitle = "登錄或注冊"; ObjectID = "ENI-bN-wSs"; */
"ENI-bN-wSs.normalTitle" = "登錄或注冊";

/* Class = "UIButton"; normalTitle = "上一步"; ObjectID = "IGn-o3-iJc"; */
"IGn-o3-iJc.normalTitle" = "上一步";

/* Class = "UILabel"; text = "用戶名"; ObjectID = "YHI-In-kPq"; */
"YHI-In-kPq.text" = "用戶名";

/* Class = "UIButton"; normalTitle = "登錄或注冊"; ObjectID = "hzS-mR-s9E"; */
"hzS-mR-s9E.normalTitle" = "登錄或注冊";

/* Class = "UILabel"; text = "標題"; ObjectID = "rjb-sh-ADV"; */
"rjb-sh-ADV.text" = "標題";

/* Class = "UILabel"; text = "標題"; ObjectID = "wxc-43-QK7"; */
"wxc-43-QK7.text" = "標題";

/* Class = "UIButton"; normalTitle = "用戶使用協(xié)議"; ObjectID = "xdy-郭佳-fv1"; */
"xdy-郭佳-fv1.normalTitle" = "用戶使用協(xié)議";

英文作為項目設置的基礎語言,直接使用storyboard內容,中文的本地化,則由這個strings文件控制,是不是很簡單。

info.plist的本地化

第二種特殊的本地化需求是對info.plist文件進行本地化。具體的最常見的使用場景有:

  1. 應用名稱本地化
  2. 定位請求提示語本地化

我們知道系統(tǒng)默認的本地化文件名,叫做Localizable.strings,info.plist文件也有自己對應的本地化文件,叫做InfoPlist.strings

這個文件需要開發(fā)者自己添加,我們添加好以后,在info.plist中加入`CFBundleDisplayName`鍵值,這個鍵值決定應用顯示的名字。

接下來在InfoPlist.strings文件中寫入本地化索引,注意CFBundleDisplayName前后沒有引號,這個文件是專門用來本地化info.plist文件的。

CFBundleDisplayName = "你的軟件名稱";
NSLocationAlwaysUsageDescription = "我需要使用手機的定位服務,請授權";

NSLocationAlwaysUsageDescription鍵值則是位置服務授權時候的提示語。如此一來就實現(xiàn)了info.plist文件本地化,是不是很簡單?

我們的本地化教學就告一段落了,有其他問題請留言哦。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容