如何在laravel 5中翻译密码重置电子邮件的主题

时间:2015-09-21 22:19:57

标签: laravel-5 forgot-password

我是laravel的新手,我目前正在构建一个多语言应用程序。我正在使用laravels运送方法实现密码重置。在ResetsPasswords trait中查看此方法后:

 protected function getEmailSubject()
    {
        return isset($this->subject) ? $this->subject : 'Your Password Reset Link';
    }

我注意到我可以在PasswordController中为我的主题指定一个变量,如下所示:

protected $ subject ='密码重置';

如何从语言文件中获取此值并将其分配给变量?

2 个答案:

答案 0 :(得分: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());
    }
}

答案 1 :(得分:0)

在做了一些挖掘后,我找到了答案,如下所示。

protected function getEmailSubject(){
    return Lang::has('passwords.password_reset')
         ? Lang::get('passwords.password_reset')
         : 'Your Password Reset Link.';
}

使用方法覆盖,我覆盖了ResetsPasswords特征中的getEmailSubject方法,并提供了必要的实现,如电子邮件正文中所示。 passwords.password_reset是我语言文件中文本的键。