react.js中的大日历,如何设置本地化?

时间:2018-02-26 19:48:48

标签: reactjs

我正在尝试在create-react-app的全新安装中运行大日历应用程序,我的App.js中的代码如下所示:: -

import React, { Component } from 'react';
import './App.css';
import BigCalendar from 'react-big-calendar'
import events from './events'

let allViews = Object.keys(BigCalendar.Views).map(k => BigCalendar.Views[k])

let App = () => (
  <BigCalendar
    events={events}
    views={allViews}
    step={60}
    showMultiDayTimes
    defaultDate={new Date(2015, 3, 1)}
  />
)

export default App;

但我收到以下错误:

bigcalender

我基本上复制了基本的大日历示例(HERE)中的代码,但我仍然收到此错误,为什么我会收到此错误?如何使用大日历设置本地化?

1 个答案:

答案 0 :(得分:1)

我就是这样做的:

import React, { Component } from 'react';
import './App.css';
import BigCalendar from 'react-big-calendar'
import moment from 'moment'; // new
import 'moment/locale/nb';   // new
import events from './events'

const messages = { // new
  allDay: 'hele dagen',
  previous: 'forrige',
  next: 'neste',
  today: 'i dag',
  month: 'måned',
  week: 'uke',
  day: 'dag',
  agenda: 'agenda',
  date: 'dato',
  time: 'tid',
  event: 'hendelse',
};

let allViews = Object.keys(BigCalendar.Views).map(k => BigCalendar.Views[k])

let App = () => (
  <BigCalendar
    events={events}
    views={allViews}
    messages={messages} // new
    step={60}
    showMultiDayTimes
    defaultDate={new Date(2015, 3, 1)}
  />
)

export default App;

安装时刻并导入它,以及您要使用的区域设置。就我而言,它是 nb 。这会将日期/时间格式切换为我所在国家/地区的标准,但如果您还希望使用您的语言标记,则还必须更改消息。创建一个messages对象,翻译我已完成的字符串,并将其用作日历组件的参数。

适用于v0.17.0。我还没试过v0.18.0。