/** 球队 code / 名称 → ISO 3166-1(flagcdn.com),含世界杯 48 强 */ const CODE_TO_ISO: Record = { // 世界杯 2026 48 强 FRA: 'fr', ESP: 'es', ENG: 'gb-eng', BRA: 'br', ARG: 'ar', POR: 'pt', GER: 'de', NED: 'nl', NOR: 'no', BEL: 'be', COL: 'co', JPN: 'jp', URU: 'uy', USA: 'us', MAR: 'ma', CRO: 'hr', MEX: 'mx', SUI: 'ch', TUR: 'tr', SEN: 'sn', KOR: 'kr', AUT: 'at', ECU: 'ec', SWE: 'se', IRN: 'ir', GHA: 'gh', ALG: 'dz', BIH: 'ba', EGY: 'eg', TUN: 'tn', CAN: 'ca', PAN: 'pa', AUS: 'au', CZE: 'cz', KSA: 'sa', NZL: 'nz', COD: 'cd', UZB: 'uz', IRQ: 'iq', RSA: 'za', CIV: 'ci', JOR: 'jo', PAR: 'py', HAI: 'ht', QAT: 'qa', CPV: 'cv', CUW: 'cw', SCO: 'gb-sct', // 俱乐部 / 演示联赛 MUN: 'gb', CHE: 'gb', LIV: 'gb', MCI: 'gb', }; const NAME_TO_ISO: Record = { France: 'fr', Spain: 'es', England: 'gb-eng', Brazil: 'br', Argentina: 'ar', Portugal: 'pt', Germany: 'de', Netherlands: 'nl', Norway: 'no', Belgium: 'be', Colombia: 'co', Japan: 'jp', Uruguay: 'uy', USA: 'us', 'United States': 'us', Morocco: 'ma', Croatia: 'hr', Mexico: 'mx', Switzerland: 'ch', Turkey: 'tr', Senegal: 'sn', 'South Korea': 'kr', Austria: 'at', Ecuador: 'ec', Sweden: 'se', Iran: 'ir', Ghana: 'gh', Algeria: 'dz', Bosnia: 'ba', Egypt: 'eg', Tunisia: 'tn', Canada: 'ca', Panama: 'pa', Australia: 'au', Czech: 'cz', 'Czech Republic': 'cz', 'Saudi Arabia': 'sa', 'New Zealand': 'nz', 'DR Congo': 'cd', Uzbekistan: 'uz', Iraq: 'iq', 'South Africa': 'za', 'Ivory Coast': 'ci', Jordan: 'jo', Paraguay: 'py', Haiti: 'ht', Qatar: 'qa', 'Cape Verde': 'cv', Curacao: 'cw', Scotland: 'gb-sct', 法国: 'fr', 西班牙: 'es', 英格兰: 'gb-eng', 巴西: 'br', 阿根廷: 'ar', 葡萄牙: 'pt', 德国: 'de', 荷兰: 'nl', 挪威: 'no', 比利时: 'be', 哥伦比亚: 'co', 日本: 'jp', 乌拉圭: 'uy', 美国: 'us', 摩洛哥: 'ma', 克罗地亚: 'hr', 墨西哥: 'mx', 瑞士: 'ch', 土耳其: 'tr', 塞内加尔: 'sn', 韩国: 'kr', 奥地利: 'at', 厄瓜多尔: 'ec', 瑞典: 'se', 伊朗: 'ir', 加纳: 'gh', 阿尔及利亚: 'dz', 波黑: 'ba', 埃及: 'eg', 突尼斯: 'tn', 加拿大: 'ca', 巴拿马: 'pa', 澳大利亚: 'au', 捷克: 'cz', 沙特阿拉伯: 'sa', 新西兰: 'nz', '刚果(金)': 'cd', 乌兹别克斯坦: 'uz', 伊拉克: 'iq', 南非: 'za', 科特迪瓦: 'ci', 约旦: 'jo', 巴拉圭: 'py', 海地: 'ht', 卡塔尔: 'qa', 佛得角: 'cv', 库拉索: 'cw', 苏格兰: 'gb-sct', 曼联: 'gb', 切尔西: 'gb', }; export function teamFlagUrl(code?: string, name?: string): string { const key = (code ?? '').toUpperCase(); if (key && CODE_TO_ISO[key]) { return `https://flagcdn.com/w40/${CODE_TO_ISO[key]}.png`; } if (name && NAME_TO_ISO[name]) { return `https://flagcdn.com/w40/${NAME_TO_ISO[name]}.png`; } if (key.length === 2) { return `https://flagcdn.com/w40/${key.toLowerCase()}.png`; } return ''; }