Module: RailsI18n::Pluralization::EastSlavic

Defined in:
lib/rails_i18n/common_pluralizations/east_slavic.rb

Class Method Summary collapse

Class Method Details

.ruleObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rails_i18n/common_pluralizations/east_slavic.rb', line 9

def self.rule
  lambda do |n|
    mod10 = n % 10
    mod100 = n % 100

    if mod10 == 1 && mod100 != 11
      :one
    elsif [2, 3, 4].include?(mod10) && ![12, 13, 14].include?(mod100)
      :few
    elsif mod10 == 0 || (5..9).to_a.include?(mod10) || (11..14).to_a.include?(mod100)
      :many
    else
      :other
    end
  end
end

.with_locale(locale) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/rails_i18n/common_pluralizations/east_slavic.rb', line 26

def self.with_locale(locale)
  { locale => {
      :'i18n' => {
        :plural => {
          :keys => [:one, :few, :many, :other],
          :rule => rule }}}}
end