在Vue i18n中分别使用数字和消息本地化

时间:2019-09-05 08:37:16

标签: javascript typescript vue.js vue-i18n

我想将Vue I18n用于我的Web应用程序的货币,日期和消息本地化。用户可以分别配置语言和使用的货币格式。例如:一个德国用户想要一个英语本地化的网站,但货币格式应为EUR和'de-DE'。

是否可以使用Vue I18n构建它?像单独的币种语言环境配置一样?

我可以在模板中传递BCP 47语言代码,但是随后我必须为每个组件加载当前配置的语言代码。我想更动态地解决这个问题。

<p>{{ $n(price, 'currency', currentLanguageCode) }}</p>

const numberFormats = {
    'en-US': {
        currency: {
            style: 'currency', currency: 'USD'
        }
    },
    'de-DE': {
        currency: {
            style: 'currency', currency: 'EUR'
        }
    },
    'de-CH': {
        currency: {
            style: 'currency', currency: 'CHF'
        }
    }
}

const i18n = new VueI18n({
    numberFormats,
    messages: {
        en: {
            test: 'test message'
        },
        de: {
            test: 'Testnachricht'
        }
    },
    locale: 'de',
    fallbackLocale: 'de'
})

0 个答案:

没有答案