Buefy更改语言环境

时间:2019-08-04 17:20:30

标签: vue.js datepicker momentjs buefy

我想基于moment()语言环境更改日期选择器显示的语言。不仅是用户选择的日期的翻译,还包括日期选择器本身。

我有一个带有以下日期格式的日期选择器

   <b-datepicker
      :date-formatter="(date) =>  moment(date).locale('ar').format('YYYY-MM-DD')"
   ></b-datepicker>

但是无法获取日期选择器来更改语言。我已经确保先导入并设置当前时间区域设置。

2 个答案:

答案 0 :(得分:1)

设置语言环境,然后格式化日期,然后return

moment(date).locale('ar').format('LLLL');

您可以在different formats中设置日期格式。

更新: 要更改moment语言,只需定义反应性data属性(例如lang):

export default {
  data() {
    return {
      lang: "ar"
    }
  }
}

并在您的template中:

<b-datepicker
  :date-formatter="(date) =>  moment(date).locale(lang).format('YYYY-MM-DD')"
></b-datepicker>

因此,每当您更改lang时,您的日期都将根据您选择的语言重新格式化。

答案 1 :(得分:0)

使用month-namesday-names翻译日期选择器。参见here。 只要有片刻,您就可以这样做:

<b-datepicker
  :date-formatter="(date) => moment(date).locale(lang).format('YYYY-MM-DD')"
  :month-names="moment.locale(lang).month()"
  :day-names="moment.locale(lang).weekdaysShort()"
/>

但是您应该在全局范围内而不是在组件模板中定义locale(lang)...