当我通过当前设置发送电子邮件时,邮件发件人使用了错误的语言环境文件。我具有当前的设置,可以识别浏览器使用的是哪种语言:
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
关于如何进行这项工作的任何想法?