如何在 laravel 5 中翻译我的密码重置电子邮件的主题
Posted
技术标签:
【中文标题】如何在 laravel 5 中翻译我的密码重置电子邮件的主题【英文标题】:How do I translate the subject of my password reset email in laravel 5 【发布时间】:2015-12-18 18:06:24 【问题描述】:我是 laravel 新手,目前正在构建一个多语言应用程序。我正在使用 laravel 提供的方法实现密码重置。在 ResetsPasswords trait 中查看此方法后:
protected function getEmailSubject()
return isset($this->subject) ? $this->subject : 'Your Password Reset Link';
我注意到我可以在 PasswordController 中为我的主题指定一个变量,如下所示:
protected $subject = '密码重置';
如何从语言文件中获取该值并分配给变量?
【问题讨论】:
【参考方案1】:在构造函数中使用 trans() 辅助函数
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller
use ResetsPasswords;
/**
* Create a new password controller instance.
*
* @return void
*/
public function __construct()
$this->subject = trans('passwords.subject');
$this->middleware($this->guestMiddleware());
【讨论】:
【参考方案2】:经过一番挖掘,我找到了如下所示的答案。
protected function getEmailSubject()
return Lang::has('passwords.password_reset')
? Lang::get('passwords.password_reset')
: 'Your Password Reset Link.';
使用方法覆盖,我覆盖了 ResetsPasswords 特征中的 getEmailSubject 方法,并提供了必要的实现,如电子邮件正文所示。 passwords.password_reset 是我的语言文件中文本的键。
【讨论】:
以上是关于如何在 laravel 5 中翻译我的密码重置电子邮件的主题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 laravel 5 中的队列通过电子邮件发送密码重置链接
Laravel 5.1/AngularJS:在 Angular 视图中重置密码(如何验证 CSRF 令牌?)