Module:Yesno: Difference between revisions
imported>MusikAnimal (Undid revision 948472533 by [[Special:Contributions/w>Vogone|w>Vogone]] ([[User talk:w>Vogone|talk]])) |
m (1 revision imported) |
||
(One intermediate revision by one other user not shown) | |||
Line 15: | Line 15: | ||
or val == 't' | or val == 't' | ||
or val == 'on' | or val == 'on' | ||
or val == '是' | |||
or val == '开' | |||
or val == '開' | |||
or tonumber(val) == 1 | or tonumber(val) == 1 | ||
then | then | ||
Line 24: | Line 27: | ||
or val == 'f' | or val == 'f' | ||
or val == 'off' | or val == 'off' | ||
or val == '否' | |||
or val == '关' | |||
or val == '關' | |||
or tonumber(val) == 0 | or tonumber(val) == 0 | ||
then | then |
Latest revision as of 12:17, 23 April 2025
-- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{safesubst:#switch: ¬
|no |n |false |f |否 |0 = | = |¬ = |yes |y |true |t |是 |1 = yes |#default = yes
}}.
return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'on' or val == '是' or val == '开' or val == '開' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'off' or val == '否' or val == '关' or val == '關' or tonumber(val) == 0 then return false else return default end end