This repository has been archived by the owner on Jul 10, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 41
RelativeFormat.__localeData__ needs the full locale name, instead we just take the root locale #25
Labels
Comments
jasonmit
changed the title
RelativeFormat.__localeData__ needs the full locale name, instead we split on
RelativeFormat.__localeData__ needs the full locale name, instead we just take the root locale
Feb 13, 2015
-
and take the head
This will force the issue of actually implementing a correct locale matcher instead of the simple poor-man's one we're using now. We should be able to look to the |
... or we can use the implementation from content negotiation used by express (https://github.com/jshttp/negotiator/#accept-language-negotiation). In any case, this should probably be an abstraction. |
@caridy We can start by writing the algorithm directly in this package since it's the only thing that will need it. Later we can decide if we want to pull it out into its own package. |
TasksI see the following being the set of things we need to do address this issue:
|
ericf
added a commit
to ericf/intl-relativeformat
that referenced
this issue
Mar 10, 2015
This upgrades to `[email protected]` and `[email protected]` which vastly improves the locale data in the following ways: * Added locale data for all leaf locales which differ from their root locale's data; e.g. "zh-Hant-TW" is not the same as "zh". * Properly de-duplicate data for all CLDR locales by correctly traversing a locale's hierarchy of ancestor locales. * Added data for the following languages: aa, agq, bas, bh, ckb, dav, dje, dsb, dua, dv, dyo, ebu, ewo, guw, guz, hsb, ia, in, iu, iw, jbo, ji, jv, jw, kaj, kam, kcg, khq, ki, kln, kok, ksf, ku, lb, lu, luo, luy, mer, mfe, mgh, mo, mua, nah, nmg, no, nqo, nus, ny, pap, prg, qu, rn, rw, sbp, sh, sma, smi, smj, smn, sms, swc, syr, tk, tl, twq, vai, wa, wo, yav, yi, zgh ---- These changes also include improvements for how locales are resolved. Here are some details of these changes: * If no extra locale data is loaded, the locale will _always_ resolved to `en`. * If locale data is missing for a leaf locale like `fr-FR`, but there _is_ data for the root, `fr` in this case, then its root will be used. * If there's data for the specified locale, then that locale will be resolved; i.e., var rf = new IntlRelativeFormat('en-US'); assert(rf.resolvedOptions().locale === 'en-US'); // true * The resolved locales are now normalized; e.g., `en-us` will resolve to: `en-US`. Fixes formatjs#25
ericf
added a commit
to ericf/intl-relativeformat
that referenced
this issue
Mar 10, 2015
This upgrades to `[email protected]` and `[email protected]` which vastly improves the locale data in the following ways: * Added locale data for all leaf locales which differ from their root locale's data; e.g. "zh-Hant-TW" is not the same as "zh". * Properly de-duplicate data for all CLDR locales by correctly traversing a locale's hierarchy of ancestor locales. * Added data for the following languages: aa, agq, bas, bh, ckb, dav, dje, dsb, dua, dv, dyo, ebu, ewo, guw, guz, hsb, ia, in, iu, iw, jbo, ji, jv, jw, kaj, kam, kcg, khq, ki, kln, kok, ksf, ku, lb, lu, luo, luy, mer, mfe, mgh, mo, mua, nah, nmg, no, nqo, nus, ny, pap, prg, qu, rn, rw, sbp, sh, sma, smi, smj, smn, sms, swc, syr, tk, tl, twq, vai, wa, wo, yav, yi, zgh ---- These changes also include improvements for how locales are resolved. Here are some details of these changes: * If no extra locale data is loaded, the locale will _always_ resolved to `en`. * If locale data is missing for a leaf locale like `fr-FR`, but there _is_ data for the root, `fr` in this case, then its root will be used. * If there's data for the specified locale, then that locale will be resolved; i.e., var rf = new IntlRelativeFormat('en-US'); assert(rf.resolvedOptions().locale === 'en-US'); // true * The resolved locales are now normalized; e.g., `en-us` will resolve to: `en-US`. Fixes formatjs#25
With PR #28 all of the above tasks are completed. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
https://github.com/yahoo/intl-relativeformat/blob/master/src/core.js#L69
I believe is going to cause an issue as well for formatjs/formatjs#78
Steps:
IntlRelativeTime.__addLocaleData
new IntlRelativeFormat('zh-hant-tw').format(new Date(new Date() - 3 * 60000));
new IntlRelativeFormat('zh').format(new Date(new Date() - 3 * 60000));
The text was updated successfully, but these errors were encountered: