Sha256: d8f80fffbc5e3be7d12a854e6711f07b2dde1716441b1b9168e3b53c927e5883

Contents?: true

Size: 1001 Bytes

Versions: 9

Compression:

Stored size: 1001 Bytes

Contents

# coding: utf-8
module Formtastic
  module I18n
    
    DEFAULT_SCOPE = [:formtastic].freeze
    DEFAULT_VALUES = {
        :required       => 'required',
        :yes            => 'Yes',
        :no             => 'No',
        :create         => 'Create {{model}}',
        :update         => 'Update {{model}}'
      }.freeze
    SCOPES = [
        '{{model}}.{{nested_model}}.{{action}}.{{attribute}}',
        '{{model}}.{{action}}.{{attribute}}',
        '{{model}}.{{nested_model}}.{{attribute}}',
        '{{model}}.{{attribute}}',
        '{{nested_model}}.{{attribute}}',
        '{{attribute}}'
      ]
      
    class << self
      
      def translate(*args)
        key = args.shift.to_sym
        options = args.extract_options!
        options.reverse_merge!(:default => DEFAULT_VALUES[key])
        options[:scope] = [DEFAULT_SCOPE, options[:scope]].flatten.compact
        ::I18n.translate(key, *(args << options))
      end
      alias :t :translate
      
    end
    
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
formtastic-1.0.1 lib/formtastic/i18n.rb
formtastic-1.0.0 lib/formtastic/i18n.rb
formtastic-1.0.0.rc2 lib/formtastic/i18n.rb
formtastic-1.0.0.rc lib/formtastic/i18n.rb
formtastic-1.0.0.beta4 lib/formtastic/i18n.rb
formtastic-1.0.0.beta3 lib/formtastic/i18n.rb
formtastic-1.0.0.beta2 lib/formtastic/i18n.rb
formtastic-1.0.0.beta lib/formtastic/i18n.rb
formtastic-0.9.10 lib/formtastic/i18n.rb