Module: RailsI18n::Pluralization::EastSlavic
- Defined in:
- lib/rails_i18n/common_pluralizations/east_slavic.rb
Constant Summary collapse
- FROM_2_TO_4 =
(2..4).to_a.freeze
- FROM_5_TO_9 =
(5..9).to_a.freeze
- FROM_11_TO_14 =
(11..14).to_a.freeze
- FROM_12_TO_14 =
(12..14).to_a.freeze
Class Method Summary collapse
Class Method Details
.rule ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rails_i18n/common_pluralizations/east_slavic.rb', line 14 def self.rule lambda do |n| return :other unless n.is_a?(Numeric) mod10 = n % 10 mod100 = n % 100 if mod10 == 1 && mod100 != 11 :one elsif FROM_2_TO_4.include?(mod10) && !FROM_12_TO_14.include?(mod100) :few elsif mod10 == 0 || FROM_5_TO_9.include?(mod10) || FROM_11_TO_14.include?(mod100) :many else :other end end end |
.with_locale(locale) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/rails_i18n/common_pluralizations/east_slavic.rb', line 33 def self.with_locale(locale) { locale => { :i18n => { :plural => { :keys => [:one, :few, :many, :other], :rule => rule }}}} end |