模块:Dictionary-Complete.lua

来自「荏苒之境」
Sicusa留言 | 贡献2025年8月4日 (一) 18:13的版本

此模块的文档可以在模块:Dictionary-Complete.lua/doc创建

local dict_views = require("Module:Dictionary-Views.lua")
local dict_utils = require("Module:Dictionary-Utils.lua")

local DICT_TABLE = dict_views.TABLE
local cargo = mw.ext.cargo

local complete = {}

complete.show = function(frame)
    local language = frame.args.language
    local dictPage = frame.args.dictionaryPage

    local query = cargo.query(DICT_TABLE, "Spelling,Definition,Extra", {
        where = string.format([[Language="%s"]], language),
        limit = 100000
    })

    local headers = dict_utils.expand_row(query[1])
    local extra_count = #headers - 2
    local rows = {}
    local template_head = "{{词典条目|语言标识码="..language.."|拼写="

    for i = 2, #query do
        local row = dict_utils.expand_row(query[i], extra_count)
        local entry_page = dictPage.."/"..row.Spelling

        row[1] = "[["..entry_page.."|"..row[1].."]]"
        rows[i - 1] = row

        mw.site.createPage(
            entry_page, template_head..row.Spelling.."}}")
    end

    return dict_views.vocabulary(headers, rows)
end

return complete