編輯:關於Android編程
當你在開發Android應用時或Android系統時,如果希望自己的產品在全球或多國上市進行銷售時,那麼國際化的工作必不可少。Android系統的國際化需要在應用所在目錄res文件夾下建立針對不同語言或地區的values文件夾,那麼具體應該怎樣進行命名,最終結構又是怎麼樣的呢?
例:
AndroidDemo //應用名稱
|
|_____res //Android應用資源根目錄
|
|_____values
|_____ strings.xml
|_____ colors.xml
|_____ dimens.xml
|_____ styles.xml
|
|_____values-zh-rCN //漢語
|_____ strings.xml
|_____ colors.xml
|_____ dimens.xml
|_____ styles.xml
|_____values-de //德語
|
|.......
查看AndroidAPI,values可以支持很多屬性,
此處我們只針對values後添加語言,國家/區域代碼的情況進行說明
values-zh-rCN:values固定部分,zh:表示語言代碼,rCN:表示區域代碼,其中r為固定保留值。
Android中的語言代碼規范遵循的是ISO639-1,區域代碼遵循的是ISO3166-1
以下我們對ISO639-1及ISO3166-1標准進行一個簡單說明:
1)ISO639-1
從命名中我們也可直接看出ISO639-1是ISO 639國際標准的一部分。ISO639是ISO組織為各語言制定的國際標准。ISO639長期的演變過程中一共出現了6個部分,分別為:ISO639-1,ISO 639-2,ISO639-3,ISO 639-4,ISO639-5,ISO 639-6。
2)ISO3166-1
同樣ISO3166-1也是ISO3166國際標准的一部分。ISO3166是ISO組織針對國家和地區代碼而制訂的國際標准。ISO3166一共有三部分組成:ISO3166-1,ISO 3166-2,ISO3166-3。 www.2cto.com
*注意:
在java.utils.Locale.java類中有如下一段注釋:
* <p>Note that Java uses several deprecated two-letter codes. The Hebrew ("he") language
* code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish ("yi") as "ji". This
* rewriting happens even if you construct your own {@code Locale} object, not just for
* instances returned by the various lookup methods.
以下幾種語言使用時,Android與ISO 639-1有所有區別,主要是由於歷史問題引起的,要特別注意
語言中文 語言英文 ISO 639-1 Android
希伯來語 Hebrew he iw
印尼語 Indonesian id in
依地語 Yiddish yi ji
values-he 等價 values-iw
values-id 等價 values-in
value-yi 等價 values-ji
以上三個為物殊情況,其它語言嚴格遵循ISO 639-1規范
作者:ITMagic_Jack
效果圖 功能簡介 這個頁面用到了添加圖層,添加覆蓋物,覆蓋物的事件處理,地圖的旋轉、縮放,高德定位,地圖分層顯隱,關鍵詞搜索等功能。 本篇博
單例模式,可以說是GOF的23種設計模式中最簡單的一個。這個模式相對於其他幾個模式比較獨立,它只負責控制自己的實例化數量單一(而不是考慮為用戶產生什麼樣的實例
引子承接我的上一篇文章Android ClassyShark vs ApkTool,感謝讀者@weishu的提醒,jadx是我遺漏的一個非常好用的android反編譯gu
Service什麼是Service在後台長期運行的沒有界面的組件。其他組件可以啟動Service讓他在後台運行,或者綁定Service與它進行交互,甚至實現進程間通信(I