如何从vue-i18n获取货币符号

时间:2017-12-29 19:02:25

标签: vue.js vue-i18n

我想根据区域设置显示货币符号

    <p>Every {{ $n(null, 'currency') }} you invest</p>

我想显示

    <p>Every $ you invest</p>

    <p>Every £ you invest</p>

等...

并且还可以显示名称:

    <p>Every dollar you invest</p>    

2 个答案:

答案 0 :(得分:2)

在翻译邮件中保存货币符号

VueI18n设置

const messages = {
    "en-GB": { currencySymbol: "£" },
    "en-US": { currencySymbol: "$" }
}

export default new VueI18n({
    messages
})

组件html

<p>{{ $t('currencySymbol') }}</p>

答案 1 :(得分:1)

我知道它没有使用vue-i18n,但您可以使用内置的es5 Intl library

let formatter = new Intl.NumberFormat('en-GB', {
  style: 'currency',
  currency: 'GBP',
  minimumFractionDigits: 2
})
return formatter.format('0')[0] // Would return the first digit which is the currency symbol.