render partial: ...
should not contain file extensions such as en.html.erb
since they are automagically added.
http://api.rubyonrails.org/classes/ActionView/PartialRenderer.html
But why do you use partials for mails, couldn't you create a proper view?
UPDATE
It's all described in the guide on http://guides.rubyonrails.org/v3.2.16/action_mailer_basics.html
app/mailers/user_mailer.rb:
class UserMailer < ActionMailer::Base
default from: "no-reply@memyselfandi.com"
def notification(user, storefront, order)
@user, @storefront, @order = user, storefront, order
I18n.locale = @user.locale # see note below
mail to: @user.email, subject: I18n.t('orders.invoice.email_subject')
end
end
app/views/user_mailer/notification.en.html.erb:
<html><body>
This is a mail for <%= @user.email %> yadda yadda. Use @storefront and @order here.
</body></html>
app/views/user_mailer/notification.de.html.erb:
<html><body>
Das ist ein mail für <%= @user.email %> bla bla.
</body></html>
The line I18n.locale = @user.locale
is only necessary if you want to send async mails e.g. when triggering rake tasks from a cronjob.