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
177. sor: 177. sor:
if games == 'nyári' or games == 'téli' or games == 'nyári ifjúsági' or games == 'téli ifjúsági' then
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'
games = games .. ' olimpiai játékok'
elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
elseif games == 'nyári paralimpia' or games == 'téli paralimpia' or 'nyári paralimpiai' or games == 'téli paralimpiai' then
games = games .. ' játékok'
games = games .. ' játékok'
elseif games == 'Európa' then
elseif games == 'Európa' then
295. sor: 295. sor:
or (tipus == 'nyári ifjúsági' and ev >= 2014)
or (tipus == 'nyári ifjúsági' and ev >= 2014)
or (tipus == 'téli ifjúsági' and ev >= 2016)
or (tipus == 'téli ifjúsági' and ev >= 2016)
or tipus == 'nyári paralimpiai'
or tipus == 'nyári paralimpiai' or tipus == 'nyári paralimpia'
or tipus == 'téli paralimpiai'
or tipus == 'téli paralimpiai' or tipus == 'téli paralimpia'
or tipus == 'Európa'
or tipus == 'Európa'
then CallIfexist = 'focikk'
then CallIfexist = 'focikk'
494. sor: 494. sor:
games = games and (games .. ' olimpiai játékok') or 'ifjúsági olimpiai játékok'
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'
gamesall = 'az ifjúsági olimpiai játékokon'
elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
elseif games == 'nyári paralimpia' or games == 'téli paralimpia' or games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
games = games and (games .. ' játékok') or 'játékok'
games = games and (games .. ' játékok') or 'játékok'
gamesall = 'a paralimpiai játékokon'
gamesall = 'a paralimpiai játékokon'
630. sor: 630. sor:
games = games and (games .. ' olimpiai játékok') or 'ifjúsági olimpiai játékok'
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'
gamesall = 'az ifjúsági olimpiai játékokon'
elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
elseif games == 'nyári paralimpia' or games == 'téli paralimpia' or games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
games = games and (games .. ' játékok') or 'játékok'
games = games and (games .. ' játékok') or 'játékok'
gamesall = 'a paralimpiai játékokon'
gamesall = 'a paralimpiai játékokon'
774. sor: 774. sor:
if games == 'nyári' or games == 'téli' or games == 'nyári ifjúsági' or games == 'téli ifjúsági' then
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'
games = games .. ' olimpiai játékok'
elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
elseif games == 'nyári paralimpia' or games == 'téli paralimpia' or games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
games = games .. ' játékok'
games = games .. ' játékok'
elseif games == 'Európa' then
elseif games == 'Európa' then

A lap 2024. szeptember 2., 05:11-kori változata

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

Ez a modul sporteseményeken (elsősorban az olimpiai játékok) résztvevő országok, sportolók megjelenítésére szolgál.

A modul által használt adatok a Modul:Country alias/data lapon találhatók.

Használata

Sablon:Country alias

A megadott értékek alapján egy zászlót vagy az országnevet jeleníti meg, az ország hárombetűs kódja alapján (kötelező megadni). Opcionálisan megadható az év és az esemény neve, a zászló és a név ez alapján változhat.

{{#invoke:Country alias|main|alias=|flag=|games=|year=}}

Sablon:zászlóNOB

A megadott értékek alapján egy zászlót, országnevet és opcionálisan az összes, a férfi és a női sportoló számát jeleníti meg.

{{#invoke:Country alias|flagIOC|alias=|flag=|games=|year=|athletes=}}

Sablon:A zászlóNOB variációi

A zászlóNOB további variációi:

A megadott értékek alapján egy zászlót, országnevet és opcionálisan az összes sportoló számát jeleníti meg.

{{#invoke:Country alias|flagXYZ|alias=|flag=|games=|year=|athletes=|type=}}

Sablon:Olimpiai adatok

Az {{Olimpiai adatok}}(?) sablon a modulban található "gamesdata" táblát használja az alábbi sablonokhoz:

Leírásukat lásd a sablonoknál.

-- 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 errorcat = '[[Kategória:Hibásan használt zászlóNOB sablont tartalmazó lapok]]'
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 = args.year
	if year == '0' then year = os.date("!%Y") end -- ha az évszám 0, akkor átvált az aktuális évszámra
	year = tonumber(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 paralimpia' or games == 'téli paralimpia' or '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')
--Adatok behívása
local function countryAlias(args)
	local alias = getAlias(args)
	local country = data.countries[alias] or data.countries[data.countryAliases[alias]]
	local fullName
	local adjective
	local orszagnevelo
	local function quit(message)
		return args.error or error(message)
	end
	if not country then
		return quit(errorcat .. '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' .. errorcat)
	else
		-- Név behívása
		fullName = country.name
		-- Melléknév behívása
		if country.adjective == nil then
			return quit('A(z) ' .. alias.. ' kódhoz nincs melléknév definiálva' .. errorcat)
		else
			adjective = country.adjective
		end
		-- Névelő/előtag behívása
		if country.orszagnevelo == nil then
			orszagnevelo = ''
		else
			orszagnevelo = country.orszagnevelo .. ' '
		end
		return fullName, adjective, orszagnevelo
	end
end
-- Szám névelője
local function szamnevelo(args)
 	local szam = mw.text.trim( args ) -- szöveggé alakítás
	first = mw.ustring.sub(szam, 1, 1) -- szám első karaktere
	length = mw.ustring.len(szam) -- szám hossza (karakterek száma)
	if  first == '5' or (length==4 and first == '1') or (length==1 and first == '1') then
    	return 'az'
    	else
    	return 'a'
	end
end
-- vál és vál-j sablon esetén
local function teamsuffix(args)
	local team = args
		--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 == 'nyári paralimpia'
        or tipus == 'téli paralimpiai' or tipus == 'téli paralimpia'
        or tipus == 'Európa'
        then CallIfexist = 'focikk'
    else
    	CallIfexist = 'igen'
	end
end

local function oldcode(frame)
-- !NINCS HASZNÁLATBAN! --
-- RÉGI NOB-KÓDOK
--Holland Antillák
if code  == 'AHO' then
    if gamesyear == 1960 then code = 'ATO' end
    if gamesyear == 1964 then code = 'NAN' end end
--Algéria
if code  == 'ALG' then
    if gamesyear == 1964 then code = 'AGR' end
    if gamesyear == 1968 and games == 'nyári' then code = 'AGL' end end
--Bosznia-Hercegovina
if code  == 'BIH' and gamesyear == 1992 then code = 'BSH' end
--Belize
if code  == 'BIZ' and (ev >= 1968 and gamesyear <=1972) then code = 'HBR' end
--Közép-Afrikai Köztársaság
if code  == 'CAF' and gamesyear == 1968 then code = 'AFC' end
--Kambodzsa
if code  == 'CAM' then
    if gamesyear == 1964 then code = 'CAB' end
    if (ev >= 1972 and gamesyear <=1976) then code = 'KHM' end end
--Csád
if code  == 'CHA' then
    if gamesyear == 1964 then code = 'CHD' end
    if gamesyear == 1968 then code = 'TCH' end end
--Chile
if code  == 'CHI' and ((ev == 1956 and games == 'téli')
                        or (ev == 1960 and games == 'nyári')) then code = 'CIL' end
--Elefántcsontpart
if code  == 'CIV' then
    if gamesyear == 1964 then code = 'IVC' end
    if gamesyear == 1968 then code = 'CML' end end
--Kongói Demokratikus Köztársaság 
if code  == 'COD' then
	if gamesyear == 1968 then code = 'COK' end
	if gamesyear >= 1984 and gamesyear <= 1996 then code = 'ZAI' end end
--Costa Rica
if code  == 'CRC' then
    if gamesyear == 1964 then code = 'COS' end
    if gamesyear == 1984 and games == 'téli' then code = 'CTC' end end
--Dánia
if code  == 'DEN' then
    if ((ev == 1960 and games == 'nyári')
        or (ev == 1968 and games == 'téli')) then code = 'DAN' end
    if gamesyear == 1968 and games == 'nyári' then code = 'DIN' end end
--Salvador
if code  == 'ESA' and (ev >= 1968 and gamesyear <=1972) then code = 'SAL' end
--Egyesült Arab Köztársaság
if code  == 'RAU' and gamesyear == 1964 then code = 'UAR' end
--Spanyolország
if code  == 'ESP' and ((ev >= 1956 and gamesyear <=1964)
                        or (ev == 1968 and games == 'téli')) then code = 'SPA' end
--Etiópia
if code  == 'ETH' and (ev >= 1960 and gamesyear <=1968) then code = 'ETI' end
--Fidzsi-szigetek
if code  == 'FIJ' and gamesyear == 1960 then code = 'FIG' end
--Nagy-Britannia
if code  == 'GBR' then
    if ((ev == 1956 and games == 'téli') or gamesyear == 1960) then code = 'GRB' end
    if gamesyear == 1964 then code = 'GBI' end end
--Guyana
if code  == 'GUY' then
                    if gamesyear == 1960 then code = 'GUA' end
                    if gamesyear == 1964 then code = 'GUI' end end
--Hongkong
if code  == 'HKG' and (ev >= 1960 and gamesyear <=1968) then code = 'HOK' end
--Magyarország
--if code  == 'HUN' and ((ev == 1956 and games == 'téli')
                          --or gamesyear == 1960) then code = 'UNG' end
--Indonézia
if code  == 'INA' and gamesyear == 1960 then code = 'INS' end
--Irán
if code  == 'IRI' then
    if gamesyear == 1968 and games == 'téli' then code = 'IRA' end
    if (ev == 1968 and games == 'nyári') or gamesyear == 1976 or gamesyear == 1988 then code = 'IRN' end end
--Irak
if code  == 'IRQ' and (ev == 1960 or gamesyear ==1968) then code = 'IRK' end
--Izland
if code  == 'ISL' and ((ev == 1960 or gamesyear ==1964) and games == 'téli') then code = 'ICE' end
--Japán
if code  == 'JPN' then
    if ((ev == 1956 and games == 'téli') or (ev == 1960 and games == 'nyári')) then code = 'GIA' end
    if gamesyear == 1960 and games == 'nyári' then code = 'JAP' end end
--Dél-Korea
--Szaúd-Arábia
if code  == 'KSA' then
    if (ev == 1972 or gamesyear == 1976) then code = 'ARS' end
    if gamesyear == 1984 then code = 'SAU' end end
--Libanon
if code  == 'LIB' and ((ev == 1960 and games == 'téli')
                        or (ev == 1964 and games == 'nyári')) then code = 'LEB' end
--Litvánia
if code  == 'LTU' and gamesyear == 1992 then code = 'LIT' end
--Malajzia
if code  == 'MAS' and (ev >= 1956 and gamesyear <=1988) then code = 'MAL' end
--Mongólia
if code  == 'MGL' and gamesyear == 1968 and games == 'téli' then code = 'MON' end
--Mianmar
if code  == 'MYA' then
    if gamesyear >= 1948 and gamesyear <=1988 then code = 'BIR' end -- 1964 esetén az alsó felülírja
    if gamesyear == 1964 then code = 'BUR' end end
--Nicaragua
if code  == 'NCA' then
    if gamesyear == 1964 then code = 'NCG' end
    if gamesyear == 1968 then code = 'NIC' end end
--Hollandia
if code  == 'NED' and (ev >= 1900 and gamesyear <=1988) then code = 'HOL' end
--Fülöp-szigetek
if code  == 'PHI' and (ev == 1964 or gamesyear ==1968) then code = 'FIL' end
--Pápua Új-Guinea
if code  == 'PNG' then
    if gamesyear == 1976 then code = 'NGY' end
    if (ev == 1980 or gamesyear ==1984) then code = 'NGU' end end
--Puerto Rico
if code  == 'PUR' then
    if gamesyear == 1960 then code = 'PRI' end
    if gamesyear == 1968 then code = 'PRO' end end
--Románia
if code  == 'ROU' then
    if (ev >= 1960 and gamesyear <=2006) then code = 'ROM' end
    if (ev == 1964 or gamesyear ==1968) then code = 'RUM' end
end
--Dél-Afrika
if code  == 'RSA' and (ev >= 1900 and gamesyear <=1960) then code = 'SAF' end
--Srí Lanka
if code  == 'SRI' and (ev >= 1948 and gamesyear <=1972) then code = 'CEY' end
--Szerbia és Montenegró-->
if code  == 'SCG' and (ev == 1996 or gamesyear ==2000) then code = 'YUG' end
--Szíria
if code  == 'SYR' and gamesyear == 1968 then code = 'SIR' end
--Thaiföld
if code  == 'THA' and (ev == 1960 or gamesyear ==1968) then code = 'TAI' end
--Uruguay
if code  == 'URU' and gamesyear == 1968 then code = 'URG' end
--Vietnam
if code  == 'VIE' then
    if gamesyear == 1964 then code = 'VET' end
    if gamesyear >= 1968 and gamesyear <=1976 then code = 'VNM' end end
--NOB-KÓDOK VÉGE
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' .. errorcat) -- kód
	local gamesyear = stripToNil(args[2]) -- évszám
	local games = stripToNil(args[3]) -- típus
	local gamesall=''
	local athletes = stripToNil(args[4]) -- sportolók száma, üres érték lehetőség is kell
	local menathletes =stripToNil(args[5])
	local womenathletes =stripToNil(args[6])
	local athletes2 = tonumber(athletes) or 0
	local menathletes2 = tonumber(menathletes) or 0
	local womenathletes2 =  tonumber(womenathletes) or 0
    --sportolók számának szövegszerű összeállítása
    if menathletes2 == 0 and womenathletes2 == 0 then
    	athletes = athletes
    elseif menathletes2 + womenathletes2 ~= athletes2 then
    athletes = '<big><b>Hibás összeg!</b></big>' .. errorcat
    elseif menathletes2 > 0 then
		athletes = athletes .. ' – ' .. menathletes .. ' férfi'
		if womenathletes2 > 0 then
			athletes =  athletes .. ', ' .. womenathletes .. ' nő'
			else
			womenathletes = ''
		end
	elseif womenathletes ~= nil then
		athletes = athletes .. ' – ' .. womenathletes .. ' nő'
		else
	end
	--üres érték esetén alapértelmezés
	if games == nil then games = 'nyári' end
	if gamesyear == nil then gamesyear = '0' end
	local evnevelo = szamnevelo(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 paralimpia' or games == 'téli paralimpia' or 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,
	}
	local fullName, adjective, orszagnevelo = countryAlias(parms) -- a fullName, adjective, orszagnevelo paraméterbe az adatok behívása a '/data' lapról
	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
	local dispName = stripToNil(args.name) -- a 'name' paraméterrel felülírható a megjelenített név
	parms.flag = true -- átváltás az ország zászlójának behívására
	if fullName == 'X' then -- Ha az ország neve X, akkor csak egy ismeretlen jellegű zászlót jelenít meg
		return (('[[File:{flag}|22x20px|border|alt=|link=]]')
		:gsub('{(%w+)}', {
				flag = countryAlias(parms),
		}))
		else
		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%;">(' .. code .. ')' .. ' (' .. athletes .. ')</span>') or
					'',
				flag = countryAlias(parms),
				dispName = dispName or fullName,
				code = code,
			}))
	end
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óNOB-j:			<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óNOBsportoló-j:	<sportoló> <országnév/link> <zászló>
	--	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ál-j:	    <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' or dispType == 'év' then
		-- Sablon:zászlóNOB, Sablon:zászlóNOB-j, Sablon:zászlóNOBcsapat, Wikipédia:Olimpiaműhely/Átírások állapota a nemzetcikkekben számára
		code = stripToNil(args[1]) or error('Az 1. paraméternek kódnak kell lennie' .. errorcat)
		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 == 'sportoló-j' or dispType == 'érmes' then
		-- Sablon:zászlóNOBsportoló, Sablon:zászlóNOBsportoló-j, Sablon:zászlóNOBérmes
		athletes = stripToNil(args[1]) or error('Az 1. paraméternek névnek kell lennie' .. errorcat)
		code = stripToNil(args[2]) or error('A 2. paraméternek kódnak kell lennie' .. errorcat)
		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ál-j' then
		-- Sablon:zászlóNOBvál, Sablon:zászlóNOBvál-j
		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' .. errorcat)
		code = stripToNil(args[2]) or error('A 2. paraméternek kódnak kell lennie' .. errorcat)
		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(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' .. errorcat)
		games = stripToNil(args['típus']) or error('A típus paraméternek típusnak kell lennie' .. errorcat)
		code = stripToNil(args['országkód']) or error('Az országkód paraméternek kódnak kell lennie' .. errorcat)
		sport = stripToNil(args['sportág']) or error('A sportág neve' .. errorcat)
		mf = stripToNil(args['nem']) or '' --male/female
		titles = stripToNil(args['címek']) or error('A címek száma' .. errorcat)
		--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
	--üres érték esetén alapértelmezés
	if games == nil then games = 'nyári' end
	if gamesyear == nil then gamesyear = '0' end
	--évszám névelőjének behívása
	local evnevelo = szamnevelo(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 paralimpia' or games == 'téli paralimpia' or 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,
	}
	local dispName = stripToNil(args.name) -- a 'name' paraméterrel felülírható a megjelenített név
	local fullName, adjective, orszagnevelo = countryAlias(parms) -- a fullName, adjective, orszagnevelo paraméterbe az adatok behívása a '/data' lapról
	--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 gamesyear == '0' then gamesyear = os.date("!%Y") end -- zászlócseréhez az aktuális évszám kell
	if fullName == 'X' then -- Ha az ország neve 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}]]&nbsp;<span style="font-size:90%;">({code})</span>{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),
				dispName = dispName or fullName,
				code = code,
			}))
	elseif dispType == 'jobb' then
		return (('[[' .. szocikk .. '|{dispName}]]&nbsp;<span style="font-size:90%;">({code})&nbsp;[[File:{flag}|22x20px|border|alt=|link=]]')
			:gsub('{(%w+)}', {
				flag = countryAlias(parms),
				dispName = dispName or fullName,
				code = code,
			}))
	elseif dispType == 'csapat' then
		return (('[[File:{flag}|22x20px|border|alt=|link=]]&nbsp;[[' .. szocikk .. '|{dispName}]]{alias}{athletes}')
			:gsub('{(%w+)}', {
				alias = ('&nbsp;<span style="font-size:90%;">(' .. code .. ')</span>'),
				flag = countryAlias(parms),
				dispName = dispName or fullName,
				athletes = athletes and '<br>' .. athletes or '',
			}))
	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}]]&nbsp;<span style="font-size:90%;">({code})</span>')
			:gsub('{(%w+)}', {
				athletes = athletes,
				flag = countryAlias(parms),
				dispName = dispName or fullName,
				code = code,
			}))
	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 == 'év' then
		return (('[[' .. szocikk .. '|{dispName}]]')
			:gsub('{(%w+)}', {
				dispName = gamesyear,
			}))
	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

local function gamesdata(frame)
	local datamodul = mw.loadData('Modul:Country alias/data')
	local allgamesdata = datamodul.gamesdata
	local args = frame:getParent().args
    local games = stripToNil(args.games) or stripToNil(args['típus'])
	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 paralimpia' or games == 'téli paralimpia' or 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
	local year = stripToNil(args.year) or stripToNil(args['év'])
	local disptype = stripToNil(args.disptype) or stripToNil(args['megjelenés'])
	local gamesyear = allgamesdata[games][year] -- táblák behívása
	local ordinal = gamesyear[1] -- a tábla 1. értéke
	local flag = gamesyear[2] -- a tábla 2. értéke
	if flag == 'no' then
		flag = 'Flag placeholder.svg'
		else
		local parms = {
			alias = gamesyear[2],
			fullName = year .. ' ' .. games,
			year = year:match('^%d+'),
			games = games,
		}
		parms.flag = true
		flag = countryAlias(parms)
		end
	flag = '[[File:'.. flag .. '|22x20px|border|alt=|link=]]'
	local location = gamesyear[3] -- a tábla 3. értéke
	local display
	if disptype == 'year-location' or disptype == 'év-helyszín' then -- Sablon:Olimpiai eredmény infobox
		display = '[[' .. year .. '. évi ' .. games .. ']]<br>' .. location
	elseif disptype == 'flag' or disptype == 'zászló' then
		display = flag
	elseif disptype == 'flag-year' or disptype == 'zászló-év' then
		display = flag .. '&nbsp;' .. '[[' .. year .. '. évi ' .. games .. '|' .. year .. ']]'
	elseif disptype == 'flag-year-location' or disptype == 'zászló-év-helyszín' then -- -Sablon:Nemzetek olimpiai éremtáblázata (sor)
		if year == '1956' then location = '[[Melbourne (Ausztrália)|Melbourne]]' end -- helyszín kivétel
		display = flag .. '&nbsp;' .. '[[' .. year .. '. évi ' .. games .. '|' .. year .. ']], ' .. location
	elseif disptype == 'roman numerals' or disptype == 'római szám' then -- Sablon:Olimpiai sportág infobox és Sablon:Olimpiai versenyszám infobox
		if year == '1906' then -- kivétel
		display = 'a [[1906. évi nyári olimpiai játékok|pánhellén olimpián]]'
			else
			local nevelo = szamnevelo(ordinal) -- sorszámhoz névelő
			--ordinal = tostring(ordinal)
			--ordinal = require('Modul:Roman').main(ordinal)
			ordinal = frame:expandTemplate{ title = 'Római szám', args = { ordinal } } -- sorszám átalakítása római számmá
			local dispgames = games -- szövegcserék
			dispgames = dispgames:gsub('olimpiai játékok', 'olimpián')
			dispgames = dispgames:gsub('paralimpiai játékok', 'paralimpián')
			dispgames = dispgames:gsub('Európa-játékok', 'Európa-játékokon')
			display = nevelo .. ' [[' .. year .. '. évi ' .. games .. '|' .. ordinal .. '. ' .. dispgames .. ']]'
		end
	else
	display = 'HIBA!'
	end
	return display
end

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