Sari la conținut

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