Modul:Cite
Vzhled
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 }}
['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