Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-fallback mode with extension keywords #3764

Open
sffc opened this issue Aug 2, 2023 · 5 comments
Open

Non-fallback mode with extension keywords #3764

sffc opened this issue Aug 2, 2023 · 5 comments
Assignees
Labels
C-data-infra Component: provider, datagen, fallback, adapters

Comments

@sffc
Copy link
Member

sffc commented Aug 2, 2023

We should write down what clients should do with extension keywords in non-fallback mode (preresolved or hybrid).

Currently, if a user requests ar-EG-u-nu-latn from the FixedDecimalFormatter, it will succeed. However, if they request en-US-u-nu-latn, it will fail, because there is no explicit data for that extension. Likewise, ar-EG-u-xx-yyyy will fail if xx is an irrelevant extension keyword from the constructor.

Also, if constructing a DateTimeFormatter, ar-EG-u-nu-latn will fail, even though FixedDecimalFormatter is one of the component parts. (We should probably add DTF::try_new_with_fixed_decimal_formatter to work around this)

We could:

  1. Document this behavior and leave it as-is
  2. Make constructors for extension-sensitive keys have some extra logic for extension handling, outside of data provider
  3. Make all constructors have extra logic for extension handling, outside of data provider

I lean toward (1).

@sffc sffc added the discuss Discuss at a future ICU4X-SC meeting label Aug 2, 2023
@skius skius mentioned this issue Aug 2, 2023
41 tasks
@sffc sffc self-assigned this Oct 19, 2023
@sffc sffc removed the discuss Discuss at a future ICU4X-SC meeting label Oct 19, 2023
@sffc
Copy link
Member Author

sffc commented Oct 19, 2023

@sffc to propose a design here and also how this relates to aux keys.

@sffc sffc added this to the 1.4 Blocking ⟨P1⟩ milestone Oct 19, 2023
@sffc sffc added the C-data-infra Component: provider, datagen, fallback, adapters label Oct 19, 2023
@sffc
Copy link
Member Author

sffc commented Oct 19, 2023

Related: #3867

@robertbastian
Copy link
Member

Per decision in #3867, preresolved datagen should be able to preresolve the correct locales.

@robertbastian
Copy link
Member

Probably solved by #3867

@sffc
Copy link
Member Author

sffc commented May 17, 2024

Actually icu_preferences is the thing that should resolve this particular issue. I will move it to the 2.0 milestone.

@sffc sffc modified the milestones: 1.5 Blocking ⟨P1⟩, ICU4X 2.0 May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-data-infra Component: provider, datagen, fallback, adapters
Projects
Status: Investigate
Development

No branches or pull requests

2 participants