Sha256: 71dd49ff9d99407492b6f7ef8c82a908c6b597096208d79459cbd9ecebe40233

Contents?: true

Size: 742 Bytes

Versions: 2

Compression:

Stored size: 742 Bytes

Contents

{
  :'ru-RU' => {
    :pluralize => lambda { |n| 
      # Russian language pluralization rules, taken from CLDR project, http://unicode.org/cldr/
      #
      # one -> n mod 10 is 1 and n mod 100 is not 11;
      # few -> n mod 10 in 2..4 and n mod 100 not in 12..14;
      # many -> n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14;
      # other -> everything else
      if n.modulo(10) == 1 && n.modulo(100) != 11
        :one
      elsif (n.modulo(10) >=2 && n.modulo(10) <= 4) && (n.modulo(100) >=12 && n.modulo(100) <= 14)
        :few
      elsif n.modulo(10) == 0 || (n.modulo(10) >=5 && n.modulo(10) <= 9) || 
        (n.modulo(100) >= 11 && n.modulo(100) <= 14)
        :many
      else
        :other
      end
    }
  }
}

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
yaroslav-russian-0.0.1 lib/russian/locale/pluralize.rb
russian-0.0.1 lib/russian/locale/pluralize.rb