instance method pluralize

Ruby on Rails 2.3.18

Since v2.3.18 Last seen in v2.3.18

Signature

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

locale req
entry req
count req
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

Type at least 2 characters to search.

↑↓ navigate · open · esc close