Merge pull request #2097 from SergioCrisostomo/use-locale-formated-year-month

use date.toLocaleDateString to format year/month
This commit is contained in:
Aresn 2017-10-22 20:29:51 -05:00 committed by GitHub
commit f672ae027c
20 changed files with 192 additions and 99 deletions

View file

@ -0,0 +1,25 @@
<template>
<span>
<span
v-if="datePanelLabel"
v-show="datePanelLabel.labels[0].type === 'year' || currentView === 'date'"
:class="[datePrefixCls + '-header-label']"
@click="datePanelLabel.labels[0].handler">{{ datePanelLabel.labels[0].label }}</span>
<template v-if="datePanelLabel && currentView === 'date'">{{ datePanelLabel.separator }}</template>
<span
v-if="datePanelLabel"
v-show="datePanelLabel.labels[1].type === 'year' || currentView === 'date'"
:class="[datePrefixCls + '-header-label']"
@click="datePanelLabel.labels[1].handler">{{ datePanelLabel.labels[1].label }}</span>
</span>
</template>
<script>
export default {
props: {
datePanelLabel: Object,
currentView: String,
datePrefixCls: String
}
};
</script>

View file

@ -16,13 +16,10 @@
:class="iconBtnCls('prev')" :class="iconBtnCls('prev')"
@click="prevMonth" @click="prevMonth"
v-show="leftCurrentView === 'date'"><Icon type="ios-arrow-left"></Icon></span> v-show="leftCurrentView === 'date'"><Icon type="ios-arrow-left"></Icon></span>
<span <date-panel-label
:class="[datePrefixCls + '-header-label']" :date-panel-label="leftDatePanelLabel"
@click="showYearPicker('left')">{{ leftYearLabel }}</span> :current-view="leftCurrentView"
<span :date-prefix-cls="datePrefixCls"/>
:class="[datePrefixCls + '-header-label']"
@click="showMonthPicker('left')"
v-show="leftCurrentView === 'date'">{{ leftMonthLabel }}</span>
<span <span
:class="iconBtnCls('next', '-double')" :class="iconBtnCls('next', '-double')"
@click="nextYear('left')" @click="nextYear('left')"
@ -66,13 +63,10 @@
:class="iconBtnCls('prev', '-double')" :class="iconBtnCls('prev', '-double')"
@click="prevYear('right')" @click="prevYear('right')"
v-show="rightCurrentView === 'year' || rightCurrentView === 'month'"><Icon type="ios-arrow-left"></Icon></span> v-show="rightCurrentView === 'year' || rightCurrentView === 'month'"><Icon type="ios-arrow-left"></Icon></span>
<span <date-panel-label
:class="[datePrefixCls + '-header-label']" :date-panel-label="rightDatePanelLabel"
@click="showYearPicker('right')">{{ rightYearLabel }}</span> :current-view="rightCurrentView"
<span :date-prefix-cls="datePrefixCls"/>
:class="[datePrefixCls + '-header-label']"
@click="showMonthPicker('right')"
v-show="rightCurrentView === 'date'">{{ rightMonthLabel }}</span>
<span <span
:class="iconBtnCls('next', '-double')" :class="iconBtnCls('next', '-double')"
@click="nextYear('right')"><Icon type="ios-arrow-right"></Icon></span> @click="nextYear('right')"><Icon type="ios-arrow-right"></Icon></span>
@ -138,7 +132,8 @@
import MonthTable from '../base/month-table.vue'; import MonthTable from '../base/month-table.vue';
import TimePicker from './time-range.vue'; import TimePicker from './time-range.vue';
import Confirm from '../base/confirm.vue'; import Confirm from '../base/confirm.vue';
import { toDate, prevMonth, nextMonth, initTimeDate } from '../util'; import { toDate, prevMonth, nextMonth, initTimeDate, formatDateLabels } from '../util';
import datePanelLabel from './date-panel-label.vue';
import Mixin from './mixin'; import Mixin from './mixin';
import Locale from '../../../mixins/locale'; import Locale from '../../../mixins/locale';
@ -149,7 +144,7 @@
export default { export default {
name: 'DatePicker', name: 'DatePicker',
mixins: [ Mixin, Locale ], mixins: [ Mixin, Locale ],
components: { Icon, DateTable, YearTable, MonthTable, TimePicker, Confirm }, components: { Icon, DateTable, YearTable, MonthTable, TimePicker, Confirm, datePanelLabel },
data () { data () {
return { return {
prefixCls: prefixCls, prefixCls: prefixCls,
@ -195,26 +190,9 @@
return this.date; return this.date;
} }
}, },
leftYearLabel () {
const tYear = this.t('i.datepicker.year');
if (this.leftCurrentView === 'year') {
const year = this.leftTableYear;
if (!year) return '';
const startYear = Math.floor(year / 10) * 10;
return `${startYear}${tYear} - ${startYear + 9}${tYear}`;
} else {
const year = this.leftCurrentView === 'month' ? this.leftTableYear : this.leftYear;
if (!year) return '';
return `${year}${tYear}`;
}
},
leftMonth () { leftMonth () {
return this.date.getMonth(); return this.date.getMonth();
}, },
leftMonthLabel () {
const month = this.leftMonth + 1;
return this.t(`i.datepicker.month${month}`);
},
rightYear () { rightYear () {
return this.rightDate.getFullYear(); return this.rightDate.getFullYear();
}, },
@ -225,26 +203,9 @@
return this.date; return this.date;
} }
}, },
rightYearLabel () {
const tYear = this.t('i.datepicker.year');
if (this.rightCurrentView === 'year') {
const year = this.rightTableYear;
if (!year) return '';
const startYear = Math.floor(year / 10) * 10;
return `${startYear}${tYear} - ${startYear + 9}${tYear}`;
} else {
const year = this.rightCurrentView === 'month' ? this.rightTableYear : this.rightYear;
if (!year) return '';
return `${year}${tYear}`;
}
},
rightMonth () { rightMonth () {
return this.rightDate.getMonth(); return this.rightDate.getMonth();
}, },
rightMonthLabel () {
const month = this.rightMonth + 1;
return this.t(`i.datepicker.month${month}`);
},
rightDate () { rightDate () {
const newDate = new Date(this.date); const newDate = new Date(this.date);
const month = newDate.getMonth(); const month = newDate.getMonth();
@ -258,6 +219,14 @@
} }
return newDate; return newDate;
}, },
leftDatePanelLabel () {
if (!this.leftYear) return null; // not ready yet
return this.panelLabelConfig('left');
},
rightDatePanelLabel () {
if (!this.leftYear) return null; // not ready yet
return this.panelLabelConfig('right');
},
timeDisabled () { timeDisabled () {
return !(this.minDate && this.maxDate); return !(this.minDate && this.maxDate);
} }
@ -288,6 +257,22 @@
} }
}, },
methods: { methods: {
panelLabelConfig (direction) {
const locale = this.t('i.locale');
const datePanelLabel = this.t('i.datepicker.datePanelLabel');
const handler = type => {
const fn = type == 'month' ? this.showMonthPicker : this.showYearPicker;
return () => fn(direction);
};
const date = new Date(this[`${direction}Year`], this[`${direction}Month`]);
const { labels, separator } = formatDateLabels(locale, datePanelLabel, date);
return {
separator: separator,
labels: labels.map(obj => ((obj.handler = handler(obj.type)), obj))
};
},
resetDate () { resetDate () {
this.date = new Date(this.date); this.date = new Date(this.date);
this.leftTableYear = this.date.getFullYear(); this.leftTableYear = this.date.getFullYear();

View file

@ -15,13 +15,10 @@
:class="iconBtnCls('prev')" :class="iconBtnCls('prev')"
@click="changeMonth(-1)" @click="changeMonth(-1)"
v-show="currentView === 'date'"><Icon type="ios-arrow-left"></Icon></span> v-show="currentView === 'date'"><Icon type="ios-arrow-left"></Icon></span>
<span <date-panel-label
:class="[datePrefixCls + '-header-label']" :date-panel-label="datePanelLabel"
@click="showYearPicker">{{ yearLabel }}</span> :current-view="currentView"
<span :date-prefix-cls="datePrefixCls"/>
:class="[datePrefixCls + '-header-label']"
@click="showMonthPicker"
v-show="currentView === 'date'">{{ monthLabel }}</span>
<span <span
:class="iconBtnCls('next', '-double')" :class="iconBtnCls('next', '-double')"
@click="changeYear(+1)"><Icon type="ios-arrow-right"></Icon></span> @click="changeYear(+1)"><Icon type="ios-arrow-right"></Icon></span>
@ -83,11 +80,12 @@
import MonthTable from '../base/month-table.vue'; import MonthTable from '../base/month-table.vue';
import TimePicker from './time.vue'; import TimePicker from './time.vue';
import Confirm from '../base/confirm.vue'; import Confirm from '../base/confirm.vue';
import datePanelLabel from './date-panel-label.vue';
import Mixin from './mixin'; import Mixin from './mixin';
import Locale from '../../../mixins/locale'; import Locale from '../../../mixins/locale';
import { initTimeDate, siblingMonth } from '../util'; import { initTimeDate, siblingMonth, formatDateLabels } from '../util';
const prefixCls = 'ivu-picker-panel'; const prefixCls = 'ivu-picker-panel';
const datePrefixCls = 'ivu-date-picker'; const datePrefixCls = 'ivu-date-picker';
@ -95,7 +93,7 @@
export default { export default {
name: 'DatePicker', name: 'DatePicker',
mixins: [ Mixin, Locale ], mixins: [ Mixin, Locale ],
components: { Icon, DateTable, YearTable, MonthTable, TimePicker, Confirm }, components: { Icon, DateTable, YearTable, MonthTable, TimePicker, Confirm, datePanelLabel },
data () { data () {
return { return {
prefixCls: prefixCls, prefixCls: prefixCls,
@ -123,19 +121,21 @@
} }
]; ];
}, },
yearLabel () { datePanelLabel () {
const tYear = this.t('i.datepicker.year'); if (!this.year) return null; // not ready yet
const year = this.year; const locale = this.t('i.locale');
if (!year) return ''; const datePanelLabel = this.t('i.datepicker.datePanelLabel');
if (this.currentView === 'year') { const date = new Date(this.year, this.month);
const startYear = Math.floor(year / 10) * 10; const { labels, separator } = formatDateLabels(locale, datePanelLabel, date);
return `${startYear}${tYear} - ${startYear + 9}${tYear}`;
} const handler = type => {
return `${year}${tYear}`; return () => (this.currentView = type);
}, };
monthLabel () {
const month = this.month + 1; return {
return this.t(`i.datepicker.month${month}`); separator: separator,
labels: labels.map(obj => ((obj.handler = handler(obj.type)), obj))
};
} }
}, },
watch: { watch: {
@ -196,12 +196,6 @@
this.date = siblingMonth(this.date, dir); this.date = siblingMonth(this.date, dir);
this.setMonthYear(this.date); this.setMonthYear(this.date);
}, },
showYearPicker () {
this.currentView = 'year';
},
showMonthPicker () {
this.currentView = 'month';
},
handleToggleTime () { handleToggleTime () {
if (this.currentView === 'date') { if (this.currentView === 'date') {
this.currentView = 'time'; this.currentView = 'time';

View file

@ -3,7 +3,7 @@
<div :class="[prefixCls + '-body']"> <div :class="[prefixCls + '-body']">
<div :class="[prefixCls + '-content', prefixCls + '-content-left']"> <div :class="[prefixCls + '-content', prefixCls + '-content-left']">
<div :class="[timePrefixCls + '-header']"> <div :class="[timePrefixCls + '-header']">
<template v-if="showDate">{{ visibleDate }}</template> <template v-if="showDate">{{ leftDatePanelLabel }}</template>
<template v-else>{{ t('i.datepicker.startTime') }}</template> <template v-else>{{ t('i.datepicker.startTime') }}</template>
</div> </div>
<time-spinner <time-spinner
@ -21,7 +21,7 @@
</div> </div>
<div :class="[prefixCls + '-content', prefixCls + '-content-right']"> <div :class="[prefixCls + '-content', prefixCls + '-content-right']">
<div :class="[timePrefixCls + '-header']"> <div :class="[timePrefixCls + '-header']">
<template v-if="showDate">{{ visibleDateEnd }}</template> <template v-if="showDate">{{ rightDatePanelLabel }}</template>
<template v-else>{{ t('i.datepicker.endTime') }}</template> <template v-else>{{ t('i.datepicker.endTime') }}</template>
</div> </div>
<time-spinner <time-spinner
@ -51,7 +51,7 @@
import Mixin from './mixin'; import Mixin from './mixin';
import Locale from '../../../mixins/locale'; import Locale from '../../../mixins/locale';
import { initTimeDate, toDate, formatDate } from '../util'; import { initTimeDate, toDate, formatDate, formatDateLabels } from '../util';
const prefixCls = 'ivu-picker-panel'; const prefixCls = 'ivu-picker-panel';
const timePrefixCls = 'ivu-time-picker'; const timePrefixCls = 'ivu-time-picker';
@ -95,19 +95,11 @@
showSeconds () { showSeconds () {
return (this.format || '').indexOf('ss') !== -1; return (this.format || '').indexOf('ss') !== -1;
}, },
visibleDate () { leftDatePanelLabel () {
const date = this.date || initTimeDate(); return this.panelLabelConfig(this.date);
const tYear = this.t('i.datepicker.year');
const month = date.getMonth() + 1;
const tMonth = this.t(`i.datepicker.month${month}`);
return `${date.getFullYear()}${tYear} ${tMonth}`;
}, },
visibleDateEnd () { rightDatePanelLabel () {
const date = this.dateEnd || initTimeDate(); return this.panelLabelConfig(this.dateEnd);
const tYear = this.t('i.datepicker.year');
const month = date.getMonth() + 1;
const tMonth = this.t(`i.datepicker.month${month}`);
return `${date.getFullYear()}${tYear} ${tMonth}`;
} }
}, },
watch: { watch: {
@ -136,6 +128,12 @@
} }
}, },
methods: { methods: {
panelLabelConfig (date) {
const locale = this.t('i.locale');
const datePanelLabel = this.t('i.datepicker.datePanelLabel');
const { labels, separator } = formatDateLabels(locale, datePanelLabel, date || initTimeDate());
return [labels[0].label, separator, labels[1].label].join('');
},
handleClear() { handleClear() {
this.date = initTimeDate(); this.date = initTimeDate();
this.dateEnd = initTimeDate(); this.dateEnd = initTimeDate();

View file

@ -61,3 +61,64 @@ export const initTimeDate = function() {
date.setSeconds(0); date.setSeconds(0);
return date; return date;
}; };
export const formatDateLabels = (function() {
/*
Formats:
yyyy - 4 digit year
m - month, numeric, 1 - 12
m - month, numeric, 01 - 12
mmm - month, 3 letters, as in `toLocaleDateString`
Mmm - month, 3 letters, capitalize the return from `toLocaleDateString`
mmmm - month, full name, as in `toLocaleDateString`
Mmmm - month, full name, capitalize the return from `toLocaleDateString`
*/
const formats = {
yyyy: date => date.getFullYear(),
m: date => date.getMonth(),
mm: date => ('0' + date.getMonth()).slice(-2),
mmm: (date, locale) => {
const monthName = date.toLocaleDateString(locale, {
month: 'long'
});
return monthName.slice(0, 3);
},
Mmm: (date, locale) => {
const monthName = date.toLocaleDateString(locale, {
month: 'long'
});
return (monthName[0].toUpperCase() + monthName.slice(1).toLowerCase()).slice(0, 3);
},
mmmm: (date, locale) =>
date.toLocaleDateString(locale, {
month: 'long'
}),
Mmmm: (date, locale) => {
const monthName = date.toLocaleDateString(locale, {
month: 'long'
});
return monthName[0].toUpperCase() + monthName.slice(1).toLowerCase();
}
};
const formatRegex = new RegExp(['yyyy', 'Mmmm', 'mmmm', 'Mmm', 'mmm', 'mm', 'm'].join('|'), 'g');
return function(locale, format, date) {
const componetsRegex = /(\[[^\]]+\])([^\[\]]+)(\[[^\]]+\])/;
const components = format.match(componetsRegex).slice(1);
const separator = components[1];
const labels = [components[0], components[2]].map(component => {
const label = component.replace(/\[[^\]]+\]/, str => {
return str.slice(1, -1).replace(formatRegex, match => formats[match](date, locale));
});
return {
label: label,
type: component.includes('yy') ? 'year' : 'month'
};
});
return {
separator: separator,
labels: labels
};
};
})();

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'de-DE',
select: { select: {
placeholder: 'Auswählen', placeholder: 'Auswählen',
noMatch: 'Keine Übereinstimmungen', noMatch: 'Keine Übereinstimmungen',
@ -19,7 +20,8 @@ export default {
endTime: 'Ende', endTime: 'Ende',
clear: 'Leeren', clear: 'Leeren',
ok: 'OK', ok: 'OK',
month: '', datePanelLabel: '[mmmm] [yyyy]',
month: 'Monat',
month1: 'Januar', month1: 'Januar',
month2: 'Februar', month2: 'Februar',
month3: 'März', month3: 'März',
@ -32,7 +34,7 @@ export default {
month10: 'Oktober', month10: 'Oktober',
month11: 'November', month11: 'November',
month12: 'Dezember', month12: 'Dezember',
year: '', year: 'Jahr',
weekStartDay: '1', weekStartDay: '1',
weeks: { weeks: {
sun: 'So', sun: 'So',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'en-US',
select: { select: {
placeholder: 'Select', placeholder: 'Select',
noMatch: 'No matching data', noMatch: 'No matching data',
@ -19,7 +20,8 @@ export default {
endTime: 'End Time', endTime: 'End Time',
clear: 'Clear', clear: 'Clear',
ok: 'OK', ok: 'OK',
month: '', datePanelLabel: '[mmmm] [yyyy]',
month: 'Month',
month1: 'January', month1: 'January',
month2: 'February', month2: 'February',
month3: 'March', month3: 'March',
@ -32,7 +34,7 @@ export default {
month10: 'October', month10: 'October',
month11: 'November', month11: 'November',
month12: 'December', month12: 'December',
year: '', year: 'Year',
weekStartDay: '0', weekStartDay: '0',
weeks: { weeks: {
sun: 'Sun', sun: 'Sun',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'es-ES',
select: { select: {
placeholder: 'Seleccionar', placeholder: 'Seleccionar',
noMatch: 'Sin coincidencias', noMatch: 'Sin coincidencias',
@ -19,6 +20,7 @@ export default {
endTime: 'Hora de fin', endTime: 'Hora de fin',
clear: 'Limpiar', clear: 'Limpiar',
ok: 'Aceptar', ok: 'Aceptar',
datePanelLabel: '[mmmm] [yyyy]',
month: 'Mes', month: 'Mes',
month1: 'Enero', month1: 'Enero',
month2: 'Febrero', month2: 'Febrero',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'fr-FR',
select: { select: {
placeholder: 'Sélectionnez', placeholder: 'Sélectionnez',
noMatch: 'Aucun résultat', noMatch: 'Aucun résultat',
@ -19,7 +20,8 @@ export default {
endTime: 'Heure de fin', endTime: 'Heure de fin',
clear: 'Annuler', clear: 'Annuler',
ok: 'OK', ok: 'OK',
month: '', datePanelLabel: '[mmmm] [yyyy]',
month: 'Mois',
month1: 'Janvier', month1: 'Janvier',
month2: 'Février', month2: 'Février',
month3: 'Mars', month3: 'Mars',
@ -32,7 +34,7 @@ export default {
month10: 'Octobre', month10: 'Octobre',
month11: 'Novembre', month11: 'Novembre',
month12: 'Decembre', month12: 'Decembre',
year: '', year: 'An',
weekStartDay: '1', weekStartDay: '1',
weeks: { weeks: {
sun: 'Dim', sun: 'Dim',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'id-ID',
select: { select: {
placeholder: 'Pilih', placeholder: 'Pilih',
noMatch: 'Tidak ada data yang cocok', noMatch: 'Tidak ada data yang cocok',
@ -19,6 +20,7 @@ export default {
endTime: 'Waktu Selesai', endTime: 'Waktu Selesai',
clear: 'Bersihkan', clear: 'Bersihkan',
ok: 'OK', ok: 'OK',
datePanelLabel: '[mmmm] [yyyy]',
month: '', month: '',
month1: 'Januari', month1: 'Januari',
month2: 'Februari', month2: 'Februari',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'ja-JP',
select: { select: {
placeholder: '選んでください', placeholder: '選んでください',
noMatch: 'マッチするデータなし', noMatch: 'マッチするデータなし',
@ -19,6 +20,7 @@ export default {
endTime: '終了時間', endTime: '終了時間',
clear: 'クリーア', clear: 'クリーア',
ok: '確定', ok: '確定',
datePanelLabel: '[yyyy] [mmmm]',
month: '月', month: '月',
month1: '1 月', month1: '1 月',
month2: '2 月', month2: '2 月',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'ko-KR',
select: { select: {
placeholder: '선택', placeholder: '선택',
noMatch: '일치하는 데이터 없음', noMatch: '일치하는 데이터 없음',
@ -19,6 +20,7 @@ export default {
endTime: '종료 시간', endTime: '종료 시간',
clear: '삭제', clear: '삭제',
ok: '예', ok: '예',
datePanelLabel: '[yyyy년] [m월]',
month: '월', month: '월',
month1: '1월', month1: '1월',
month2: '2월', month2: '2월',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'pt-BR',
select: { select: {
placeholder: 'Selecionar', placeholder: 'Selecionar',
noMatch: 'Não encontrado', noMatch: 'Não encontrado',
@ -19,6 +20,7 @@ export default {
endTime: 'Hora final', endTime: 'Hora final',
clear: 'Limpar', clear: 'Limpar',
ok: 'Confirmar', ok: 'Confirmar',
datePanelLabel: '[mmmm] de [yyyy]',
month: 'Mês', month: 'Mês',
month1: 'Janeiro', month1: 'Janeiro',
month2: 'Fevereiro', month2: 'Fevereiro',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'pt-PT',
select: { select: {
placeholder: 'Selecionar', placeholder: 'Selecionar',
noMatch: 'Não encontrado', noMatch: 'Não encontrado',
@ -19,6 +20,7 @@ export default {
endTime: 'Hora final', endTime: 'Hora final',
clear: 'Limpar', clear: 'Limpar',
ok: 'Confirmar', ok: 'Confirmar',
datePanelLabel: '[mmmm] de [yyyy]',
month: 'Mês', month: 'Mês',
month1: 'Janeiro', month1: 'Janeiro',
month2: 'Fevereiro', month2: 'Fevereiro',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'ru-RU',
select: { select: {
placeholder: 'Выбрать', placeholder: 'Выбрать',
noMatch: 'Нет соответствующих данных', noMatch: 'Нет соответствующих данных',
@ -19,6 +20,7 @@ export default {
endTime: 'Конечное время', endTime: 'Конечное время',
clear: 'Очистить', clear: 'Очистить',
ok: 'OK', ok: 'OK',
datePanelLabel: '[Mmmm] [yyyy]',
month: '', month: '',
month1: 'Январь', month1: 'Январь',
month2: 'Февраль', month2: 'Февраль',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'sv-SE',
select: { select: {
placeholder: 'Välj', placeholder: 'Välj',
noMatch: 'Ingen träff', noMatch: 'Ingen träff',
@ -19,6 +20,7 @@ export default {
endTime: 'Slut tid', endTime: 'Slut tid',
clear: 'Rensa', clear: 'Rensa',
ok: 'Ok', ok: 'Ok',
datePanelLabel: '[mmmm] [yyyy]',
month: 'Månad', month: 'Månad',
month1: 'Januari', month1: 'Januari',
month2: 'Februari', month2: 'Februari',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'tr-TR',
select: { select: {
placeholder: 'Seç', placeholder: 'Seç',
noMatch: 'Eşleşen veri yok', noMatch: 'Eşleşen veri yok',
@ -19,6 +20,7 @@ export default {
endTime: 'Bitişe', endTime: 'Bitişe',
clear: 'Temizle', clear: 'Temizle',
ok: 'Tamam', ok: 'Tamam',
datePanelLabel: '[mmmm] [yyyy]',
month: '', month: '',
month1: 'Ocak', month1: 'Ocak',
month2: 'Şubat', month2: 'Şubat',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'vi-VN',
select: { select: {
placeholder: 'Chọn', placeholder: 'Chọn',
noMatch: 'Không tìm thấy', noMatch: 'Không tìm thấy',
@ -19,6 +20,7 @@ export default {
endTime: 'Ngày kết thúc', endTime: 'Ngày kết thúc',
clear: 'Xóa', clear: 'Xóa',
ok: 'Đồng ý', ok: 'Đồng ý',
datePanelLabel: '[Tháng mm]/[yyyy]',
month: '', month: '',
month1: 'Tháng 1', month1: 'Tháng 1',
month2: 'Tháng 2', month2: 'Tháng 2',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'zh-CN',
select: { select: {
placeholder: '请选择', placeholder: '请选择',
noMatch: '无匹配数据', noMatch: '无匹配数据',
@ -19,6 +20,7 @@ export default {
endTime: '结束时间', endTime: '结束时间',
clear: '清空', clear: '清空',
ok: '确定', ok: '确定',
datePanelLabel: '[yyyy年] [m月]',
month: '月', month: '月',
month1: '1 月', month1: '1 月',
month2: '2 月', month2: '2 月',

View file

@ -1,5 +1,6 @@
export default { export default {
i: { i: {
locale: 'zh-TW',
select: { select: {
placeholder: '請選擇', placeholder: '請選擇',
noMatch: '無匹配數據', noMatch: '無匹配數據',
@ -19,6 +20,7 @@ export default {
endTime: '結束時間', endTime: '結束時間',
clear: '清空', clear: '清空',
ok: '確定', ok: '確定',
datePanelLabel: '[yyyy] [mmmm]',
month: '月', month: '月',
month1: '1 月', month1: '1 月',
month2: '2 月', month2: '2 月',