Pergi ke kandungan

Modul:Header/attribution data

Daripada Wikisumber
require('strict')

local function anon(text)
	text = text or 'Awanama'
	local cat = ''
	if mw.title.getCurrentTitle():inNamespaces(0, 114) then
		cat = '[[Kategori:' .. 'Karya oleh pengarang tidak diketahui' .. ']]'
	end
	return '[[Gerbang:Teks awanama|' .. text .. ']]' .. cat
end

local function anon_nocat(text)
	return '[[Gerbang:Teks awanama|' .. (text or 'Awanama') .. ']]'
end

local contrib_types = {
	{noun = 'author', prefix = 'dikarang oleh'},
	{noun = 'attributed to', prefix = 'dikaitkan dengan', special_cases = {}},
	{noun = 'adapter', prefix = 'diadaptasi oleh'},
	{noun = 'abridger', prefix = 'diringkaskan oleh'},
	{noun = 'illustrator', prefix = 'dihias oleh'},
	{noun = 'director', prefix = 'arahan'},
	{noun = 'lyricist', prefix = 'seni kata disediakan oleh'},
	{noun = 'librettist', prefix = 'libreto disediakan oleh'},
	{
		noun = 'book by',
		prefix = 'buku oleh',
		special_cases = {
			['?'] = 'pengarang yang tidak diketahui',
			['unknown'] = 'pengarang yang tidak diketahui',
			['not mentioned'] = 'pengarang yang tidak diketahui',
			['anon'] = anon,
			['anonymous'] = anon,
			['various'] = 'pelbagai pengarang'
		}
	},
	{noun = 'composer', prefix = 'digubah oleh'},
	{noun = 'arranger', prefix = 'disusun oleh'},
	{
		noun = 'translator',
		prefix = 'diterjemah oleh',
		special_cases = {
			['?'] = 'penterjemah yang tidak diketahui',
			['unknown'] = 'penterjemah yang tidak diketahui',
			['not mentioned'] = 'penterjemah yang tidak diketahui',
			['anon'] = anon,
			['anonymous'] = anon,
			['various'] = 'pelbagai penterjemah',
			['wikisource'] = '[[Wikisumber:Terjemahan|penyunting Wikisumber]]'
		}
	},
	{
		noun = 'editor',
		prefix = 'disunting oleh',
		special_cases = {
			['?'] = 'penyunting yang tidak diketahui',
			['unknown'] = 'penyunting yang tidak diketahui',
			['not mentioned'] = 'penyunting yang tidak diketahui',
			['anon'] = anon_nocat,
			['anonymous'] = anon_nocat,
			['various'] = 'pelbagai penyunting'
		}
	},
	{noun = 'compiler', prefix = 'disusun oleh'}
}

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 {
		['?'] = noun .. ' yang tidak diketahui',
		['unknown'] = noun .. ' yang tidak diketahui',
		['not mentioned'] = noun .. ' yang tidak diketahui',
		['anon'] = anon,
		['anonymous'] = anon,
		['various'] = 'pelbagai ' .. noun
	}
	contrib_types[i]['index'] = i
end

return contrib_types