Module:ISO 3166/data: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
mNo edit summary |
||
Line 13: | Line 13: | ||
local out = {"* [[Module:ISO 3166/data/National|National]]"} |
local out = {"* [[Module:ISO 3166/data/National|National]]"} |
||
for _,cdata in ipairs(codes) do |
for _,cdata in ipairs(codes) do |
||
out[#out+1] = "* [[Module:ISO 3166/data/"..cdata[1].."|"..cdata[1].." |
out[#out+1] = "* [[Module:ISO 3166/data/"..cdata[1].."|"..cdata[1].."("..cdata[2]..")]]" |
||
end |
end |
||
return table.concat(out,"\n") |
return table.concat(out,"\n") |
Revision as of 12:34, 24 October 2017
The subpages of this module contain the ISO 3166 codes used by Module:ISO 3166. This module itself is for maintenance/internal use and should not be used in articles.
Subpages
- National
- AD(Andorra)
- AE(United Arab Emirates)
- AF(Afghanistan)
- AG(Antigua and Barbuda)
- AI(Anguilla)
- AL(Albania)
- AM(Armenia)
- AO(Angola)
- AQ(Antarctica)
- AR(Argentina)
- AS(American Samoa)
- AT(Austria)
- AU(Australia)
- AW(Aruba)
- AX(Åland Islands)
- AZ(Azerbaijan)
- BA(Bosnia and Herzegovina)
- BB(Barbados)
- BD(Bangladesh)
- BE(Belgium)
- BF(Burkina Faso)
- BG(Bulgaria)
- BH(Bahrain)
- BI(Burundi)
- BJ(Benin)
- BL(Saint Barthélemy)
- BM(Bermuda)
- BN(Brunei)
- BO(Bolivia)
- BQ(Caribbean Netherlands)
- BR(Brazil)
- BS(Bahamas)
- BT(Bhutan)
- BV(Bouvet Island)
- BW(Botswana)
- BY(Belarus)
- BZ(Belize)
- CA(Canada)
- CC(Cocos (Keeling) Islands)
- CD(Democratic Republic of the Congo)
- CF(Central African Republic)
- CG(Republic of the Congo)
- CH(Switzerland)
- CI(Côte d'Ivoire)
- CK(Cook Islands)
- CL(Chile)
- CM(Cameroon)
- CN(China)
- CO(Colombia)
- CR(Costa Rica)
- CU(Cuba)
- CV(Cabo Verde)
- CW(Curaçao)
- CX(Christmas Island)
- CY(Cyprus)
- CZ(Czech Republic)
- DE(Germany)
- DJ(Djibouti)
- DK(Denmark)
- DM(Dominica)
- DO(Dominican Republic)
- DZ(Algeria)
- EC(Ecuador)
- EE(Estonia)
- EG(Egypt)
- EH(Western Sahara)
- ER(Eritrea)
- ES(Spain)
- ET(Ethiopia)
- FI(Finland)
- FJ(Fiji)
- FK(Falkland Islands)
- FM(Federated States of Micronesia)
- FO(Faroe Islands)
- FR(France)
- GA(Gabon)
- GB(United Kingdom)
- GB-EAW(England and Wales)
- GB-ENG(England)
- GB-NIR(Northern Ireland)
- GB-SCT(Scotland)
- GB-WLS(Wales)
- GD(Grenada)
- GE(Georgia)
- GF(French Guiana)
- GG(Guernsey)
- GH(Ghana)
- GI(Gibraltar)
- GL(Greenland)
- GM(Gambia)
- GN(Guinea)
- GP(Guadeloupe)
- GQ(Equatorial Guinea)
- GR(Greece)
- GS(South Georgia and the South Sandwich Islands)
- GT(Guatemala)
- GU(Guam)
- GW(Guinea-Bissau)
- GY(Guyana)
- HK(Hong Kong)
- HM(Heard Island and McDonald Islands)
- HN(Honduras)
- HR(Croatia)
- HT(Haiti)
- HU(Hungary)
- ID(Indonesia)
- IE(Ireland)
- IL(Israel)
- IM(Isle of Man)
- IN(India)
- IO(British Indian Ocean Territory)
- IQ(Iraq)
- IR(Iran)
- IS(Iceland)
- IT(Italy)
- JE(Jersey)
- JM(Jamaica)
- JO(Jordan)
- JP(Japan)
- KE(Kenya)
- KG(Kyrgyzstan)
- KH(Cambodia)
- KI(Kiribati)
- KM(Comoros)
- KN(Saint Kitts and Nevis)
- KP(North Korea)
- KR(South Korea)
- KW(Kuwait)
- KY(Cayman Islands)
- KZ(Kazakhstan)
- LA(Laos)
- LB(Lebanon)
- LC(Saint Lucia)
- LI(Liechtenstein)
- LK(Sri Lanka)
- LR(Liberia)
- LS(Lesotho)
- LT(Lithuania)
- LU(Luxembourg)
- LV(Latvia)
- LY(Libya)
- MA(Morocco)
- MC(Monaco)
- MD(Moldova)
- ME(Montenegro)
- MF(Saint-Martin)
- MG(Madagascar)
- MH(Marshall Islands)
- MK(North Macedonia)
- ML(Mali)
- MM(Myanmar)
- MN(Mongolia)
- MO(Macau)
- MP(Northern Mariana Islands)
- MQ(Martinique)
- MR(Mauritania)
- MS(Montserrat)
- MT(Malta)
- MU(Mauritius)
- MV(Maldives)
- MW(Malawi)
- MX(Mexico)
- MY(Malaysia)
- MZ(Mozambique)
- NA(Namibia)
- NC(New Caledonia)
- NE(Niger)
- NF(Norfolk Island)
- NG(Nigeria)
- NI(Nicaragua)
- NL(Netherlands)
- NO(Norway)
- NP(Nepal)
- NR(Nauru)
- NU(Niue)
- NZ(New Zealand)
- OM(Oman)
- PA(Panama)
- PE(Peru)
- PF(French Polynesia)
- PG(Papua New Guinea)
- PH(Philippines)
- PK(Pakistan)
- PL(Poland)
- PM(Saint Pierre and Miquelon)
- PN(Pitcairn)
- PR(Puerto Rico)
- PS(Palestine)
- PT(Portugal)
- PW(Palau)
- PY(Paraguay)
- QA(Qatar)
- RE(Réunion)
- RO(Romania)
- RS(Serbia)
- RU(Russia)
- RW(Rwanda)
- SA(Saudi Arabia)
- SB(Solomon Islands)
- SC(Seychelles)
- SD(Sudan)
- SE(Sweden)
- SG(Singapore)
- SH(Saint Helena, Ascension and Tristan da Cunha)
- SI(Slovenia)
- SJ(Svalbard and Jan Mayen)
- SK(Slovakia)
- SL(Sierra Leone)
- SM(San Marino)
- SN(Senegal)
- SO(Somalia)
- SR(Suriname)
- SS(South Sudan)
- ST(São Tomé and Príncipe)
- SV(El Salvador)
- SX(Sint Maarten)
- SY(Syria)
- SZ(Eswatini)
- TC(Turks and Caicos Islands)
- TD(Chad)
- TF(French Southern and Antarctic Lands)
- TG(Togo)
- TH(Thailand)
- TJ(Tajikistan)
- TK(Tokelau)
- TL(Timor-Leste)
- TM(Turkmenistan)
- TN(Tunisia)
- TO(Tonga)
- TR(Turkey)
- TT(Trinidad and Tobago)
- TV(Tuvalu)
- TW(Taiwan)
- TZ(Tanzania)
- UA(Ukraine)
- UG(Uganda)
- UM(United States Minor Outlying Islands)
- US(United States)
- UY(Uruguay)
- UZ(Uzbekistan)
- VA(Vatican City)
- VC(Saint Vincent and the Grenadines)
- VE(Venezuela)
- VG(British Virgin Islands)
- VI(United States Virgin Islands)
- VN(Vietnam)
- VU(Vanuatu)
- WF(Wallis and Futuna)
- WS(Samoa)
- XK(Kosovo)
- YE(Yemen)
- YT(Mayotte)
- ZA(South Africa)
- ZM(Zambia)
- ZW(Zimbabwe)
Problem reports
- Duplicate name: "000" in /National (exact)
- Duplicate name: "000" in /National (exact)
- Duplicate name: "000" in /National (exact)
- Duplicate name: "Saint-Martin" in /National (non-exact)
- Duplicate name: "Saint Martin (French part)" in /National (non-exact)
- Duplicate name: "Saint–Martin" in /National (non-exact)
- Duplicate name: "St Martin" in /National (non-exact)
- Duplicate name: "St Martin (French part)" in /National (non-exact)
- Duplicate name: "000" in /National (exact)
- Duplicate name: "Province of Murcia" in /ES (non-exact)
- Duplicate name: "Province of Navarre" in /ES (non-exact)
- Duplicate name: "Illes Balears" in /ES (exact)
- Duplicate name: "Province of Asturias" in /ES (non-exact)
- Duplicate name: "Province of Cantabria" in /ES (non-exact)
- Duplicate name: "La Rioja Province" in /ES (non-exact)
- Unknown field "isodisplaynames" in /KG
- Duplicate name: "Viangchan (prefecture)" in /LA (non-exact)
- Duplicate name: "Sofia (city)" in /BG (non-exact)
- Duplicate name: "Sofia (stolitsa)" in /BG (non-exact)
- Duplicate name: "Barisal" in /BD (non-exact)
- Duplicate name: "Barishal" in /BD (non-exact)
- Duplicate name: "Dhaka" in /BD (non-exact)
- Duplicate name: "Khulna" in /BD (non-exact)
- Duplicate name: "Rangpur" in /BD (non-exact)
- Duplicate name: "Sylhet (district)" in /BD (non-exact)
- Duplicate name: "Rajshahi (district)" in /BD (non-exact)
- Duplicate name: "Mymensingh" in /BD (exact)
- Duplicate name: "Chittagong (district)" in /BD (non-exact)
- Duplicate name: "Chattogram (district)" in /BD (non-exact)
- Duplicate name: "Papua (region)" in /ID (non-exact)
- Duplicate name: "Maluku (region)" in /ID (non-exact)
- Duplicate name: "Võru" in /EE (exact)
- Duplicate name: "Viljandi" in /EE (exact)
- Duplicate name: "Tartu" in /EE (exact)
- Duplicate name: "Hiiumaa" in /EE (exact)
- Duplicate name: "Saaremaa" in /EE (exact)
- Duplicate name: "Rakvere" in /EE (exact)
- Duplicate name: "Lima" in /PE (non-exact)
- Duplicate name: "St. Peter" in /BB (non-exact)
- Duplicate name: "St. Thomas" in /BB (non-exact)
- Duplicate name: "St. Philip" in /BB (non-exact)
- Duplicate name: "St. Lucy" in /BB (non-exact)
- Duplicate name: "St. Joseph" in /BB (non-exact)
- Duplicate name: "St. John" in /BB (non-exact)
- Duplicate name: "St. James" in /BB (non-exact)
- Duplicate name: "St. Andrew" in /BB (non-exact)
- Duplicate name: "St. George" in /BB (non-exact)
- Duplicate name: "Maputo Province" in /MZ (non-exact)
- Duplicate name: "Olomouc" in /CZ (non-exact)
- Duplicate name: "Karlovy Vary" in /CZ (non-exact)
- Duplicate name: "Zlín (district)" in /CZ (non-exact)
- Duplicate name: "Ústí nad Labem (district)" in /CZ (non-exact)
- Duplicate name: "Liberec (district)" in /CZ (non-exact)
- Duplicate name: "Pardubice (district)" in /CZ (non-exact)
- Duplicate name: "Hradec Králové (district)" in /CZ (non-exact)
- Duplicate name: "Lənkəran" in /AZ (non-exact)
- Duplicate name: "Nakhchivan (city)" in /AZ (non-exact)
- Duplicate name: "Naxçıvan (city)" in /AZ (non-exact)
- Duplicate name: "Yevlax" in /AZ (non-exact)
- Duplicate name: "Şəki (rayon)" in /AZ (non-exact)
local p = {}
local data = mw.loadData("Module:ISO 3166/data/National")
function p.list(frame)
--Returns a list of subpages and associated countries
local codes = {}
for alpha2,cdata in pairs(data) do
codes[#codes+1] = {alpha2,cdata.name}
end
table.sort(codes, function(t1,t2) return t1[1]<t2[1] end)
local out = {"* [[Module:ISO 3166/data/National|National]]"}
for _,cdata in ipairs(codes) do
out[#out+1] = "* [[Module:ISO 3166/data/"..cdata[1].."|"..cdata[1].."("..cdata[2]..")]]"
end
return table.concat(out,"\n")
end
function p.subpagetest(frame)
--Returns a table row indicating the existence of data pages (see [[User:SiBr4/sandbox#Data subpage test]])
local function cell(code,d)
local sdata
if not data[code] then
return "" --Unassigned or reserved 3166-1 code
else
local sname = "Module:ISO 3166/data/"..code
if not (d or mw.title.new(sname).exists) then
return "title=\""..data[code].name.."\" style=\"background:#fee;\"|[["..sname.."|-]]" --Data subpage doesn't exist
else
sdata = mw.loadData(sname)
end
end
for _,_ in pairs(sdata) do
return "title=\""..data[code].name.."\" style=\"background:#efe;\"|n" --Non-empty 3166-2 entry
end
return "title=\""..data[code].name.."\" style=\"background:#eef;\"|e" --Empty 3166-2 entry
end
local letter = frame.args[1]
local out = "|-\n!"..letter.."*"
for i = 65, 90 do
out = out.."\n|"..cell(letter..string.char(i),frame.args[2])
end
return out
end
function p.testall(frame)
--Search across all subpages for problems with names
local strip = require("Module:ISO 3166").strip
local function subpage(p)
return "[[Module:ISO 3166/data/"..p.."|/"..p.."]]"
end
local function testname(names,inames,dnames,page,name)
if name then
if type(name)~="string" then
dnames[#dnames+1] = "*Unexpected non-string value in "..subpage(page)
else
sname = strip(name)
if not names[sname] then
inames[sname] = name
else
dnames[#dnames+1] = "*Duplicate name: \""..name.."\" in "..subpage(page)
..(names[sname]==name and " (exact)" or " (non-exact)")
end
end
end
return names, inames, dnames
end
local function testnametable(names,inames,dnames,page,tab)
if tab then
if type(tab)~="table" then
dnames[#dnames+1] = "*Unexpected non-table value in "..subpage(page)
else
for _,name in pairs(tab) do
names, inames, dnames = testname(names,inames,dnames,page,name)
end
end
end
return names, inames, dnames
end
local fields = {name=1,isoname=1,isonames=1,displayname=1,isodisplayname=1,altnames=1,lang=1,defaultlang=1,alpha3=1,numeric=1,nocode=1}
local function testentry(names,dnames,page,code,edata)
for k,_ in pairs(edata) do
if not fields[k] then
dnames[#dnames+1] = "*Unknown field \""..k.."\" in "..subpage(page)
end
end
local inames = {}
names, inames, dnames = testname(names,inames,dnames,page,edata.name)
names, inames, dnames = testname(names,inames,dnames,page,edata.isoname)
names, inames, dnames = testnametable(names,inames,dnames,page,edata.isonames)
names, inames, dnames = testnametable(names,inames,dnames,page,edata.altnames)
if not edata.nocode then
names, inames, dnames = testname(names,inames,dnames,page,code)
end
if page=="National" then
names, inames, dnames = testname(names,inames,dnames,page,edata.alpha3)
names, inames, dnames = testname(names,inames,dnames,page,edata.numeric)
end
for k,v in pairs(inames) do names[k]=v end
return names, dnames
end
local dnames = {}
--ISO 3166-1
local names = {}
for code,cdata in pairs(data) do
names, dnames = testentry(names,dnames,"National",code,cdata)
end
--ISO 3166-2
for code,_ in pairs(data) do
names = {}
local spage = "Module:ISO 3166/data/"..code
if mw.title.new(spage).exists then
local sdata = mw.loadData(spage)
for scode,cdata in pairs(sdata) do
if type(cdata)=="table" then
names, dnames = testentry(names,dnames,code,scode,cdata)
end
end
end
end
if #dnames>0 then
return table.concat(dnames,"\n")
else
return "None"
end
end
return p