Mô đun:taxonomy
Giao diện
local export = {}
local lang_vi = require("Module:languages").getByCode("vi")
local lang_mul = require("Module:languages").getByCode("mul")
function export.taxon(frame)
local params = {
[1] = {required = true, default = "{{{1}}}"},
[2] = {required = true, default = "{{{2}}}"},
[3] = {required = true, default = "{{{3}}}"},
[4] = {},
["i"] = {type = "boolean"},
["nodot"] = {type = "boolean"},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local ret = {}
local categories = {"Danh pháp phân loại (" .. args[1] .. ")/Đa ngữ"}
table.insert(ret, "Một ")
table.insert(ret, require("Module:links").language_link{lang = lang_vi, term = args[1]})
table.insert(ret, " thuộc ")
table.insert(ret, require("Module:links").language_link{lang = lang_vi, term = args[2]})
table.insert(ret, " ")
local parent = require("Module:links").language_link{lang = lang_mul, term = args[3]}
if args[2] == "chi" or args[2] == "loài" or args["i"] then
parent = "''" .. parent .. "''"
end
table.insert(ret, parent)
-- Track missing taxonomic name
parent = mw.title.new(args[3])
if not (parent and parent.exists) then
table.insert(categories, "Mục từ có danh pháp phân loại chưa được tạo bài (" .. args[2] .. ")")
end
-- Vernacular name
if args[4] then
table.insert(ret, " – ")
table.insert(ret, args[4])
else
table.insert(categories, "Tên phân loại cần tên thông dụng")
end
if not args["nodot"] then
table.insert(ret, ".")
end
return table.concat(ret) .. require("Module:utilities").format_categories(categories, lang_mul)
end
return export