„Modul:Country alias” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló Címke: Visszaállítva |
||
658. sor: | 658. sor: | ||
else |
else |
||
local nevelo = szamnevelo(ordinal) -- sorszámhoz névelő |
local nevelo = szamnevelo(ordinal) -- sorszámhoz névelő |
||
local roman = require('Modul:Roman').main(ordinal) -- sorszám átalakítása római számmá |
|||
ordinal = roman |
|||
local dispgames = games -- szövegcserék |
local dispgames = games -- szövegcserék |
||
dispgames = dispgames:gsub('olimpiai játékok', 'olimpián') |
dispgames = dispgames:gsub('olimpiai játékok', 'olimpián') |
A lap 2024. augusztus 26., 05:41-kori változata
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
Sablon:Country alias
{{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:
{{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
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 function stripToNil(text)
-- If text is a string, return its trimmed content, or nil if empty.
-- Otherwise return text (which may, for example, be nil).
if type(text) == 'string' then
text = text:match('(%S.-)%s*$')
end
return text
end
local function yes(parameter)
-- Return true if parameter should be interpreted as "yes".
return ({ y = true, yes = true, on = true, [true] = true })[parameter]
end
local function getAlias(args)
-- Return alias parameter, possibly modified for exceptional cases.
local alias = stripToNil(args.alias)
local games = stripToNil(args.games)
local year = tonumber(args.year)
local fullName = stripToNil(args.fullName)
-- eltérő országnevek
if alias == 'ANG' then
if games == 'Commonwealth Games' then
alias = 'ANG_CGF'
end
elseif alias == 'ART' then
if games == 'Asian Indoor and Martial Arts Games' then
alias = 'ART_AIMAG'
end
elseif alias == 'GBR' then
if games == 'World Championships in Athletics' or games == 'World Athletics Championships' or games == 'European Athletics Championships' then
alias = 'GBR_WCA'
elseif games == 'European Championships' then
if year == 2018 then
alias = 'GBR_WCA'
end
end
elseif alias == 'HKG' then
if games == 'Commonwealth Games' then
alias = 'HKG_CGF'
end
elseif alias == 'IOA' then -- Független résztvevők elnevezése a 2000. évi nyári olimpián: Egyéni olimpiai versenyzők
if year == 2000 then
alias = 'IOA_2000'
end
elseif alias == 'MAL' then -- Malajzia 1963 előtt: Malájföld
if year and year > 1963 then
alias = 'MAS'
end
elseif alias == 'SWZ' then
if fullName then
if year and year >= 2018 and fullName ~= '2018 Commonwealth Games' then
alias = 'SWZ_YO2018'
end
elseif year and year >= 2018 and games ~= 'Commonwealth Games' then
alias = 'SWZ_YO2018'
end
elseif alias == 'GHA' then -- Ghána 1952-ben: Aranypart
if year and year == 1952 then
alias = 'GCO'
end
elseif alias == 'TAN' then -- Tanzánia 1964-ben: Tanganyika
if year and year == 1964 then
alias = 'TAG'
end
elseif alias == 'GUY' then -- Guyana 1966 előtt: Brit Guyana
if year and year <= 1966 then
alias = 'BGU'
end
elseif alias == 'ANT' then -- Antigua és Barbuda 1976-ban: Antigua
if year and year == 1976 then
alias = 'ANT_1976'
end
elseif alias == 'SAM' then -- Szamoa 1997 előtt: Nyugat-Szamoa
if year and year >= 1997 then
alias = 'WSM'
end
elseif alias == 'MKD' then -- Észak-Macedónia 2019 előtt: Macedónia
if year and year >= 2019 then
alias = 'MKD_2019'
end
elseif alias == 'VNM' then
if year and year <= 1954 then
alias = 'VIE'
end
elseif alias == 'ROC' then
if year and ( year==1964 or year==1968 ) and games=='nyári olimpiai játékok' then
alias = 'ROC_Tajvan'
elseif year and year==2020 and games=='nyári olimpiai játékok' then -- 2020, 2022 Az Orosz Olimpiai Bizottság versenyzői
alias = 'ROC_2020'
elseif year and year==2022 and games=='téli olimpiai játékok' then
alias = 'ROC_2020'
elseif year and year==2020 and games=='nyári olimpiai játékok' then
alias = 'RPC'
end
elseif alias == 'YUG' or alias == 'SCG' then -- Jugoszlávia 1992 és 2004 között
if year and year > 1992 and year < 2004 and games ~= 'nyári paralimpiai játékok' then
alias = 'FR_YUG'
end
elseif alias == 'ZAI' or alias == 'COD' then
if year and year < 1971 then
alias = 'COK_COD'
elseif year and year <= 1996 then -- A Kongói Demokratikus Köztársaság 1996 előtt: Zaire
alias = 'ZAI'
else
alias = 'COD'
end
elseif alias == 'COK' then
if year and year == 1968 then
alias = 'COK_COD'
else
alias = 'COK'
end
elseif alias == 'CGO' then -- Kongói Köztársaság 1969 és 1991 között: Kongói Népköztársaság
if year and year >= 1969 and year <= 1991 then
alias = 'CGO_1969'
end
end
return alias
end
local function getFlag(args, country)
-- Return name of flag selected from country data (nil if none defined).
local year = tonumber(args.year)
local games = stripToNil(args.games)
--games paraméter átírása, a main function eltérése miatt
if games == 'nyári' or games == 'téli' or games == 'nyári ifjúsági' or games == 'téli ifjúsági' then
games = games .. ' olimpiai játékok'
elseif games == 'nyári paralimpiai' or games == 'téli paralimpiai' then
games = games .. ' játékok'
elseif games == 'Európa' then
games = 'Európa-játékok'
end
if games then
local gdata = country[games]
if gdata then
if type(gdata) == 'string' then
return gdata
end
if gdata[year] then
return gdata[year]
end
end
end
for _, item in ipairs(country) do
if type(item) == 'string' then
return item
end
if year and year <= item[1] then
return item[2]
end
end
end
local data = mw.loadData('Modul:Country alias/data')
--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('Helytelen kód: ' .. tostring(alias))
end
if yes(args.flag) then
return getFlag(args, country) or quit('A(z) ' .. alias.. ' kódhoz nincs zászló definiálva')
else
-- 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')
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 flagIOC(frame)
-- Sablon:zászlóNOB
-- Forma: <zászló> <országlink> <sportolók>
local args = frame:getParent().args
local code = stripToNil(args[1]) or error('Az 1. paraméternek kódnak kell lennie') -- kód
local gamesyear = stripToNil(args[2]) -- évszám
local games = stripToNil(args[3]) -- típus
local athletes = stripToNil(args[4]) -- versenyzők száma
local menathletes = stripToNil(args[5])
local womenathletes = stripToNil(args[6])
if menathletes == '0' or menathletes == nil then
menathletes = nil
else
menathletes = athletes .. ' – ' .. menathletes .. ' férfi'
end
if womenathletes == '0' or womenathletes == nil then
womenathletes = nil
else
womenathletes = womenathletes .. ' nő'
end
--sportolók számának szövegszerű összeállítása
if menathletes ~= nil then
athletes = menathletes
if womenathletes ~= nil then
athletes = athletes .. ', ' .. womenathletes
else
womenathletes = ''
end
elseif womenathletes ~= nil then
athletes = athletes .. ' – ' .. womenathletes
else
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
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
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')
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')
code = stripToNil(args[2]) or error('A 2. paraméternek kódnak kell lennie')
gamesyear = stripToNil(args[3]) or error('A 3. paraméternek évszámnak kell lennie')
games = stripToNil(args[4]) or error('A 4. paraméternek típusnak kell lennie')
elseif dispType == 'vál' or dispType == 'vá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')
code = stripToNil(args[2]) or error('A 2. paraméternek kódnak kell lennie')
gamesyear = stripToNil(args[3]) or error('A 3. paraméternek évszámnak kell lennie')
games = stripToNil(args[4]) or error('A 4. paraméternek típusnak kell lennie')
if team ~= '' then team = teamsuffix(team) end -- válogatott esetleges kötőjelezése
elseif dispType == 'tornagyőztes' then
-- Sablon:Olimpiai tornagyőztes
gamesyear = stripToNil(args['év']) or error('Az év paraméternek évszámnak kell lennie')
games = stripToNil(args['típus']) or error('A típus paraméternek típusnak kell lennie')
code = stripToNil(args['országkód']) or error('Az országkód paraméternek kódnak kell lennie')
sport = stripToNil(args['sportág']) or error('A sportág neve')
mf = stripToNil(args['nem']) or '' --male/female
titles = stripToNil(args['címek']) or error('A címek száma')
--kivételek
if sport == 'baseball' or sport == 'softball' then
mf = ''
end
if sport == 'labdarúgás' then
sport = 'labdarúgás|labdarúgó'
end
end
--évszám névelőjének behívása
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 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}<br>{athletes}')
:gsub('{(%w+)}', {
alias = (' <span style="font-size:90%;">(' .. code .. ')</span>'),
flag = countryAlias(parms),
dispName = dispName or fullName,
athletes = athletes
}))
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'])
--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
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ő
local roman = require('Modul:Roman').main(ordinal) -- sorszám átalakítása római számmá
ordinal = roman
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,
}