Modul:WikimediaCEESpring
Documentația acestui modul poate fi creată la Modul:WikimediaCEESpring/doc
local p = {}
local getArgs = require('Modul:Arguments').getArgs
local capitalize = require('Modul:StringUtils')._capitalize
COUNTRY_ALIASES = {
['Bașchiria'] = { 'Bașkortostan' },
['Bașkiria'] = { 'Bașkortostan' },
['Bashkortostan'] = { 'Bașkortostan' },
['Bashkiria'] = { 'Bașkortostan' },
['Bașcortostan'] = { 'Bașkortostan' },
['Bosnia and Herzegovina'] = { 'Bosnia și Herțegovina' },
['Cehia'] = { 'Republica Cehă' },
['Federația Rusă'] = { 'Rusia' },
['Regiunea Donului'] = {'Râul Don (Rusia)', 'Regiunea Donului' },
['Esperanto'] = { 'Esperanto', 'mișcarea esperantistă' },
['Macedonia'] = { 'Macedonia de Nord' },
['Romi'] = { 'Romi', 'romi' },
['Tătari crimeeni'] = { 'Tătari crimeeni', 'tătarii crimeeni' },
['Sorabi'] = { 'Sorabi', 'sorabi' },
['Võro'] = { 'Võro', 'võro' }
}
COUNTRY_ALIASES['Don'] = COUNTRY_ALIASES['Regiunea Donului']
COUNTRY_ALIASES['Don Region'] = COUNTRY_ALIASES['Regiunea Donului']
COUNTRY_ALIASES['Mișcarea esperantistă'] = COUNTRY_ALIASES['Esperanto']
COUNTRY_ALIASES['Mișcarea Esperantistă'] = COUNTRY_ALIASES['Esperanto']
COUNTRY_ALIASES['Esperantism'] = COUNTRY_ALIASES['Esperanto']
COUNTRY_ALIASES['Sorabia'] = COUNTRY_ALIASES['Sorabi']
COUNTRY_ALIASES['Tătarii crimeeni'] = COUNTRY_ALIASES['Tătari crimeeni']
COUNTRY_ALIASES['Crimean tatars'] = COUNTRY_ALIASES['Tătari crimeeni']
COUNTRY_ALIASES['Crimean Tatars'] = COUNTRY_ALIASES['Tătari crimeeni']
COUNTRY_ALIASES['Tătarii din Crimeea'] = COUNTRY_ALIASES['Tătari crimeeni']
TOPIC_ALIASES = {
['Agricultura'] = 'Agricultură',
['Agriculture'] = 'Agricultură',
['Architectura'] = 'Arhitectură',
['Architecture'] = 'Arhitectură',
['Arhitecți'] = 'Arhitectură',
['Architects'] = 'Arhitectură',
['Buildings and structures'] = 'Arhitectură',
['Clădiri și structuri'] = 'Arhitectură',
['Clădiri'] = 'Arhitectură',
--['Men'] = 'Biografii',
--['People'] = 'Biografii',
--['Biographies'] = 'Biografii',
['Cultura'] = 'Cultură',
['Culture'] = 'Cultură',
['Painters and paintings'] = 'Cultură',
['Visual artists'] = 'Cultură',
['Artiști vizuali'] = 'Cultură',
['Pictură'] = 'Cultură',
['Picturi'] = 'Cultură',
['Arte vizuale'] = 'Cultură',
['Arte plastice'] = 'Cultură',
['Dans'] = 'Cultură',
['Dansuri'] = 'Cultură',
['Tradiții'] = 'Etnografie',
['Traditions'] = 'Etnografie',
['Cinematografie'] = 'Filme',
['Film'] = 'Filme',
['Films'] = 'Filme',
['Opere literare'] = 'Literatură',
['Literary works'] = 'Literatură',
['Sculptures & Monuments'] = 'Monumente',
['Sculpturi și monumente'] = 'Monumente',
--['Cuisine'] = 'Gastronomie',
--['Bucătărie'] = 'Gastronomie',
--['Food'] = 'Gastronomie',
--['Mâncare'] = 'Gastronomie',
--['Language'] = 'Lingvistică',
--['Limbă'] = 'Lingvistică',
--['Limbi'] = 'Lingvistică',
['Muzica'] = 'Muzică',
['Muzicieni'] = 'Muzică',
['Music'] = 'Muzică',
['Musicians'] = 'Muzică',
['Muzică/Eurovision'] = 'Muzică',
['Music/Eurovision'] = 'Muzică',
['Dramaturgie'] = 'Teatru',
['Technology and industry'] = 'Economie',
['Tehnologie și industrie'] = 'Economie',
--['Events'] = 'Evenimente',
--['Events in CEE'] = 'Evenimente',
['Universități'] = 'Economie',
['Women'] = 'Femei',
['History'] = 'Istorie',
['Medicine'] = 'Medicină',
['Nature / Geography'] = 'Natură și geografie',
['Natură'] = 'Natură și geografie',
['Geografie'] = 'Natură și geografie',
['Geography'] = 'Natură și geografie',
['Rezervații naturale'] = 'Arii protejate',
['Protected areas'] = 'Arii protejate',
--['Organizations'] = 'Organizații',
--['Organizations in CEE'] = 'Organizații',
['Politicieni'] = 'Politică',
['Politics'] = 'Politică',
['Biserică'] = 'Religie',
['Biserici'] = 'Religie',
['Demografie'] = 'Societate',
['Relations'] = 'Societate',
['Relații'] = 'Societate',
['Society'] = 'Societate',
['Fotbal'] = 'Sport',
['Jocurile olimpice'] = 'Sport',
['Science and Technology'] = 'Științe',
['Știință și tehnologie'] = 'Științe',
['Science / Education'] = 'Științe',
['Știință și educație'] = 'Științe',
['Science'] = 'Științe',
['Știință'] = 'Științe',
['Fizică'] = 'Științe',
['Chimie'] = 'Științe',
['Biologie'] = 'Științe',
['Technology / IT'] = 'Tehnologie și IT',
['Technology'] = 'Tehnologie și IT',
['IT'] = 'Tehnologie și IT',
['Tehnologie / IT'] = 'Tehnologie și IT',
['Tehnologie'] = 'Tehnologie și IT',
['Transport / Infrastructure'] = 'Transport și infrastructură',
['Transport'] = 'Transport și infrastructură',
['Infrastructură'] = 'Transport și infrastructură',
['Infrastructure'] = 'Transport și infrastructură'
}
p.fromArgs = function(article, templateconfig)
local tbl = mw.html.create('table')
:addClass('messagebox')
:addClass('standard-talk')
local tabledata = tbl:tag('tr'):tag('td')
local countryLink = COUNTRY_ALIASES[article.country] or {}
countryLink.link = countryLink[1] or article.country
countryLink.label = countryLink[2] or countryLink.link
local topicName = TOPIC_ALIASES[article.topic] or article.topic
local txt = '[[Fișier:Logo CEE-t.png|80px|left|Logo CEE Spring]] '
if article.user then
txt = txt .. 'Acest articol a fost scris de '
txt = txt .. mw.getCurrentFrame():expandTemplate{ title = 'Ut', args = { article.user } }
txt = txt .. " în cadrul concursului '''[[Wikipedia:Wikimedia CEE Spring " .. templateconfig.year .. "|Wikimedia CEE Spring " .. templateconfig.year .. "]]''' și "
else
txt = txt .. "Acesta este unul din articolele înaintate la [[:m:Wikimedia CEE Spring " .. templateconfig.year .. "/Article Lists|listele de articole pe țări]] în cadrul concursului '''[[Wikipedia:Wikimedia CEE Spring " .. templateconfig.year .. "|Wikimedia CEE Spring " .. templateconfig.year .. "]]''', care "
end
txt = txt .. "se referă la un subiect din "
if countryLink.link then
txt = txt .. "[[" .. countryLink.link .. '|' .. countryLink.label .. "]]"
else
txt = txt .. '[SPECIFICAȚI PARAMETRUL "țară"!]'
end
txt = txt .. ', secțiunea ' .. (topicName or '[SPECIFICAȚI PARAMETRUL "secțiune"!]')
tabledata:wikitext(txt)
local categories = ''
if not templateconfig.nocat and templateconfig.namespace == 1 and article.user then
categories = categories .. '[[Categorie:Articole participante la Wikimedia CEE Spring ' .. templateconfig.year .. ']]'
if topicName then
categories = categories .. '[[Categorie:Articole participante la Wikimedia CEE Spring ' .. templateconfig.year .. ', secțiunea ' .. topicName .. ']]'
end
if article.country then
categories = categories .. '[[Categorie:Articole despre ' .. countryLink.label .. ' la Wikimedia CEE Spring ' .. templateconfig.year .. ']]'
end
end
return tostring(tbl) .. categories
end
p.fromFrame = function(frame)
local args = getArgs(frame)
local article = {}
local templateconfig = {}
templateconfig.year = args.year
article.user = args.utilizator or args.username
article.country = capitalize({args['țară'] or args.country or ''})
article.topic = capitalize({args.subiect or args.topic or args['secțiune'] or ''})
templateconfig.nocat = args.nocat
local pageTitle = mw.title.getCurrentTitle()
templateconfig.namespace = pageTitle.namespace
return p.fromArgs(article, templateconfig)
end
return p