271 lines
7.8 KiB
Python
271 lines
7.8 KiB
Python
class CountryLanguageMapper:
|
|
|
|
# 初始化一个字典,映射国家到语言代码
|
|
country_to_language = {
|
|
"中国大陆": "zh-CN",
|
|
"台湾": "zh-TW",
|
|
"香港": "zh-TW",
|
|
"澳门": "zh-TW",
|
|
"美国": "en",
|
|
"英国": "en",
|
|
"澳大利亚": "en",
|
|
"日本": "ja",
|
|
"韩国": "ko",
|
|
"俄罗斯": "ru",
|
|
"法国": "fr",
|
|
"德国": "de",
|
|
"意大利": "it",
|
|
"西班牙": "es",
|
|
"墨西哥": "es",
|
|
"巴西": "pt",
|
|
"葡萄牙": "pt",
|
|
"印度": "hi",
|
|
"泰国": "th",
|
|
"越南": "vi",
|
|
"马来西亚": "ms",
|
|
"印度尼西亚": "id",
|
|
"阿联酋": "ar",
|
|
"沙特阿拉伯": "ar",
|
|
"埃及": "ar",
|
|
"以色列": "he",
|
|
"缅甸": "my",
|
|
"斯里兰卡": "ta",
|
|
"巴基斯坦": "ur",
|
|
"孟加拉国": "bn",
|
|
"波兰": "pl",
|
|
"荷兰": "nl",
|
|
"罗马尼亚": "ro",
|
|
"土耳其": "tr",
|
|
"老挝": "lo",
|
|
"乌克兰": "uk",
|
|
"芬兰": "fi",
|
|
"南非": "af",
|
|
"阿尔巴尼亚": "sq",
|
|
"安道尔": "ca",
|
|
"安提瓜和巴布达": "en",
|
|
"阿根廷": "es",
|
|
"亚美尼亚": "hy",
|
|
"奥地利": "de",
|
|
"阿塞拜疆": "az",
|
|
"巴哈马": "en",
|
|
"巴林": "ar",
|
|
"巴巴多斯": "en",
|
|
"白俄罗斯": "be",
|
|
"比利时": "fr",
|
|
"伯利兹": "en",
|
|
"贝宁": "fr",
|
|
"不丹": "dz",
|
|
"玻利维亚": "es",
|
|
"波斯尼亚和黑塞哥维那": "bs",
|
|
"博茨瓦纳": "en",
|
|
"文莱": "ms",
|
|
"保加利亚": "bg",
|
|
"布基纳法索": "fr",
|
|
"布隆迪": "fr",
|
|
"柬埔寨": "km",
|
|
"喀麦隆": "fr",
|
|
"加拿大": "en",
|
|
"佛得角": "pt",
|
|
"开曼群岛": "en",
|
|
"中非共和国": "fr",
|
|
"乍得": "fr",
|
|
"智利": "es",
|
|
"中国": "zh-CN",
|
|
"圣诞岛": "en",
|
|
"科科斯群岛": "en",
|
|
"哥伦比亚": "es",
|
|
"科摩罗": "ar",
|
|
"刚果": "fr",
|
|
"库克群岛": "en",
|
|
"哥斯达黎加": "es",
|
|
"科特迪瓦": "fr",
|
|
"克罗地亚": "hr",
|
|
"古巴": "es",
|
|
"库拉索": "nl",
|
|
"塞浦路斯": "el",
|
|
"捷克": "cs",
|
|
"丹麦": "da",
|
|
"吉布提": "fr",
|
|
"多米尼克": "en",
|
|
"多米尼加共和国": "es",
|
|
"厄瓜多尔": "es",
|
|
"萨尔瓦多": "es",
|
|
"赤道几内亚": "es",
|
|
"厄立特里亚": "ti",
|
|
"爱沙尼亚": "et",
|
|
"埃斯瓦蒂尼": "en",
|
|
"埃塞俄比亚": "am",
|
|
"福克兰群岛": "en",
|
|
"法罗群岛": "fo",
|
|
"斐济": "en",
|
|
"法属圭亚那": "fr",
|
|
"法属波利尼西亚": "fr",
|
|
"法属南部领地": "fr",
|
|
"加蓬": "fr",
|
|
"冈比亚": "en",
|
|
"格鲁吉亚": "ka",
|
|
"加纳": "en",
|
|
"直布罗陀": "en",
|
|
"希腊": "el",
|
|
"格陵兰": "kl",
|
|
"格林纳达": "en",
|
|
"瓜德罗普": "fr",
|
|
"关岛": "en",
|
|
"危地马拉": "es",
|
|
"根西岛": "en",
|
|
"几内亚": "fr",
|
|
"几内亚比绍": "pt",
|
|
"圭亚那": "en",
|
|
"海地": "fr",
|
|
"赫德岛和麦克唐纳群岛": "en",
|
|
"梵蒂冈": "it",
|
|
"洪都拉斯": "es",
|
|
"中国香港特别行政区": "zh-TW",
|
|
"匈牙利": "hu",
|
|
"冰岛": "is",
|
|
"伊朗": "fa",
|
|
"伊拉克": "ar",
|
|
"爱尔兰": "en",
|
|
"曼岛": "en",
|
|
"牙买加": "en",
|
|
"泽西岛": "en",
|
|
"约旦": "ar",
|
|
"哈萨克斯坦": "kk",
|
|
"肯尼亚": "en",
|
|
"基里巴斯": "en",
|
|
"朝鲜": "ko",
|
|
"科威特": "ar",
|
|
"吉尔吉斯斯坦": "ky",
|
|
"拉脱维亚": "lv",
|
|
"黎巴嫩": "ar",
|
|
"莱索托": "en",
|
|
"利比里亚": "en",
|
|
"利比亚": "ar",
|
|
"列支敦士登": "de",
|
|
"立陶宛": "lt",
|
|
"卢森堡": "fr",
|
|
"中国澳门特别行政区": "zh-TW",
|
|
"马达加斯加": "fr",
|
|
"马拉维": "en",
|
|
"马尔代夫": "dv",
|
|
"马里": "fr",
|
|
"马耳他": "mt",
|
|
"马绍尔群岛": "en",
|
|
"马提尼克": "fr",
|
|
"毛里塔尼亚": "ar",
|
|
"毛里求斯": "en",
|
|
"马约特": "fr",
|
|
"密克罗尼西亚": "en",
|
|
"摩尔多瓦": "ro",
|
|
"摩纳哥": "fr",
|
|
"蒙古": "mn",
|
|
"黑山": "sr",
|
|
"蒙特塞拉特": "en",
|
|
"摩洛哥": "ar",
|
|
"莫桑比克": "pt",
|
|
"纳米比亚": "en",
|
|
"瑙鲁": "en",
|
|
"尼泊尔": "ne",
|
|
"新喀里多尼亚": "fr",
|
|
"新西兰": "en",
|
|
"尼加拉瓜": "es",
|
|
"尼日尔": "fr",
|
|
"尼日利亚": "en",
|
|
"纽埃": "en",
|
|
"诺福克岛": "en",
|
|
"北马其顿": "mk",
|
|
"北马里亚纳群岛": "en",
|
|
"挪威": "no",
|
|
"阿曼": "ar",
|
|
"帕劳": "en",
|
|
"巴勒斯坦": "ar",
|
|
"巴拿马": "es",
|
|
"巴布亚新几内亚": "en",
|
|
"巴拉圭": "es",
|
|
"秘鲁": "es",
|
|
"菲律宾": "tl",
|
|
"皮特凯恩群岛": "en",
|
|
"波多黎各": "es",
|
|
"卡塔尔": "ar",
|
|
"留尼汪": "fr",
|
|
"卢旺达": "rw",
|
|
"圣巴泰勒米": "fr",
|
|
"圣赫勒拿": "en",
|
|
"圣基茨和尼维斯": "en",
|
|
"圣卢西亚": "en",
|
|
"法属圣马丁": "fr",
|
|
"圣皮埃尔和密克隆": "fr",
|
|
"圣文森特和格林纳丁斯": "en",
|
|
"萨摩亚": "sm",
|
|
"圣马力诺": "it",
|
|
"圣多美和普林西比": "pt",
|
|
"塞内加尔": "fr",
|
|
"塞尔维亚": "sr",
|
|
"塞舌尔": "fr",
|
|
"塞拉利昂": "en",
|
|
"新加坡": "en",
|
|
"荷属圣马丁": "nl",
|
|
"斯洛伐克": "sk",
|
|
"斯洛文尼亚": "sl",
|
|
"所罗门群岛": "en",
|
|
"索马里": "so",
|
|
"南乔治亚岛和南桑威奇群岛": "en",
|
|
"南苏丹": "en",
|
|
"苏丹": "ar",
|
|
"苏里南": "nl",
|
|
"斯瓦尔巴群岛和扬马延岛": "no",
|
|
"瑞典": "sv",
|
|
"瑞士": "de",
|
|
"叙利亚": "ar",
|
|
"台湾省": "zh-TW",
|
|
"塔吉克斯坦": "tg",
|
|
"坦桑尼亚": "sw",
|
|
"东帝汶": "tet",
|
|
"多哥": "fr",
|
|
"托克劳": "en",
|
|
"汤加": "to",
|
|
"特立尼达和多巴哥": "en",
|
|
"突尼斯": "ar",
|
|
"土库曼斯坦": "tk",
|
|
"特克斯和凯科斯群岛": "en",
|
|
"图瓦卢": "en",
|
|
"乌干达": "en",
|
|
"美国本土外小岛屿": "en",
|
|
"乌拉圭": "es",
|
|
"乌兹别克斯坦": "uz",
|
|
"瓦努阿图": "bi",
|
|
"委内瑞拉": "es",
|
|
"英属维尔京群岛": "en",
|
|
"美属维尔京群岛": "en",
|
|
"瓦利斯和富图纳": "fr",
|
|
"西撒哈拉": "ar",
|
|
"也门": "ar",
|
|
"赞比亚": "en",
|
|
"津巴布韦": "en",
|
|
"阿富汗": "fa",
|
|
"阿尔及利亚": "ar",
|
|
"美属萨摩亚": "en",
|
|
"安哥拉": "pt",
|
|
"安圭拉": "en",
|
|
"南极洲": "en",
|
|
"百慕大": "en",
|
|
"荷属加勒比区": "nl",
|
|
"布韦岛": "no",
|
|
"英属印度洋领地": "en",
|
|
|
|
}
|
|
|
|
@classmethod
|
|
def get_language_code(cls, country):
|
|
return cls.country_to_language.get(country)
|
|
|
|
# 使用示例
|
|
if __name__ == "__main__":
|
|
mapper = CountryLanguageMapper()
|
|
countries = ['英国', '美国', '日本', '未知国家']
|
|
for country in countries:
|
|
code = mapper.get_language_code(country)
|
|
if code:
|
|
print(f"{country} 对应的语言代码是 {code}")
|
|
else:
|
|
print(f"没有找到 {country} 对应的语言代码") |