1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
module RailsI18n
module Pluralization
module Arabic
def self.rule
lambda do |n|
return :other unless n.is_a?(Numeric)
mod100 = n % 100
if n == 0
:zero
elsif n == 1
:one
elsif n == 2
:two
elsif (3..10).to_a.include?(mod100)
:few
elsif (11..99).to_a.include?(mod100)
:many
else
:other
end
end
end
end
end
end
{ :ar => {
:'i18n' => {
:plural => {
:keys => [:zero, :one, :two, :few, :many, :other],
:rule => RailsI18n::Pluralization::Arabic.rule }}}}
|