Přeskočit na obsah

Modul:Cite

Tuto stránku mohou editovat jen zavedení uživatelé a správci.
Z Wikipedie, otevřené encyklopedie

Cite může být použit k převedení cizojazyčných citačních šablon na české.

Použití

Do šablony, kterou chcete převést: {{{{{|safesubst:}}}#invoke:Cite|cite| původní šablona | nová šablona }}

Do Modul:Cite/convert:

	['původní šablona'] = {
		['původní parametr'] = 'nový parametr',
		['původní parametr'] = 'nový parametr',
	},


require('strict')

local p = {}

function p.cite(context)
	-- Get parameters
	local getArgs = require('Modul:Arguments').getArgs
	local parameters = getArgs(context:getParent())

	-- Get convert table for template
	local all_templates = mw.loadData('Modul:Cite/convert')
	local args = getArgs(context)
	local template = args[1]
	local new_template = args[2]
	local convert_table = all_templates[template]

	-- Convert parameters
	local result = {}
	for p, v in pairs(parameters) do
		if convert_table[p] then
			result[convert_table[p]] = v
		else
			result[p] = v
		end
	end

	-- Combine partial parameters
	if convert_table['~části'] then
		for _, parts in pairs(convert_table['~části']) do
			local part = parts[1]
			local separator = parts[2]
			if result[part .. '-před'] and result[part .. '-za'] then
				result[part] = result[part .. '-před'] .. separator .. result[part .. '-za']
				result[part .. '-před'] = nil
				result[part .. '-za'] = nil
			elseif result[part .. '-před'] then
				result[part] = result[part .. '-před']
				result[part .. '-před'] = nil
			elseif result[part .. '-za'] then
				result[part] = result[part .. '-za']
				result[part .. '-za'] = nil
			end
		end
	end

	-- Print output
	return context:expandTemplate{ title = new_template, args = result }
end

return p