{
provide: NgLocalization,
useClass: NgLocaleLocalization
}
官方文件的說明非常少,簡單來說就是應用在
1.各國語系的複數型態的規則訂定及表達
2.各種單位的複數型態的規則訂定及表達
abstract class NgLocalization
這是一個抽象類別,裡面只包含一個抽象方法abstract getPluralCategory(value: any, locale?: string): string
而且唯一擴充這個抽象類別的類別就是 NgLocaleLocalization
class NgLocaleLocalization extends NgLocalization
往深層的code track後發現一份規格 - CLDR(Common Locale Data Repository),由萬國碼(unicode)聯盟訂定的規範
http://cldr.unicode.org/index/cldr-spec/plural-rules
這份規格在描述各種語言
1.名詞的複數如何表達
2.單位的複數如何表達(e.g."hour" vs "hours")
語言複數規則的詳細列表
http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html
不過目前從source code觀察,似乎angular團隊在這個領域還沒有積極的發展,在angular5的時候很多相關的API都被列為deprecated。
github:https://github.com/ShawnTseng/angular-api-research/commit/2fc5c38129a732bf2ed709b1a66d31e3905e6c30
github:https://github.com/ShawnTseng/angular-api-research/commit/2fc5c38129a732bf2ed709b1a66d31e3905e6c30
這些API跟多國語系(i18n)相關性較高,明天先讀I18N的章節( https://angular.io/guide/i18n )
沒有留言:
張貼留言