Modul:Header/attribution data
Documentația acestui modul poate fi creată la Modul:Header/attribution data/doc
local function anon(text)
text = text or 'Anonim'
local cat = ''
if mw.title.getCurrentTitle():inNamespaces(0, 114) then
cat = '[[Categorie:' .. 'Lucrări anonime' .. ']]'
end
return '[[Portal:Lucrări anonime|' .. text .. ']]' .. cat
end
local function anon_nocat(text)
return '[[Portal:Lucrări anonime|' .. (text or 'Anonim') .. ']]'
end
local contrib_types = {
{noun = 'autor', prefix = 'de'},
{noun = 'atribuit', prefix = 'atribuit lui', special_cases = {}},
{noun = 'adaptator', prefix = 'adaptarea de'},
{noun = 'rezumator', prefix = 'rezumat de'},
{noun = 'ilustrator', prefix = 'ilustrații de'},
{noun = 'regizor', prefix = 'regia de'},
{noun = 'textier', prefix = 'versuri de'},
{noun = 'libretist', prefix = 'libret de'},
{noun = 'culegător', prefix = 'cules de'},
{
noun = 'carte de',
prefix = 'carte de',
special_cases = {
['?'] = 'autor necunoscut',
['necunoscut'] = 'autor necunoscut',
['nemenționat'] = 'autor necunoscut',
['anon'] = anon,
['anonim'] = anon,
['diverși'] = 'diverși autori'
}
},
{noun = 'compozitor', prefix = 'compus de'},
{noun = 'aranjor', prefix = 'aranjat de'},
{
noun = 'traducător',
prefix = 'traducere de',
special_cases = {
['?'] = 'traducător necunoscut',
['necunoscut'] = 'traducător necunoscut',
['nemenționat'] = 'traducător necunoscut',
['anon'] = anon,
['anonim'] = anon,
['diverși'] = 'diverși traducători',
['wikisource'] = '[[Wikisource:Traduceri|Wikisource]]'
}
},
{
noun = 'editor',
prefix = 'editat de',
special_cases = {
['?'] = 'editor necunoscut',
['necunoscut'] = 'editor necunoscut',
['nemenționat'] = 'editor necunoscut',
['anon'] = anon_nocat,
['anonim'] = anon_nocat,
['diverși'] = 'diverși editori'
}
}
}
for i = 1, #contrib_types do
local noun = contrib_types[i]['noun']
contrib_types[i]['param_name'] = contrib_types[i]['param_name'] or string.gsub(noun, ' ', '-')
contrib_types[i]['special_cases'] = contrib_types[i]['special_cases'] or {
['?'] = 'necunoscut ' .. noun,
['necunoscut'] = 'necunoscut ' .. noun,
['nemenționat'] = 'necunoscut ' .. noun,
['anon'] = anon,
['anonim'] = anon,
['diverși'] = 'diverși ' .. noun .. 'i'
}
contrib_types[i]['index'] = i
end
return contrib_types