12,303
edits
TheNightAvl (talk | contribs) (Bug fix) |
TheNightAvl (talk | contribs) No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 21: | Line 21: | ||
local see_desc = args["see"] | local see_desc = args["see"] | ||
local noname = args["noname"] | local noname = args["noname"] | ||
local nocat = args["nocat"] | |||
local lostcap = args["lost"] or "lost" | local lostcap = args["lost"] or "lost" | ||
if not nocat then out = out .. "[[Category:Terms with " .. lang.name .. " descendants|" .. mw.title.getCurrentTitle().subpageText .. "]]" end | |||
if borrowed then out = "<span class=\"desc-arrow\" title=\"borrowed\">→</span>" .. out end | if borrowed then out = "<span class=\"desc-arrow\" title=\"borrowed\">→</span>" .. out end | ||
if not noname then out = out .. lang.name .. ": " end | if not noname then out = out .. lang.name .. ": " end | ||
Line 38: | Line 40: | ||
gloss = term_args.t, | gloss = term_args.t, | ||
pos = term_args.pos, | pos = term_args.pos, | ||
nolink = term_args.nolink, | |||
hypo = term_args.hypo or term_args.hypothetical, | |||
nobold = true, | nobold = true, | ||
}) | }) | ||
Line 69: | Line 73: | ||
ancestors[lang] = {} | ancestors[lang] = {} | ||
-- process ad hoc ancestors | if mw.ustring.find(lang, "[%>%_]") then | ||
-- process ad hoc ancestors | |||
local ancestor_path = "" | |||
for piece, delim in mw.ustring.gmatch(lang, "([^%>%_]+)([%>%_])") do | |||
ancestor_path = ancestor_path .. piece | |||
if mw.ustring.match(lang, "^%>") then | |||
ancestor_path = ">" .. ancestor_path | |||
end | |||
table.insert(ancestors[lang], ancestor_path) | |||
ancestor_path = ancestor_path .. delim | |||
end | |||
if | else -- if ad hoc ancestors unspecified, i.e. the code does not contain the path symbols > or _ | ||
if mw.ustring.find(lang, "[0-9]+$") then | if mw.ustring.find(lang, "[0-9]+$") then | ||
local lang_temp, index = mw.ustring.match(lang, "^([^0-9]+)([0-9]+)$") | local lang_temp, index = mw.ustring.match(lang, "^([^0-9]+)([0-9]+)$") | ||
Line 147: | Line 157: | ||
if lang_change then | if lang_change then | ||
term = mw.ustring.sub(term, mw.ustring.len(lang_change) + 2) | term = mw.ustring.sub(term, mw.ustring.len(lang_change) + 2) | ||
local auto_ancestor, auto_bor = mw.ustring.sub(lang_change, 1, 1) == "_", mw.ustring.sub(lang_change, 1, 2) == ">>" | |||
if auto_ancestor or auto_bor then | |||
if code == nil then error("No preceding language code specified") end | |||
if auto_bor then lang_change = mw.ustring.sub(lang_change, 2) end | |||
lang_change = code .. lang_change | |||
end | |||
local lang_args = {} | local lang_args = {} | ||
Line 180: | Line 197: | ||
for lang, lang_args in pairs(terms) do | for lang, lang_args in pairs(terms) do | ||
table.insert(lang_args, 1, lang) | table.insert(lang_args, 1, lang) | ||
lang_args["nocat"] = args["nocat"] | |||
items[lang] = export.descendant(lang_args) | items[lang] = export.descendant(lang_args) | ||
end | end |