support date display type (Gregorian and Buddhist)

This commit is contained in:
MaysWind
2025-08-27 00:58:22 +08:00
parent 23ffdbb163
commit c099443783
32 changed files with 776 additions and 126 deletions
+14
View File
@@ -22,6 +22,8 @@
"currency": "EUR",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD.MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "AM"
@@ -1498,6 +1510,8 @@
"Default Account": "Standardkonto",
"First Day of Week": "Erster Wochentag",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Langes Datumsformat",
"Short Date Format": "Kurzes Datumsformat",
"Long Time Format": "Langes Zeitformat",
+14
View File
@@ -22,6 +22,8 @@
"currency": "USD",
"firstDayOfWeek": "Sunday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "MMDDYYYY",
"shortDateFormat": "MMDDYYYY",
"longTimeFormat": "HHMMSSA",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "M/D",
"dd_mm_yyyy": "D/M"
},
"shortDay": {
"yyyy_mm_dd": "D",
"mm_dd_yyyy": "D",
"dd_mm_yyyy": "D"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "AM"
@@ -1498,6 +1510,8 @@
"Default Account": "Default Account",
"First Day of Week": "First Day of Week",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Long Date Format",
"Short Date Format": "Short Date Format",
"Long Time Format": "Long Time Format",
+14
View File
@@ -22,6 +22,8 @@
"currency": "EUR",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD/MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "H:mm:ss",
"a_hh_mm_ss": "A h:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "AM"
@@ -1498,6 +1510,8 @@
"Default Account": "Cuenta predeterminada",
"First Day of Week": "Primer día de la semana",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Formato largo de fecha",
"Short Date Format": "Formato corto de fecha",
"Long Time Format": "Formato largo de hora",
+144 -40
View File
@@ -16,6 +16,14 @@ import {
} from '@/core/text.ts';
import {
CalendarType,
CalendarDisplayType,
DateDisplayType
} from '@/core/calendar.ts';
import {
type DateTimeFormatOptions,
type DateTimeLocaleData,
type TextualYearMonth,
type TextualYearMonthDay,
type DateFormat,
@@ -28,6 +36,7 @@ import {
Month,
WeekDay,
MeridiemIndicator,
KnownDateTimeFormat,
LongDateFormat,
ShortDateFormat,
LongTimeFormat,
@@ -439,6 +448,10 @@ export function useI18n() {
return localizedParameters;
}
function getDateTimeLocaleData(): DateTimeLocaleData {
return moment.localeData();
}
function getAllCurrencyDisplayTypes(numeralSystem: NumeralSystem, decimalSeparator: string): TypeAndDisplayName[] {
const defaultCurrencyDisplayTypeName = t('default.currencyDisplayType');
let defaultCurrencyDisplayType = CurrencyDisplayType.parse(defaultCurrencyDisplayTypeName);
@@ -473,6 +486,32 @@ export function useI18n() {
return ret;
}
function getAllLocalizedCalendarTypes(allTypeAndNameArray: CalendarDisplayType[] | DateDisplayType[], localeDefaultType: CalendarDisplayType | DateDisplayType | undefined, systemDefaultType: CalendarDisplayType | DateDisplayType, languageDefaultValue: number): TypeAndDisplayName[] {
let defaultType: TypeAndName | undefined = localeDefaultType;
if (!defaultType) {
defaultType = systemDefaultType;
}
const ret: TypeAndDisplayName[] = [];
ret.push({
type: languageDefaultValue,
displayName: `${t('Language Default')} (${t('calendar.' + defaultType.name)})`
});
for (let i = 0; i < allTypeAndNameArray.length; i++) {
const type = allTypeAndNameArray[i];
ret.push({
type: type.type,
displayName: t('calendar.' + type.name)
});
}
return ret;
}
function getLocalizedDisplayNameAndType(typeAndNames: TypeAndName[]): TypeAndDisplayName[] {
const ret: TypeAndDisplayName[] = [];
@@ -617,6 +656,10 @@ export function useI18n() {
return getLocalizedDateTimeFormat<ShortDateFormat>('shortMonthDay', ShortDateFormat.all(), ShortDateFormat.values(), userStore.currentUserShortDateFormat, 'shortDateFormat', ShortDateFormat.Default);
}
function getLocalizedShortDayFormat(): string {
return getLocalizedDateTimeFormat<ShortDateFormat>('shortDay', ShortDateFormat.all(), ShortDateFormat.values(), userStore.currentUserShortDateFormat, 'shortDateFormat', ShortDateFormat.Default);
}
function getLocalizedLongTimeFormat(): string {
return getLocalizedDateTimeFormat<LongTimeFormat>('longTime', LongTimeFormat.all(), LongTimeFormat.values(), userStore.currentUserLongTimeFormat, 'longTimeFormat', LongTimeFormat.Default);
}
@@ -625,6 +668,25 @@ export function useI18n() {
return getLocalizedDateTimeFormat<ShortTimeFormat>('shortTime', ShortTimeFormat.all(), ShortTimeFormat.values(), userStore.currentUserShortTimeFormat, 'shortTimeFormat', ShortTimeFormat.Default);
}
function getDateTimeFormatOptions(options?: { calendarType?: CalendarType, numeralSystem?: NumeralSystem }): DateTimeFormatOptions {
let calendarType: CalendarType | undefined = options?.calendarType;
let numeralSystem: NumeralSystem | undefined = options?.numeralSystem;
if (!isDefined(calendarType)) {
calendarType = getCurrentDateDisplayType().calendarType;
}
if (!isDefined(numeralSystem)) {
numeralSystem = getCurrentNumeralSystemType();
}
return {
calendarType: calendarType,
numeralSystem: numeralSystem,
localeData: getDateTimeLocaleData()
};
}
function getNumberFormatOptions({numeralSystem, digitGrouping, decimalSeparator, currencyCode}: {
numeralSystem?: NumeralSystem,
digitGrouping?: DigitGroupingType,
@@ -904,14 +966,15 @@ export function useI18n() {
return ret;
}
function getLocalizedDateTimeFormats<T extends DateFormat | TimeFormat>(type: string, allFormatMap: Record<string, T>, allFormatArray: T[], languageDefaultTypeNameKey: string, systemDefaultFormatType: T): LocalizedDateTimeFormat[] {
function getLocalizedDateTimeFormats<T extends DateFormat | TimeFormat>(type: string, allFormatMap: Record<string, T>, allFormatArray: T[], languageDefaultTypeNameKey: string, systemDefaultFormatType: T, calendarType?: CalendarType): LocalizedDateTimeFormat[] {
const defaultFormat = getLocalizedDateTimeFormat<T>(type, allFormatMap, allFormatArray, LANGUAGE_DEFAULT_DATE_TIME_FORMAT_VALUE, languageDefaultTypeNameKey, systemDefaultFormatType);
const ret: LocalizedDateTimeFormat[] = [];
const dateTimeFormatOptions = getDateTimeFormatOptions({ calendarType: calendarType });
ret.push({
type: LANGUAGE_DEFAULT_DATE_TIME_FORMAT_VALUE,
format: defaultFormat,
displayName: `${t('Language Default')} (${formatCurrentTime(defaultFormat)})`
displayName: `${t('Language Default')} (${formatCurrentTime(defaultFormat, dateTimeFormatOptions)})`
});
for (let i = 0; i < allFormatArray.length; i++) {
@@ -921,7 +984,7 @@ export function useI18n() {
ret.push({
type: formatType.type,
format: format,
displayName: formatCurrentTime(format)
displayName: formatCurrentTime(format, dateTimeFormatOptions)
});
}
@@ -968,6 +1031,7 @@ export function useI18n() {
function getAllRecentMonthDateRanges(includeAll: boolean, includeCustom: boolean): LocalizedRecentMonthDateRange[] {
const allRecentMonthDateRanges: LocalizedRecentMonthDateRange[] = [];
const recentDateRanges = getRecentMonthDateRanges(12);
const dateTimeFormatOptions = getDateTimeFormatOptions();
if (includeAll) {
allRecentMonthDateRanges.push({
@@ -988,7 +1052,7 @@ export function useI18n() {
year: recentDateRange.year,
month: recentDateRange.month,
isPreset: true,
displayName: formatUnixTime(recentDateRange.minTime, getLocalizedLongYearMonthFormat())
displayName: formatUnixTime(recentDateRange.minTime, getLocalizedLongYearMonthFormat(), dateTimeFormatOptions)
});
}
@@ -1498,6 +1562,36 @@ export function useI18n() {
return numeralSystem.getAllDigits();
}
function getCurrentCalendarDisplayType(): CalendarDisplayType {
let calendarDisplayType = CalendarDisplayType.valueOf(userStore.currentUserCalendarDisplayType);
if (!calendarDisplayType) {
const defaultCalendarDisplayTypeName = t('default.calendarDisplayType');
calendarDisplayType = CalendarDisplayType.parse(defaultCalendarDisplayTypeName);
if (!calendarDisplayType) {
calendarDisplayType = CalendarDisplayType.Default;
}
}
return calendarDisplayType;
}
function getCurrentDateDisplayType(): DateDisplayType {
let dateDisplayType = DateDisplayType.valueOf(userStore.currentUserDateDisplayType);
if (!dateDisplayType) {
const defaultDateDisplayTypeName = t('default.dateDisplayType');
dateDisplayType = DateDisplayType.parse(defaultDateDisplayTypeName);
if (!dateDisplayType) {
dateDisplayType = DateDisplayType.Default;
}
}
return dateDisplayType;
}
function getCurrentNumeralSystemType(): NumeralSystem {
let numeralSystemType = NumeralSystem.valueOf(userStore.currentUserNumeralSystem);
@@ -1619,17 +1713,18 @@ export function useI18n() {
}
function formatGregorianCalendarYearDashMonthDashDayToLongDate(date: TextualYearMonthDay): string {
return formatGregorianCalendarYearDashMonthDashDay(date, getLocalizedLongDateFormat());
return formatGregorianCalendarYearDashMonthDashDay(date, getLocalizedLongDateFormat(), getDateTimeFormatOptions());
}
function formatGregorianCalendarMonthDashDayToLongMonthDay(monthDay: TextualYearMonth): string {
return formatGregorianCalendarMonthDashDay(monthDay, getLocalizedLongMonthDayFormat());
return formatGregorianCalendarMonthDashDay(monthDay, getLocalizedLongMonthDayFormat(), getDateTimeFormatOptions());
}
function formatUnixTimeToYearQuarter(unixTime: number): string {
const dateTimeFormatOptions = getDateTimeFormatOptions();
const date = parseDateTimeFromUnixTime(unixTime);
const year = date.getLocalizedCalendarYear();
const quarter = date.getLocalizedCalendarQuarter();
const year = date.getLocalizedCalendarYear(dateTimeFormatOptions);
const quarter = date.getLocalizedCalendarQuarter(dateTimeFormatOptions);
return formatYearQuarter(year, quarter);
}
@@ -1650,6 +1745,7 @@ export function useI18n() {
}
const allDateRanges = DateRange.values();
const dateTimeFormatOptions = getDateTimeFormatOptions();
for (let i = 0; i < allDateRanges.length; i++) {
const dateRange = allDateRanges[i];
@@ -1661,31 +1757,31 @@ export function useI18n() {
if (isDateRangeMatchFullYears(startTime, endTime)) {
const format = getLocalizedShortYearFormat();
const displayStartTime = formatUnixTime(startTime, format);
const displayEndTime = formatUnixTime(endTime, format);
const displayStartTime = formatUnixTime(startTime, format, dateTimeFormatOptions);
const displayEndTime = formatUnixTime(endTime, format, dateTimeFormatOptions);
return displayStartTime !== displayEndTime ? `${displayStartTime} ~ ${displayEndTime}` : displayStartTime;
}
if (isDateRangeMatchFullMonths(startTime, endTime)) {
const format = getLocalizedShortYearMonthFormat();
const displayStartTime = formatUnixTime(startTime, format);
const displayEndTime = formatUnixTime(endTime, format);
const displayStartTime = formatUnixTime(startTime, format, dateTimeFormatOptions);
const displayEndTime = formatUnixTime(endTime, format, dateTimeFormatOptions);
return displayStartTime !== displayEndTime ? `${displayStartTime} ~ ${displayEndTime}` : displayStartTime;
}
const startTimeYear = parseDateTimeFromUnixTime(startTime).getLocalizedCalendarYear();
const endTimeYear = parseDateTimeFromUnixTime(endTime).getLocalizedCalendarYear();
const startTimeYear = parseDateTimeFromUnixTime(startTime).getLocalizedCalendarYear(dateTimeFormatOptions);
const endTimeYear = parseDateTimeFromUnixTime(endTime).getLocalizedCalendarYear(dateTimeFormatOptions);
const format = getLocalizedShortDateFormat();
const displayStartTime = formatUnixTime(startTime, format);
const displayEndTime = formatUnixTime(endTime, format);
const displayStartTime = formatUnixTime(startTime, format, dateTimeFormatOptions);
const displayEndTime = formatUnixTime(endTime, format, dateTimeFormatOptions);
if (displayStartTime === displayEndTime) {
return displayStartTime;
} else if (startTimeYear === endTimeYear) {
const displayShortEndTime = formatUnixTime(endTime, getLocalizedShortMonthDayFormat());
const displayShortEndTime = formatUnixTime(endTime, getLocalizedShortMonthDayFormat(), dateTimeFormatOptions);
return `${displayStartTime} ~ ${displayShortEndTime}`;
}
@@ -1697,11 +1793,13 @@ export function useI18n() {
format = FiscalYearFormat.Default;
}
const dateTimeFormatOptions = getDateTimeFormatOptions();
return t('format.fiscalYear.' + format.typeName, {
StartYYYY: formatUnixTime(timeRange.minUnixTime, 'YYYY'),
StartYY: formatUnixTime(timeRange.minUnixTime, 'YY'),
EndYYYY: formatUnixTime(timeRange.maxUnixTime, 'YYYY'),
EndYY: formatUnixTime(timeRange.maxUnixTime, 'YY'),
StartYYYY: formatUnixTime(timeRange.minUnixTime, 'YYYY', dateTimeFormatOptions),
StartYY: formatUnixTime(timeRange.minUnixTime, 'YY', dateTimeFormatOptions),
EndYYYY: formatUnixTime(timeRange.maxUnixTime, 'YYYY', dateTimeFormatOptions),
EndYY: formatUnixTime(timeRange.maxUnixTime, 'YY', dateTimeFormatOptions),
});
}
@@ -2093,10 +2191,12 @@ export function useI18n() {
getAllShortWeekdayNames,
getAllMinWeekdayNames,
getAllWeekDays,
getAllLongDateFormats: () => getLocalizedDateTimeFormats<LongDateFormat>('longDate', LongDateFormat.all(), LongDateFormat.values(), 'longDateFormat', LongDateFormat.Default),
getAllShortDateFormats: () => getLocalizedDateTimeFormats<ShortDateFormat>('shortDate', ShortDateFormat.all(), ShortDateFormat.values(), 'shortDateFormat', ShortDateFormat.Default),
getAllLongTimeFormats: () => getLocalizedDateTimeFormats<LongTimeFormat>('longTime', LongTimeFormat.all(), LongTimeFormat.values(), 'longTimeFormat', LongTimeFormat.Default),
getAllShortTimeFormats: () => getLocalizedDateTimeFormats<ShortTimeFormat>('shortTime', ShortTimeFormat.all(), ShortTimeFormat.values(), 'shortTimeFormat', ShortTimeFormat.Default),
getAllCalendarDisplayTypes: () => getAllLocalizedCalendarTypes(CalendarDisplayType.values(), CalendarDisplayType.parse(t('default.calendarDisplayType')), CalendarDisplayType.Default, CalendarDisplayType.LanguageDefaultType),
getAllDateDisplayTypes: () => getAllLocalizedCalendarTypes(DateDisplayType.values(), DateDisplayType.parse(t('default.dateDisplayType')), DateDisplayType.Default, DateDisplayType.LanguageDefaultType),
getAllLongDateFormats: (calendarType?: CalendarType) => getLocalizedDateTimeFormats<LongDateFormat>('longDate', LongDateFormat.all(), LongDateFormat.values(), 'longDateFormat', LongDateFormat.Default, calendarType),
getAllShortDateFormats: (calendarType?: CalendarType) => getLocalizedDateTimeFormats<ShortDateFormat>('shortDate', ShortDateFormat.all(), ShortDateFormat.values(), 'shortDateFormat', ShortDateFormat.Default, calendarType),
getAllLongTimeFormats: (calendarType?: CalendarType) => getLocalizedDateTimeFormats<LongTimeFormat>('longTime', LongTimeFormat.all(), LongTimeFormat.values(), 'longTimeFormat', LongTimeFormat.Default, calendarType),
getAllShortTimeFormats: (calendarType?: CalendarType) => getLocalizedDateTimeFormats<ShortTimeFormat>('shortTime', ShortTimeFormat.all(), ShortTimeFormat.values(), 'shortTimeFormat', ShortTimeFormat.Default, calendarType),
getAllFiscalYearFormats,
getAllDateRanges,
getAllRecentMonthDateRanges,
@@ -2138,11 +2238,13 @@ export function useI18n() {
getMultiMonthdayShortNames,
getMultiWeekdayLongNames,
getAllLocalizedDigits,
getCurrentFiscalYearFormatType,
getCurrentCalendarDisplayType,
getCurrentDateDisplayType,
getCurrentNumeralSystemType,
getCurrentDecimalSeparator,
getCurrentDigitGroupingSymbol,
getCurrentDigitGroupingType,
getCurrentFiscalYearFormatType,
getCurrencyName,
isLongDateMonthAfterYear,
isShortDateMonthAfterYear,
@@ -2154,20 +2256,22 @@ export function useI18n() {
isLongTimeMinuteTwoDigits,
isLongTimeSecondTwoDigits,
// format functions
formatUnixTimeToLongDateTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongDateFormat() + ' ' + getLocalizedLongTimeFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToShortDateTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortDateFormat() + ' ' + getLocalizedShortTimeFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToLongDate: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongDateFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToShortDate: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortDateFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToLongYear: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongYearFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToShortYear: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortYearFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToLongMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, 'MMMM', utcOffset, currentUtcOffset),
formatUnixTimeToShortMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, 'MMM', utcOffset, currentUtcOffset),
formatUnixTimeToLongYearMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongYearMonthFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToShortYearMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortYearMonthFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToLongMonthDay: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongMonthDayFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToShortMonthDay: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortMonthDayFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToLongTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongTimeFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToShortTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortTimeFormat(), utcOffset, currentUtcOffset),
formatUnixTimeToDefaultDateTimeWithoutLocaleOptions: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, KnownDateTimeFormat.DefaultDateTime.format, getDateTimeFormatOptions({ calendarType: CalendarType.Gregorian, numeralSystem: NumeralSystem.WesternArabicNumerals }), utcOffset, currentUtcOffset),
formatUnixTimeToLongDateTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongDateFormat() + ' ' + getLocalizedLongTimeFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortDateTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortDateFormat() + ' ' + getLocalizedShortTimeFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToLongDate: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongDateFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortDate: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortDateFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToLongYear: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongYearFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortYear: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortYearFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToLongMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, 'MMMM', getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, 'MMM', getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToLongYearMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongYearMonthFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortYearMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortYearMonthFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToLongMonthDay: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongMonthDayFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortMonthDay: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortMonthDayFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToLongTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedLongTimeFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToShortTime: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortTimeFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatUnixTimeToDayOfMonth: (unixTime: number, utcOffset?: number, currentUtcOffset?: number) => formatUnixTime(unixTime, getLocalizedShortDayFormat(), getDateTimeFormatOptions(), utcOffset, currentUtcOffset),
formatGregorianCalendarYearDashMonthDashDayToLongDate,
formatGregorianCalendarMonthDashDayToLongMonthDay,
formatUnixTimeToYearQuarter,
+14
View File
@@ -22,6 +22,8 @@
"currency": "EUR",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD/MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "AM"
@@ -1498,6 +1510,8 @@
"Default Account": "Account predefinito",
"First Day of Week": "Primo giorno della settimana",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Formato data lungo",
"Short Date Format": "Formato data breve",
"Long Time Format": "Formato ora lungo",
+14
View File
@@ -22,6 +22,8 @@
"currency": "JPY",
"firstDayOfWeek": "Sunday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "YYYYMMDD",
"shortDateFormat": "YYYYMMDD",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "M/D",
"dd_mm_yyyy": "D/M"
},
"shortDay": {
"yyyy_mm_dd": "D",
"mm_dd_yyyy": "D",
"dd_mm_yyyy": "D"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "午前"
@@ -1498,6 +1510,8 @@
"Default Account": "デフォルト口座",
"First Day of Week": "週の最初の曜日",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "長い日付形式",
"Short Date Format": "短い日付形式",
"Long Time Format": "長い時間形式",
+14
View File
@@ -22,6 +22,8 @@
"currency": "EUR",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "M/D",
"dd_mm_yyyy": "D/M"
},
"shortDay": {
"yyyy_mm_dd": "D",
"mm_dd_yyyy": "D",
"dd_mm_yyyy": "D"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "AM"
@@ -1498,6 +1510,8 @@
"Default Account": "Standaardrekening",
"First Day of Week": "Eerste dag van de week",
"Fiscal Year Start Date": "Startdatum boekjaar",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Lang datumformaat",
"Short Date Format": "Kort datumformaat",
"Long Time Format": "Lang tijdsformaat",
+14
View File
@@ -22,6 +22,8 @@
"currency": "BRL",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD/MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "AM"
@@ -1498,6 +1510,8 @@
"Default Account": "Conta Padrão",
"First Day of Week": "Primeiro Dia da Semana",
"Fiscal Year Start Date": "Data de Início do Ano Fiscal",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Formato de Data Longa",
"Short Date Format": "Formato de Data Curta",
"Long Time Format": "Formato de Hora Longa",
+14
View File
@@ -22,6 +22,8 @@
"currency": "RUB",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD.MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "H:mm:ss",
"a_hh_mm_ss": "A h:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "ДП"
@@ -1498,6 +1510,8 @@
"Default Account": "Счет по умолчанию",
"First Day of Week": "Первый день недели",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Длинный формат даты",
"Short Date Format": "Короткий формат даты",
"Long Time Format": "Длинный формат времени",
+14
View File
@@ -22,6 +22,8 @@
"currency": "UAH",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD.MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "ДП"
@@ -1498,6 +1510,8 @@
"Default Account": "Рахунок за замовчуванням",
"First Day of Week": "Перший день тижня",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Довгий формат дати",
"Short Date Format": "Короткий формат дати",
"Long Time Format": "Довгий формат часу",
+14
View File
@@ -22,6 +22,8 @@
"currency": "VND",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "DDMMYYYY",
"shortDateFormat": "DDMMYYYY",
"longTimeFormat": "HHMMSSA",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "MM/DD",
"dd_mm_yyyy": "DD/MM"
},
"shortDay": {
"yyyy_mm_dd": "DD",
"mm_dd_yyyy": "DD",
"dd_mm_yyyy": "DD"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_import_data_mapping",
"defaultImportReplaceRuleFileName": "ezBookkeeping_import_replace_rule"
},
"calendar": {
"Gregorian": "Gregorian",
"Buddhist": "Buddhist",
"Gregorian (with Chinese Calendar)": "Gregorian (with Chinese Calendar)"
},
"datetime": {
"AM": {
"content": "SA"
@@ -1498,6 +1510,8 @@
"Default Account": "Tài khoản mặc định",
"First Day of Week": "Ngày đầu tiên của tuần",
"Fiscal Year Start Date": "Fiscal Year Start Date",
"Calendar Display Type": "Calendar Display Type",
"Date Display Type": "Date Display Type",
"Long Date Format": "Định dạng ngày dài",
"Short Date Format": "Định dạng ngày ngắn",
"Long Time Format": "Định dạng thời gian dài",
+14
View File
@@ -22,6 +22,8 @@
"currency": "CNY",
"firstDayOfWeek": "Monday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "YYYYMMDD",
"shortDateFormat": "YYYYMMDD",
"longTimeFormat": "HHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "M/D",
"dd_mm_yyyy": "D/M"
},
"shortDay": {
"yyyy_mm_dd": "D",
"mm_dd_yyyy": "D",
"dd_mm_yyyy": "D"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_导入数据映射文件",
"defaultImportReplaceRuleFileName": "ezBookkeeping_导入替换规则文件"
},
"calendar": {
"Gregorian": "公历",
"Buddhist": "佛教日历",
"Gregorian (with Chinese Calendar)": "公历(含农历)"
},
"datetime": {
"AM": {
"content": "上午"
@@ -1498,6 +1510,8 @@
"Default Account": "默认账户",
"First Day of Week": "每周第一天",
"Fiscal Year Start Date": "财年开始日期",
"Calendar Display Type": "日历显示类型",
"Date Display Type": "日期显示类型",
"Long Date Format": "长日期格式",
"Short Date Format": "短日期格式",
"Long Time Format": "长时间格式",
+14
View File
@@ -22,6 +22,8 @@
"currency": "TWD",
"firstDayOfWeek": "Sunday",
"fiscalYearFormat": "EndYYYY",
"calendarDisplayType": "Gregorian",
"dateDisplayType": "Gregorian",
"longDateFormat": "YYYYMMDD",
"shortDateFormat": "YYYYMMDD",
"longTimeFormat": "AHHMMSS",
@@ -73,6 +75,11 @@
"mm_dd_yyyy": "M/D",
"dd_mm_yyyy": "D/M"
},
"shortDay": {
"yyyy_mm_dd": "D",
"mm_dd_yyyy": "D",
"dd_mm_yyyy": "D"
},
"longTime": {
"hh_mm_ss": "HH:mm:ss",
"a_hh_mm_ss": "A hh:mm:ss",
@@ -129,6 +136,11 @@
"defaultImportDataMappingFileName": "ezBookkeeping_匯入資料對應檔案",
"defaultImportReplaceRuleFileName": "ezBookkeeping_匯入替換規則檔案"
},
"calendar": {
"Gregorian": "公曆",
"Buddhist": "佛曆",
"Gregorian (with Chinese Calendar)": "公曆(含農曆)"
},
"datetime": {
"AM": {
"content": "上午"
@@ -1498,6 +1510,8 @@
"Default Account": "預設帳戶",
"First Day of Week": "每週第一天",
"Fiscal Year Start Date": "財政年度起始日",
"Calendar Display Type": "日曆顯示類型",
"Date Display Type": "日期顯示類型",
"Long Date Format": "長日期格式",
"Short Date Format": "短日期格式",
"Long Time Format": "長時間格式",