Skip to content

[Disscussion] Internationalization API issues. #10809

@laskoviymishka

Description

@laskoviymishka

Per @vicb this issue is mostly to summarize issues about Intl.API.
Currently our formatting pipes (Number and Date) highly coupled to Intl.Api, and this api have some known issues. From top overview it could be aggregated in following groups:

  1. Compatibility issues between browsers. Some browser have limited support for Intl.Api (IE11, Edge), some browser not support it at all (IE8-10, Safari). Most of this issue can be easily resolved by adding proper pollyphil, but this point is not well informed (possible documentation issue).

Here list of compatibility issues:

  1. Missed api. Some of requested feature could not be implemented upon standard Intl.API and require some additional implementation, which could be inconsistence with Intl.Api.

Here is a list of such issues:

  1. Just few honorable mentions:
  • Pipes: Allow to specify locale #3429 - this one is not clearly related to Intl.Api, but still need to be mentioned. Right now we not quite flexible with our locale, from this point Intl.Api just fine. This issue is mostly aroung global locale setting for angular app and related to [i18n] future 2.x plan #9104.
  • [i18n] future 2.x plan #9104 - this one is just aggregation for [i18n] component. Right now your own code internationalization and angular system internationalization is 2 big difference. They not even correlated.

So right now there is a question - should we stand for Intl.Api and be consistence with it, or abondon Intl.Api and start to work with our own implementation for internationalization, so angular [i18n] module become more consistence.

Standing on Intl.Api, will lead to feature loss, since some of them not possible to implement with that api.

Implementing our own implementation of [i18n] is pretty much like A1 way, with main benefit - full control of Api, but yet there is an issues - we will have to think how to integrate this into current app bundles, and more over it requires some additional work. But we could implement this as part of #9104 [i18n] module, so it will fit in current A2 apps nicely.

Metadata

Metadata

Assignees

Labels

area: commonIssues related to APIs in the @angular/common packagearea: i18nIssues related to localization and internationalizationfreq2: mediumtype: bug/fix

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions