Ugrás a tartalomhoz

Modul:Country alias

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

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

[szerkesztés]

Sablon:Country alias

[szerkesztés]

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

[szerkesztés]

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

[szerkesztés]

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

[szerkesztés]

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 == 'ZAM' then -- Zambia 1964-ben Észak-Rodézia
		if year and year == 1964 then
			alias = 'NRH'
		else
			alias = 'ZAM'
		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 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 == 'téli paralimpiai'
        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 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 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 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,
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy