instance method
pluralize
Ruby on Rails 2.3.18
Since v2.3.18 Last seen in v2.3.18Signature
pluralize(locale, entry, count)
Overwrites the Base backend translate method so that it will check the translation meta data space (:i18n) for a locale specific pluralization rule and use it to pluralize the given entry. I.e. the library expects pluralization rules to be stored at I18n.t(:‘i18n.plural.rule’)
Pluralization rules are expected to respond to #call(entry, count) and return a pluralization key. Valid keys depend on the translation data hash (entry) but it is generally recommended to follow CLDR’s style, i.e., return one of the keys :zero, :one, :few, :many, :other.
The :zero key is always picked directly when count equals 0 AND the translation data has the key :zero. This way translators are free to either pick a special :zero translation even for languages where the pluralizer does not return a :zero key.
Parameters
-
localereq -
entryreq -
countreq
Source
# File activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb, line 33
def pluralize(locale, entry, count)
return entry unless entry.is_a?(Hash) and count
pluralizer = pluralizer(locale)
if pluralizer.respond_to?(:call)
key = count == 0 && entry.has_key?(:zero) ? :zero : pluralizer.call(count)
raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
entry[key]
else
super
end
end
Defined in activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb line 33
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in I18n::Backend::Pluralization