Open amccarthyMatchbook opened 8 years ago
Hi, thanks for filing the issue, but the provided info isn't enough for reproducing it. Could you please provide a reduced example?
OSX: Yosemite Browser: Chrome 49.0.2623. node 5.6.0
this is my updated working config, where I have added require( "cldr-data/supplemental/plurals" )
var Globalize = require( "globalize" );
Globalize.load( // Core require( "cldr-data/supplemental/likelySubtags" ), require( "cldr-data/main/en/numbers" ), require('i18n/currencies/usd'), require( "cldr-data/supplemental/plurals" ) ); Globalize.loadMessages( require( "i18n/en/messages" ) );
// Set "en" as our default locale. Globalize.locale( "en" ); window.Globalize = Globalize; module.exports = Globalize;
and which formatters are you using in your app, message formatter only? What about your messages, do you use the plural pattern in them?
Hey thanks for getting back to me. Using formatCurrency, formatNumber & formatMessage. I'm not using plural pattern anywhere in my app.
I think I'm encountering a related issue. We just added some translations to our app (zh-Hans
and zh-Hant
- I think I have the codes correct according to w3), and I'm getting the following error at build time:
Populated the new fields of `messages/zh-hant.json` using the default translation.
Error: E_MISSING_CLDR: Missing required CLDR content `main/zh-hant/numbers/currencies/USD/symbol`.
at createError (/Users/zedd45/Sites/esports-ui/node_modules/globalize/dist/globalize.js:105:10)
at validate (/Users/zedd45/Sites/esports-ui/node_modules/globalize/dist/globalize.js:182:9)
at validateCldr (/Users/zedd45/Sites/esports-ui/node_modules/globalize/dist/globalize.js:204:2)
at EventEmitter.validateRequiredCldr (/Users/zedd45/Sites/esports-ui/node_modules/globalize/dist/globalize/currency.js:315:2)
at EventEmitter.emitEvent (/Users/zedd45/Sites/esports-ui/node_modules/cldrjs/dist/cldr/event.js:416:35)
at EventEmitter.aliasClosure [as trigger] (/Users/zedd45/Sites/esports-ui/node_modules/cldrjs/dist/cldr/event.js:88:22)
at Cldr.get (/Users/zedd45/Sites/esports-ui/node_modules/cldrjs/dist/cldr/event.js:572:12)
at Cldr.main (/Users/zedd45/Sites/esports-ui/node_modules/cldrjs/dist/cldr.js:668:15)
at Object.currencySymbolProperties (/Users/zedd45/Sites/esports-ui/node_modules/globalize/dist/globalize/currency.js:232:17)
at Function.Globalize.currencyFormatter.Globalize.currencyFormatter [as currencyFormatter] (/Users/zedd45/Sites/esports-ui/node_modules/globalize/dist/globalize/currency.js:356:14)
at eval (eval at extractor (/Users/zedd45/Sites/esports-ui/node_modules/react-globalize-compiler/lib/extract.js:65:10), <anonymous>:3:19)
at /Users/zedd45/Sites/esports-ui/node_modules/globalize-compiler/lib/compile-extracts.js:59:23
at Array.reduce (native)
at Object.compileExtracts (/Users/zedd45/Sites/esports-ui/node_modules/globalize-compiler/lib/compile-extracts.js:58:49)
at GlobalizeCompilerHelper.compile (/Users/zedd45/Sites/esports-ui/node_modules/globalize-webpack-plugin/GlobalizeCompilerHelper.js:63:33)
at /Users/zedd45/Sites/esports-ui/node_modules/globalize-webpack-plugin/ProductionModePlugin.js:231:51
at RegExp.[Symbol.replace] (native)
at String.replace (native)
at /Users/zedd45/Sites/esports-ui/node_modules/globalize-webpack-plugin/ProductionModePlugin.js:225:58
at Array.forEach (native)
at /Users/zedd45/Sites/esports-ui/node_modules/globalize-webpack-plugin/ProductionModePlugin.js:223:63
at Array.forEach (native)
at Compilation.<anonymous> (/Users/zedd45/Sites/esports-ui/node_modules/globalize-webpack-plugin/ProductionModePlugin.js:221:10)
at Compilation.applyPlugins (/Users/zedd45/Sites/esports-ui/node_modules/tapable/lib/Tapable.js:26:37)
at Compilation.<anonymous> (/Users/zedd45/Sites/esports-ui/node_modules/webpack/lib/Compilation.js:558:8)
at Compilation.next (/Users/zedd45/Sites/esports-ui/node_modules/tapable/lib/Tapable.js:67:11)
at ExtractTextPlugin.<anonymous> (/Users/zedd45/Sites/esports-ui/node_modules/extract-text-webpack-plugin/index.js:285:5)
at /Users/zedd45/Sites/esports-ui/node_modules/extract-text-webpack-plugin/node_modules/async/lib/async.js:52:16
at Object.async.forEachOf.async.eachOf (/Users/zedd45/Sites/esports-ui/node_modules/extract-text-webpack-plugin/node_modules/async/lib/async.js:236:30)
at Object.async.forEach.async.each (/Users/zedd45/Sites/esports-ui/node_modules/extract-text-webpack-plugin/node_modules/async/lib/async.js:209:22)
FYI I'm using https://github.com/rxaviers/react-globalize-webpack-plugin to generate these, so I'd be happy to file / move this issue there, if it's more approriate.
I found a related issue that explains why my use case is failing: https://github.com/globalizejs/globalize/issues/357#issuecomment-66107704
I think I have the wrong languageId
I also got:
Uncaught Error: E_MISSING_CLDR: Missing required CLDR content `supplemental/plurals-type-cardinal/en`.
I'm using the currencyFormatter
which uses them for the name
style, but I'm not using the name
style anywhere. It'd be cool to save the bytes on the data (which I've actually already got loaded in a slightly different format for react-intl message formatting stuff). Not a huge deal though. Just figured I'd flag it.
@zedd45 I've moved your issue here https://github.com/rxaviers/globalize-webpack-plugin/issues/67.
@alex-stripe Yeap, if you're using currencyFormatter
but not name
style, you shouldn't be required to load plural data. Thanks for flagging it too.
Updated Globalize from 1.0.0 to 1.1.0. getting the following error on load.
globalize.js?992e:108 Uncaught Error: E_MISSING_CLDR: Missing required CLDR content supplemental/plurals-type-cardinal/en.
The docs do not say too much except it's an error. https://github.com/jquery/globalize/blob/master/README.md#cldr-errors
E_MISSING_CLDR
Thrown when any required CLDR item is NOT found.
added require( "cldr-data/supplemental/plurals" ) looks to have resolved issue resolved issue.
Any thoughts on why version 1.1.0 requires this and 1.0.0 does not?