模块:Dictionary/Vocabulary.lua

来自「荏苒之境」
Sicusa留言 | 贡献2025年8月2日 (六) 01:53的版本

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

local csv = require("Module:Csv.lua")
local cargo = mw.ext.cargo

local section = {}

section.show = function(frame)
    local args = frame.args
    local table_name = "Dict_"..args.langauge
    local format = args.format
    local content = args.content

    local decls = {}
    local entries = {}

    if format == "csv" then
        local data = csv.parse(content)
        local header = data.header
        for i = 1, #header do
            decls[header[i]] = "String";
        end
        for i = 1, #data do
            local entry = {}
            local row = data[i]
            for j = 1, #row do
                entry[header[j]] = row[j]
            end
            entries[i] = entry
        end
    else
        mw.addWarning("无效的词典格式:"..tostring(format))
    end

    cargo.declare(table_name, decls)
    for i = 1, #entries do
        cargo.store(table_name, entries[i])
    end
end

return section