У меня разные страны для стран, я могу переводить слова для других, но как перевести их для почтовых программ?Как изменить формат языка электронной почты на основе языка?
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'}
В случае почты, я не смог перевести, если locale установлен на fr, все еще он принимает ru.
приложение/отправители/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/163640 и http://stackoverflow.com/a/11248315/163640 отвечают на подобные вопросы. – eugen
@eugen - Спасибо за ссылки. Я пробовал, но не использовал. Я добавил application.rb, пожалуйста, помогите мне. – venkat