11,245
edits
TheNightAvl (talk | contribs) No edit summary |
TheNightAvl (talk | contribs) No edit summary |
||
Line 3: | Line 3: | ||
local m_formatting = require("Module:formatting") | local m_formatting = require("Module:formatting") | ||
local m_languages = require("Module:languages") | local m_languages = require("Module:languages") | ||
local m_languages_oow = require("Module:languages-oow") | |||
local params = { | local params = { | ||
[1] = {required = true}, | [1] = {required = true}, | ||
[2] = {required = true}, | [2] = {required = true}, | ||
[3] = {}, | [3] = {list = true}, | ||
["inline"] = {type = "boolean"}, | ["inline"] = {type = "boolean"}, | ||
["nocat"] = {type = "boolean"}, | ["nocat"] = {type = "boolean"}, | ||
Line 13: | Line 14: | ||
[1] = {required = true}, | [1] = {required = true}, | ||
[2] = {required = true}, | [2] = {required = true}, | ||
[3] = {}, | [3] = {list = true}, | ||
["inline"] = {type = "boolean", default = true}, | ["inline"] = {type = "boolean", default = true}, | ||
["nocat"] = {type = "boolean"}, | ["nocat"] = {type = "boolean"}, | ||
} | } | ||
function export.make_example(language, sentence, | function export.make_example(language, sentence, glosses, inline, nocat) | ||
local translation = | local translation = "" | ||
local cats = nocat and "" or ("[[Category:" .. language.name .. " terms with usage examples]]") | local cats = nocat and "" or ("[[Category:" .. language.name .. " terms with usage examples]]") | ||
if #glosses > 0 then | |||
for _, gloss in ipairs(glosses) do | |||
if mw.ustring.match(gloss, "^([a-z]+)%:(.+)$") then | |||
local code, gloss_temp = mw.ustring.match(gloss, "^([a-z]+)%:(.+)$") | |||
if m_languages_oow.is_valid_code(code) then | |||
gloss = m_languages_oow.get_flag(code) .. " " .. gloss_temp | |||
cats = cats .. (nocat and "" or ("[[Category:Terms with " .. m_languages_oow.get_name(code) .. " translations]]")) | |||
end | |||
end | |||
translation = translation .. (inline and (" ― " .. gloss) or ("<dl><dd>" .. gloss .. "</dd></dl>")) | |||
end | |||
translation = mw.ustring.gsub(translation, "</dd></dl><dl><dd>", "<br>") | |||
end | |||
return '<div class="h-example">' .. m_formatting.wrap_face(mw.ustring.gsub(sentence,"%*([^%*]+)*","'''%1'''"), language, "example") .. mw.ustring.gsub(translation,"%*([^%*]+)*","'''%1'''") .. '</div>' .. cats | return '<div class="h-example">' .. m_formatting.wrap_face(mw.ustring.gsub(sentence,"%*([^%*]+)*","'''%1'''"), language, "example") .. mw.ustring.gsub(translation,"%*([^%*]+)*","'''%1'''") .. '</div>' .. cats | ||
end | end |