Ruby on Rails 3.2 Mailer, localice el campo del asunto del correo

Actualmente estoy escribiendo un correo en RoR 3.2 que enviaría correos que deberían ser localizados en función del idioma de los usuarios. Me las arreglé para mostrar las vistas localizadas correctas pero tengo algunas dificultades con algunos campos que requieren cambiar la configuración regional (como el tema). Ya he leído algunas publicaciones que están en contra de cambiar la configuración regional antes de enviar el correo electrónico. Los usuarios tienen muchos idiomas diferentes y eso significaría cambiar mi configuración regional cada vez que se envía un correo electrónico a un usuario.

Sé que sería posible cambiar la configuración regional, enviar el correo electrónico, volver a cambiar la configuración regional. Esto no se siente como el camino de los rieles. ¿Hay una forma correcta de hacer esto?

Aquí hay un fragmento de código:

class AuthMailer < ActionMailer::Base
  add_template_helper(ApplicationHelper)
  default :from => PREDEF_MAIL_ADDRESSES::System[:general]

  [...]

  def invite(address, token, locale)
    @token = token
    @locale = locale
    @url = url_for(:controller => "signup_requests", :action => "new", :token => token.key, :locale => locale)

    mail(:subject => "Invitation", :to => address) do |format|
      format.html { render ("invite."+locale) }
      format.text { render ("invite."+locale) }
    end
  end

  [...]
end

Mis opiniones

auth_mailer
  invite.en.html.erb
  invite.en.text.erb
  invite.it.html.erb
  invite.it.text.erb
  ...

En resumen, en este caso, me gustaría localizar el tema usando @locale, pero no ejecutando: I18n.locale = locale

Respuestas a la pregunta(3)

Su respuesta a la pregunta