版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.05.14 |
前言
很多APP都有國際化版本倍靡,常見于一些大公司的產(chǎn)品,比如Facebook课舍、Wechat等塌西,那么國際化需要我們APP做哪些更改呢他挎,接下來這幾篇就一起來看一下APP的國際化和本地化。感興趣的可以看上面幾篇捡需。
1. App的國際化和本地化(一) —— 簡單介紹(一)
2. App的國際化和本地化(二) —— 查看語言和區(qū)域設(shè)置(一)
3. App的國際化和本地化(三) —— 國際化用戶界面(一)
4. App的國際化和本地化(四) —— 國際化代碼(一)
5. App的國際化和本地化(五) —— 使用區(qū)域設(shè)置格式化數(shù)據(jù)(一)
6. App的國際化和本地化(六) —— 支持從右到左的語言(一)
7. App的國際化和本地化(七) —— 本地化你的App(一)
8. App的國際化和本地化(八) —— 測試您的國際化應(yīng)用程序(一)
9. App的國際化和本地化(九) —— 自己管理字符串文件(一)
回顧
上一篇主要介紹自己管理字符串文件办桨,本篇主要介紹語言和區(qū)域ID。
Language and Locale IDs - 語言和區(qū)域ID
Language ID
標識語言站辉,方言或腳本呢撞,用于命名存儲在應(yīng)用程序包中的特定于語言的資源文件夾。 Locale IDs
標識一組區(qū)域約定饰剥,并用于API殊霞,如NSLocale
,NSDateFormatter
汰蓉,NSNumberFormatter
和NSCalendar
類 - 需要區(qū)域信息來格式化數(shù)據(jù)绷蹲。 OS X和iOS使用由語言和區(qū)域指示符組成的Language ID
和 Locale IDs
格式。 例如顾孽,使用結(jié)合區(qū)域指示符的語言祝钢,Language ID
可以區(qū)分不同的語言和區(qū)域方言。
Language Designators - 語言指示符
語言指示符是代表語言的代碼若厚。 使用two-letter ISO 639-1
標準(首選)或three-letter ISO 639-2
標準拦英。 如果某個特定語言的ISO 639-1代碼不可用,請改為使用ISO 639-2代碼盹沈。 例如龄章,夏威夷語沒有ISO 639-1代碼,所以使用ISO 639-2代碼乞封。 表B-1列出了語言子集的語言指示符。
有關(guān)ISO 3166-1代碼的完整列表岗憋,請參閱Online Browsing Platform (OBP) for ISO country codes肃晚。
Language IDs - 語言IDs
language ID
標識許多地區(qū)使用的語言,特定地區(qū)使用的方言或多個地區(qū)使用的腳本仔戈。 要指定在許多地區(qū)使用的語言关串,請單獨使用語言指示符。 要指定特定的方言监徘,請使用連字符將語言指示符與區(qū)域指示符組合起來晋修。 要指定腳本,請將語言指示符與腳本指示符組合起來凰盔。 例如墓卦,要指定通用英語,請使用en
語言標識符作為language ID
户敬。 要指定在英國使用的英語落剪,請使用en-GB
作為language ID
睁本。
表B-3顯示了支持的language ID
語法以及常用語言和方言的示例
對于腳本標識符,使用[ISO 15924](http://www.unicode.org/iso15924/iso15924-codes.html)
標準忠怖,四個字母的第一個字母大寫和最后三個小寫呢堰,如表B-4所示
有關(guān)更多中文語言ID示例,請參閱Understanding the New Language Tags的ISO 639-3 and Macro Languages
部分凡泣。 有關(guān)語言標簽的完整BCP 47
規(guī)范枉疼,請轉(zhuǎn)至BCP 47: Tags for Identifying Languages。 但是鞋拟,iOS和OS X僅支持由語言指示器骂维、可選區(qū)域或腳本指示符組成的language ID
語法。
Locale IDs - 區(qū)域IDs
locale ID
標識特定區(qū)域及其文化習俗 - 例如日期严卖,時間和數(shù)字的格式席舍。 要指定區(qū)域設(shè)置,請使用下劃線字符將language ID
與區(qū)域標識符組合起來哮笆,如表B-5所示来颤。 例如,英國的英語人士的locale ID
為en_GB
稠肘,而美國的講英語的居民的語言環(huán)境為en_US
福铅。
不明確時,只能在locale ID
中使用腳本指示符项阴。 例如滑黔,因為Traditional Chinese
是香港的默認語言,請使用zh_HK
环揽,其中zh是Traditional Chinese
的代碼略荡,HK是香港地區(qū)的代碼。 對于在香港使用的簡體中文歉胶,請使用zh-Hans_HK
作為區(qū)域設(shè)置ID汛兜,其中zh-Hans
是簡體中文腳本的代碼。
Using Subtag Designators - 使用子標簽指示符
如有必要通今,您可以使用NSBundle
類或Core Foundation bundle
函數(shù)未知的語言或語言環(huán)境代碼粥谬。 例如,您可以為尚未在ISO約定中列出的語言創(chuàng)建自己的語言指示符辫塌,也可以在Xcode中以語言形式提供語言指示符漏策。
如果您選擇創(chuàng)建一個新的指示符,請務(wù)必遵循BCP 47: Tags for Identifying Languages的2.2.1節(jié)和4.5節(jié)中的規(guī)則臼氨。 不遵循這些約定的標簽不能保證工作掺喻。 使用子標簽時,請確保用戶語言設(shè)置存儲的縮寫完全匹配您的.lproj
目錄使用的標識符巢寡。
后記
本篇主要講述了語言和區(qū)域ID喉脖,感興趣的給個贊或者關(guān)注~~~