我需要翻译Laravel的默认密码重置刀片。我这样做了(我需要翻译):
public function toMail($notifiable)
{
$language = App::getLocale();
if ($language == "en") {
return (new MailMessage)
->line('You are receiving this email because we received a password reset request for your account.')
->action('Reset Password', url(config('app.url') . route('password.reset', $this->token, false)))
->line('If you did not request a password reset, no further action is required.');
} else {
return (new MailMessage)
->line('Sie erhalten diese E-Mail, weil wir eine Anfrage zum Zurücksetzen des Passworts für Ihr Konto erhalten haben.')
->action('Passwort zurücksetzen', url(config('app.url') . route('password.reset', $this->token, false)))
->line('Wenn Sie kein Kennwort zurückgesetzt haben, sind keine weiteren Maßnahmen erforderlich.');
}
}
但是我找不到我在哪里翻译"Hello!"
和:
"If you’re having trouble clicking the "Passwort zurücksetzen" button, copy and paste the URL below into your web browser:"
现在,电子邮件的某些部分已翻译,其中一些仍保留在Engish中。 有什么建议吗?
答案 0 :(得分:1)
此文字位于/vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php
但你没有编辑这个文件。相反,你应该创建自己的视图并将其链接 MailMessage :: markdown(这是降价视图)或 :: MAILMESSAGE视图
答案 1 :(得分:1)
您可以使用更改第一个“ Hello”
->greeting("Hallo!")
覆盖toMail时。因此,使用您的示例:
(new MailMessage)
->greeting("Halo!")
->line('Sie erhalten diese E-Mail, weil wir eine Anfrage zum Zurücksetzen des Passworts für Ihr Konto erhalten haben.')
->action('Passwort zurücksetzen', url(config('app.url') . route('password.reset', $this->token, false)))
->line('Wenn Sie kein Kennwort zurückgesetzt haben, sind keine weiteren Maßnahmen erforderlich.');
对于子副本,或者只是为了完全控制消息,您可以简单地发布供应商文件并根据需要对其进行编辑。
因此发布供应商文件:
php artisan vendor:publish --tag=laravel-notification
然后您可以根据需要编辑文件
views/vendor/notifications/email.blade.php