项目文件夹

文件
wehub-resource-sync 2114b14ee0
Sync main into demo / sync (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:35:26 +08:00

43 行
1.9 KiB
TypeScript

const BANK_NAME_REPLACEMENTS: Array<[string, string]> = [
['\u4e2d\u56fd\u5efa\u8bbe\u94f6\u884c', 'China Construction Bank'],
['\u5efa\u8bbe\u94f6\u884c', 'China Construction Bank'],
['\u4e2d\u56fd\u5de5\u5546\u94f6\u884c', 'Industrial and Commercial Bank of China'],
['\u5de5\u5546\u94f6\u884c', 'Industrial and Commercial Bank of China'],
['\u4e2d\u56fd\u519c\u4e1a\u94f6\u884c', 'Agricultural Bank of China'],
['\u519c\u4e1a\u94f6\u884c', 'Agricultural Bank of China'],
['\u4e2d\u56fd\u94f6\u884c', 'Bank of China'],
['\u62db\u5546\u94f6\u884c', 'China Merchants Bank'],
['\u4ea4\u901a\u94f6\u884c', 'Bank of Communications'],
['\u4e2d\u56fd\u90ae\u653f\u50a8\u84c4\u94f6\u884c', 'Postal Savings Bank of China'],
['\u90ae\u653f\u50a8\u84c4\u94f6\u884c', 'Postal Savings Bank of China'],
['\u5e73\u5b89\u94f6\u884c', 'Ping An Bank'],
['\u4e2d\u4fe1\u94f6\u884c', 'China CITIC Bank'],
['\u6d66\u53d1\u94f6\u884c', 'SPD Bank'],
['\u4e2d\u56fd\u6c11\u751f\u94f6\u884c', 'China Minsheng Bank'],
['\u6c11\u751f\u94f6\u884c', 'China Minsheng Bank'],
['\u5e7f\u53d1\u94f6\u884c', 'China Guangfa Bank'],
['\u5174\u4e1a\u94f6\u884c', 'Industrial Bank'],
['\u4e2d\u56fd\u5149\u5927\u94f6\u884c', 'China Everbright Bank'],
['\u5149\u5927\u94f6\u884c', 'China Everbright Bank'],
['\u534e\u590f\u94f6\u884c', 'Huaxia Bank'],
['\u50a8\u84c4\u5361', 'Debit Card'],
['\u4fe1\u7528\u5361', 'Credit Card'],
['\u94f6\u884c\u5361', 'Bank Card'],
];
function isMostlyAscii(value: string): boolean {
return /^[\x00-\x7F\s]*$/.test(value);
}
export function localizeBankName(name: string, isEnglish: boolean): string {
const raw = String(name || '').trim();
if (!raw) return isEnglish ? 'Bank Card' : '\u94f6\u884c\u5361';
if (!isEnglish || isMostlyAscii(raw)) return raw;
let result = raw;
for (const [zh, en] of BANK_NAME_REPLACEMENTS) {
result = result.split(zh).join(en);
}
return result || 'Bank Card';
}