Files
iOSAI/Utils/CountryEnum.py

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} 对应的语言代码")