Module:Yesno

-- -- Used to evaluate args to booleans where applicable -- -- Based on  -- see page history there for contributors --

return function( val, default )

val = type( val ) == 'string' and mw.ustring.lower( val ) or val

if val == nil then return nil elseif val == true or val == 'yes' or val == 'y'		or val == 'true' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n'		or val == 'false' or val == '' or tonumber(val) == 0 then return false else return default end end