Module:ISO 3166: Difference between revisions

Isonames option
(Sharing "strip" function)
(Isonames option)
Line 20:
then
return true
end
for _,tname in pairs(cdata["isonames"] or {}) do
if sqry==p.strip(tname) then
return true
end
end
for _,tname in pairs(cdata["altnames"] or {}) do
Line 27 ⟶ 32:
end
return false
end
 
local function isoname(data,code,lang)
if data[code]["isonames"] then
return data[code]["isonames"][lang or data[code]["defaultlang"] or data["defaultlang"] or "en"]
or data[code]["isonames"][data[code]["defaultlang"] or data["defaultlang"] or "en"]
or data[code]["isonames"]["en"]
or data[code]["isodisplayname"] or data[code]["isoname"]
else
return data[code]["isodisplayname"] or data[code]["isoname"]
end
end
 
Line 74 ⟶ 90:
--3166-1 alpha-2 code
if data[code1] then
return (args.isoname and (data[code1]["isodisplayname"] or data[code1]["isoname"]args.lang)
and or isoname(data[code1]["displayname"] or data[,code1]["name"],args.lang)
or (data[code1]["displayname"] or data[code1]["name"])
else
return cerror(eot,"Unknown ISO 3166-1 code "..code1,code1)
Line 88 ⟶ 105:
end
if sdata[code2] then
return (args.isoname and (sdata[code2]["isodisplayname"] or sdata[code2]["isoname"]args.lang)
and or isoname(sdata[code2]["displayname"] or sdata[,code2]["name"],args.lang)
or (sdata[code2]["displayname"] or sdata[code2]["name"])
else
for _,_ in pairs(sdata) do
Line 102 ⟶ 120:
for alpha2,cdata in pairs(data) do
if cdata[codetype]==code1 then
return (args.isoname and (cdata["isodisplayname"] or cdata["isoname"]args.lang)
and or isoname(cdata["displayname"] or cdata["name"]data,alpha2,args.lang)
or (cdata["displayname"] or cdata["name"])
end
end
Anonymous user