Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:heslo1
-- Implementation of the template 'heslo1'.
local language = require("Module:Language")
local utilities = require("Module:heslo")
local wton = require("Module:wton")
local module = {}
local schema = {
= {"option", {"list", {
= {"option", {"list", {"text"}}},
= {"text"},
= {"text"}
}}},
= {"option", {"text"}},
= {"option", {"list", {"text"}}},
= {"option", {"text"}},
= {"option", {"list", {
= {"text"},
= {"option", {"list", {"text"}}}
}}},
= {"text"},
= {"option", {"list", {
= {"text"},
= {"option", {"list", {"text"}}}
}}}
}
function module.main(frame)
local parameters = wton.parse_validated(frame, schema)
local language_name = language:getName(parameters.jazyk)
if not language_name then
error("Parametr 'jazyk' má neznámou hodnotu")
end
local categories = ""
local output = ""
if parameters.ipa then
local has_labels
for key, item in pairs(parameters.ipa) do
if mw.ustring.find(item, "") then
error("Parametr 'IPA' obsahuje chybný znak")
end
if item then
has_labels = 1
break
end
end
if has_labels then
for key, item in pairs(parameters.ipa) do
output = output .. "*" .. utilities.format_labels(item) .. "]: <span class=IPA title=\"Toto je transkripce výslovnosti pomocí mezinárodní fonetické abecedy IPA.\"> .. "]</span>\n"
end
else
separator = "*]: <span class=IPA title=\"Toto je transkripce výslovnosti pomocí mezinárodní fonetické abecedy IPA.\">["
for key, item in pairs(parameters.ipa) do
output = output .. separator .. item
separator = "], ["
end
output = output .. "]</span>\n"
end
else
categories = categories .. "]"
output = output .. "*<i style=color:#888>IPA:</i> <span style=color:#ba0000>?</strong></span>\n"
end
if parameters.audio then
for key, item in pairs(parameters.audio) do
output = output .. "*" .. utilities.format_labels(item) .. frame:expandTemplate{ title = "Audio", args = { item.soubor, item.text } } .. "\n"
end
else
categories = categories .. "]"
end
if parameters.homofony then
if parameters.homofony then
output = output .. "*''homofony:\n"
for key, item in pairs(parameters.homofony) do
output = output .. "**" .. frame:expandTemplate{ title = "P", args = { parameters.jazyk, item } } .. "\n"
end
else
output = output .. "*''homofony:'' " .. frame:expandTemplate{ title = "P", args = { parameters.jazyk, parameters.homofony } } .. "\n"
end
end
if parameters then
output = output .. "*''dělení:'' " .. parameters .. "\n"
else
categories = categories .. "]"
output = output .. "*<i style=color:#888>dělení:</i> <span style=color:#ba0000>?</strong></span>\n"
end
output = output .. utilities.format_variants(frame, parameters)
if parameters.etymologie then
output = output .. "*''etymologie:'' " .. parameters.etymologie .. "\n"
else
categories = categories .. "]"
end
return output .. categories
end
return module