Ugrás a tartalomhoz

„Modul:Country alias” változatai közötti eltérés

A Wikipédiából, a szabad enciklopédiából
[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló
Nincs szerkesztési összefoglaló
Címke: Visszaállítva
214. sor: 214. sor:
return getFlag(args, country) or quit('A(z) ' .. alias.. ' kódhoz nincs zászló definiálva')
return getFlag(args, country) or quit('A(z) ' .. alias.. ' kódhoz nincs zászló definiálva')
else
else
return country.name
fullName = country.name
if country.orszagnevelo == nil then
orszagnevelo = ''
else
orszagnevelo = country.orszagnevelo .. ' '
end
if country.adjective == nil then
return quit('A(z) ' .. alias.. ' kódhoz nincs melléknév definiálva')
else
adjective = country.adjective
end
end
end
end
end
372. sor: 382. sor:
games = games2, -- games egyenlő típus kibővítve az "olimpiai játékok" szöveggel
games = games2, -- games egyenlő típus kibővítve az "olimpiai játékok" szöveggel
}
}
local fullName = countryAlias(parms) -- a fullName paraméterbe az ország nevének behívása
local fullName -- a fullName paraméterbe az ország nevének behívása
local orszagnevelo = countryNevelo(parms) -- az orszagnevelo paraméterbe az ország névelőjének behívása
local orszagnevelo -- = countryNevelo(parms) -- az orszagnevelo paraméterbe az ország névelőjének behívása
parms.flag = true -- átváltás az ország zászlójának behívására
parms.flag = true -- átváltás az ország zászlójának behívására
local dispName = stripToNil(args.name)
local dispName = stripToNil(args.name)
482. sor: 492. sor:
-- local dispName = countryDispName(parms) -- a dispName paraméterbe az ország megjelenítési nevének behívása, ha van
-- local dispName = countryDispName(parms) -- a dispName paraméterbe az ország megjelenítési nevének behívása, ha van
local dispName = stripToNil(args.name) -- a 'name' paraméterrel felülírható a megjelenített név
local dispName = stripToNil(args.name) -- a 'name' paraméterrel felülírható a megjelenített név
local fullName = countryAlias(parms) -- a fullName paraméterbe az ország nevének behívása a '/data' 'name' paraméteréből
local fullName -- = countryAlias(parms) -- a fullName paraméterbe az ország nevének behívása a '/data' 'name' paraméteréből
local orszagnevelo = countryNevelo(parms) -- az orszagnevelo paraméterbe az ország névelőjének behívása a '/data' 'orszagnevelo' paraméteréből
local orszagnevelo -- = countryNevelo(parms) -- az orszagnevelo paraméterbe az ország névelőjének behívása a '/data' 'orszagnevelo' paraméteréből
local adjective = countryAdjective(parms) -- az adjective paraméterbe az ország melléknevének behívása a '/data' 'adjective' paraméteréből
local adjective -- = countryAdjective(parms) -- az adjective paraméterbe az ország melléknevének behívása a '/data' 'adjective' paraméteréből
countryAlias(parms) -- a fullName paraméterbe az ország nevének behívás
--szócikk nevének definiálása
--szócikk nevének definiálása
local szocikk = ''
local szocikk = ''

A lap 2024. augusztus 22., 02:44-kori változata

Country alias[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

-- Ez a modul a Nemzetközi Olimpiai Bizottság (NOB) és más nemzetközi sportszervezetek által használt országkódok alapján
-- megjeleníti az ország nevét vagy a zászló nevét.

--[[
A következő országkódokat több ország esetében is használják:
    ANG (workaround: added ANG_CGF for use with Commonwealth Games)

A következő nevek sportáganként/évenként eltérő nevekkel/zászlókkal rendelkeznek
    Nagy-Britannia/Egyesült Királyság   GBR, GBR_WCA (latter added to add text in parens)
    Hongkong                            HKG, HKG_CGF (latter added to keep colonial flag)
    Egyéni olimpiai versenyzők          IOA, IOA_2000 (2012-től Független résztvevők)
    Orosz Olimpiai Bizottság versenyzői	OAR (2018), ROC_2020 (2020 nyári, 2022 téli)
    MKD								 Macedónia, 2019-től Észak-Macedónia
    SWZ                              Swaziland became Eswatini after the 2018 Commonwealth Games
    ART								 No "Athlete" before Refugee Team @ 2017 AIMAG

A következő országoknak több kódja van a CGF/IOC/FINA/FINA/IAAF/stb. eltérések miatt, vagy a használatuk elavult.
    Anguilla                         AIA, ANG_CGF
    Antigua és Barbuda               ANT, ATG
    Bahrein                          BHN, BHR, BRN
    Curaçao                          CUR, CUW
    Kelet-Timor						 TLS, TMP
    Feröer                           FAR, FRO
    Guernsey                         GGY, GUE
    Irán                             IRI, IRN
    Írország                         IRE, IRL - IRE is *only* for CGF apps
    Jersey                           JER, JEY
    Libanon                          LBN, LIB
    Montserrat                       MNT, MSR
    Nicaragua                        NCA, NIC
    Norfolk-szigetek                 NFI, NFK
    Omán                             OMA, OMN
    Menekültek olimpiai csapata      ROA, ROT, EOR
    Románia                          ROM, ROU
    Saint Helena                     SHE, SHN
    Saint Vincent és a Grenadine-szigetek SVG, VIN
    Sarawak                          SAR, SWK
    Szingapúr                        SGP, SIN
    Dél-Afrika                       RSA, SAF
    Tonga                            TGA, TON
    Trinidad és Tobago               TRI, TTO
    Turks- és Caicos-szigetek        TCA, TCI, TKS

Oddity that needs to be revisited
    French Polynesia                 PYF, TAH - TAH has been converted to Tahiti per SILENCE
]]

local function stripToNil(text)
	-- If text is a string, return its trimmed content, or nil if empty.
	-- Otherwise return text (which may, for example, be nil).
	if type(text) == 'string' then
		text = text:match('(%S.-)%s*$')
	end
	return text
end

local function yes(parameter)
	-- Return true if parameter should be interpreted as "yes".
	return ({ y = true, yes = true, on = true, [true] = true })[parameter]
end

local function getAlias(args)
	-- Return alias parameter, possibly modified for exceptional cases.
	local alias = stripToNil(args.alias)
	local games = stripToNil(args.games)
	local year = tonumber(args.year)
	local fullName = stripToNil(args.fullName)
	-- eltérő országnevek
	if alias == 'ANG' then
		if games == 'Commonwealth Games' then
			alias = 'ANG_CGF'
		end
	elseif alias == 'ART' then
		if games == 'Asian Indoor and Martial Arts Games' then
			alias = 'ART_AIMAG'
		end
	elseif alias == 'GBR' then
		if games == 'World Championships in Athletics' or games == 'World Athletics Championships' or games == 'European Athletics Championships' then
			alias = 'GBR_WCA'
		elseif games == 'European Championships' then
			if year == 2018 then
				alias = 'GBR_WCA'
			end
		end
	elseif alias == 'HKG' then
		if games == 'Commonwealth Games' then
			alias = 'HKG_CGF'
		end
	elseif alias == 'IOA' then -- Független résztvevők elnevezése a 2000. évi nyári olimpián: Egyéni olimpiai versenyzők
		if year == 2000 then
			alias = 'IOA_2000'
		end
	elseif alias == 'MAL' then -- Malajzia 1963 előtt: Malájföld
		if year and year > 1963 then
			alias = 'MAS'
		end
	elseif alias == 'SWZ' then
		if fullName then
			if year and year >= 2018 and fullName ~= '2018 Commonwealth Games' then
				alias = 'SWZ_YO2018'
			end
		elseif year and year >= 2018 and games ~= 'Commonwealth Games' then
			alias = 'SWZ_YO2018'
		end
	elseif alias == 'GHA' then -- Ghána 1952-ben: Aranypart
		if year and year == 1952 then
			alias = 'GCO'
		end
	elseif alias == 'TAN' then -- Tanzánia 1964-ben: Tanganyika
		if year and year == 1964 then
			alias = 'TAG'
		end
	elseif alias == 'GUY' then -- Guyana 1966 előtt: Brit Guyana
		if year and year <= 1966 then
			alias = 'BGU'
		end
	elseif alias == 'ANT' then -- Antigua és Barbuda 1976-ban: Antigua
		if year and year == 1976 then
			alias = 'ANT_1976'
		end
	elseif alias == 'SAM' then -- Szamoa 1997 előtt: Nyugat-Szamoa
		if year and year >= 1997 then
			alias = 'WSM'
		end
	elseif alias == 'MKD' then -- Észak-Macedónia 2019 előtt: Macedónia
		if year and year >= 2019 then
			alias = 'MKD_2019'
		end
	elseif alias == 'VNM' then
		if year and year <= 1954 then
			alias = 'VIE'
		end
	elseif alias == 'ROC' then
		if year and ( year==1964 or year==1968 ) and games=='nyári olimpiai játékok' then
			alias = 'ROC_Tajvan'
		elseif year and year==2020 and games=='nyári olimpiai játékok' then -- 2020, 2022 Az Orosz Olimpiai Bizottság versenyzői
			alias = 'ROC_2020'
		elseif year and year==2022 and games=='téli olimpiai játékok' then
			alias = 'ROC_2020'
		elseif year and year==2020 and games=='nyári olimpiai játékok' then
			alias = 'RPC'
		end
	elseif alias == 'YUG' or alias == 'SCG' then -- Jugoszlávia 1992 és 2004 között
		if year and year > 1992 and year < 2004 and games ~= 'nyári paralimpiai játékok' then
			alias = 'FR_YUG'
		end
	elseif alias == 'ZAI' or alias == 'COD' then
		if year and year < 1971 then
			alias = 'COK_COD'
		elseif year and year <= 1996 then -- A Kongói Demokratikus Köztársaság 1996 előtt: Zaire
			alias = 'ZAI'
		else
			alias = 'COD'
		end
	elseif alias == 'COK' then
		if year and year == 1968 then
			alias = 'COK_COD'
		else
			alias = 'COK'
		end
	elseif alias == 'CGO' then -- Kongói Köztársaság 1969 és 1991 között: Kongói Népköztársaság
		if year and year >= 1969 and year <= 1991 then
			alias = 'CGO_1969'
		end
	end
	return alias
end

local function getFlag(args, country)
	-- Return name of flag selected from country data (nil if none defined).
	local year = tonumber(args.year)
	local games = stripToNil(args.games)
	--games paraméter átírása, a main function eltérése miatt
	if games == 'nyári' or games == 'téli' or games == 'nyári ifjúsági' or games == 'téli ifjúsági' then
	games = games .. ' olimpiai játékok'
	elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
	games = games .. ' játékok'
	elseif games == 'Európa' then
	games = 'Európa-játékok'
	end
	if games then
		local gdata = country[games]
		if gdata then
			if type(gdata) == 'string' then
				return gdata
			end
			if gdata[year] then
				return gdata[year]
			end
		end
	end
	for _, item in ipairs(country) do
		if type(item) == 'string' then
			return item
		end
		if year and year <= item[1] then
			return item[2]
		end
	end
end

local data = mw.loadData('Modul:Country alias/data')
-- Név behívása
local function countryAlias(args)
	local alias = getAlias(args)
	local country = data.countries[alias] or data.countries[data.countryAliases[alias]]
	local function quit(message)
		return args.error or error(message)
	end
	if not country then
		return quit('Helytelen kód: ' .. tostring(alias))
	end
	if yes(args.flag) then
		return getFlag(args, country) or quit('A(z) ' .. alias.. ' kódhoz nincs zászló definiálva')
	else
		fullName = country.name
		if country.orszagnevelo == nil then
			orszagnevelo = ''
		else
			orszagnevelo = country.orszagnevelo .. ' '
		end
		if country.adjective == nil then
			return quit('A(z) ' .. alias.. ' kódhoz nincs melléknév definiálva')
		else
			adjective = country.adjective
		end
	end
end
-- Névelő/előtag behívása
local function countryNevelo(args)
	local alias = getAlias(args)
	local country = data.countries[alias] or data.countries[data.countryAliases[alias]]
	local function quit(message)
		return args.error or error(message)
	end
	if not country then
		return quit('Helytelen kód: ' .. tostring(alias))
	end
	if country.orszagnevelo == nil then
		return ''
	else
		return country.orszagnevelo .. ' '
	end
end
-- Melléknév behívása
local function countryAdjective(args)
	local alias = getAlias(args)
	local country = data.countries[alias] or data.countries[data.countryAliases[alias]]
	local function quit(message)
		return args.error or error(message)
	end
	if not country then
		return quit('Helytelen kód: ' .. tostring(alias))
	end
	if country.adjective == nil then
		return quit('A(z) ' .. alias.. ' kódhoz nincs melléknév definiálva')
	else
		return country.adjective
	end
end
-- Nincs használatban
local function countryDispName(args)
	local alias = getAlias(args)
	local country = data.countries[alias] or data.countries[data.countryAliases[alias]]
	local function quit(message)
		return args.error or error(message)
	end
	if not country then
		return quit('Helytelen kód: ' .. tostring(alias))
	end
	if country.dispname == nil then
		return country.name
	else
		return country.dispname
	end
end
-- Évszám névelője
local function evnevelo(args, gamesyear)
 	local gamesyear = gamesyear
	gamesyear = mw.text.trim( gamesyear )
first = mw.ustring.sub(gamesyear, 1, 1) -- évszám első karaktere
length = mw.ustring.len(gamesyear) -- évszám hossza (karakterek száma)
	if  first == '5' or (length>=4 and first == '1') then
    evnevelo = 'az'
    	else
    evnevelo = 'a'
	end
end
-- vál és válj sablon esetén
local function teamsuffix(args, team)
	local team = team
		--Kikeressük a 'válogatott' elé kerülő sportágat jelölő szót, es meghatározzuk a szótagszámát
        --Ugyanis 6 szótagszám alatt mindenképpen egybe kell írni a 'válogatott'-tal. (pl. rögbiválogatott)
        sportSzavak = mw.text.split(team, " ", true)
        prefixValogatott = sportSzavak[table.maxn(sportSzavak)]
        _, szotagszam=mw.ustring.gsub(prefixValogatott, "[AÁEÉIÍOÓÖŐUÚÜŰaáeéiíoóöőuúüű]", "")
        -- A 'válogatott' szó 4 szótagú tehát ha a prefix 2 szótagnál nem több, akkor egybeírjuk
        if szotagszam <= 2 then
			return team .. 'válogatott'
		else
			return team .. '-válogatott'
        end
end
-- Lista, amikor nem kell ifexist
local function CallIfexist(args)
 	local NOBkod = stripToNil(args.code)
 	local ev = tonumber(args.gamesyear)
 	local tipus = stripToNil(args.games)
--KIMENETELEK
    --AMI BIZTOSAN LÉTEZIK ÉS ÉVCIKKRE LINKELHETŐ
    --ÉV ÉS TÍPUS SZERINT
	if (ev >=1960 and ev <=2024 and tipus == 'nyári') -- nyári 1960 és 2024 között
        or (ev == 1896 and tipus == 'nyári') -- nyári 1896
        or (ev <= 2022 and tipus == 'téli') -- téli 1924 és 2022 között
    --EGYEDIEK
        --or (ev == 2024 and NOBkod == 'AIN') -- AIN (Független résztvevők) 2024 nyári
    --ORSZÁGKÓDOK SZERINT
        or (NOBkod == 'HUN' and ev >= 1896 ) -- Magyarország (mindegyik)
        or (NOBkod == 'ARG' and (ev>=1908 and ev<=1920)) -- Argentína 1908 és 1920 között
        or (NOBkod == 'LUX' and (ev>=1924 and ev<=1948)) -- Luxemburg 1924 és 1948 között
        or (NOBkod == 'BEL' and ev==1948) -- Belgium 1948
        or (NOBkod == 'GHA' and ev==1952) -- Aranypart 1952
        
        then CallIfexist = 'evcikk'
    --AMI BIZTOSAN NEM LÉTEZIK ÉS FŐCIKKRE LINKELHETŐ
    elseif
        (ev == 0) -- ha NOB, vagy NOBcsapatnál nincs megadva évszám
     or ((tipus == 'nyári') and -- nyáriak
           (ev ==1956 and NOBkod == 'URS' or NOBkod == 'USA' or NOBkod == 'AUS' or NOBkod == 'ITA' or NOBkod == 'SWE' or
           	NOBkod == 'EUA' or NOBkod  == 'GBR' or NOBkod  == 'ROU'or NOBkod  == 'JPN')
        or (ev ==1952 and NOBkod == 'URS' or NOBkod == 'SWE' or NOBkod == 'ITA' or NOBkod == 'TCH' or NOBkod == 'FRA' or
           	NOBkod == 'FIN' or NOBkod == 'NOR' or NOBkod == 'SUI' or NOBkod == 'GBR' or NOBkod == 'GER' or NOBkod == 'BUL' or NOBkod == 'ROU')
        or (ev >=1900 and ev <= 1948)) -- mindegyik 1900 és 1948 között
        or (tipus == 'nyári ifjúsági' and ev >= 2014)
        or (tipus == 'téli ifjúsági' and ev >= 2016)
        or tipus == 'nyári paralimpiai'
        or tipus == 'téli paralimpiai'
        or tipus == 'Európa'
        then CallIfexist = 'focikk'
    else
    	CallIfexist = 'igen'
	end
end

local function flagIOC(frame)
	-- Sablon:zászlóNOB
	-- Forma: <zászló> <országlink> <sportolók>
	local args = frame:getParent().args
	local code = stripToNil(args[1]) or error('Az 1. paraméternek kódnak kell lennie') -- kód
	local gamesyear = stripToNil(args[2]) -- évszám
	local games = stripToNil(args[3]) -- típus
	local athletes = stripToNil(args[4]) -- versenyzők száma
	local menathletes = stripToNil(args[5])
	local womenathletes = stripToNil(args[6])
	games2 = games and (games .. ' olimpiai játékok') or 'olimpiai játékok' -- típus kibővítve az "olimpiai játékok" szöveggel
	gamesyear = gamesyear or '' -- évszám egyenlő az évszám vagy semmi (ha nincs megadva)
		local szocikk = ''
		local szocikk2 = '{name} az olimpiai játékokon' -- főcikk
	if gamesyear == '' then -- ha nincs év és típus, akkor "az" szó (linkelés "...az olimpiai játékokon" cikkekre)
		szocikk = szocikk2
	else -- ha van év és típus, akkor évnévelő és évszámmal linkelés a konkrét cikkre
		evnevelo(args, gamesyear) --évszám névelőjánek behívása
		local parmscall = { --parmscall paraméterek
		code = code,
		gamesyear = gamesyear,
		games = games,
		}
		CallIfexist(parmscall) --IFexist adatok behívása a parmscall paraméterekkel
		local szocikk1 = '{name} ' .. evnevelo .. ' {year}. évi {games}on' -- évcikk
		if CallIfexist == 'igen' then
		szocikk = frame:preprocess( '{{#ifexist: ' .. szocikk1 .. '|' .. szocikk1 .. '|' .. szocikk2 .. '}}' )
		elseif CallIfexist == 'evcikk' then
		szocikk = szocikk1
		elseif CallIfexist == 'focikk' then
		szocikk = szocikk2
		end
	end
	local parms = { -- parms paraméterbe:
		alias = code, -- alias egyenlő code
		fullName = gamesyear .. ' ' .. games2, -- fullName egyenlő "évszám típus"
		year = gamesyear:match('^%d+'), -- year egyenlő évszám
		games = games2, -- games egyenlő típus kibővítve az "olimpiai játékok" szöveggel
	}
	local fullName -- a fullName paraméterbe az ország nevének behívása
	local orszagnevelo -- = countryNevelo(parms) -- az orszagnevelo paraméterbe az ország névelőjének behívása
	parms.flag = true -- átváltás az ország zászlójának behívására
	local dispName = stripToNil(args.name)
	--local dispName = countryDispName(parms) -- a dispName paraméterbe az ország megjelenítési nevének behívása, ha van
	return (('[[File:{flag}|22x20px|border|alt=|link=]]&nbsp;[[' .. szocikk .. '|{dispname}]]{athletes}') -- alapszöveg, a {} közötti részeket lentebb kicseréli
		:gsub('{(%w+)}', {
			athletes = athletes and
				('&nbsp;<span style="font-size:90%;">(' .. athletes .. ')</span>') or
				'',
			flag = countryAlias(parms),  -- zászló behívása és a 'flag' cseréje a behívott zászlóra
			games = games2, --'games' cseréje a behívott típusra
			year = gamesyear, --'year' cseréje a megadott évszámra
			name = orszagnevelo .. fullName, --'name' cseréje a behívott országnévre
			dispname = dispName, --'dispname' cseréje a behívott megjelenítési névre
		}))
end

local function flagXYZ(frame)
	--	Sablon:zászlóNOB:			<zászló> <országlink> <sportoló>, a sportolókhoz használt paraméter opcionális
	--	Sablon:zászlóNOBj:			<országlink> <sportoló> <zászló>
	--	Sablon:zászlóNOBcsapat:		<zászló> <országlink> <országlink>, a sportolókhoz használt paraméter opcionális
	--	Sablon:zászlóNOBsportoló:	<zászló> <sportoló> <országnév/link>
	--	Sablon:zászlóNOBérmes:	    <sportoló><br><zászló> <országlink>
	--	Sablon:zászlóNOBvál:	    <zászló> <válogatott/országnév> <országlink/országkód>
	--	Sablon:zászlóNOBválj:	    <válogatott/országnév> <országlink/országkód> <zászló>
	local args = frame:getParent().args
	local dispType = stripToNil(frame.args['type'])
	local code=''
	local gamesyear=''
	local games=''
	local gamesall=''
	local athletes=''
	local team=''
	local teamname=''
	local sport=''
	local mf=''
	local titles=''
	--a paraméterekben megadott adatok
	if dispType == 'bal' or dispType == 'jobb' or dispType == 'csapat' then -- Sablon:zászlóNOB, Sablon:zászlóNOBj, Sablon:zászlóNOBcsapat
		code = stripToNil(args[1]) or error('Az 1. paraméternek kódnak kell lennie')
		gamesyear = stripToNil(args[2]) or error('A 2. paraméternek évszámnak kell lennie')
		games = stripToNil(args[3]) or error('A 3. paraméternek típusnak kell lennie')
		athletes = stripToNil(args[4])
	elseif dispType == 'sportoló' or dispType == 'érmes' then -- Sablon:zászlóNOBsportoló, Sablon:zászlóNOBérmes
		athletes = stripToNil(args[1]) or error('Az 1. paraméternek névnek kell lennie')
		code = stripToNil(args[2]) or error('A 2. paraméternek kódnak kell lennie')
		gamesyear = stripToNil(args[3]) or error('A 3. paraméternek évszámnak kell lennie')
		games = stripToNil(args[4]) or error('A 4. paraméternek típusnak kell lennie')
	elseif dispType == 'vál' or dispType == 'válj' then -- Sablon:zászlóNOBvál, Sablon:zászlóNOBválj
		teamname = stripToNil(args['vál']) -- a 'vál' paraméterrel felülírható a válogatott neve
		team = teamname or stripToNil(args[1]) or error('Az 1. paraméternek válogatott sportágnak kell lennie')
		code = stripToNil(args[2]) or error('A 2. paraméternek kódnak kell lennie')
		gamesyear = stripToNil(args[3]) or error('A 3. paraméternek évszámnak kell lennie')
		games = stripToNil(args[4]) or error('A 4. paraméternek típusnak kell lennie')
	    if team ~= '' then team = teamsuffix(args, team) end -- válogatott esetleges kötőjelezése
	elseif dispType == 'tornagyőztes' then -- Sablon:Olimpiai tornagyőztes
		gamesyear = stripToNil(args['év']) or error('Az év paraméternek évszámnak kell lennie')
		games = stripToNil(args['típus']) or error('A típus paraméternek típusnak kell lennie')
		code = stripToNil(args['országkód']) or error('Az országkód paraméternek kódnak kell lennie')
		sport = stripToNil(args['sportág']) or error('A sportág neve')
		mf = stripToNil(args['nem']) or '' --male/female
		titles = stripToNil(args['címek']) or error('A címek száma')
		--kivételek
		if sport == 'baseball' or sport == 'softball' then
			mf = ''
		end
		if sport == 'labdarúgás' then
			sport = 'labdarúgás|labdarúgó'
		end
	end
	 --évszám névelőjének behívása
	evnevelo(args, gamesyear)
	 --CallIfexist parmscall paraméterek
	local parmscall = {
		code = code,
		gamesyear = gamesyear,
		games = games,
	}
	--Ifexist meghatározása
	CallIfexist(parmscall)
	-- a típusokhoz elő- és utótag hozzáadása, ebből keressük ki a zászlót a /data lapról
	if games == 'nyári' or games == 'téli' then
	games = games and (games .. ' olimpiai játékok') or 'olimpiai játékok'
	gamesall = 'az olimpiai játékokon'
	elseif games == 'nyári ifjúsági' or games == 'téli ifjúsági' then
	games = games and (games .. ' olimpiai játékok') or 'ifjúsági olimpiai játékok'
	gamesall = 'az ifjúsági olimpiai játékokon'
	elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
	games = games and (games .. ' játékok') or 'játékok'
	gamesall = 'a paralimpiai játékokon'
	elseif games == 'Európa' then
	games = 'Európa-játékok'
	gamesall = 'az Európa-játékokon'
	else
	-- ha a típus a felsoroltakból egyik sem, akkor a beírt típus lesz a linken a Nyelvtani modul, Hanyas használatával, így más eseményekre is használható
	local gamesyearsuffix = require('Modul:Nyelvtani modul').hanyas(gamesyear)
	gamesall = evnevelo .. ' ' .. gamesyearsuffix .. ' ' .. games .. 'on' -- cikknév összeállítása, a végén 'on' toldalékkal
	CallIfexist = 'nem' -- nem kell ifexist
	end
	--CountryAlias function-höz szükséges
	local parms = {
		alias = code,
		fullName = gamesyear .. ' ' .. games,
		year = gamesyear:match('^%d+'),
		games = games,
	}
--	games = (games .. ' olimpiai játékok')
--	local dispName = countryDispName(parms) -- a dispName paraméterbe az ország megjelenítési nevének behívása, ha van
	local dispName = stripToNil(args.name) -- a 'name' paraméterrel felülírható a megjelenített név
	local fullName -- = countryAlias(parms)  -- a fullName paraméterbe az ország nevének behívása a '/data' 'name' paraméteréből
	local orszagnevelo -- = countryNevelo(parms) -- az orszagnevelo paraméterbe az ország névelőjének behívása a '/data' 'orszagnevelo' paraméteréből
	local adjective -- = countryAdjective(parms) -- az adjective paraméterbe az ország melléknevének behívása a '/data' 'adjective' paraméteréből
	countryAlias(parms) -- a fullName paraméterbe az ország nevének behívás
	--szócikk nevének definiálása
	local szocikk = ''
	local szocikk1 = (('{name} ' .. evnevelo .. ' {year}. évi {games}on') -- évcikk -- alapszöveg, a {} közötti részeket lentebb kicseréli
			:gsub('{(%w+)}', {
				games = games,
				year = gamesyear,
				name = orszagnevelo .. fullName,
			})) 
	local szocikk2 = (('{name} ' .. gamesall) -- főcikk -- alapszöveg, a {} közötti részeket lentebb kicseréli
			:gsub('{(%w+)}', {
				name = orszagnevelo .. fullName,
			}))
	if CallIfexist == 'igen' then
		szocikk = frame:preprocess( '{{#ifexist: ' .. szocikk1 .. '|' .. szocikk1 .. '|' .. szocikk2 .. '}}' )
		elseif CallIfexist == 'evcikk' then
		szocikk = szocikk1
		elseif CallIfexist == 'focikk' or CallIfexist == 'nem' then
		szocikk = szocikk2
	end
	--válogatott esetén a nem használatosra nem kell link
	local teamlink = '[[{team}|{dispName}]]'
	if adjective == 'Nem használatos' then teamlink = '{dispName}' end
	--Variációk
	parms.flag = true -- váltás zászlócserére
	if code == 'X' then -- Ha a code értéke X, akkor csak egy ismeretlen jellegű zászlót jelenít meg
	return (('[[File:{flag}|22x20px|border|alt=|link=]]')
			:gsub('{(%w+)}', {
				flag = countryAlias(parms),
			}))
	elseif dispType == 'bal' then
		return (('[[File:{flag}|22x20px|border|alt=|link=]]&nbsp;[[' .. szocikk .. '|{dispName}]]{athletes}') -- alapszöveg, a {} közötti részeket lentebb kicseréli
			:gsub('{(%w+)}', {
				athletes = athletes and
					('&nbsp;<span style="font-size:90%;">(' .. athletes .. ')</span>') or
					'',
				flag = countryAlias(parms),
				games = games,
				year = gamesyear,
				name = orszagnevelo .. fullName,
				dispName = dispName or fullName,
			}))
	elseif dispType == 'jobb' then
		return (('[[' .. szocikk .. '|{dispName}]]&nbsp;[[File:{flag}|22x20px|border|alt=|link=]]')
			:gsub('{(%w+)}', {
				flag = countryAlias(parms),
				dispName = dispName or fullName,
			}))
	elseif dispType == 'csapat' then
		return (('[[File:{flag}|22x20px|border|alt=|link=]]&nbsp;[[' .. szocikk .. '|{dispName}]]{alias}')
			:gsub('{(%w+)}', {
				alias = ('&nbsp;<span style="font-size:90%;">(' .. code .. ')</span>'),
				flag = countryAlias(parms),
				dispName = dispName or fullName,
			}))
	elseif dispType == 'sportoló' then
		return (('[[File:{flag}|22x20px|border|alt=|link=]]&nbsp;{athletes}&nbsp;<span style="font-size:90%;">([[' .. szocikk .. '|{dispName}]])</span>')
			:gsub('{(%w+)}', {
				athletes = athletes,
				flag = countryAlias(parms),
				dispName = code,
			}))
	elseif dispType == 'sportoló-j' then
		return (('{athletes}&nbsp;<span style="font-size:90%;">([[' .. szocikk .. '|{dispName}]])&nbsp;[[File:{flag}|22x20px|border|alt=|link=]]</span>')
			:gsub('{(%w+)}', {
				athletes = athletes,
				flag = countryAlias(parms),
				dispName = code,
			}))
	elseif dispType == 'érmes' then
		return (('{athletes}<br>[[File:{flag}|23x15px|border|alt=|link=]]&nbsp;[[' .. szocikk .. '|{dispName}]]')
			:gsub('{(%w+)}', {
				athletes = athletes,
				flag = countryAlias(parms),
				dispName = dispName or fullName,
			}))
	elseif dispType == 'vál' then
		return (('[[File:{flag}|23x15px|border|alt=|link=]]&nbsp;' .. teamlink .. ' <span style="font-size:90%;">([[' .. szocikk .. '|{code}]])</span>')
			:gsub('{(%w+)}', {
				flag = countryAlias(parms),
				team = teamname or adjective .. ' ' .. team,
				dispName = dispName or fullName,
				code = code,
			}))
	elseif dispType == 'vál-j' then
		return ((teamlink .. ' <span style="font-size:90%;">([[' .. szocikk .. '|{code}]])</span>&nbsp;[[File:{flag}|23x15px|border|alt=|link=]]')
			:gsub('{(%w+)}', {
				flag = countryAlias(parms),
				team = teamname or adjective .. ' ' .. team,
				dispName = dispName or fullName,
				code = code,
			}))
	elseif dispType == 'tornagyőztes' then
		return (('{| class=wikitable style="text-align:center; margin:auto"\n!'.. evnevelo:gsub("^%l", string.upper) .. ' [[{year}. évi {games}]] {mf} [[{sport}]]tornájának olimpiai bajnoka\n|-bgcolor=efefef\n![[File:{flag}|100px|border|alt=|link=]]<br>[[' .. szocikk .. '|{dispName}]]<br>{titles}.&nbsp;cím\n|}')
			:gsub('{(%w+)}', {
				flag = countryAlias(parms),
				year = gamesyear,
				games = games,
				dispName = mw.ustring.upper(fullName),
				code = code,
				sport = sport,
				mf = mf,
				titles = titles,
			}))
	end
end
local function main(frame)
	return countryAlias(frame.args)
end

return {
	flagIOC = flagIOC,
	flagXYZ = flagXYZ,
	main = main,
}