Module:ISO 3166: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(Sharing "strip" function) |
(Isonames option) |
||
Line 20: | Line 20: | ||
then |
then |
||
return true |
return true |
||
end |
|||
for _,tname in pairs(cdata["isonames"] or {}) do |
|||
if sqry==p.strip(tname) then |
|||
return true |
|||
end |
|||
end |
end |
||
for _,tname in pairs(cdata["altnames"] or {}) do |
for _,tname in pairs(cdata["altnames"] or {}) do |
||
Line 27: | Line 32: | ||
end |
end |
||
return false |
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 |
end |
||
Line 74: | Line 90: | ||
--3166-1 alpha-2 code |
--3166-1 alpha-2 code |
||
if data[code1] then |
if data[code1] then |
||
return args.isoname |
return (args.isoname or args.lang) |
||
and isoname(data,code1,args.lang) |
|||
or (data[code1]["displayname"] or data[code1]["name"]) |
|||
else |
else |
||
return cerror(eot,"Unknown ISO 3166-1 code "..code1,code1) |
return cerror(eot,"Unknown ISO 3166-1 code "..code1,code1) |
||
Line 88: | Line 105: | ||
end |
end |
||
if sdata[code2] then |
if sdata[code2] then |
||
return args.isoname |
return (args.isoname or args.lang) |
||
and isoname(sdata,code2,args.lang) |
|||
or (sdata[code2]["displayname"] or sdata[code2]["name"]) |
|||
else |
else |
||
for _,_ in pairs(sdata) do |
for _,_ in pairs(sdata) do |
||
Line 102: | Line 120: | ||
for alpha2,cdata in pairs(data) do |
for alpha2,cdata in pairs(data) do |
||
if cdata[codetype]==code1 then |
if cdata[codetype]==code1 then |
||
return args.isoname |
return (args.isoname or args.lang) |
||
and isoname(data,alpha2,args.lang) |
|||
or (cdata["displayname"] or cdata["name"]) |
|||
end |
end |
||
end |
end |