# File lib/globalize/active_record/act_macro.rb, line 52
      def setup_translates!(options)
        options[:table_name] ||= "#{table_name.singularize}_translations"
        options[:foreign_key] ||= class_name.foreign_key

        class_attribute :translated_attribute_names, :translation_options, :fallbacks_for_empty_translations
        self.translated_attribute_names = []
        self.translation_options        = options
        self.fallbacks_for_empty_translations = options[:fallbacks_for_empty_translations]

        include InstanceMethods
        extend  ClassMethods, Migration

        translation_class.table_name = options[:table_name]

        has_many :translations, :class_name  => translation_class.name,
                                :foreign_key => options[:foreign_key],
                                :dependent   => :destroy,
                                :extend      => HasManyExtensions,
                                :autosave    => false

        after_create :save_translations!
        after_update :save_translations!

        if options[:versioning]
          if options[:versioning].is_a?(Hash)
            translation_class.versioned options[:versioning]
          else
            ::ActiveRecord::Base.extend(Globalize::Versioning::PaperTrail)

            translation_class.has_paper_trail
            delegate :version, :versions, :to => :translation
          end
        end

        translation_class.instance_eval %{ attr_accessible :locale }
      end