globalizejs / globalizejs/globalize
Unit Formatter Returning Internal Error with CLDR v40.0.0
- Dominant language
- JavaScript
- Stars
- 4.8k
- Forks
- 585
- PR merge metrics
- No merged PRs in 30d
Description
Hi All,
For locale, `es` when i am using unitformatter, i am getting internal error.
Sample usage:
```
globalize.unitFormatter("bestFit", {
form: "narrow"
}).format(value)
```
Error Stack Trace:
```
Error: Oops, internal error
e is not defined
ReferenceError: e is not defined
at eval (eval at buildFunction (node_modules/globalize/dist/globalize/plural.js:227:20), :2:3)
at pluralGenerator (node_modules/globalize/dist/globalize/plural.js:297:10)
at unitFormat (node_modules/globalize/dist/globalize/unit.js:74:16)
at formatter (node_modules/globalize/dist/globalize/unit.js:101:10)
```
In CLDR v27.0.0, [plural.json](https://github.com/unicode-cldr/cldr-core/blob/master/supplemental/plurals.json#L179) has following data,
```
"es": {
"pluralRule-count-one": "n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000",
"pluralRule-count-other": " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
}
```
where as in v40.0.0 [plural.json](https://github.com/unicode-org/cldr-json/blob/main/cldr-json/cldr-core/supplemental/plurals.json#L187) has following data:
```
"es": {
"pluralRule-count-one": "n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000",
"pluralRule-count-many": "e = 0 and i != 0 and i % 1000000 = 0 and v = 0 or e != 0..5 @integer 1000000, 1c6, 2c6, 3c6, 4c6, 5c6, 6c6, … @decimal 1.0000001c6, 1.1c6, 2.0000001c6, 2.1c6, 3.0000001c6, 3.1c6, …",
"pluralRule-count-other": " @integer 0, 2~16, 100, 1000, 10000, 100000, 1c3, 2c3, 3c3, 4c3, 5c3, 6c3, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 1.0001c3, 1.1c3, 2.0001c3, 2.1c3, 3.0001c3, 3.1c3, …"
}
```
Note: for key `pluralRule-count-many` value has `e`
Similar error is returned for `fr` locale.
Please suggest a way to resolve this issue. Also, I would be happy to inner-source the fix 😄
Thanks,
Ritika
Contributor guide
Assessment
This issue has not been assessed yet.