Modul:Country extract: Perbedaan antara revisi
Loncat ke navigasi
Loncat ke pencarian
(←Membuat halaman berisi 'local p = {} -- -- to enable us to replicate the current functioning of CountryAbbr and CountryAbbr2 -- We need to deal with -- 1 alternative names ISO 3166 should do that -- 2 {{<name>}} -- 3 [ [<name>] ] -- 4 [ [<name>|<junk>] ] -- 5 [ [image:flag of <country>.[svg|gif|png|jpg]|\d+px] ] -- function p.extractCountry(frame) local string= mw.ustring.toNFC (frame.args[1]) local match=nil; match = mw.ustring.match(string, "Bendera ([^\.]*)") if (match)...') |
k (1 revisi diimpor) |
(Tidak ada perbedaan)
|
Revisi terkini sejak 7 Oktober 2023 06.19
Dokumentasi untuk modul ini dapat dibuat di Modul:Country extract/doc
local p = {} -- -- to enable us to replicate the current functioning of CountryAbbr and CountryAbbr2 -- We need to deal with -- 1 alternative names ISO 3166 should do that -- 2 {{<name>}} -- 3 [ [<name>] ] -- 4 [ [<name>|<junk>] ] -- 5 [ [image:flag of <country>.[svg|gif|png|jpg]|\d+px] ] -- function p.extractCountry(frame) local string= mw.ustring.toNFC (frame.args[1]) local match=nil; match = mw.ustring.match(string, "Bendera ([^\.]*)") if (match) then return match end -- () for Cocos (Keeling) Islands -- ' For People's -- . for U.S. etc. match = mw.ustring.match(string, "(%u[%a\(\)\.' -]+)") if (match == "Image") then string = mw.ustring.gsub(string, match, "") match = mw.ustring.match(string, "[\|\[](%u[%a\(\)\.' -]+)") end if (match == "20px") then string = mw.ustring.gsub(string, match, "") match = mw.ustring.match(string, "\[(%u[%a\(\)\.' -]+)") end if (match) then return match end return string end --[[ ]] function p.extractSubdivision(frame) local string= mw.ustring.toNFC (frame.args[1]) local match=nil; -- Needed for {{flag|Greenland}}, match = mw.ustring.match(string, "Bendera ([^\.]*)") if (match) then return match end -- . needed for Washington D.C. -- ' for cote d'azur -- leading ' for 'Aden -- ‘ and trailing ' for Şan‘ā' match = mw.ustring.match(string, "('?[%u][%a'‘ \.\,-]+[%a\.'\d]+)") if (match) then return match end return string end local countries = { ["Andorra"] = "AD", ["Uni Emirat Arab"] = "AE", ["UAE"] = "AE", ["Afganistan"] = "AF", ["Antigua dan Barbuda"] = "AG", ["Anguilla"] = "AI", ["Albania"] = "AL", ["Armenia"] = "AM", ["Angola"] = "AO", ["Antarktika"] = "AQ", ["Argentina"] = "AR", ["Samoa Amerika"] = "AS", ["Austria"] = "AT", ["Australia"] = "AU", ["Aruba"] = "AW", ["Kepulauan Åland"] = "AX", ["Kepulauan Aland"] = "AX", ["Azerbaijan"] = "AZ", ["Nagorno-Karabakh"] = "AZ", -- disputed ["Republik Nagorno-Karabakh"] = "AZ", -- disputed ["Bosnia dan Herzegovina"] = "BA", ["Bosnia"] = "BA", ["Barbados"] = "BB", ["Bangladesh"] = "BD", ["Belgia"] = "BE", ["Burkina Faso"] = "BF", ["Bulgaria"] = "BG", ["Bahrain"] = "BH", ["Burundi"] = "BI", ["Benin"] = "BJ", ["Saint Barthélemy"] = "BL", ["Saint Barthelemy"] = "BL", ["St. Barthélemy"] = "BL", ["St. Barthelemy"] = "BL", ["St Barthélemy"] = "BL", ["St Barthelemy"] = "BL", ["Bermuda"] = "BM", ["Brunei"] = "BN", ["Brunei Darussalam"] = "BN", ["Bolivia"] = "BO", ["Negara Plurinasional Bolivia"] = "BO", ["Bonaire, Sint Eustatius dan Saba"] = "BQ", ["Brasil"] = "BR", ["Bahama"] = "BS", ["The Bahamas"] = "BS", ["the Bahamas"] = "BS", ["Bhutan"] = "BT", ["Pulau Bouvet"] = "BV", ["Botswana"] = "BW", ["Belarusia"] = "BY", ["Belize"] = "BZ", ["Kanada"] = "CA", ["Kepulauan Cocos (Keeling)"] = "CC", ["Kepulauan Cocos"] = "CC", ["Kepulauan Keeling"] = "CC", ["Republik Demokratik Kongo"] = "CD", ["Republik Demokratik Congo"] = "CD", ["DR Congo"] = "CD", ["Congo-Kinshasa"] = "CD", ["DROC"] = "CD", ["DRC"] = "CD", ["Republik Afrika Tengah"] = "CF", ["CAR"] = "CF", ["Congo"] = "CG", ["Republik Kongo"] = "CG", ["Congo Republic"] = "CG", ["Congo-Brazzaville"] = "CG", ["Kongo Barat"] = "CG", ["Swiss"] = "CH", ["Côte d'Ivoire"] = "CI", ["Pantai Gading"] = "CI", ["Kepulauan Cook"] = "CK", ["Chili"] = "CL", ["Kamerun"] = "CM", ["China"] = "CN", ["RRT"] = "CN", ["Republik Rakyat Tiongkok"] = "CN", ["Kolombia"] = "CO", ["Kosta Rika"] = "CR", ["Kuba"] = "CU", ["Tanjung Verde"] = "CV", ["Curaçao"] = "CW", ["Curacao"] = "CW", ["Pulau Natal"] = "CX", ["Siprus"] = "CY", ["Republik Cyprus"] = "CY", ["Siprus Utara"] = "CY", -- disputed ["Republik Turki Siprus Utara"] = "CY", -- disputed ["Republik Ceko"] = "CZ", ["Jerman"] = "DE", ["Djibouti"] = "DJ", ["Denmark"] = "DK", ["Dominica"] = "DM", ["Dominican Republic"] = "DO", ["Algeria"] = "DZ", ["Ecuador"] = "EC", ["Estonia"] = "EE", ["Mesir"] = "EG", ["Sahara Barat"] = "EH", ["Eritrea"] = "ER", ["Spanyol"] = "ES", ["Ethiopia"] = "ET", ["Finlandia"] = "FI", ["Fiji"] = "FJ", ["Kepulauan Falkland (Malvinas)"] = "FK", ["Falklands"] = "FK", ["Kepulauan Falkland"] = "FK", ["Malvinas"] = "FK", ["Kepulauan Malvinas"] = "FK", ["Federasi Mikronesia"] = "FM", ["Mikronesia"] = "FM", ["Kepulauan Faroe"] = "FO", ["Perancis"] = "FR", ["Gabon"] = "GA", ["Britania Raya"] = "GB", ["the United Kingdom"] = "GB", ["U. K."] = "GB", ["U.K."] = "GB", ["the U.K."] = "GB", ["UK"] = "GB", ["the UK"] = "GB", ["Kerajaan Persatuan"] = "GB", ["Inggris"] = "GB-ENG", ["Skotlandia"] = "GB-SCT", ["Wales"] = "GB-WLS", ["Irlanda Utara"] = "GB-NIR", ["Inggris dan Wales"] = "GB-EAW", ["Grenada"] = "GD", ["Georgia"] = "GE", ["Ossetia Selatan"] = "GE", -- disputed ["Wilayah Tskhinvali"] = "GE", -- disputed ["Abkhazia"] = "GE-AB", -- disputed ["Republik Abkhazia"] = "GE-AB", -- disputed ["Guyana Perancis"] = "GF", ["Guernsey"] = "GG", ["Ghana"] = "GH", ["Gibraltar"] = "GI", ["Greenland"] = "GL", ["Gambia"] = "GM", ["Guinea"] = "GN", ["Guadeloupe"] = "GP", ["Guinea Ekuator"] = "GQ", ["Yunani"] = "GR", ["Kepulauan Georgia Selatan dan Sandwich Selatan"] = "GS", ["Guatemala"] = "GT", ["Guam"] = "GU", ["Guinea-Bissau"] = "GW", ["Guyana"] = "GY", ["Hong Kong"] = "HK", ["Pulau Heard dan Kepulauan McDonald"] = "HM", ["Kepulauan Heard dan McDonald"] = "HM", ["Honduras"] = "HN", ["Kroasia"] = "HR", ["Haiti"] = "HT", ["Hongaria"] = "HU", ["Indonesia"] = "ID", ["Irlanda"] = "IE", ["Israel"] = "IL", ["Pulau Man"] = "IM", ["India"] = "IN", ["Wilayah Samudra Hindia Britania"] = "IO", ["Irak"] = "IQ", ["Republik Islam Iran"] = "IR", ["Iran"] = "IR", ["Islandia"] = "IS", ["Italia"] = "IT", ["Jersey"] = "JE", ["Jamaika"] = "JM", ["Yordana"] = "JO", ["Jepang"] = "JP", ["Kenya"] = "KE", ["Kirgistan"] = "KG", ["Kamboja"] = "KH", ["Kiribati"] = "KI", ["Komoro"] = "KM", ["The Comoros"] = "KM", ["the Comoros"] = "KM", ["Saint Kitts dan Nevis"] = "KN", ["St. Kitts and Nevis"] = "KN", ["St Kitts and Nevis"] = "KN", ["Korea, Democratic People's Republic of"] = "KP", ["Republik Rakyat Demokratik Korea"] = "KP", ["Korea Utara"] = "KP", ["Korea, Republic of"] = "KR", ["Republik Korea"] = "KR", ["Korea Selatan"] = "KR", ["Kuwait"] = "KW", ["Kepulauan Cayman"] = "KY", ["The Cayman Islands"] = "KY", ["the Cayman Islands"] = "KY", ["Kazakhstan"] = "KZ", ["Republik Rakyat Demokratik Laos"] = "LA", ["Laos"] = "LA", ["Lao"] = "LA", ["Lebanon"] = "LB", ["Saint Lucia"] = "LC", ["St. Lucia"] = "LC", ["St Lucia"] = "LC", ["Liechtenstein"] = "LI", ["Sri Lanka"] = "LK", ["Liberia"] = "LR", ["Lesotho"] = "LS", ["Lithuania"] = "LT", ["Luksemburg"] = "LU", ["Latvia"] = "LV", ["Libyan Arab Jamahiriya"] = "LY", ["Libya"] = "LY", ["Maroko"] = "MA", ["Monako"] = "MC", ["Republik Moldova"] = "MD", ["Moldova"] = "MD", ["Transnistria"] = "MD", -- disputed ["Montenegro"] = "ME", ["Saint Martin (bagian Perancis)"] = "MF", ["Saint Martin (Perancis)"] = "MF", ["Kolektivitas Saint Martin"] = "MF", ["Collectivity of St. Martin"] = "MF", ["Collectivity of St Martin"] = "MF", ["Saint-Martin"] = "MF", ["Madagaskar"] = "MG", ["Kepulauan Marshall"] = "MH", ["Makedonia"] = "MK", ["Mali"] = "ML", ["Myanmar"] = "MM", ["Burma"] = "MM", ["Mongolia"] = "MN", ["Makau"] = "MO", ["Macao"] = "MO", ["Kepulauan Mariana Utara"] = "MP", ["Martinik"] = "MQ", ["Mauritania"] = "MR", ["Montserrat"] = "MS", ["Malta"] = "MT", ["Mauritius"] = "MU", ["Maladewa"] = "MV", ["Malawi"] = "MW", ["Meksiko"] = "MX", ["Malaysia"] = "MY", ["Mozambik"] = "MZ", ["Namibia"] = "NA", ["Kaledonia Baru"] = "NC", ["Niger"] = "NE", ["Pulau Norfolk"] = "NF", ["Nigeria"] = "NG", ["Nikaragua"] = "NI", ["Belanda"] = "NL", ["The Netherlands"] = "NL", ["the Netherlands"] = "NL", ["Norwegia"] = "NO", ["Nepal"] = "NP", ["Nauru"] = "NR", ["Niue"] = "NU", ["Selandia Baru"] = "NZ", ["Aotearoa"] = "NZ", ["Oman"] = "OM", ["Panama"] = "PA", ["Peru"] = "PE", ["Polinesia Perancis"] = "PF", ["Papua Nugini"] = "PG", ["Filipina"] = "PH", ["The Philippines"] = "PH", ["the Philippines"] = "PH", ["Pakistan"] = "PK", ["Polanda"] = "PL", ["Saint Pierre dan Miquelon"] = "PM", ["St. Pierre and Miquelon"] = "PM", ["St Pierre and Miquelon"] = "PM", ["Pitcairn"] = "PN", ["Puerto Riko"] = "PR", ["Negara Palestina"] = "PS", ["Palestina"] = "PS", ["Portugal"] = "PT", ["Palau"] = "PW", ["Paraguay"] = "PY", ["Qatar"] = "QA", ["Réunion"] = "RE", ["Reunion"] = "RE", ["Rumania"] = "RO", ["Serbia"] = "RS", ["Kosovo"] = "RS", -- disputed ["Federasi Rusia"] = "RU", ["Rusia"] = "RU", ["Rwanda"] = "RW", ["Arab Saudi"] = "SA", ["Kepualauan Solomon"] = "SB", ["Seychelles"] = "SC", ["Sudan"] = "SD", ["Swedia"] = "SE", ["Singapura"] = "SG", ["Saint Helena, Ascension dan Tristan da Cunha"] = "SH", ["Slovenia"] = "SI", ["Svalbard dan Jan Mayen"] = "SJ", ["Slovakia"] = "SK", ["Sierra Leone"] = "SL", ["San Marino"] = "SM", ["Senegal"] = "SN", ["Somalia"] = "SO", ["Somaliland"] = "SO", -- disputed ["Suriname"] = "SR", ["Sudan Selatan"] = "SS", ["São Tomé dan Príncipe"] = "ST", ["Sao Tome dan Principe"] = "ST", ["El Salvador"] = "SV", ["Sint Maarten"] = "SX", ["Saint Martin (Dutch part)"] = "SX", ["Saint Martin (Netherlands)"] = "SX", ["Republik Arab Suriah"] = "SY", ["Suriah"] = "SY", ["Eswatini"] = "SZ", ["Kepulauan Turks dan Caicos"] = "TC", ["Chad"] = "TD", ["Wilayah Selatan Perancis"] = "TF", ["Togo"] = "TG", ["Thailand"] = "TH", ["Tajikistan"] = "TJ", ["Tokelau"] = "TK", ["Timor-Leste"] = "TL", ["Timor Timur"] = "TL", ["Turkmenistan"] = "TM", ["Tunisia"] = "TN", ["Tonga"] = "TO", ["Turki"] = "TR", ["Trinidad dan Tobago"] = "TT", ["Tuvalu"] = "TV", ["Taiwan"] = "TW", ["Republik Tiongkok"] = "TW", ["Republik Persatuan Tanzania"] = "TZ", ["Tanzania"] = "TZ", ["Ukraina"] = "UA", ["The Ukraine"] = "UA", ["the Ukraine"] = "UA", ["Uganda"] = "UG", ["Kepulauan Terluar Kecil Amerika Serikat"] = "UM", ["Amerika Serikat"] = "US", ["the United States"] = "US", ["United States of America"] = "US", ["the United States of America"] = "US", ["U. S."] = "US", ["U.S."] = "US", ["the U.S."] = "US", ["US"] = "US", ["the US"] = "US", ["Uruguay"] = "UY", ["Uzbekistan"] = "UZ", ["Tahta Suci (Negara Kota Vatikan)"] = "VA", ["Tahta Suci"] = "VA", ["Negara Kota Vatikan"] = "VA", ["Kota Vatikan"] = "VA", ["Saint Vincent dan Grenadines"] = "VC", ["St. Vincent and the Grenadines"] = "VC", ["St Vincent and the Grenadines"] = "VC", ["Republik Bolivar Venezuela"] = "VE", ["Venezuela"] = "VE", ["Virgin Islands, British"] = "VG", ["Kepulauan Virgin Britania Raya"] = "VG", ["UK Virgin Islands"] = "VG", ["Virgin Islands of the United Kingdom"] = "VG", ["Virgin Islands of the UK"] = "VG", ["Virgin Islands, U. S."] = "VI", ["Virgin Islands, U.S."] = "VI", ["Virgin Islands, US"] = "VI", ["Kepulauan Virgin Amerika Serikat"] = "VI", ["American Virgin Islands"] = "VI", ["U. S. Virgin Islands"] = "VI", ["U.S. Virgin Islands"] = "VI", ["US Virgin Islands"] = "VI", ["Virgin Islands of the United States"] = "VI", ["Virgin Islands of the U.S."] = "VI", ["Virgin Islands of the US"] = "VI", ["Vietnam"] = "VN", ["Viet Nam"] = "VN", ["Vanuatu"] = "VU", ["Wallis dan Futuna"] = "WF", ["Samoa"] = "WS", ["Yaman"] = "YE", ["Mayotte"] = "YT", ["Afrika Selatan"] = "ZA", ["Zambia"] = "ZM", ["Zimbabwe"] = "ZW", ["ABW"] = "AW", ["AFG"] = "AF", ["AGO"] = "AO", ["AIA"] = "AI", ["ALA"] = "AX", ["ALB"] = "AL", ["AND"] = "AD", ["ARE"] = "AE", ["ARG"] = "AR", ["ARM"] = "AM", ["ASM"] = "AS", ["ATA"] = "AQ", ["ATF"] = "TF", ["ATG"] = "AG", ["AUS"] = "AU", ["AUT"] = "AT", ["AZE"] = "AZ", ["BDI"] = "BI", ["BEL"] = "BE", ["BEN"] = "BJ", ["BFA"] = "BF", ["BGD"] = "BD", ["BGR"] = "BG", ["BHR"] = "BH", ["BHS"] = "BS", ["BIH"] = "BA", ["BLM"] = "BL", ["BLR"] = "BY", ["BLZ"] = "BZ", ["BMU"] = "BM", ["BOL"] = "BO", ["BRA"] = "BR", ["BRB"] = "BB", ["BRN"] = "BN", ["BTN"] = "BT", ["BVT"] = "BV", ["BWA"] = "BW", ["CAF"] = "CF", ["CAN"] = "CA", ["CCK"] = "CC", ["CHE"] = "CH", ["CHL"] = "CL", ["CHN"] = "CN", ["CIV"] = "CI", ["CMR"] = "CM", ["COD"] = "CG", ["COG"] = "CG", ["COK"] = "CK", ["COL"] = "CO", ["COM"] = "KM", ["CRI"] = "CR", ["CUB"] = "CU", ["CUW"] = "CW", ["CXR"] = "CX", ["CYM"] = "KY", ["CYP"] = "CY", ["CZE"] = "CZ", ["DEU"] = "DE", ["DJI"] = "DJ", ["DMA"] = "DM", ["DNK"] = "DK", ["DOM"] = "DO", ["DZA"] = "DZ", ["ECU"] = "EC", ["EGY"] = "EG", ["ERI"] = "ER", ["ESH"] = "EH", ["ESP"] = "ES", ["EST"] = "EE", ["ETH"] = "ET", ["FIN"] = "FI", ["FJI"] = "FJ", ["FLK"] = "FK", ["FRA"] = "FR", ["FRO"] = "FO", ["FSM"] = "FM", ["GAB"] = "GA", ["GBR"] = "GB", ["GEO"] = "GE", ["GGY"] = "GG", ["GHA"] = "GH", ["GIB"] = "GI", ["GIN"] = "GN", ["GLP"] = "GP", ["GMB"] = "GM", ["GNB"] = "GW", ["GNQ"] = "GQ", ["GRC"] = "GR", ["GRD"] = "GD", ["GRL"] = "GL", ["GTM"] = "GT", ["GUF"] = "GF", ["GUM"] = "GU", ["GUY"] = "GY", ["HKG"] = "HK", ["HMD"] = "HM", ["HND"] = "HN", ["HRV"] = "HR", ["HTI"] = "HT", ["HUN"] = "HU", ["IDN"] = "ID", ["IMN"] = "IM", ["IND"] = "IN", ["IOT"] = "IO", ["IRL"] = "IE", ["IRN"] = "IR", ["IRQ"] = "IQ", ["ISL"] = "IS", ["ISR"] = "IL", ["ITA"] = "IT", ["JAM"] = "JM", ["JEY"] = "JE", ["JOR"] = "JO", ["JPN"] = "JP", ["KAZ"] = "KZ", ["KEN"] = "KE", ["KGZ"] = "KG", ["KHM"] = "KH", ["KIR"] = "KI", ["KNA"] = "KN", ["KWT"] = "KW", ["LAO"] = "LA", ["LBN"] = "LB", ["LBR"] = "LR", ["LBY"] = "LY", ["LCA"] = "LC", ["LIE"] = "LI", ["LKA"] = "LK", ["LSO"] = "LS", ["LTU"] = "LT", ["LUX"] = "LU", ["LVA"] = "LV", ["MAC"] = "MO", ["MAF"] = "MF", ["MAR"] = "MA", ["MCO"] = "MC", ["MDA"] = "MD", ["MDG"] = "MG", ["MDV"] = "MV", ["MEX"] = "MX", ["MHL"] = "MH", ["MKD"] = "MK", ["MLI"] = "ML", ["MLT"] = "MT", ["MMR"] = "MM", ["MNE"] = "ME", ["MNG"] = "MN", ["MNP"] = "MP", ["MOZ"] = "MZ", ["MRT"] = "MR", ["MSR"] = "MS", ["MTQ"] = "MQ", ["MUS"] = "MU", ["MWI"] = "MW", ["MYS"] = "MY", ["MYT"] = "YT", ["NAM"] = "NA", ["NCL"] = "NC", ["NER"] = "NE", ["NFK"] = "NF", ["NGA"] = "NG", ["NIC"] = "NI", ["NIU"] = "NU", ["NLD"] = "NL", ["NOR"] = "NO", ["NPL"] = "NP", ["NRU"] = "NR", ["NZL"] = "NZ", ["OMN"] = "OM", ["PAK"] = "PK", ["PAN"] = "PA", ["PCN"] = "PN", ["PER"] = "PE", ["PHL"] = "PH", ["PLW"] = "PW", ["PNG"] = "PG", ["POL"] = "PL", ["PRI"] = "PR", ["PRT"] = "PT", ["PRY"] = "PY", ["PSE"] = "PS", ["PYF"] = "PF", ["QAT"] = "QA", ["REU"] = "RE", ["ROU"] = "RO", ["RUS"] = "RU", ["RWA"] = "RW", ["SAU"] = "SA", ["SDN"] = "SD", ["SEN"] = "SN", ["SGP"] = "SG", ["SGS"] = "GS", ["SJM"] = "SJ", ["SLB"] = "SB", ["SLE"] = "SL", ["SLV"] = "SV", ["SMR"] = "SM", ["SOM"] = "SO", ["SPM"] = "PM", ["SRB"] = "RS", ["SSD"] = "SS", ["STP"] = "ST", ["SUR"] = "SR", ["SVK"] = "SK", ["SVN"] = "SI", ["SWE"] = "SE", ["SWZ"] = "SZ", ["SXM"] = "SX", ["SYC"] = "SC", ["SYR"] = "SY", ["TCA"] = "TC", ["TCD"] = "TD", ["TGO"] = "TG", ["THA"] = "TH", ["TJK"] = "TJ", ["TKL"] = "TK", ["TKM"] = "TM", ["TLS"] = "TL", ["TON"] = "TO", ["TTO"] = "TT", ["TUN"] = "TN", ["TUR"] = "TR", ["TUV"] = "TV", ["TWN"] = "TW", ["TZA"] = "TZ", ["UGA"] = "UG", ["UKR"] = "UA", ["UMI"] = "UM", ["URY"] = "UY", ["USA"] = "US", ["UZB"] = "UZ", ["VAT"] = "VA", ["VCT"] = "VC", ["VEN"] = "VE", ["VNM"] = "VN", ["VUT"] = "VU", ["WLF"] = "WF", ["WSM"] = "WS", ["YEM"] = "YE", ["ZAF"] = "ZA", ["ZMB"] = "ZM", ["ZWE"] = "ZW" } function p.main(frame) local country = mw.ustring.gsub(mw.ustring.toNFC(frame.args[1] or ''), '^%s*(.-)%s*$', '%1') local match1 = '' if country and country ~= '' then match1 = mw.ustring.match(country, "Bendera ([^\.]*)") or mw.ustring.match(country, "Flag of ([^\.]*)") or mw.ustring.match(country, "^[Tt]he %A*(%u[%a%(%)%.' %-]+)") or mw.ustring.match(country, "(%u[%a%(%)%.' %-]+)") or "" if (match1 == "Image") or (match1 == "File") then country = mw.ustring.gsub(country, match1, "") match1 = mw.ustring.match(country, "[%|%[](%u[%a%(%)%.' %-]+)") or "" end if mw.ustring.match(match1, "^%d*x?%d+px$") then country = mw.ustring.gsub(country, match1, "") match1 = mw.ustring.match(country, "%[(%u[%a%(%)%.' %-]+)") or "" end end local code = countries[match1] or countries[mw.ustring.gsub(match1, " %(.*%)$", "")] or countries[mw.ustring.gsub(match1, ",.*$", "")] or countries[mw.ustring.gsub(match1, " %(.*$", "")] if not code then if match1 ~= '' and mw.title.new('Template:ISO 3166 code ' .. match1).exists then code = frame:expandTemplate{ title = 'Template:ISO 3166 code ' .. match1 } else if frame.args.nocat and frame.args.nocat == 'true' then return '' end local ns = mw.title.getCurrentTitle().namespace if ns == 0 then return '[[Kategori:Halaman Wikipedia dengan negara yang tidak jelas]]' else return '[[Kategori:Halaman Wikipedia dengan negara yang tidak jelas|'.. frame:expandTemplate{ title = 'Namespace Greek' } ..']]' end end end local subdivision = mw.ustring.gsub(mw.ustring.toNFC(frame.args[2] or ''), '^%s*(.-)%s*$', '%1') if not subdivision or subdivision == '' then return code end local countrytables = { ["AD"] = true, ["AE"] = true, ["AF"] = true, ["AG"] = true, ["AL"] = true, ["AM"] = true, ["AO"] = true, ["AR"] = true, ["AT"] = true, ["AU"] = true, ["AZ"] = true, ["BA"] = true, ["BB"] = true, ["BD"] = true, ["BE"] = true, ["BF"] = true, ["BG"] = true, ["BH"] = true, ["BI"] = true, ["BJ"] = true, ["BN"] = true, ["BO"] = true, ["BQ"] = true, ["BR"] = true, ["BS"] = true, ["BT"] = true, ["BW"] = true, ["BY"] = true, ["BZ"] = true, ["CA"] = true, ["CD"] = true, ["CF"] = true, ["CG"] = true, ["CH"] = true, ["CI"] = true, ["CL"] = true, ["CM"] = true, ["CN"] = true, ["CO"] = true, ["CR"] = true, ["CU"] = true, ["CV"] = true, ["CY"] = true, ["CZ"] = true, ["DE"] = true, ["DJ"] = true, ["DK"] = true, ["DM"] = true, ["DO"] = true, ["DZ"] = true, ["EC"] = true, ["EE"] = true, ["EG"] = true, ["ER"] = true, ["ES"] = true, ["ET"] = true, ["FI"] = true, ["FJ"] = true, ["FM"] = true, ["FR"] = true, ["GA"] = true, ["GB"] = true, ["GD"] = true, ["GE"] = true, ["GH"] = true, ["GL"] = true, ["GM"] = true, ["GN"] = true, ["GQ"] = true, ["GR"] = true, ["GT"] = true, ["GW"] = true, ["GY"] = true, ["HN"] = true, ["HR"] = true, ["HT"] = true, ["HU"] = true, ["ID"] = true, ["IE"] = true, ["IL"] = true, ["IN"] = true, ["IQ"] = true, ["IR"] = true, ["IS"] = true, ["IT"] = true, ["JM"] = true, ["JO"] = true, ["JP"] = true, ["KE"] = true, ["KG"] = true, ["KH"] = true, ["KI"] = true, ["KM"] = true, ["KN"] = true, ["KP"] = true, ["KR"] = true, ["KW"] = true, ["KZ"] = true, ["LA"] = true, ["LB"] = true, ["LC"] = true, ["LI"] = true, ["LK"] = true, ["LR"] = true, ["LS"] = true, ["LT"] = true, ["LU"] = true, ["LV"] = true, ["LY"] = true, ["MA"] = true, ["MC"] = true, ["MD"] = true, ["ME"] = true, ["MG"] = true, ["MH"] = true, ["MK"] = true, ["ML"] = true, ["MM"] = true, ["MN"] = true, ["MR"] = true, ["MT"] = true, ["MU"] = true, ["MV"] = true, ["MW"] = true, ["MX"] = true, ["MY"] = true, ["MZ"] = true, ["NA"] = true, ["NE"] = true, ["NG"] = true, ["NI"] = true, ["NL"] = true, ["NO"] = true, ["NP"] = true, ["NR"] = true, ["NZ"] = true, ["OM"] = true, ["PA"] = true, ["PE"] = true, ["PG"] = true, ["PH"] = true, ["PK"] = true, ["PL"] = true, ["PS"] = true, ["PT"] = true, ["PW"] = true, ["PY"] = true, ["QA"] = true, ["RO"] = true, ["RS"] = true, ["RU"] = true, ["RW"] = true, ["SA"] = true, ["SB"] = true, ["SC"] = true, ["SD"] = true, ["SE"] = true, ["SG"] = true, ["SH"] = true, ["SI"] = true, ["SK"] = true, ["SL"] = true, ["SM"] = true, ["SN"] = true, ["SO"] = true, ["SR"] = true, ["SS"] = true, ["ST"] = true, ["SV"] = true, ["SY"] = true, ["SZ"] = true, ["TD"] = true, ["TG"] = true, ["TH"] = true, ["TJ"] = true, ["TL"] = true, ["TM"] = true, ["TN"] = true, ["TO"] = true, ["TR"] = true, ["TT"] = true, ["TV"] = true, ["TW"] = true, ["TZ"] = true, ["UA"] = true, ["UG"] = true, ["UM"] = true, ["US"] = true, ["UY"] = true, ["UZ"] = true, ["VC"] = true, ["VE"] = true, ["VN"] = true, ["VU"] = true, ["WF"] = true, ["WS"] = true, ["YE"] = true, ["ZA"] = true, ["ZM"] = true, ["ZW"] = true, } local match2 = mw.ustring.match(subdivision, "Bendera ([^\.]*)") or mw.ustring.match(subdivision, "Flag of ([^\.]*)") or mw.ustring.match(subdivision, "[Tt]he %A*([ǁ'‘ʻ]?%u[%aZ̧z̄'‘‘ %.%,%-]+[%a%.'%d]+)") or mw.ustring.match(subdivision, "([ǁ'‘ʻ]?%u[%aZ̧z̄'‘‘ %.%,%-]+[%a%.'%d]+)") or "" if (match2 == "Image") or (match2 == "File") then subdivision = mw.ustring.gsub(subdivision, match2, "") match2 = mw.ustring.match(subdivision, "[\|\[]([ǁ'‘ʻ]?%u[%aZ̧z̄'‘ʻ %.%,%-]+[%a%.'%d]+)") or "" end if mw.ustring.match(match2, "^%d*x?%d+px$") then subdivision = mw.ustring.gsub(subdivision, match2, "") match2 = mw.ustring.match2(subdivision, "%[([ǁ'‘ʻ]?%u[%aZ̧z̄'‘ʻ %.%,%-]+[%a%.'%d]+)") or "" end local code1 = mw.ustring.sub(code, 1, 2) if countrytables[code1] then local tmp = mw.loadData('Module:Country extract/' .. code1) local code2 = tmp[match2] or tmp[mw.ustring.gsub(match2, " %(.*%)$", "")] or tmp[mw.ustring.gsub(match2, ",.*$", "")] or tmp[mw.ustring.gsub(match2, " %(.*$", "")] if code2 then return code2 end local legacytemplate = 'Template:ISO 3166 code ' .. match1 if mw.title.new(legacytemplate).exists then tmp = nil for k, v in ipairs({ frame:expandTemplate{ title = legacytemplate, args = { mw.ustring.gsub(match2, " %(.*%)$", "") } }, frame:expandTemplate{ title = legacytemplate, args = { mw.ustring.gsub(match2, ",.*$", "") } }, frame:expandTemplate{ title = legacytemplate, args = { mw.ustring.gsub(match2, " %(.*$", "") } }, frame:expandTemplate{ title = legacytemplate, args = { match2 } } }) do if v ~= code and v ~= '' then tmp = v break end end if tmp then return tmp end end if frame.args.nocat and frame.args.nocat == 'true' then return code end local ns = mw.title.getCurrentTitle().namespace if ns == 0 then return code .. '[[Kategori:Halaman Wikipedia dengan negara atau subdivisi yang tidak jelas]]' else return code .. '[[Kategori:Halaman Wikipedia dengan negara atau subdivisi yang tidak jelas|'.. frame:expandTemplate{ title = 'Namespace Greek' } ..']]' end end return code end return p