【发布时间】:2015-12-02 17:17:54
【问题描述】:
我的国家/地区有不同的语言环境,我可以为其他人翻译单词,但如何为邮寄者翻译?
应用程序.rb:
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
config.i18n.default_locale = 'en'
config.i18n.available_locales = ['en', 'fr']
config/locales/mailers/en.yml:
en:
report_mailer:
report_review:
subject: 'Proof:'
config/locales/mailers/fr.yml:
fr:
report_mailer:
report_review:
subject: 'ÉPREUVE:'
在 application.rb 文件中,我提到的语言环境为:
config.i18n.available_locales = ['en', 'fr']
config.i18n.fallbacks = { 'fr' => 'en'}
如果是邮件,当语言环境设置为 fr 时,我无法翻译,但它仍然是 en。
app/mailers/report_mailer.rb:
class ReportMailer < ActionMailer::Base
after_filter :set_delivery_options
def set_delivery_options
if @sender and @sender.use_smtp_settings?
message.delivery_method.settings.merge!(@sender.smtp_settings.to_settings)
end
end
end
app/mailers/report_mailer.rb:
class ReportMailer < ClientMailer
def client_review(review, requestor, reviewer)
@review = review
@sender = requestor
@reviewer = reviewer
mail(
to: @reviewer.email,
subject: t('report_mailer.report_review.subject',
job: review.job.name
) if !@reviewer.email.nil? && @reviewer.email != ''
end
end
我的一位资深人士建议将 I18n.default_locale = @sender.account.locale 或类似 set_delivery_options 的内容添加到 ReportMailer。但没有帮助我。 所以请帮忙。
【问题讨论】:
-
@eugen - 感谢您的链接。我试过但没有用。我添加了application.rb,请帮助我。