Rails邮件程序使用了错误的语言环境文件

时间:2018-10-04 07:05:12

标签: ruby-on-rails

当我通过当前设置发送电子邮件时,邮件发件人使用了错误的语言环境文件。我具有当前的设置,可以识别浏览器使用的是哪种语言:

application-controller.rb

def set_locale
  I18n.locale = extract_locale_from_accept_language_header
end


def extract_locale_from_accept_language_header
  browser_locale = request.env['HTTP_ACCEPT_LANGUAGE']
  if I18n.available_locales.include?(browser_locale.to_sym)
    browser_locale
  else
    I18n.default_locale
  end
end

application.rb

config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]

I18n.available_locales = [:da, :de, :es, :fr, 'en-us', 'en-gb', 'en-ca']

config.i18n.default_locale = :'en-us'

邮件程序

def new_user(user)
  @user = user
  mail(to: @user.email, subject: t('mailer_1'))
end

虽然我将浏览器设置为en-gb,并且在整个应用程序上一切正常,但是当我发送电子邮件时,邮件程序使用en-us,这是默认的语言环境设置。电子邮件主题以及电子邮件中的translation missing: en-us.mailer_1

关于如何进行这项工作的任何想法?

0 个答案:

没有答案