模块:字表调用
来自潮语辞书
更多操作
此模块的文档可以在模块:字表调用/doc创建
local p = {}
local mw = mw
-- 地区名到模块路径的映射表
local region_map = {
-- 饶平-三饶片
["三饶"] = "饶平-三饶片-三饶",
["凤凰"] = "饶平-三饶片-凤凰",
["新丰"] = "饶平-三饶片-新丰",
["新塘"] = "饶平-三饶片-新塘",
["汤溪"] = "饶平-三饶片-汤溪",
["浮山"] = "饶平-三饶片-浮山",
["浮滨"] = "饶平-三饶片-浮滨",
["东山"] = "饶平-三饶片-东山",
-- 饶平-黄冈片
["黄冈"] = "饶平-黄冈片-三饶",
["联饶"] = "饶平-黄冈片-联饶",
["樟溪"] = "饶平-黄冈片-樟溪",
["新圩"] = "饶平-黄冈片-新圩",
["钱东"] = "饶平-黄冈片-高堂",
["海山"] = "饶平-黄冈片-海山",
["汫洲"] = "饶平-黄冈片-汫洲",
-- 海阳-府城片
["府城"] = "海阳-府城片-府城",
["铁铺"] = "海阳-府城片-铁铺",
["古巷"] = "海阳-府城片-古巷",
["凤塘"] = "海阳-府城片-凤塘",
["意溪"] = "海阳-府城片-意溪",
["赤凤"] = "海阳-府城片-赤凤",
["归湖"] = "海阳-府城片-归湖",
["浮洋"] = "海阳-府城片-浮洋",
-- 海阳-潮安片
["庵埠"] = "海阳-潮安片-庵埠",
["铁铺"] = "海阳-潮安片-铁铺",
["磷溪"] = "海阳-潮安片-磷溪",
["官塘"] = "海阳-潮安片-官塘",
["沙溪"] = "海阳-潮安片-沙溪",
["金石"] = "海阳-潮安片-金石",
["东凤"] = "海阳-潮安片-东凤",
["江东"] = "海阳-潮安片-江东",
}
function p.getReading(frame)
local char = frame.args[1]
local region = frame.args[2]
local mode = frame.args[3] or "潮拼"
if not char or char == "" then
return "错误:缺少字。"
end
if not region or region == "" then
return "错误:缺少地区。"
end
local module_path = region_map[region]
if not module_path then
return "查无此地区数据。"
end
local ok, mod = pcall(require, "Module:调查字表/" .. module_path)
if not ok or not mod or not mod.data then
return "查无此地区数据。"
end
local readings = mod.data[char]
if not readings then
return "查无“" .. char .. "”在" .. region .. "的读音。"
end
local result = {}
for _, entry in ipairs(readings) do
local s = entry[mode] or "—"
local zt = entry["字态"] or ""
local note = entry["注释"] or ""
local gray = entry["灰色"]
if gray then
s = '<span style="color:gray">' .. s .. '</span>'
end
if zt ~= "" then
s = s .. ' <span style="color:#fff;">[' .. zt .. ']</span>'
end
if note ~= "" then
s = s .. ' <sub>' .. mw.text.nowiki(note) .. '</sub>'
end
table.insert(result, '<div>' .. s .. '</div>')
end
return table.concat(result, "\n")
end
return p