Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 15:30, 6 March 2025 by Hloth (talk | contribs) (Replaced content with "local p = {} function p.ru_pluralize(count, one, few, many) local mod10 = count % 10 local mod100 = count % 100 if mod10 == 1 and mod100 ~= 11 then return one -- singular elseif mod10 >= 2 and mod10 <= 4 and (mod100 < 10 or mod100 >= 20) then return few -- few else return many -- many end end function p.Plural(frame) local args = frame.args local lang = args["lang"] or "ru" local count = tonumber(args[1]) or 0 if lang == "ru" t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Plural/doc

local p = {}

function p.ru_pluralize(count, one, few, many)
  local mod10 = count % 10
  local mod100 = count % 100

  if mod10 == 1 and mod100 ~= 11 then
    return one  -- singular
  elseif mod10 >= 2 and mod10 <= 4 and (mod100 < 10 or mod100 >= 20) then
    return few  -- few
  else
    return many -- many
  end
end

function p.Plural(frame)
  local args = frame.args
  local lang = args["lang"] or "ru"
  local count = tonumber(args[1]) or 0
  
  if lang == "ru" then
    return p.ru_pluralize(count, args[2], args[3], args[4])
  else
    return "[Only these lang values are supported: ru]"
  end
end

return p