【问题标题】:How to localize currency lNuxtJS i18n如何本地化货币 lNuxtJS i18n
【发布时间】: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-GE idk。它是否适用于 vanilla JS Intl.NumberFormat 方法?

标签: vue.js internationalization nuxt.js nuxt-i18n


【解决方案1】:

设置'de-GE' 而不是'de-GER' 解决了这个问题!

【讨论】:

    猜你喜欢
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2012-03-27
    • 2021-09-05
    相关资源
    最近更新 更多