维护提醒
BWIKI 全站将于 9 月 3 日(全天)进行维护,期间无法编辑任何页面或发布新的评论。
全站通知:
模块:Name
刷
历
编
跳到导航
跳到搜索
local Helper = require("Module:Helper")
local Special = Helper.LazyLoad("Module:Name/data/overrides", true)
local NormalSpecial = Helper.LazyLoad("Module:Name/data/overrides", false)
local Name = Helper.LazyLoad("Module:Name/data/en", true)
local NormalName = Helper.LazyLoad("Module:Name/data/en", false)
local SVE = Helper.LazyLoad("Module:Name/data/expanded", true)
local NormalSVE = Helper.LazyLoad("Module:Name/data/expanded", false)
local p = {}
function p.name(frame)
local text = frame.args[1]
if not text then
return ""
end
local lowerText = string.lower(text):gsub("_"," ")
return Special[lowerText] or Name[lowerText] or ""
end
function p.nameSVE(frame)
local text = frame.args[1]
if not text then
return ""
end
local lowerText = string.lower(text):gsub("_"," ")
if SVE[lowerText] ~= nil then
return 'SVE:' .. SVE[lowerText] .. '|' .. SVE[lowerText]
end
local fallback = '' --'SVE:' .. text .. '|' .. text
return Special[lowerText] or Name[lowerText] or fallback
end
function p.reverse_name(frame)
local text = frame.args[1]
if not text then
return ""
end
local chineseText = text
-- local chineseText = text:gsub("^%s*(.-)%s*$", "%1")
for englishKey, chineseValue in pairs(NormalSpecial or {}) do
if chineseValue == chineseText then
-- return englishKey:gsub(" ", "_")
return englishKey
end
end
for englishKey, chineseValue in pairs(NormalName or {}) do
if chineseValue == chineseText then
return englishKey
end
end
return ""
end
function p.rawNameSVE(frame)
local text = frame.args[1]
if not text then
return ""
end
local lowerText = string.lower(text):gsub("_"," ")
return SVE[lowerText] or Special[lowerText] or Name[lowerText] or ""
end
-- =p.deafaultNameSVE{args={"大叫汉堡"}}
function p.deafaultNameSVE(frame)
local text = frame.args[1]
if not text then
return ""
end
for key, value in pairs(NormalSVE) do
if string.lower(value) == text then
return key
end
end
return ""
end
return p