全站通知:

模块:Name

来自星露谷物语维基
跳到导航 跳到搜索

本模块用于模板:Name,替代了曾用的 #switch 写法,提高了运行的效率。

大部分数据均由游戏中导出,如需手动添加,请补至页面模块:Name/data/overrides的末尾。

[ 查看 | 编辑 | 历史 | 刷新 ]上述文档的内容来自模块:Name/doc
local utils = require("Module:Utils")

local overrides = utils.lazyLoad("Module:Name/data/overrides", true)
local overrides2 = utils.lazyLoad("Module:Name/data/overrides", false)
local data = utils.lazyLoad("Module:Name/data/en", true)
local data2 = utils.lazyLoad("Module:Name/data/en", false)

local p = {}

function p.getName(input)
    local text = utils.getArg(input)
    if not text then
        return ""
    end
    text = text:lower():gsub("_"," ")
    return overrides[text] or data[text] or ""
end

function p.getDefaultName(input)
    local text = utils.getArg(input)
    if not text then
        return ""
    end
    
    local chineseText = text
    for englishKey, chineseValue in pairs(overrides2 or {}) do
        if chineseValue == chineseText then
            return englishKey
        end
    end
    for englishKey, chineseValue in pairs(data2 or {}) do
        if chineseValue == chineseText then
            return englishKey
        end
    end
    
    return ""
end

return p