"""球队中文译名表: 规范化英文名 → 中文。 来源: 手工整理(五大联赛全部 + 欧战常客)。 未收录的球队保持英文显示(前端回落),新队采集入库时自动查此表。 """ TEAM_NAME_ZH: dict[str, str] = { # ── 英格兰 ── "Arsenal": "阿森纳", "Aston Villa": "阿斯顿维拉", "Chelsea": "切尔西", "Liverpool FC": "利物浦", "Liverpool": "利物浦", "Manchester City": "曼城", "Manchester United": "曼联", "Tottenham Hotspur": "托特纳姆热刺", "Newcastle United": "纽卡斯尔联", "West Ham United": "西汉姆联", "Everton": "埃弗顿", "Fulham": "富勒姆", "Crystal Palace": "水晶宫", "Brentford": "布伦特福德", "Brighton & Hove Albion": "布莱顿", "Brighton and Hove Albion": "布莱顿", "Wolverhampton": "狼队", "Wolverhampton Wanderers": "狼队", "Nottingham Forest": "诺丁汉森林", "AFC Bournemouth": "伯恩茅斯", "Leeds United": "利兹联", "Leicester City": "莱斯特城", "Ipswich Town": "伊普斯维奇", "Southampton": "南安普顿", "Norwich City": "诺维奇", "Norwich": "诺维奇", "Sheffield United": "谢菲尔德联", "Sheffield Wednesday": "谢周三", "Stoke City": "斯托克城", "Sunderland": "桑德兰", "Burnley": "伯恩利", "Watford": "沃特福德", "Hull City": "赫尔城", "Huddersfield Town": "哈德斯菲尔德", "Luton Town": "卢顿", "Cardiff City": "加的夫", "Swansea City": "斯旺西", "West Bromwich Albion": "西布罗姆维奇", "Birmingham City": "伯明翰", "Blackburn Rovers": "布莱克本", "Bolton Wanderers": "博尔顿", "Barnsley": "巴恩斯利", "Blackpool": "布莱克浦", "Bradford City": "布拉德福德", "Charlton Athletic": "查尔顿竞技", "Coventry City": "考文垂", "Derby County": "德比郡", "Middlesbrough": "米德尔斯堡", "Milton Keynes Dons": "米尔顿凯恩斯", "Oldham Athletic": "奥尔德姆竞技", "Portsmouth": "朴茨茅斯", "Queens Park Rangers": "女王公园巡游者", "Reading": "雷丁", "Swindon Town": "斯温登", "Wigan Athletic": "维冈竞技", # ── 苏格兰/爱尔兰 ── "Celtic": "凯尔特人", "Rangers": "流浪者", "Aberdeen": "阿伯丁", "Heart of Midlothian": "哈茨", "Hibernian": "希伯尼安", "Derry City": "德里城", "Shelbourne": "谢尔本", "Larne FC": "拉恩", "Linfield FC": "连菲尔德", "Shamrock Rovers": "沙姆罗克流浪", # ── 西班牙 ── "Real Madrid": "皇家马德里", "FC Barcelona": "巴塞罗那", "Atlético Madrid": "马德里竞技", "Atletico Madrid": "马德里竞技", "Athletic Club": "毕尔巴鄂竞技", "Real Sociedad": "皇家社会", "Villarreal": "比利亚雷亚尔", "Real Betis": "皇家贝蒂斯", "Sevilla": "塞维利亚", "Valencia": "瓦伦西亚", "Celta Vigo": "塞尔塔", "Osasuna": "奥萨苏纳", "Getafe": "赫塔菲", "Rayo Vallecano": "巴列卡诺", "Mallorca": "马略卡", "Girona FC": "赫罗纳", "Girona": "赫罗纳", "Espanyol": "西班牙人", "UD Las Palmas": "拉斯帕尔马斯", "Las Palmas": "拉斯帕尔马斯", "Deportivo Alavés": "阿拉维斯", "Leganés": "莱加内斯", "Leganes": "莱加内斯", "Elche": "埃尔切", "Levante UD": "莱万特", "Malaga CF": "马拉加", "Deportivo de A Coruna": "拉科鲁尼亚", "Real Oviedo": "皇家奥维耶多", "Real Racing Club": "桑坦德竞技", "Real Valladolid": "巴利亚多利德", # ── 意大利 ── "Juventus": "尤文图斯", "AC Milan": "AC米兰", "Inter Milan": "国际米兰", "SSC Napoli": "那不勒斯", "AS Roma": "罗马", "Lazio": "拉齐奥", "Atalanta": "亚特兰大", "ACF Fiorentina": "佛罗伦萨", "Bologna": "博洛尼亚", "Torino": "都灵", "Udinese": "乌迪内斯", "Genoa": "热那亚", "Cagliari": "卡利亚里", "Hellas Verona": "维罗纳", "Lecce": "莱切", "Empoli": "恩波利", "Parma": "帕尔马", "Como": "科莫", "Venezia": "威尼斯", "Pisa": "比萨", "Cremonese": "克雷莫纳", "AC Monza": "蒙扎", "Frosinone": "弗罗西诺内", "Sassuolo": "萨索洛", # ── 德国 ── "FC Bayern Munchen": "拜仁慕尼黑", "Bayern München": "拜仁慕尼黑", "Borussia Dortmund": "多特蒙德", "Bayer 04 Leverkusen": "勒沃库森", "RB Leipzig": "莱比锡红牛", "Borussia Mönchengladbach": "门兴格拉德巴赫", "VfB Stuttgart": "斯图加特", "Eintracht Frankfurt": "法兰克福", "VfL Wolfsburg": "沃尔夫斯堡", "SC Freiburg": "弗赖堡", "TSG Hoffenheim": "霍芬海姆", "1. FC Union Berlin": "柏林联合", "Union Berlin": "柏林联合", "1. FC Koln": "科隆", "FC Köln": "科隆", "1. FSV Mainz 05": "美因茨", "Mainz 05": "美因茨", "FC Augsburg": "奥格斯堡", "SV Werder Bremen": "云达不来梅", "Werder Bremen": "云达不来梅", "VfL Bochum 1848": "波鸿", "VfL Bochum": "波鸿", "1. FC Heidenheim": "海登海姆", "FC St. Pauli": "圣保利", "Holstein Kiel": "荷尔斯泰因基尔", "FC Schalke 04": "沙尔克04", "Hamburger SV": "汉堡", "SC Paderborn 07": "帕德博恩", "SV 07 Elversberg": "埃弗斯贝格", # ── 法国 ── "Paris Saint-Germain": "巴黎圣日耳曼", "Olympique de Marseille": "马赛", "Olympique Marseille": "马赛", "Olympique Lyonnais": "里昂", "AS Monaco": "摩纳哥", "Lille OSC": "里尔", "OGC Nice": "尼斯", "RC Lens": "朗斯", "Stade Rennais": "雷恩", "RC Strasbourg": "斯特拉斯堡", "Stade Brestois": "布雷斯特", "Stade de Reims": "兰斯", "FC Nantes": "南特", "Toulouse FC": "图卢兹", "Montpellier HSC": "蒙彼利埃", "AS Saint-Étienne": "圣埃蒂安", "AJ Auxerre": "欧塞尔", "Le Havre AC": "勒阿弗尔", "FC Lorient": "洛里昂", "Metz": "梅斯", "Angers SCO": "昂热", "Guingamp": "甘冈", "Troyes": "特鲁瓦", "Le Mans": "勒芒", "Paris FC": "巴黎FC", "USL Dunkerque": "敦刻尔克", "Rodez AF": "罗德兹", "Red Star FC": "巴黎红星", # ── 荷兰/比利时 ── "AFC Ajax": "阿贾克斯", "PSV Eindhoven": "埃因霍温", "Feyenoord": "费耶诺德", "AZ Alkmaar": "阿尔克马尔", "FC Twente": "特温特", "FC Utrecht": "乌得勒支", "NEC Nijmegen": "奈梅亨", "Go Ahead Eagles": "前进之鹰", "Club Brugge KV": "布鲁日", "RSC Anderlecht": "安德莱赫特", "KRC Genk": "亨克", "Royale Union Saint-Gilloise": "圣吉罗斯联合", "Sint-Truidense VV": "圣特鲁伊登", # ── 葡萄牙 ── "FC Porto": "波尔图", "Benfica": "本菲卡", "Sporting CP": "里斯本竞技", "Sporting Braga": "布拉加", "Torreense": "托雷恩塞", # ── 土耳其 ── "Galatasaray": "加拉塔萨雷", "Fenerbahce": "费内巴切", "Besiktas JK": "贝西克塔斯", "Trabzonspor": "特拉布宗体育", "Samsunspor": "萨姆松体育", # ── 北欧 ── "Bodø/Glimt": "博多闪耀", "Viking FK": "维京", "Tromsø IL": "特罗姆瑟", "SK Brann": "布兰", "Lillestrøm SK": "利勒斯特罗姆", "Malmo FF": "马尔默", "IF Elfsborg": "埃尔夫斯堡", "BK Hacken": "哈肯", "Hammarby IF": "哈马比", "Fredrikstad FK": "腓特烈斯塔", "Mjallby AIF": "米亚尔比", "AGF": "奥胡斯", "FC Midtjylland": "中日德兰", "FC København": "哥本哈根", "Klaksvikar Itrottarfelag": "克拉克斯维克", "Vikingur Gøta": "戈塔维京人", "Vikingur Reykjavik": "雷克雅未克维京人", "Breidablik Kopavogur": "布雷达布利克", "IF Vestri": "韦斯特里", "Kuopion Palloseura": "库奥皮奥", "Ilves": "伊尔维斯", # ── 瑞士/奥地利 ── "Basel": "巴塞尔", "BSC Young Boys": "伯尔尼年轻人", "FC Lugano": "卢加诺", "Servette FC": "塞尔维特", "FC Thun": "图恩", "FC St. Gallen 1879": "圣加仑", "LASK": "林茨", "SK Sturm Graz": "格拉茨风暴", "Red Bull Salzburg": "萨尔茨堡红牛", "Wolfsberger AC": "沃尔夫斯贝格", # ── 中东欧 ── "Shakhtar Donetsk": "顿涅茨克矿工", "Dynamo Kyiv": "基辅迪纳摩", "Dinamo Minsk": "明斯克迪纳摩", "ML Vitebsk": "维捷布斯克", "Legia Warszawa": "华沙莱吉亚", "Lech Poznan": "波兹南莱赫", "Jagiellonia Białystok": "比亚韦斯托克亚盖隆尼亚", "Gornik Zabrze": "扎布热矿工", "MSK Zilina": "日利纳", "SK Slovan Bratislava": "布拉迪斯拉发斯洛万", "FC Spartak Trnava": "特尔纳瓦斯巴达", "SK Slavia Praha": "布拉格斯拉维亚", "AC Sparta Praha": "布拉格斯巴达", "FC Viktoria Plzen": "比尔森胜利", "SK Sigma Olomouc": "奥洛莫茨西格玛", "FC Hradec Kralove": "赫拉德茨克拉洛韦", "Banik Ostrava": "俄斯特拉发矿工", "Ferencvaros TC": "费伦茨瓦罗斯", "Paksi FC": "帕克斯", "ETO FC Gyor": "杰尔", "CFR 1907 Cluj": "克卢日", "FCSB": "布加勒斯特星", "FC Universitatea Cluj": "克卢日大学", "Universitatea Craiova": "克拉约瓦大学", "Ludogorets": "卢多戈雷茨", "Levski Sofia": "索非亚列夫斯基", "CSKA Sofia": "索非亚中央陆军", "GNK Dinamo Zagreb": "萨格勒布迪纳摩", "HNK Hajduk Split": "斯普利特海杜克", "HNK Rijeka": "里耶卡", "NK Olimpija Ljubljana": "卢布尔雅那奥林匹亚", "NK Celje": "采列", "NK Aluminij Kidricevo": "阿卢米尼", "FK Partizan": "贝尔格莱德游击队", "FK Vojvodina": "伏伊伏丁那", "FK Crvena Zvezda": "贝尔格莱德红星", "FK Crvena zvezda": "贝尔格莱德红星", "FK Borac Banja Luka": "巴尼亚卢卡战士", "HSK Zrinjski Mostar": "莫斯塔尔兹林斯基", "FK Buducnost Podgorica": "波德戈里察未来", "FK Sutjeska Niksic": "苏捷斯卡", "Sheriff Tiraspol": "谢里夫", "FC Petrocub Hincesti": "佩特罗库布", "FC Milsami Orhei": "米尔萨米", # ── 希腊/塞浦路斯/以色列 ── "Olympiacos FC": "奥林匹亚科斯", "Panathinaikos FC": "帕纳辛纳科斯", "PAOK": "塞萨洛尼基PAOK", "AEK Athens": "雅典AEK", "OFI Crete": "克里特OFI", "Omonia Nicosia": "尼科西亚奥莫尼亚", "AEK Larnaca": "拉纳卡AEK", "Pafos FC": "帕福斯", "Hapoel Be'er Sheva": "贝尔谢巴夏普尔", "Maccabi Tel Aviv": "特拉维夫马卡比", # ── 东南欧/高加索/中亚 ── "Qarabag FK": "卡拉巴赫", "Sabah FK": "萨巴赫", "FC Ararat-Armenia": "亚美尼亚阿拉拉特", "FC Noah": "诺亚", "FK Aktobe": "阿克托别", "Kairat Almaty": "阿拉木图凯拉特", "FC Kairat Almaty": "阿拉木图凯拉特", "FK Vardar Skopje": "瓦尔达尔斯科普里", "KF Shkendija": "什肯迪贾", "KF Egnatia": "埃格纳蒂亚", "FK Zalgiris": "萨尔吉里斯", "FK Kauno Zalgiris": "考那斯萨尔吉里斯", "Riga FC": "里加", "RFS": "里加足球学校", "FCI Levadia Tallinn": "塔林列瓦迪亚", "Flora Tallinn": "塔林弗洛拉", # ── 小联赛/外围 ── "The New Saints": "新圣徒", "Lincoln Red Imps": "林肯红魔", "Ħamrun Spartans FC": "哈姆伦斯巴达", "Floriana FC": "弗洛里亚纳", "SP Tre Fiori": "特雷菲奥里", "SS Virtus": "维尔图斯", "Inter Club d'Escaldes": "埃斯卡尔德斯", "Differdange FC 03": "迪费尔当", "Atert Bissen": "比森", "FC Drita": "德里塔", "FC Prishtina": "普里什蒂纳", "FC Iberia 1999": "伊比利亚1999", "FK Buducnost": "波德戈里察未来", } def zh_name(name: str | None) -> str | None: """查中文译名;未收录返回 None(由调用方回落英文)。""" if not name: return None return TEAM_NAME_ZH.get(name.strip())