Hopp til innhold

Modul:Land

Fra Wikipedia, den frie encyklopedi

local p = {}

local getArgs = require('Modul:Arguments').getArgs
local lang = mw.getContentLanguage()
function p.ISO( frame )
 
 	local area_name = mw.text.trim(lang:lcfirst(frame.args[1]))
	local firstLetter = string.sub(area_name, 1, 1)
	local subdata = "Modul:Land/alfa2"
	local ISO2;
	if string.find(firstLetter, "^[a-c]") then
			ISO2 = require(subdata .. "/a-c")
		elseif string.find(firstLetter, "^[d-f]") then
			ISO2 = require(subdata .. "/d-f")
		elseif string.find(firstLetter, "^[g-i]") then
			ISO2 = require(subdata .. "/g-i")
		elseif string.find(firstLetter, "^[j-l]") then
			ISO2 = require(subdata .. "/j-l")
		elseif string.find(firstLetter, "^[m-o]") then
			ISO2 = require(subdata .. "/m-o")
		elseif string.find(firstLetter, "^[p-r]") then
			ISO2 = require(subdata .. "/p-r")
		elseif string.find(firstLetter, "^[s-u]") then
			ISO2 = require(subdata .. "/s-u")
		elseif string.find(firstLetter, "^[v-z]") then
			ISO2 = require(subdata .. "/v-z")
		else
			ISO2 =  require(subdata .. "/andre") -- hvis angitt område ikke begynner på bokstavene A-Z, havner de her
	end
	
	local ISO2name = ISO2[frame.args[1]]
	if ISO2name == nil then
		ISO2name = ""
	else
		ISO2name = ISO2[frame.args[1]]
	end
	
	-- sjekker om området er angitt vha en ISO 3166-1 alfa-3-kode eller en annen trebokstavskode (feks FIFA, og IOC)
	-- hvis det er det, og ISO-koden er registrert, finner den automatisk det fulle navnet
	local ISO3 = require("Modul:Land/alfa3")
	local ISO3name = ISO3[frame.args[1]]
	if ISO3name == nil then
		ISO3name = ""
	else
		ISO3name = ISO3[frame.args[1]]
	end
	
	-- sjekker om området er angitt vha en numerisk ISO 3166-1-kode
	-- hvis det er det, og ISO-koden er registrert, finner den automatisk det fulle navnet
	local ISOnum = require("Modul:Land/num")
	local ISOnumname = ISOnum[frame.args[1]]
	if ISOnumname == nil then
		ISOnumname = ""
	else
		ISOnumname = ISOnum[frame.args[1]]
	end
	
	ISOname = ISO2name .. ISO3name .. ISOnumname
	return ISOname
end

return p