Module: I18n::Backend::Metadata

### Home Classes Methods

### In Files

- lib/i18n/backend/metadata.rb

### Methods

- ::included
- ::translation_metadata
- ::translation_metadata=
- #interpolate
- #pluralize
- #translate
- #with_metadata

### Class/Module Index

Quicksearch

- I18n
- I18n::ArgumentError
- I18n::Backend
- I18n::Backend::Base
- I18n::Backend::Cache
- I18n::Backend::Cascade
- I18n::Backend::Chain
- I18n::Backend::Chain::Implementation
- I18n::Backend::Fallbacks
- I18n::Backend::Flatten
- I18n::Backend::Gettext
- I18n::Backend::Gettext::PoData
- I18n::Backend::InterpolationCompiler
- I18n::Backend::InterpolationCompiler::Compiler
- I18n::Backend::KeyValue
- I18n::Backend::KeyValue::Implementation
- I18n::Backend::Memoize
- I18n::Backend::Metadata
- I18n::Backend::Pluralization
- I18n::Backend::Simple
- I18n::Backend::Simple::Implementation
- I18n::Config
- I18n::ExceptionHandler
- I18n::Gettext
- I18n::Gettext::Helpers
- I18n::InvalidLocale
- I18n::InvalidLocaleData
- I18n::InvalidPluralizationData
- I18n::Locale
- I18n::Locale::Fallbacks
- I18n::Locale::Tag
- I18n::Locale::Tag::Parents
- I18n::Locale::Tag::Rfc4646
- I18n::Locale::Tag::Rfc4646::Parser
- I18n::Locale::Tag::Simple
- I18n::MissingInterpolationArgument
- I18n::MissingTranslation
- I18n::MissingTranslation::Base
- I18n::MissingTranslationData
- I18n::ReservedInterpolationKey
- I18n::Tests
- I18n::Tests::Basics
- I18n::Tests::Defaults
- I18n::Tests::Link
- I18n::Tests::Localization
- I18n::Tests::Lookup
- I18n::Tests::Pluralization
- I18n::Tests::Procs
- I18n::UnknownFileType
- GetText
- GetText::PoParser
- Hash
- Kernel
- KeyError
- String

No matching classes.

# I18n::Backend::Metadata

### Public Class Methods

included(base) click to toggle source

    # File lib/i18n/backend/metadata.rb, line 21
    def included(base)
      Object.class_eval do
        def translation_metadata
          @translation_metadata ||= {}
        end

        def translation_metadata=(translation_metadata)
          @translation_metadata = translation_metadata
        end
      end unless Object.method_defined?(:translation_metadata)
    end

translation_metadata() click to toggle source

    # File lib/i18n/backend/metadata.rb, line 23
    def translation_metadata
      @translation_metadata ||= {}
    end

translation_metadata=(translation_metadata) click to toggle source

    # File lib/i18n/backend/metadata.rb, line 27
    def translation_metadata=(translation_metadata)
      @translation_metadata = translation_metadata
    end

### Public Instance Methods

interpolate(locale, entry, values = {}) click to toggle source

    # File lib/i18n/backend/metadata.rb, line 46
    def interpolate(locale, entry, values = {})
      metadata = entry.translation_metadata.merge(:original => entry)
      with_metadata(metadata) { super }
    end

pluralize(locale, entry, count) click to toggle source

    # File lib/i18n/backend/metadata.rb, line 51
    def pluralize(locale, entry, count)
      with_metadata(:count => count) { super }
    end

translate(locale, key, options = {}) click to toggle source

    # File lib/i18n/backend/metadata.rb, line 34
    def translate(locale, key, options = {})
      metadata = {
        :locale    => locale,
        :key       => key,
        :scope     => options[:scope],
        :default   => options[:default],
        :separator => options[:separator],
        :values    => options.reject { |name, value| RESERVED_KEYS.include?(name) }
      }
      with_metadata(metadata) { super }
    end

### Protected Instance Methods

with_metadata(metadata, &block) click to toggle source

    # File lib/i18n/backend/metadata.rb, line 57
    def with_metadata(metadata, &block)
      result = yield
      result.translation_metadata = result.translation_metadata.merge(metadata) if result
      result
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.