Sha256: 94d72f7ad4a555b6aaa15d38e0260cbccfe5491210cf85a7c352e1b5a9070695
Contents?: true
Size: 832 Bytes
Versions: 2
Compression:
Stored size: 832 Bytes
Contents
module RailsI18n module Pluralization module OneFewOther FROM_2_TO_4 = (2..4).to_a.freeze FROM_12_TO_14 = (12..14).to_a.freeze def self.rule lambda do |n| n ||= 0 frac = (n.to_d % 1) if frac.nonzero? n = frac.to_s.split('.').last.to_i end 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 else :other end end end def self.with_locale(locale) { locale => { :i18n => { :plural => { :keys => [:one, :few, :other], :rule => rule }}}} end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails-i18n-7.0.6 | lib/rails_i18n/common_pluralizations/one_few_other.rb |
rails-i18n-7.0.5 | lib/rails_i18n/common_pluralizations/one_few_other.rb |