// 此文件由AI生成。如有错误，请手动修正
// This file was generated with AI assistance
// Please correct any errors manually

package country

type Country struct {
	NameEn string
	NameZh string
	Emoji  string
}

func GetCountry(code string) Country {
	if code == "" {
		return Country{}
	}
	if names, ok := namesByNumeric[code]; ok {
		return Country{NameEn: code, NameZh: names, Emoji: emoji(code)}
	}
	return Country{}
}

func emoji(alpha2 string) string {
	if len(alpha2) != 2 {
		return ""
	}
	b0 := rune(alpha2[0])
	b1 := rune(alpha2[1])
	if b0 >= 'a' && b0 <= 'z' {
		b0 -= 32
	}
	if b1 >= 'a' && b1 <= 'z' {
		b1 -= 32
	}
	if b0 < 'A' || b0 > 'Z' || b1 < 'A' || b1 > 'Z' {
		return ""
	}
	r0 := 0x1F1E6 + (b0 - 'A')
	r1 := 0x1F1E6 + (b1 - 'A')
	return string([]rune{r0, r1})
}

var namesByNumeric = map[string]string{
	"AD": "安道尔",
	"AE": "阿联酋",
	"AF": "阿富汗",
	"AG": "安提瓜和巴布达",
	"AI": "安圭拉",
	"AL": "阿尔巴尼亚",
	"AM": "亚美尼亚",
	"AO": "安哥拉",
	"AQ": "南极洲",
	"AR": "阿根廷",
	"AS": "美属萨摩亚",
	"AT": "奥地利",
	"AU": "澳大利亚",
	"AW": "阿鲁巴",
	"AZ": "阿塞拜疆",
	"BA": "波黑",
	"BB": "巴巴多斯",
	"BD": "孟加拉国",
	"BE": "比利时",
	"BF": "布基纳法索",
	"BG": "保加利亚",
	"BH": "巴林",
	"BI": "布隆迪",
	"BJ": "贝宁",
	"BL": "法属圣巴泰勒米",
	"BM": "百慕大",
	"BN": "文莱",
	"BO": "玻利维亚",
	"BQ": "荷属加勒比区",
	"BR": "巴西",
	"BS": "巴哈马",
	"BT": "不丹",
	"BV": "布维岛",
	"BW": "博茨瓦纳",
	"BY": "白俄罗斯",
	"BZ": "伯利兹",
	"CA": "加拿大",
	"CC": "科科斯（基林）群岛",
	"CD": "刚果（金）",
	"CF": "中非共和国",
	"CG": "刚果（布）",
	"CH": "瑞士",
	"CI": "科特迪瓦",
	"CK": "库克群岛",
	"CL": "智利",
	"CM": "喀麦隆",
	"CN": "中国",
	"CO": "哥伦比亚",
	"CR": "哥斯达黎加",
	"CU": "古巴",
	"CV": "佛得角",
	"CW": "库拉索",
	"CX": "圣诞岛",
	"CY": "塞浦路斯",
	"CZ": "捷克",
	"DE": "德国",
	"DJ": "吉布提",
	"DK": "丹麦",
	"DM": "多米尼克",
	"DO": "多米尼加",
	"DZ": "阿尔及利亚",
	"EC": "厄瓜多尔",
	"EE": "爱沙尼亚",
	"EG": "埃及",
	"EH": "西撒哈拉",
	"ER": "厄立特里亚",
	"ES": "西班牙",
	"ET": "埃塞俄比亚",
	"FI": "芬兰",
	"FJ": "斐济",
	"FK": "福克兰群岛（马尔维纳斯）",
	"FM": "密克罗尼西亚联邦",
	"FO": "法罗群岛",
	"FR": "法国",
	"GA": "加蓬",
	"GB": "英国",
	"GD": "格林纳达",
	"GE": "格鲁吉亚",
	"GF": "法属圭亚那",
	"GG": "根西",
	"GH": "加纳",
	"GI": "直布罗陀",
	"GL": "格陵兰",
	"GM": "冈比亚",
	"GN": "几内亚",
	"GP": "瓜德罗普",
	"GQ": "赤道几内亚",
	"GR": "希腊",
	"GS": "南乔治亚岛和南桑威奇群岛",
	"GT": "危地马拉",
	"GU": "关岛",
	"GW": "几内亚比绍",
	"GY": "圭亚那",
	"HK": "中国香港",
	"HM": "赫德岛和麦克唐纳群岛",
	"HN": "洪都拉斯",
	"HR": "克罗地亚",
	"HT": "海地",
	"HU": "匈牙利",
	"ID": "印度尼西亚",
	"IE": "爱尔兰",
	"IL": "以色列",
	"IM": "马恩岛",
	"IN": "印度",
	"IO": "英属印度洋领地",
	"IQ": "伊拉克",
	"IR": "伊朗",
	"IS": "冰岛",
	"IT": "意大利",
	"JE": "泽西",
	"JM": "牙买加",
	"JO": "约旦",
	"JP": "日本",
	"KE": "肯尼亚",
	"KG": "吉尔吉斯斯坦",
	"KH": "柬埔寨",
	"KI": "基里巴斯",
	"KM": "科摩罗",
	"KN": "圣基茨和尼维斯",
	"KP": "朝鲜",
	"KR": "韩国",
	"KW": "科威特",
	"KY": "开曼群岛",
	"KZ": "哈萨克斯坦",
	"LA": "老挝",
	"LB": "黎巴嫩",
	"LC": "圣卢西亚",
	"LI": "列支敦士登",
	"LK": "斯里兰卡",
	"LR": "利比里亚",
	"LS": "莱索托",
	"LT": "立陶宛",
	"LU": "卢森堡",
	"LV": "拉脱维亚",
	"LY": "利比亚",
	"MA": "摩洛哥",
	"MC": "摩纳哥",
	"MD": "摩尔多瓦",
	"ME": "黑山",
	"MF": "法属圣马丁",
	"MG": "马达加斯加",
	"MH": "马绍尔群岛",
	"MK": "北马其顿",
	"ML": "马里",
	"MM": "缅甸",
	"MN": "蒙古",
	"MO": "中国澳门",
	"MP": "北马里亚纳群岛",
	"MQ": "马提尼克",
	"MR": "毛里塔尼亚",
	"MS": "蒙特塞拉特",
	"MT": "马耳他",
	"MU": "毛里求斯",
	"MV": "马尔代夫",
	"MW": "马拉维",
	"MX": "墨西哥",
	"MY": "马来西亚",
	"MZ": "莫桑比克",
	"NA": "纳米比亚",
	"NC": "新喀里多尼亚",
	"NE": "尼日尔",
	"NF": "诺福克岛",
	"NG": "尼日利亚",
	"NI": "尼加拉瓜",
	"NL": "荷兰",
	"NO": "挪威",
	"NP": "尼泊尔",
	"NR": "瑙鲁",
	"NU": "纽埃",
	"NZ": "新西兰",
	"OM": "阿曼",
	"PA": "巴拿马",
	"PE": "秘鲁",
	"PF": "法属波利尼西亚",
	"PG": "巴布亚新几内亚",
	"PH": "菲律宾",
	"PK": "巴基斯坦",
	"PL": "波兰",
	"PM": "圣皮埃尔和密克隆",
	"PN": "皮特凯恩群岛",
	"PR": "波多黎各",
	"PS": "巴勒斯坦国",
	"PT": "葡萄牙",
	"PW": "帕劳",
	"PY": "巴拉圭",
	"QA": "卡塔尔",
	"RE": "留尼汪",
	"RO": "罗马尼亚",
	"RS": "塞尔维亚",
	"RU": "俄罗斯",
	"RW": "卢旺达",
	"SA": "沙特阿拉伯",
	"SB": "所罗门群岛",
	"SC": "塞舌尔",
	"SD": "苏丹",
	"SE": "瑞典",
	"SG": "新加坡",
	"SH": "圣赫勒拿、阿森松和特里斯坦-达库尼亚",
	"SI": "斯洛文尼亚",
	"SJ": "斯瓦尔巴和扬马延",
	"SK": "斯洛伐克",
	"SL": "塞拉利昂",
	"SM": "圣马力诺",
	"SN": "塞内加尔",
	"SO": "索马里",
	"SR": "苏里南",
	"SS": "南苏丹",
	"ST": "圣多美和普林西比",
	"SV": "萨尔瓦多",
	"SX": "荷属圣马丁",
	"SY": "叙利亚",
	"SZ": "埃斯瓦蒂尼",
	"TC": "特克斯和凯科斯群岛",
	"TD": "乍得",
	"TF": "法属南部领地",
	"TG": "多哥",
	"TH": "泰国",
	"TJ": "塔吉克斯坦",
	"TK": "托克劳",
	"TL": "东帝汶",
	"TM": "土库曼斯坦",
	"TN": "突尼斯",
	"TO": "汤加",
	"TR": "土耳其",
	"TT": "特立尼达和多巴哥",
	"TV": "图瓦卢",
	"TW": "中国台湾",
	"TZ": "坦桑尼亚",
	"UA": "乌克兰",
	"UG": "乌干达",
	"UM": "美国本土外小岛屿",
	"US": "美国",
	"UY": "乌拉圭",
	"UZ": "乌兹别克斯坦",
	"VA": "梵蒂冈",
	"VC": "圣文森特和格林纳丁斯",
	"VE": "委内瑞拉",
	"VG": "英属维尔京群岛",
	"VI": "美属维尔京群岛",
	"VN": "越南",
	"VU": "瓦努阿图",
	"WF": "瓦利斯和富图纳",
	"WS": "萨摩亚",
	"YE": "也门",
	"YT": "马约特",
	"ZA": "南非",
	"ZM": "赞比亚",
	"ZW": "津巴布韦",
}
