我對於國家有不同的語言環境,我可以將詞語翻譯爲其他語言,但是如何將它翻譯爲郵件?如何根據區域設置更改電子郵件語言格式?
application.rb中:
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
config.i18n.default_locale = 'en'
config.i18n.available_locales = ['en', 'fr']
配置/語言環境/郵寄者/ en.yml:
en:
report_mailer:
report_review:
subject: 'Proof:'
配置/語言環境/郵寄者/ fr.yml:
fr:
report_mailer:
report_review:
subject: 'ÉPREUVE:'
在application.rb文件,我提到的語言環境爲:
config.i18n.available_locales = ['en', 'fr']
config.i18n.fallbacks = { 'fr' => 'en'}
在郵件的情況下,當語言環境設置爲fr時,我無法進行翻譯,但仍需要和。
應用程序/郵寄/ 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
應用程序/郵寄/ 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 [email protected]? && @reviewer.email != ''
end
end
我的一個前輩的建議增加I18n.default_locale = @ sender.account .locale或類似set_delivery_options到ReportMailer。但沒有幫助我。 所以請幫助。
http://stackoverflow.com/a/16049411設置reviewer's/163640和http://stackoverflow.com/a/11248315/163640回答類似的問題。 – eugen
@eugen - 感謝您的鏈接。我試過但沒用。我添加了application.rb,請幫助我。 – venkat