Modul:Country alias
Country alias[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
Függ az alábbi moduloktól: |
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]{{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
[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:
{{zászlóNOB-j}}
(?){{zászlóNOBérmes}}
(?){{zászlóNOBcsapat}}
(?){{zászlóNOBsportoló}}
(?){{zászlóNOBsportoló-j}}
(?){{zászlóNOBvál}}
(?){{zászlóNOBvál-j}}
(?){{Olimpiai tornagyőztes}}
(?)
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:
{{Olimpiai eredmény infobox}}
(?){{Olimpiai sportág infobox}}
(?){{Olimpiai versenyszám infobox}}
(?){{Nemzetek olimpiai éremtáblázata (sor)}}
(?)
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=]] [[' .. szocikk .. '|{dispName}]]{athletes}') -- alapszöveg, a {} közötti részeket lentebb kicseréli
:gsub('{(%w+)}', {
athletes = athletes and
(' <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=]] [[' .. szocikk .. '|{dispName}]] <span style="font-size:90%;">({code})</span>{athletes}') -- alapszöveg, a {} közötti részeket lentebb kicseréli
:gsub('{(%w+)}', {
athletes = athletes and
(' <span style="font-size:90%;">(' .. athletes .. ')</span>') or
'',
flag = countryAlias(parms),
dispName = dispName or fullName,
code = code,
}))
elseif dispType == 'jobb' then
return (('[[' .. szocikk .. '|{dispName}]] <span style="font-size:90%;">({code}) [[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=]] [[' .. szocikk .. '|{dispName}]]{alias}{athletes}')
:gsub('{(%w+)}', {
alias = (' <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=]] {athletes} <span style="font-size:90%;">([[' .. szocikk .. '|{dispName}]])</span>')
:gsub('{(%w+)}', {
athletes = athletes,
flag = countryAlias(parms),
dispName = code,
}))
elseif dispType == 'sportoló-j' then
return (('{athletes} <span style="font-size:90%;">([[' .. szocikk .. '|{dispName}]]) [[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=]] [[' .. szocikk .. '|{dispName}]] <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=]] ' .. 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> [[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}. 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 .. ' ' .. '[[' .. 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 .. ' ' .. '[[' .. 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,
}