打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:字表调用

来自潮语辞书
沙茶ちゃん留言 | 贡献2025年7月9日 (三) 17:38的版本

此模块的文档可以在模块:字表调用/doc创建

local p = {}
local mw = mw

-- 可选:未来支持更多地区片名,这里集中管理命名规则
local prefix = "调查字表/饶平-三饶片-"

function p.getReading(frame)
    local char = frame.args[1]
    local region = frame.args[2]
    local mode = frame.args[3] or "IPA"  -- 可选参数,默认取 IPA,也可设为“潮拼”

    if not char or char == "" then
        return "错误:需要指定查询的字。"
    end
    if not region or region == "" then
        return "错误:需要指定地区。"
    end

    local module_path = prefix .. region
    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 "查无此字在" .. region .. "的读音。"
    end

    local result = {}
    for _, entry in ipairs(readings) do
        local sound = entry[mode] or ""
        local zt = entry["字态"] or ""
        local note = entry["注释"] or ""
        local is_gray = entry["灰色"]

        if is_gray then
            sound = '<span style="color:gray">' .. sound .. '</span>'
        end
        if zt ~= "" then
            sound = sound .. '<span style="color:#fff;">[' .. zt .. ']</span>'
        end
        if note ~= "" then
            sound = sound .. ' <sub>' .. mw.text.nowiki(note) .. '</sub>'
        end

        table.insert(result, '<div>' .. sound .. '</div>')
    end

    return table.concat(result, "\n")
end

return p