Module:example: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
function export.make_example(language, sentence, gloss, inline, nocat) | function export.make_example(language, sentence, gloss, inline, nocat) | ||
local translation = gloss and (inline and (" | local translation = gloss and (inline and (" ― " .. gloss) or ("<dl><dd>" .. gloss .. "</dd></dl>")) or "" | ||
local cats = nocat and "" or ("[[Category:" .. language.name .. " terms with usage examples]]") | local cats = nocat and "" or ("[[Category:" .. language.name .. " terms with usage examples]]") | ||
return '<div class="h-example">' .. m_formatting.wrap_face(sentence, language, "example") .. translation .. '</div>' .. cats | return '<div class="h-example">' .. m_formatting.wrap_face(sentence, language, "example") .. translation .. '</div>' .. cats |
Revision as of 16:13, 22 February 2024
Implements {{example}}
.
local export = {}
local m_formatting = require("Module:formatting")
local m_languages = require("Module:languages")
local params = {
[1] = {required = true},
[2] = {required = true},
[3] = {},
["inline"] = {type = "boolean"},
["nocat"] = {type = "boolean"},
}
local params_inline = {
[1] = {required = true},
[2] = {required = true},
[3] = {},
["inline"] = {type = "boolean", default = true},
["nocat"] = {type = "boolean"},
}
function export.make_example(language, sentence, gloss, inline, nocat)
local translation = gloss and (inline and (" ― " .. gloss) or ("<dl><dd>" .. gloss .. "</dd></dl>")) or ""
local cats = nocat and "" or ("[[Category:" .. language.name .. " terms with usage examples]]")
return '<div class="h-example">' .. m_formatting.wrap_face(sentence, language, "example") .. translation .. '</div>' .. cats
end
function export.show(frame)
local args = require("Module:parameters").process(frame:getParent().args, params)
local language = m_languages.get_by_code(args[1])
return export.make_example(language, args[2], args[3], args["inline"], args["nocat"])
end
function export.show_inline(frame)
local args = require("Module:parameters").process(frame:getParent().args, params_inline)
local language = m_languages.get_by_code(args[1])
return export.make_example(language, args[2], args[3], args["inline"], args["nocat"])
end
return export