fix(geo.js): separate ISO Code from Country Name (#133)

#build
Build sub-store.min.js
This commit is contained in:
github-actions@github.com
2022-06-25 16:49:51 +00:00
committed by Peng-YM
parent 9202437f05
commit f1c8d85ddc
5 changed files with 257 additions and 14191 deletions

View File

@@ -8,16 +8,14 @@ export function getFlag(name) {
const Flags = {
'🏳️‍🌈': ['流量', '时间', '过期', 'Bandwidth', 'Expire'],
'🇸🇱': ['应急', '测试节点'],
'🇦🇩': ['AD', 'AND', 'Andorra', '安道尔'],
'🇦🇪': ['AE', 'ARE', 'United Arab Emirates', '阿联酋', '迪拜'],
'🇦🇫': ['AF', 'AFG', 'Afghanistan', '阿富汗'],
'🇦🇱': ['AL', 'ALB', 'Albania', '阿尔巴尼亚', '阿爾巴尼亞'],
'🇦🇲': ['AM', 'ARM', 'Armenia', '亚美尼亚'],
'🇦🇷': ['AR', 'ARG', 'Argentina', '阿根廷'],
'🇦🇹': ['AT', 'AUT', 'Austria', '奥地利', '奧地利', '维也纳'],
'🇦🇩': ['Andorra', '安道尔'],
'🇦🇪': ['United Arab Emirates', '阿联酋', '迪拜'],
'🇦🇫': ['Afghanistan', '阿富汗'],
'🇦🇱': ['Albania', '阿尔巴尼亚', '阿爾巴尼亞'],
'🇦🇲': ['Armenia', '亚美尼亚'],
'🇦🇷': ['Argentina', '阿根廷'],
'🇦🇹': ['Austria', '奥地利', '奧地利', '维也纳'],
'🇦🇺': [
'AU',
'AUS',
'Australia',
'澳大利亚',
'澳洲',
@@ -31,17 +29,15 @@ export function getFlag(name) {
'广澳',
'Sydney',
],
'🇦🇿': ['AZ', 'AZE', 'Azerbaijan', '阿塞拜疆'],
'🇧🇦': ['BA', 'BIH', 'Bosnia and Herzegovina', '波黑共和国', '波黑'],
'🇧🇩': ['BD', 'BGD', 'Bangladesh', '孟加拉国', '孟加拉'],
'🇧🇪': ['BE', 'BEL', 'Belgium', '比利时', '比利時'],
'🇧🇬': ['BG', 'BGR', 'Bulgaria', '保加利亚', '保加利亞'],
'🇧🇭': ['BH', 'BHR', 'Bahrain', '巴林'],
'🇧🇷': ['BR', 'BRA', 'Brazil', '巴西', '圣保罗'],
'🇧🇾': ['BY', 'BLR', 'Belarus', '白俄罗斯', '白俄'],
'🇦🇿': ['Azerbaijan', '阿塞拜疆'],
'🇧🇦': ['Bosnia and Herzegovina', '波黑共和国', '波黑'],
'🇧🇩': ['Bangladesh', '孟加拉国', '孟加拉'],
'🇧🇪': ['Belgium', '比利时', '比利時'],
'🇧🇬': ['Bulgaria', '保加利亚', '保加利亞'],
'🇧🇭': ['Bahrain', '巴林'],
'🇧🇷': ['Brazil', '巴西', '圣保罗'],
'🇧🇾': ['Belarus', '白俄罗斯', '白俄'],
'🇨🇦': [
'CA',
'CAN',
'Canada',
'加拿大',
'蒙特利尔',
@@ -52,16 +48,21 @@ export function getFlag(name) {
'多伦多',
'Waterloo',
],
'🇨🇭': ['CH', 'CHE', 'Switzerland', '瑞士', '苏黎世', 'Zurich'],
'🇨🇱': ['CL', 'CHL', 'Chile', '智利'],
'🇨🇭': ['Switzerland', '瑞士', '苏黎世', 'Zurich'],
'🇨🇱': ['Chile', '智利'],
'🇨🇳': [
'CN',
'CHN',
'China',
'中国',
'中國',
'回国',
'回國',
'国内',
'國內',
'华东',
'华西',
'华南',
'华北',
'华中',
'江苏',
'北京',
'上海',
@@ -74,13 +75,11 @@ export function getFlag(name) {
'镇江',
'back',
],
'🇨🇴': ['CO', 'COL', 'Colombia', '哥伦比亚'],
'🇨🇷': ['CR', 'CRI', 'Costa Rica', '哥斯达黎加'],
'🇨🇾': ['CY', 'CYP', 'Cyprus', '塞浦路斯'],
'🇨🇿': ['CZ', 'CZE', 'Czechia', '捷克'],
'🇨🇴': ['Colombia', '哥伦比亚'],
'🇨🇷': ['Costa Rica', '哥斯达黎加'],
'🇨🇾': ['Cyprus', '塞浦路斯'],
'🇨🇿': ['Czechia', '捷克'],
'🇩🇪': [
'DE',
'DEU',
'German',
'德国',
'德國',
@@ -92,31 +91,26 @@ export function getFlag(name) {
'法兰克福',
'Frankfurt',
],
'🇩🇰': ['DK', 'DNK', '丹麦', '丹麥'],
'🇪🇨': ['EC', 'ECU', 'Ecuador', '厄瓜多尔'],
'🇪🇪': ['EE', 'EST', 'Estonia', '爱沙尼亚'],
'🇪🇬': ['EG', 'EGY', 'Egypt', '埃及'],
'🇪🇸': ['ES', 'ESP', 'Spain', '西班牙'],
'🇪🇺': ['EU', 'European Union', '欧盟', '欧罗巴'],
'🇫🇮': ['FI', 'FIN', 'Finland', '芬兰', '芬蘭', '赫尔辛基'],
'🇫🇷': ['FR', 'FRA', 'France', '法国', '法國', '巴黎'],
'🇩🇰': ['Denmark', '丹麦', '丹麥'],
'🇪🇨': ['Ecuador', '厄瓜多尔'],
'🇪🇪': ['Estonia', '爱沙尼亚'],
'🇪🇬': ['Egypt', '埃及'],
'🇪🇸': ['Spain', '西班牙'],
'🇪🇺': ['European Union', '欧盟', '欧罗巴'],
'🇫🇮': ['Finland', '芬兰', '芬蘭', '赫尔辛基'],
'🇫🇷': ['France', '法国', '法國', '巴黎'],
'🇬🇧': [
'GB',
'GBR',
'Great Britain',
'英国',
'UK',
'England',
'United Kingdom',
'伦敦',
'英',
'London',
],
'🇬🇪': ['GE', 'GEO', 'Georgia', '格鲁吉亚', '格魯吉亞'],
'🇬🇷': ['GR', 'GRC', 'Greece', '希腊', '希臘'],
'🇬🇪': ['Georgia', '格鲁吉亚', '格魯吉亞'],
'🇬🇷': ['Greece', '希腊', '希臘'],
'🇭🇰': [
'HK',
'HKG',
'Hongkong',
'香港',
'Hong Kong',
@@ -125,21 +119,14 @@ export function getFlag(name) {
'深港',
'沪港',
'呼港',
'HKT',
'HKBN',
'HGC',
'WTT',
'CMI',
'穗港',
'京港',
'港',
],
'🇭🇷': ['HR', 'HRV', 'Croatia', '克罗地亚', '克羅地亞'],
'🇭🇺': ['HU', 'HUN', 'Hungary', '匈牙利'],
'🇯🇴': ['JO', 'JOR', 'Jordan', '约旦'],
'🇭🇷': ['Croatia', '克罗地亚', '克羅地亞'],
'🇭🇺': ['Hungary', '匈牙利'],
'🇯🇴': ['Jordan', '约旦'],
'🇯🇵': [
'JP',
'JPN',
'Japan',
'日本',
'东京',
@@ -158,15 +145,14 @@ export function getFlag(name) {
'Osaka',
'Tokyo',
],
'🇰🇪': ['KE', 'KEN', 'Kenya', '肯尼亚'],
'🇰🇬': ['KG', 'KGZ', 'Kyrgyzstan', '吉尔吉斯斯坦'],
'🇰🇭': ['KH', 'KGZ', 'Cambodia', '柬埔寨'],
'🇰🇵': ['KP', 'PRK', 'North Korea', '朝鲜'],
'🇰🇪': ['Kenya', '肯尼亚'],
'🇰🇬': ['Kyrgyzstan', '吉尔吉斯斯坦'],
'🇰🇭': ['Cambodia', '柬埔寨'],
'🇰🇵': ['North Korea', '朝鲜'],
'🇰🇷': [
'KR',
'KOR',
'Korea',
'韩国',
'韓國',
'韩',
'韓',
'首尔',
@@ -174,61 +160,43 @@ export function getFlag(name) {
'Chuncheon',
'Seoul',
],
'🇰🇿': ['KZ', 'KAZ', 'Kazakhstan', '哈萨克斯坦', '哈萨克'],
'🇮🇩': ['ID', 'IDN', 'Indonesia', '印尼', '印度尼西亚', '雅加达'],
'🇮🇪': ['IE', 'IRL', 'Ireland', '爱尔兰', '愛爾蘭', '都柏林'],
'🇮🇱': ['IL', 'ISR', 'Israel', '以色列'],
'🇮🇲': ['IM', 'Isle of Man', '马恩岛', '馬恩島'],
'🇮🇳': ['IN', 'IND', 'India', '印度', '孟买', 'MFumbai'],
'🇮🇷': ['IR', 'IRN', 'Iran', '伊朗'],
'🇮🇸': ['IS', 'ISL', 'Iceland', '冰岛', '冰島'],
'🇮🇹': ['IT', 'ITA', 'Italy', '意大利', '義大利', '米兰', 'Nachash'],
'🇱🇹': ['LT', 'Lithuania', '立陶宛'],
'🇱🇺': ['LU', 'Luxembourg', '卢森堡'],
'🇱🇻': ['LV', 'Latvia', '拉脱维亚', 'Latvija'],
'🇲🇦': ['MA', 'Morocco', '摩洛哥'],
'🇲🇩': ['MD', 'Moldova', '摩尔多瓦', '摩爾多瓦'],
'🇳🇬': ['NG', 'Nigeria', '尼日利亚', '尼日利亞'],
'🇲🇰': ['MK', 'Macedonia', '马其顿', '馬其頓'],
'🇲🇳': ['MN', 'Mongolia', '蒙古'],
'🇲🇴': ['MO', 'MAC', 'Macao', '澳门', '澳門', 'CTM'],
'🇲🇹': ['MT', 'Malta', '马耳他'],
'🇲🇽': ['MX', 'MEX', 'Mexico', '墨西哥'],
'🇲🇾': [
'MY',
'MYS',
'Malaysia',
'马来西亚',
'馬來西亞',
'吉隆坡',
'大馬',
],
'🇳🇱': [
'NL',
'NLD',
'Netherlands',
'荷兰',
'荷蘭',
'尼德蘭',
'阿姆斯特丹',
],
'🇳🇴': ['NO', 'NOR', 'Norway', '挪威'],
'🇳🇵': ['NP', 'Nepal', '尼泊尔'],
'🇳🇿': ['NZ', 'NZL', 'New Zealand', '新西兰', '新西蘭'],
'🇵🇦': ['PA', 'Panama', '巴拿马'],
'🇵🇪': ['PE', 'Peru', '秘鲁', '祕魯'],
'🇵🇭': ['PH', 'Philippines', '菲律宾', '菲律賓'],
'🇵🇰': ['PK', 'Pakistan', '巴基斯坦'],
'🇵🇱': ['PL', 'POL', 'Poland', '波兰', '波蘭'],
'🇵🇷': ['PR', 'Puerto Rico', '波多黎各'],
'🇵🇹': ['PT', 'PRT', 'Portugal', '葡萄牙'],
'🇵🇾': ['PY', 'Paraguay', '巴拉圭'],
'🇷🇴': ['RO', 'Romania', '罗马尼亚'],
'🇷🇸': ['RS', 'Serbia', '塞尔维亚'],
'🇷🇪': ['RE', 'Réunion', '留尼汪', '法属留尼汪'],
'🇰🇿': ['Kazakhstan', '哈萨克斯坦', '哈萨克'],
'🇮🇩': ['Indonesia', '印尼', '印度尼西亚', '雅加达'],
'🇮🇪': ['Ireland', '爱尔兰', '愛爾蘭', '都柏林'],
'🇮🇱': ['Israel', '以色列'],
'🇮🇲': ['Isle of Man', '马恩岛', '馬恩島'],
'🇮🇳': ['India', '印度', '孟买', 'MFumbai'],
'🇮🇷': ['Iran', '伊朗'],
'🇮🇸': ['Iceland', '冰岛', '冰島'],
'🇮🇹': ['Italy', '意大利', '義大利', '米兰', 'Nachash'],
'🇱🇹': ['Lithuania', '立陶宛'],
'🇱🇺': ['Luxembourg', '卢森堡'],
'🇱🇻': ['Latvia', '拉脱维亚', 'Latvija'],
'🇲🇦': ['Morocco', '摩洛哥'],
'🇲🇩': ['Moldova', '摩尔多瓦', '摩爾多瓦'],
'🇳🇬': ['Nigeria', '尼日利亚', '尼日利亞'],
'🇲🇰': ['Macedonia', '马其顿', '馬其頓'],
'🇲🇳': ['Mongolia', '蒙古'],
'🇲🇴': ['Macao', '澳门', '澳門', 'CTM'],
'🇲🇹': ['Malta', '马耳他'],
'🇲🇽': ['Mexico', '墨西哥'],
'🇲🇾': ['Malaysia', '马来西亚', '馬來西亞', '吉隆坡', '大馬'],
'🇳🇱': ['Netherlands', '荷兰', '荷蘭', '尼德蘭', '阿姆斯特丹'],
'🇳🇴': ['Norway', '挪威'],
'🇳🇵': ['Nepal', '尼泊尔'],
'🇳🇿': ['New Zealand', '新西兰', '新西蘭'],
'🇵🇦': ['Panama', '巴拿马'],
'🇵🇪': ['Peru', '秘鲁', '祕魯'],
'🇵🇭': ['Philippines', '菲律宾', '菲律賓'],
'🇵🇰': ['Pakistan', '巴基斯坦'],
'🇵🇱': ['Poland', '波兰', '波蘭'],
'🇵🇷': ['Puerto Rico', '波多黎各'],
'🇵🇹': ['Portugal', '葡萄牙'],
'🇵🇾': ['Paraguay', '巴拉圭'],
'🇷🇴': ['Romania', '罗马尼亚'],
'🇷🇸': ['Serbia', '塞尔维亚'],
'🇷🇪': ['Réunion', '留尼汪', '法属留尼汪'],
'🇷🇺': [
'RU',
'RUS',
'Russia',
'俄罗斯',
'俄国',
@@ -245,11 +213,9 @@ export function getFlag(name) {
'沪俄',
'Moscow',
],
'🇸🇦': ['SA', 'SAU', 'Saudi', '沙特阿拉伯', '沙特'],
'🇸🇪': ['SE', 'SWE', 'Sweden', '瑞典'],
'🇸🇦': ['Saudi', '沙特阿拉伯', '沙特'],
'🇸🇪': ['Sweden', '瑞典'],
'🇸🇬': [
'SG',
'SGP',
'Singapore',
'新加坡',
'狮城',
@@ -264,29 +230,23 @@ export function getFlag(name) {
'廣新',
'滬新',
],
'🇸🇮': ['SI', 'Slovenia', '斯洛文尼亚'],
'🇸🇰': ['SK', 'Slovakia', '斯洛伐克'],
'🇹🇭': ['TH', 'THA', 'Thailand', '泰国', '泰國', '曼谷'],
'🇹🇳': ['TN', 'Tunisia', '突尼斯'],
'🇹🇷': ['TR', 'TUR', 'Turkey', '土耳其', '伊斯坦布尔'],
'🇸🇮': ['Slovenia', '斯洛文尼亚'],
'🇸🇰': ['Slovakia', '斯洛伐克'],
'🇹🇭': ['Thailand', '泰国', '泰國', '曼谷'],
'🇹🇳': ['Tunisia', '突尼斯'],
'🇹🇷': ['Turkey', '土耳其', '伊斯坦布尔'],
'🇹🇼': [
'TW',
'TWN',
'Taiwan',
'台湾',
'台北',
'台中',
'新北',
'彰化',
'CHT',
'台',
'HINET',
'Taipei',
],
'🇺🇦': ['UA', 'UKR', 'Ukraine', '乌克兰', '烏克蘭'],
'🇺🇦': ['Ukraine', '乌克兰', '烏克蘭'],
'🇺🇸': [
'US',
'USA',
'United States',
'美国',
'America',
@@ -312,47 +272,144 @@ export function getFlag(name) {
'San Jose',
'Sillicon Valley',
'Michigan',
'LAX',
'SFO',
],
'🇺🇾': ['UY', 'Uruguay', '乌拉圭'],
'🇻🇪': ['VE', 'Venezuela', '委内瑞拉'],
'🇻🇳': ['VN', 'VNM', 'Vietnam', '越南', '胡志明'],
'🇿🇦': ['ZA', 'ZAF', 'South Africa', '南非'],
'🇺🇾': ['Uruguay', '乌拉圭'],
'🇻🇪': ['Venezuela', '委内瑞拉'],
'🇻🇳': ['Vietnam', '越南', '胡志明'],
'🇿🇦': ['South Africa', '南非'],
};
const ISOFlags = {
'🏳️‍🌈': ['EXP', 'BAND'],
'🇸🇱': ['TEST', 'SOS'],
'🇦🇩': ['AD', 'AND'],
'🇦🇪': ['AE', 'ARE'],
'🇦🇫': ['AF', 'AFG'],
'🇦🇱': ['AL', 'ALB'],
'🇦🇲': ['AM', 'ARM'],
'🇦🇷': ['AR', 'ARG'],
'🇦🇹': ['AT', 'AUT'],
'🇦🇺': ['AU', 'AUS'],
'🇦🇿': ['AZ', 'AZE'],
'🇧🇦': ['BA', 'BIH'],
'🇧🇩': ['BD', 'BGD'],
'🇧🇪': ['BE', 'BEL'],
'🇧🇬': ['BG', 'BGR'],
'🇧🇭': ['BH', 'BHR'],
'🇧🇷': ['BR', 'BRA'],
'🇧🇾': ['BY', 'BLR'],
'🇨🇦': ['CA', 'CAN'],
'🇨🇭': ['CH', 'CHE'],
'🇨🇱': ['CL', 'CHL'],
'🇨🇳': ['CN', 'CHN'],
'🇨🇴': ['CO', 'COL'],
'🇨🇷': ['CR', 'CRI'],
'🇨🇾': ['CY', 'CYP'],
'🇨🇿': ['CZ', 'CZE'],
'🇩🇪': ['DE', 'DEU'],
'🇩🇰': ['DK', 'DNK'],
'🇪🇨': ['EC', 'ECU'],
'🇪🇪': ['EE', 'EST'],
'🇪🇬': ['EG', 'EGY'],
'🇪🇸': ['ES', 'ESP'],
'🇪🇺': ['EU'],
'🇫🇮': ['FI', 'FIN'],
'🇫🇷': ['FR', 'FRA'],
'🇬🇧': ['GB', 'GBR', 'UK'],
'🇬🇪': ['GE', 'GEO'],
'🇬🇷': ['GR', 'GRC'],
'🇭🇰': ['HK', 'HKG', 'HKT', 'HKBN', 'HGC', 'WTT', 'CMI'],
'🇭🇷': ['HR', 'HRV'],
'🇭🇺': ['HU', 'HUN'],
'🇯🇴': ['JO', 'JOR'],
'🇯🇵': ['JP', 'JPN'],
'🇰🇪': ['KE', 'KEN'],
'🇰🇬': ['KG', 'KGZ'],
'🇰🇭': ['KH', 'KGZ'],
'🇰🇵': ['KP', 'PRK'],
'🇰🇷': ['KR', 'KOR'],
'🇰🇿': ['KZ', 'KAZ'],
'🇮🇩': ['ID', 'IDN'],
'🇮🇪': ['IE', 'IRL'],
'🇮🇱': ['IL', 'ISR'],
'🇮🇲': ['IM', 'IMN'],
'🇮🇳': ['IN', 'IND'],
'🇮🇷': ['IR', 'IRN'],
'🇮🇸': ['IS', 'ISL'],
'🇮🇹': ['IT', 'ITA'],
'🇱🇹': ['LT', 'LTU'],
'🇱🇺': ['LU', 'LUX'],
'🇱🇻': ['LV', 'LVA'],
'🇲🇦': ['MA', 'MAR'],
'🇲🇩': ['MD', 'MDA'],
'🇳🇬': ['NG', 'NGA'],
'🇲🇰': ['MK', 'MKD'],
'🇲🇳': ['MN', 'MNG'],
'🇲🇴': ['MO', 'MAC', 'CTM'],
'🇲🇹': ['MT', 'MLT'],
'🇲🇽': ['MX', 'MEX'],
'🇲🇾': ['MY', 'MYS'],
'🇳🇱': ['NL', 'NLD'],
'🇳🇴': ['NO', 'NOR'],
'🇳🇵': ['NP', 'NPL'],
'🇳🇿': ['NZ', 'NZL'],
'🇵🇦': ['PA', 'PAN'],
'🇵🇪': ['PE', 'PER'],
'🇵🇭': ['PH', 'PHL'],
'🇵🇰': ['PK', 'PAK'],
'🇵🇱': ['PL', 'POL'],
'🇵🇷': ['PR', 'PRI'],
'🇵🇹': ['PT', 'PRT'],
'🇵🇾': ['PY', 'PRY'],
'🇷🇴': ['RO', 'ROU'],
'🇷🇸': ['RS', 'SRB'],
'🇷🇪': ['RE', 'REU'],
'🇷🇺': ['RU', 'RUS'],
'🇸🇦': ['SA', 'SAU'],
'🇸🇪': ['SE', 'SWE'],
'🇸🇬': ['SG', 'SGP'],
'🇸🇮': ['SI', 'SVN'],
'🇸🇰': ['SK', 'SVK'],
'🇹🇭': ['TH', 'THA'],
'🇹🇳': ['TN', 'TUN'],
'🇹🇷': ['TR', 'TUR'],
'🇹🇼': ['TW', 'TWN', 'CHT', 'HINET'],
'🇺🇦': ['UA', 'UKR'],
'🇺🇸': ['US', 'USA', 'LAX', 'SFO'],
'🇺🇾': ['UY', 'URY'],
'🇻🇪': ['VE', 'VEN'],
'🇻🇳': ['VN', 'VNM'],
'🇿🇦': ['ZA', 'ZAF'],
};
// 原旗帜或空
let Flag =
name.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0] ||
'🏴‍☠️';
//console.log(`oldFlag = ${Flag}`)
// 旗帜匹配
for (let flag of Object.keys(Flags)) {
const keywords = Flags[flag];
//console.log(`keywords = ${keywords}`)
// 精确匹配(两侧均有分割)
if (
keywords.some((keyword) =>
RegExp(`[^a-zA-Z]${keyword}[^a-zA-Z]`, 'i').test(name),
)
) {
//console.log(`new Flag1 = ${flag}`)
Flag = flag;
break; // 这里及时跳出,避免被之后的匹配覆盖结果
// 半精确匹配(至少一侧有分隔符)
} else if (
keywords.some(
(keyword) =>
RegExp(`[^a-zA-Z]${keyword}`, 'i').test(name) ||
RegExp(`${keyword}[^a-zA-Z]`, 'i').test(name),
)
) {
//console.log(`new Flag2 = ${flag}`)
Flag = flag;
// 不精确匹配(只要包含就算)
} else if (
// 不精确匹配(只要包含就算,忽略大小写)
keywords.some((keyword) => RegExp(`${keyword}`, 'i').test(name))
) {
//console.log(`new Flag3 = ${flag}`)
Flag = flag;
//console.log(`newFlag = ${flag}`)
return (Flag = flag);
}
}
// ISO旗帜匹配
for (let flag of Object.keys(ISOFlags)) {
const keywords = ISOFlags[flag];
//console.log(`keywords = ${keywords}`)
if (
// 精确匹配(两侧均有分割)
keywords.some((keyword) =>
RegExp(`[^a-zA-Z]${keyword}[^a-zA-Z]`).test(name),
)
) {
//console.log(`ISOFlag = ${flag}`)
return (Flag = flag);
}
}
//console.log(`Final Flag = ${Flag}`)