(撤销Katty von Keksburg(讨论)的版本26001) Tag: Undo |
No edit summary |
||
| Line 9: | Line 9: | ||
return p._state_name(args) | return p._state_name(args) | ||
end | end | ||
function p.state_name2(frame) | |||
local args = getArgs(frame) | |||
return p._state_name2(args) | |||
end | |||
function p._state_name(args) | function p._state_name(args) | ||
id = tonumber(args[1]) | id = tonumber(args[1]) | ||
| Line 17: | Line 23: | ||
end | end | ||
end | end | ||
function p._state_name2(args) | |||
local id = tonumber(args[1]) | |||
if not states[id] then | |||
return "<span style=\"color: red;\">[[Module:State/List]] does not have state:</span>" | |||
else | |||
return states[id].name2 | |||
end | |||
end | |||
function p.state_names(frame) | function p.state_names(frame) | ||
local args = getArgs(frame) | local args = getArgs(frame) | ||
return p._state_names(args) | return p._state_names(args) | ||
end | end | ||
function p.state_names2(frame) | |||
local args = getArgs(frame) | |||
return p._state_names2(args) | |||
end | |||
function p._state_names(args) | function p._state_names(args) | ||
output = {} | output = {} | ||
| Line 26: | Line 48: | ||
if type(i) == "number" then | if type(i) == "number" then | ||
if not states[tonumber(j)] then | if not states[tonumber(j)] then | ||
return "<span style=\"color: red;\">[[Module:State/List]] | return "<span style=\"color: red;\">[[Module:State/List]] 没有中文名:" .. j .. "</span>" | ||
end | end | ||
s = states[tonumber(j)].name | s = states[tonumber(j)].name | ||
if not states[tonumber(j)] then | |||
return "<span style=\"color: red;\">[[Module:State/List]]没有英文名: " .. j .. "</span>" | |||
end | |||
s = states[tonumber(j)].name2 | |||
if not args.nob then | if not args.nob then | ||
s = string.format("'''%s'''", s) | s = string.format("'''%s'''", s) | ||
Latest revision as of 21:52, 13 May 2024
The list of states with their information for the module is in Module:State/List.
Implements
- 重定向 Template:Tlx and
- 重定向 Template:Tlx.
local p = {};
states = require('Module:State/List');
local getArgs = require('Module:Arguments').getArgs
function p.state_name(frame)
local args = getArgs(frame)
return p._state_name(args)
end
function p.state_name2(frame)
local args = getArgs(frame)
return p._state_name2(args)
end
function p._state_name(args)
id = tonumber(args[1])
if not states[id] then
return "<span style=\"color: red;\">[[Module:State/List]] does not have state:</span>"
else
return states[id].name
end
end
function p._state_name2(args)
local id = tonumber(args[1])
if not states[id] then
return "<span style=\"color: red;\">[[Module:State/List]] does not have state:</span>"
else
return states[id].name2
end
end
function p.state_names(frame)
local args = getArgs(frame)
return p._state_names(args)
end
function p.state_names2(frame)
local args = getArgs(frame)
return p._state_names2(args)
end
function p._state_names(args)
output = {}
for i, j in pairs(args) do
if type(i) == "number" then
if not states[tonumber(j)] then
return "<span style=\"color: red;\">[[Module:State/List]] 没有中文名:" .. j .. "</span>"
end
s = states[tonumber(j)].name
if not states[tonumber(j)] then
return "<span style=\"color: red;\">[[Module:State/List]]没有英文名: " .. j .. "</span>"
end
s = states[tonumber(j)].name2
if not args.nob then
s = string.format("'''%s'''", s)
end
if not args.noid then
s = s .. string.format(" ''(%s)''", j)
end
output[i] = s
end
end
if args.sep then
sep = args.sep:gsub("\\n", "\n"):gsub("_", " ")
s = table.concat(output, sep)
elseif #output == 1 then
s = output[1]
elseif #output == 2 then
s = output[1] .. " and " .. output[2]
else
s = table.concat(output, ", ", 1, #output-1) .. ", and " .. output[#output]
end
return s
end
return p