set localized text to moment.js

This commit is contained in:
MaysWind
2021-05-30 18:40:20 +08:00
parent 19cf9f805d
commit 8c3354b808
7 changed files with 51 additions and 8 deletions
+11
View File
@@ -29,6 +29,16 @@ const allWeekDays = {
} }
}; };
const allWeekDaysArray = [
allWeekDays.Sunday,
allWeekDays.Monday,
allWeekDays.Tuesday,
allWeekDays.Wednesday,
allWeekDays.Thursday,
allWeekDays.Friday,
allWeekDays.Saturday
];
const allDateRanges = { const allDateRanges = {
All: { All: {
type: 0, type: 0,
@@ -84,6 +94,7 @@ const defaultFirstDayOfWeek = allWeekDays.Sunday.type;
export default { export default {
allWeekDays: allWeekDays, allWeekDays: allWeekDays,
allWeekDaysArray: allWeekDaysArray,
allDateRanges: allDateRanges, allDateRanges: allDateRanges,
defaultFirstDayOfWeek: defaultFirstDayOfWeek defaultFirstDayOfWeek: defaultFirstDayOfWeek
}; };
+4 -3
View File
@@ -151,8 +151,9 @@ function getDay(date) {
return moment(date).date(); return moment(date).date();
} }
function getDayOfWeek(date) { function getDayOfWeekName(date) {
return moment(date).format('dddd'); const dayOfWeek = moment(date).days();
return dateTimeConstants.allWeekDaysArray[dayOfWeek].name;
} }
function getHour(date) { function getHour(date) {
@@ -658,7 +659,7 @@ export default {
getMonth, getMonth,
getYearAndMonth, getYearAndMonth,
getDay, getDay,
getDayOfWeek, getDayOfWeekName,
getHour, getHour,
getMinute, getMinute,
getSecond, getSecond,
+9 -2
View File
@@ -8,7 +8,7 @@ export default {
'currency': 'USD', 'currency': 'USD',
'firstDayOfWeek': 'Sunday' 'firstDayOfWeek': 'Sunday'
}, },
'format': { 'format': { // The type of date or time format is moment format, ref: https://momentjs.com/docs/#/displaying/
'date': { 'date': {
'long': 'M/D/YYYY', 'long': 'M/D/YYYY',
'short': 'M/D/YYYY' 'short': 'M/D/YYYY'
@@ -36,37 +36,44 @@ export default {
'symbol': '{symbol} {amount}' 'symbol': '{symbol} {amount}'
} }
}, },
'input-format': { 'input-format': { // The type of date or time format is framework7 format, ref: https://v5.framework7.io/docs/calendar.html#calendar-parameters
'datetime': { 'datetime': {
'long': 'm/d/yyyy hh::mm A', 'long': 'm/d/yyyy hh::mm A',
}, },
}, },
'datetime': { 'datetime': {
'Monday': { 'Monday': {
'min': 'Mo',
'short': 'Mon', 'short': 'Mon',
'long': 'Monday' 'long': 'Monday'
}, },
'Tuesday': { 'Tuesday': {
'min': 'Tu',
'short': 'Tue', 'short': 'Tue',
'long': 'Tuesday' 'long': 'Tuesday'
}, },
'Wednesday': { 'Wednesday': {
'min': 'We',
'short': 'Wed', 'short': 'Wed',
'long': 'Wednesday' 'long': 'Wednesday'
}, },
'Thursday': { 'Thursday': {
'min': 'Th',
'short': 'Thu', 'short': 'Thu',
'long': 'Thursday' 'long': 'Thursday'
}, },
'Friday': { 'Friday': {
'min': 'Fr',
'short': 'Fri', 'short': 'Fri',
'long': 'Friday' 'long': 'Friday'
}, },
'Saturday': { 'Saturday': {
'min': 'Sa',
'short': 'Sat', 'short': 'Sat',
'long': 'Saturday' 'long': 'Saturday'
}, },
'Sunday': { 'Sunday': {
'min': 'Su',
'short': 'Sun', 'short': 'Sun',
'long': 'Sunday' 'long': 'Sunday'
}, },
+7
View File
@@ -43,30 +43,37 @@ export default {
}, },
'datetime': { 'datetime': {
'Monday': { 'Monday': {
'min': '一',
'short': '周一', 'short': '周一',
'long': '星期一' 'long': '星期一'
}, },
'Tuesday': { 'Tuesday': {
'min': '二',
'short': '周二', 'short': '周二',
'long': '星期二' 'long': '星期二'
}, },
'Wednesday': { 'Wednesday': {
'min': '三',
'short': '周三', 'short': '周三',
'long': '星期三' 'long': '星期三'
}, },
'Thursday': { 'Thursday': {
'min': '四',
'short': '周四', 'short': '周四',
'long': '星期四' 'long': '星期四'
}, },
'Friday': { 'Friday': {
'min': '五',
'short': '周五', 'short': '周五',
'long': '星期五' 'long': '星期五'
}, },
'Saturday': { 'Saturday': {
'min': '六',
'short': '周六', 'short': '周六',
'long': '星期六' 'long': '星期六'
}, },
'Sunday': { 'Sunday': {
'min': '日',
'short': '周日', 'short': '周日',
'long': '星期日' 'long': '星期日'
}, },
+18 -1
View File
@@ -265,6 +265,17 @@ Vue.prototype.$locale = {
i18n.t('datetime.Saturday.short') i18n.t('datetime.Saturday.short')
]; ];
}, },
getAllMinWeekdayNames: function () {
return [
i18n.t('datetime.Sunday.min'),
i18n.t('datetime.Monday.min'),
i18n.t('datetime.Tuesday.min'),
i18n.t('datetime.Wednesday.min'),
i18n.t('datetime.Thursday.min'),
i18n.t('datetime.Friday.min'),
i18n.t('datetime.Saturday.min')
];
},
getInputTimeIntlDateTimeFormatOptions: function () { getInputTimeIntlDateTimeFormatOptions: function () {
const hourMinuteFormat = i18n.t('input-format.datetime.long'); const hourMinuteFormat = i18n.t('input-format.datetime.long');
const is24HourFormat = hourMinuteFormat.indexOf('H') > 0; const is24HourFormat = hourMinuteFormat.indexOf('H') > 0;
@@ -284,7 +295,13 @@ Vue.prototype.$locale = {
} }
i18n.locale = locale; i18n.locale = locale;
moment.locale(locale); moment.locale(locale, {
months : this.getAllLongMonthNames(),
monthsShort : this.getAllShortMonthNames(),
weekdays : this.getAllLongWeekdayNames(),
weekdaysShort : this.getAllShortWeekdayNames(),
weekdaysMin : this.getAllMinWeekdayNames(),
});
services.setLocale(locale); services.setLocale(locale);
document.querySelector('html').setAttribute('lang', locale); document.querySelector('html').setAttribute('lang', locale);
+1 -1
View File
@@ -287,7 +287,7 @@ export function fillTransactionObject(state, transaction, currentUtcOffset) {
const transactionTime = utils.parseDateFromUnixTime(transaction.time, transaction.utcOffset, currentUtcOffset); const transactionTime = utils.parseDateFromUnixTime(transaction.time, transaction.utcOffset, currentUtcOffset);
transaction.day = utils.getDay(transactionTime); transaction.day = utils.getDay(transactionTime);
transaction.dayOfWeek = utils.getDayOfWeek(transactionTime); transaction.dayOfWeek = utils.getDayOfWeekName(transactionTime);
if (transaction.sourceAccountId) { if (transaction.sourceAccountId) {
transaction.sourceAccount = state.allAccountsMap[transaction.sourceAccountId]; transaction.sourceAccount = state.allAccountsMap[transaction.sourceAccountId];
+1 -1
View File
@@ -13,7 +13,7 @@
<small>Expense</small> <small>Expense</small>
</span> </span>
<span class="card-header-content" v-else-if="!loading"> <span class="card-header-content" v-else-if="!loading">
<span class="home-summary-month">{{ dateRange.thisMonth.startTime | moment('MMMM') | format('datetime.#{value}.long') | localized }}</span> <span class="home-summary-month">{{ dateRange.thisMonth.startTime | moment('MMMM') }}</span>
<span>·</span> <span>·</span>
<small>{{ $t('Expense') }}</small> <small>{{ $t('Expense') }}</small>
</span> </span>