【发布时间】:2021-11-20 07:43:26
【问题描述】:
如您所知,欧洲国家的货币格式不同。 在德国 1.234.567,89 在英格兰 1.234.567.89 我如何使用 nuxt/i18n 本地化进行货币。 我在 nuxt 配置中有这段代码
i18n: {
locales: [
{ code: 'en', iso: 'en-US', dir: 'ltr' },
{ code: 'de', iso: 'de-GER', dir: 'ltr' },
],
defaultLocale: 'de',
vueI18n: {
numberFormats: {
'en-US': {
currency: {
style: 'currency',
currency: 'USD',
currencyDisplay: 'USD'
}
},
'de-GER': {
currency: {
style: 'currency',
currency: 'EUR',
currencyDisplay: 'EUR'
}
}
},
fallbackLocale: 'de',
messages: {
en: en.messages,
de: de.messages,
},
},
},
当我使用时
<p>{{ $n(100, 'currency') }}</p>
但我确实收到此错误
RangeError
Value EUR out of range for Intl.NumberFormat options property currencyDisplay
我该如何解决这个问题?
【问题讨论】:
-
看起来是浏览器问题,你在哪里试过这个?更多信息:github.com/kazupon/vue-i18n/issues/980
-
只是'de-GER'有问题,在'en-US'它工作正常
-
de-GER?这是有规律的吗?通常是2-2字母组合不是吗?也许试试de-GEidk。它是否适用于 vanilla JSIntl.NumberFormat方法?
标签: vue.js internationalization nuxt.js nuxt-i18n