mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-14 15:07:33 +08:00
235 lines
7.3 KiB
TypeScript
235 lines
7.3 KiB
TypeScript
import type { ImportFileType } from '@/core/file.ts';
|
|
|
|
export const SUPPORTED_IMAGE_EXTENSIONS: string = '.jpg,.jpeg,.png,.gif,.webp';
|
|
|
|
export const DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE: string = 'en';
|
|
export const SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE: Record<string, string> = {
|
|
DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE: DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE,
|
|
'zh-Hans': 'zh-Hans',
|
|
'zh-Hant': 'zh-Hans',
|
|
};
|
|
|
|
export const SUPPORTED_FILE_ENCODINGS: string[] = [
|
|
'utf-8', // UTF-8
|
|
'utf-8-bom', // UTF-8 with BOM
|
|
'utf-16le', // UTF-16 Little Endian
|
|
'utf-16be', // UTF-16 Big Endian
|
|
'cp437', // OEM United States (CP-437)
|
|
'cp863', // OEM Canadian French (CP-863)
|
|
'cp037', // IBM EBCDIC US/Canada (CP-037)
|
|
'cp1047', // IBM EBCDIC Open Systems (CP-1047)
|
|
'cp1140', // IBM EBCDIC US/Canada with Euro (CP-1140)
|
|
"iso-8859-1", // Western European (ISO-8859-1)
|
|
'cp850', // Western European (CP-850)
|
|
'cp858', // Western European with Euro (CP-858)
|
|
'windows-1252', // Western European (Windows-1252)
|
|
'iso-8859-15', // Western European (ISO-8859-15)
|
|
'iso-8859-4', // North European (ISO-8859-4)
|
|
'iso-8859-10', // North European (ISO-8859-10)
|
|
'cp865', // North European (CP-865)
|
|
'iso-8859-2', // Central European (ISO-8859-2)
|
|
'cp852', // Central European (CP-852)
|
|
'windows-1250', // Central European (Windows-1250)
|
|
'iso-8859-14', // Celtic (ISO-8859-14)
|
|
'iso-8859-3', // South European (ISO-8859-3)
|
|
'cp860', // Portuguese (CP-860)
|
|
'iso-8859-7', // Greek (ISO-8859-7)
|
|
'windows-1253', // Greek (Windows-1253)
|
|
'iso-8859-9', // Turkish (ISO-8859-9)
|
|
'windows-1254', // Turkish (Windows-1254)
|
|
'iso-8859-13', // Baltic (ISO-8859-13)
|
|
'windows-1257', // Baltic (Windows-1257)
|
|
'iso-8859-16', // South-Eastern European (ISO-8859-16)
|
|
'iso-8859-5', // Cyrillic (ISO-8859-5)
|
|
'cp855', // Cyrillic (CP-855)
|
|
'cp866', // Cyrillic (CP-866)
|
|
'windows-1251', // Cyrillic (Windows-1251)
|
|
'koi8r', // Cyrillic (KOI8-R)
|
|
'koi8u', // Cyrillic (KOI8-U)
|
|
'iso-8859-6', // Arabic (ISO-8859-6)
|
|
'windows-1256', // Arabic (Windows-1256)
|
|
'iso-8859-8', // Hebrew (ISO-8859-8)
|
|
'cp862', // Hebrew (CP-862)
|
|
'windows-1255', // Hebrew (Windows-1255)
|
|
'windows-874', // Thai (Windows-874)
|
|
'windows-1258', // Vietnamese (Windows-1258)
|
|
'gb18030', // Chinese (Simplified, GB18030)
|
|
'gbk', // Chinese (Simplified, GBK)
|
|
'big5', // Chinese (Traditional, Big5)
|
|
'euc-kr', // Korean (EUC-KR)
|
|
'euc-jp', // Japanese (EUC-JP)
|
|
'iso-2022-jp', // Japanese (ISO-2022-JP)
|
|
'shift_jis', // Japanese (Shift_JIS)
|
|
];
|
|
|
|
export const SUPPORTED_IMPORT_FILE_TYPES: ImportFileType[] = [
|
|
{
|
|
type: 'ezbookkeeping',
|
|
name: 'ezbookkeeping Data Export File',
|
|
extensions: '.csv,.tsv',
|
|
subTypes: [
|
|
{
|
|
type: 'ezbookkeeping_csv',
|
|
name: 'CSV (Comma-separated values) File',
|
|
extensions: '.csv',
|
|
},
|
|
{
|
|
type: 'ezbookkeeping_tsv',
|
|
name: 'TSV (Tab-separated values) File',
|
|
extensions: '.tsv',
|
|
}
|
|
],
|
|
document: {
|
|
supportMultiLanguages: true,
|
|
anchor: 'export-transactions'
|
|
}
|
|
},
|
|
{
|
|
type: 'dsv',
|
|
name: 'Delimiter-separated Values (DSV) File',
|
|
extensions: '.csv,.tsv',
|
|
subTypes: [
|
|
{
|
|
type: 'custom_csv',
|
|
name: 'CSV (Comma-separated values) File',
|
|
extensions: '.csv',
|
|
},
|
|
{
|
|
type: 'custom_tsv',
|
|
name: 'TSV (Tab-separated values) File',
|
|
extensions: '.tsv,.txt',
|
|
}
|
|
],
|
|
supportedEncodings: SUPPORTED_FILE_ENCODINGS
|
|
},
|
|
{
|
|
type: 'dsv_data',
|
|
name: 'Delimiter-separated Values (DSV) Data',
|
|
extensions: '.csv,.tsv',
|
|
subTypes: [
|
|
{
|
|
type: 'custom_csv',
|
|
name: 'CSV (Comma-separated values) File',
|
|
extensions: '.csv',
|
|
},
|
|
{
|
|
type: 'custom_tsv',
|
|
name: 'TSV (Tab-separated values) File',
|
|
extensions: '.tsv,.txt',
|
|
}
|
|
],
|
|
dataFromTextbox: true
|
|
},
|
|
{
|
|
type: 'ofx',
|
|
name: 'Open Financial Exchange (OFX) File',
|
|
extensions: '.ofx'
|
|
},
|
|
{
|
|
type: 'qfx',
|
|
name: 'Quicken Financial Exchange (QFX) File',
|
|
extensions: '.qfx'
|
|
},
|
|
{
|
|
type: 'qif',
|
|
name: 'Quicken Interchange Format (QIF) File',
|
|
extensions: '.qif',
|
|
subTypes: [
|
|
{
|
|
type: 'qif_ymd',
|
|
name: 'Year-month-day format',
|
|
},
|
|
{
|
|
type: 'qif_mdy',
|
|
name: 'Month-day-year format',
|
|
},
|
|
{
|
|
type: 'qif_dmy',
|
|
name: 'Day-month-year format',
|
|
}
|
|
]
|
|
},
|
|
{
|
|
type: 'iif',
|
|
name: 'Intuit Interchange Format (IIF) File',
|
|
extensions: '.iif'
|
|
},
|
|
{
|
|
type: 'gnucash',
|
|
name: 'GnuCash XML Database File',
|
|
extensions: '.gnucash',
|
|
document: {
|
|
supportMultiLanguages: true,
|
|
anchor: 'how-to-get-gnucash-xml-database-file'
|
|
}
|
|
},
|
|
{
|
|
type: 'firefly_iii_csv',
|
|
name: 'Firefly III Data Export File',
|
|
extensions: '.csv',
|
|
document: {
|
|
supportMultiLanguages: true,
|
|
anchor: 'how-to-get-firefly-iii-data-export-file'
|
|
}
|
|
},
|
|
{
|
|
type: 'beancount',
|
|
name: 'Beancount Data File',
|
|
extensions: '.beancount'
|
|
},
|
|
{
|
|
type: 'feidee_mymoney_csv',
|
|
name: 'Feidee MyMoney (App) Data Export File',
|
|
extensions: '.csv',
|
|
document: {
|
|
supportMultiLanguages: 'zh-Hans',
|
|
anchor: '如何获取随手记app数据导出文件'
|
|
}
|
|
},
|
|
{
|
|
type: 'feidee_mymoney_xls',
|
|
name: 'Feidee MyMoney (Web) Data Export File',
|
|
extensions: '.xls',
|
|
document: {
|
|
supportMultiLanguages: 'zh-Hans',
|
|
anchor: '如何获取随手记web版数据导出文件'
|
|
}
|
|
},
|
|
{
|
|
type: 'feidee_mymoney_elecloud_xlsx',
|
|
name: 'Feidee MyMoney (Elecloud) Data Export File',
|
|
extensions: '.xlsx',
|
|
document: {
|
|
supportMultiLanguages: 'zh-Hans',
|
|
anchor: '如何获取随手记神象云账本数据导出文件'
|
|
}
|
|
},
|
|
{
|
|
type: 'alipay_app_csv',
|
|
name: 'Alipay (App) Transaction Flow File',
|
|
extensions: '.csv',
|
|
document: {
|
|
supportMultiLanguages: 'zh-Hans',
|
|
anchor: '如何获取支付宝app交易流水文件'
|
|
}
|
|
},
|
|
{
|
|
type: 'alipay_web_csv',
|
|
name: 'Alipay (Web) Transaction Flow File',
|
|
extensions: '.csv',
|
|
document: {
|
|
supportMultiLanguages: 'zh-Hans',
|
|
anchor: '如何获取支付宝网页版交易流水文件'
|
|
}
|
|
},
|
|
{
|
|
type: 'wechat_pay_app_csv',
|
|
name: 'WeChat Pay Billing File',
|
|
extensions: '.csv',
|
|
document: {
|
|
supportMultiLanguages: 'zh-Hans',
|
|
anchor: '如何获取微信支付账单文件'
|
|
}
|
|
}
|
|
];
|