Modifiche

Modulo:Headword/templates

1 443 byte aggiunti, 13:44, 6 mag 2015
nessun oggetto della modifica
local export = {}
-- Part of speech types that should not be pluralized.
local invariable = {
["cmavo"] = true,
["rafsi"] = true,
["romaji"] = true,
}
 
local params = {
[1] = {required = true},
["sc"] = {},
["cat sc"] = {},
["sort"] = {},
[2] = {},
["cat2"] = {},
["cat3"] = {},
["head"] = {},
["head2"] = {},
["head3"] = {},
["head4"] = {},
["head5"] = {},
["tr"] = {},
["tr2"] = {},
["tr3"] = {},
["tr4"] = {},
["tr5"] = {},
["g"] = {},
["g2"] = {},
["g3"] = {},
["g4"] = {},
["g5"] = {},
[3] = {allow_empty = true}, [4] = {}, ["f1accel"] = {}, ["f1request"] = {}, ["f1alt"] = {}, ["f1sc"] = {}, ["f1id"] = {}, ["f1tr"] = {}, ["f1g"] = {}, ["f1qual"] = {}, ["f1nolink"] = {type = "boolean"}, ["f1lang"] = {},
[5] = {allow_empty = true}, [6] = {}, ["f2accel"] = {}, ["f2request"] = {}, ["f2alt"] = {}, ["f2sc"] = {}, ["f2id"] = {}, ["f2tr"] = {}, ["f2g"] = {}, ["f2qual"] = {}, ["f2nolink"] = {type = "boolean"}, ["f2lang"] = {},
[7] = {allow_empty = true}, [8] = {}, ["f3accel"] = {}, ["f3request"] = {}, ["f3alt"] = {}, ["f3sc"] = {}, ["f3id"] = {}, ["f3tr"] = {}, ["f3g"] = {}, ["f3qual"] = {}, ["f3nolink"] = {type = "boolean"}, ["f3lang"] = {},
[9] = {allow_empty = true}, [10] = {}, ["f4accel"] = {}, ["f4request"] = {}, ["f4alt"] = {}, ["f4sc"] = {}, ["f4id"] = {}, ["f4tr"] = {}, ["f4g"] = {}, ["f4qual"] = {}, ["f4nolink"] = {type = "boolean"}, ["f4lang"] = {},
[11] = {allow_empty = true}, [12] = {}, ["f5accel"] = {}, ["f5request"] = {}, ["f5alt"] = {}, ["f5sc"] = {}, ["f5id"] = {}, ["f5tr"] = {}, ["f5g"] = {}, ["f5qual"] = {}, ["f5nolink"] = {type = "boolean"}, ["f5lang"] = {},
[13] = {allow_empty = true}, [14] = {}, ["f6accel"] = {}, ["f6request"] = {}, ["f6alt"] = {}, ["f6sc"] = {}, ["f6id"] = {}, ["f6tr"] = {}, ["f6g"] = {}, ["f6qual"] = {}, ["f6nolink"] = {type = "boolean"}, ["f6lang"] = {},
[15] = {allow_empty = true}, [16] = {}, ["f7accel"] = {}, ["f7request"] = {}, ["f7alt"] = {}, ["f7sc"] = {}, ["f7id"] = {}, ["f7tr"] = {}, ["f7g"] = {}, ["f7qual"] = {}, ["f7nolink"] = {type = "boolean"}, ["f7lang"] = {},
[17] = {allow_empty = true}, [18] = {}, ["f8accel"] = {}, ["f8request"] = {}, ["f8alt"] = {}, ["f8sc"] = {}, ["f8id"] = {}, ["f8tr"] = {}, ["f8g"] = {}, ["f8qual"] = {}, ["f8nolink"] = {type = "boolean"}, ["f8lang"] = {},
[19] = {allow_empty = true}, [20] = {}, ["f9accel"] = {}, ["f9request"] = {}, ["f9alt"] = {}, ["f9sc"] = {}, ["f9id"] = {}, ["f9tr"] = {}, ["f9g"] = {}, ["f9qual"] = {}, ["f9nolink"] = {type = "boolean"}, ["f9lang"] = {},
}
function export.head_t(frame)
local args = require("Module:parameters").process(frame:getParent().args, params)
-- Get language and script information
local lang = args[1] or (mw.title.getCurrentTitle().nsText == "Template" and "und") or error("Language code has not been specified. Please pass parameter 1 to the template.") local sc = args["sc"] or ""; if sc == "" then sc = nil end local cat_sc = args["cat sc"] or ""; if cat_sc == "" then cat_sc = nil end
lang = require("Module:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.")
-- Gather basic parameters
local sort_key = args["sort"]; if sort_key == "" then sort_key = nil end local pos = args[2]; if pos == "" then pos = nil end local cat2 = args["cat2"]; if cat2 == "" then cat2 = nil end local cat3 = args["cat3"]; if cat3 == "" then cat3 = nil end
-- Gather headwords and transliterations
local translits = {}
local head = args["head"] or ""
local translit = args["tr"]; if translit == "" then translit = nil end
local i = 1
i = i + 1
head = args["head" .. i]; if head == "" then head = nil end translit = args["tr" .. i]; if translit == "" then translit = nil end
end
-- Iterate over all gn parameters (g2, g3 and so on) until one is empty
local genders = {}
local g = args["g"]; if g == "" then g = nil end
local i = 2
while g do
table.insert(genders, g)
g = args["g" .. i]; if g == "" then g = nil end
i = i + 1
end
local i = 1
local label = args[i * 2 + 1]
local accel = args["f" .. i .. "accel"]; if accel == "" then accel = nil end local request = args["f" .. i .. "request"]; if request == "" then request = nil end
local parts = {label = label, accel = accel, request = request}
while label do
local term = args[i * 2 + 2]; if term == "" then term = nil end local alt = args["f" .. i .. "alt"]; if alt == "" then alt = nil end local sc = args["f" .. i .. "sc"]; if sc == "" then sc = nil end local id = args["f" .. i .. "id"]; if id == "" then id = nil end local translit = args["f" .. i .. "tr"]; if translit == "" then translit = nil end local gender = args["f" .. i .. "g"]; if gender == "" then gender = nil end local qualifier = args["f" .. i .. "qual"]; if qualifier == "" then qualifier = nil end local nolink = args["f" .. i .. "nolink"]; if nolink == "" then nolink = nil end local lang = args["f" .. i .. "lang"]; if lang == "" then lang = nil end
if lang ~= nil then
i = i + 1
label = args[i * 2 + 1]
accel = args["f" .. i .. "accel"]; if accel == "" then accel = nil end request = args["f" .. i .. "request"]; if request == "" then request = nil end
-- If the next label is not "or" then insert the previous one and create a new one.
Utente anonimo

Menu di navigazione