2017-05-02 1 views
0

Laravel은 Illuminate\Auth\Notifications\ResetPassword 클래스를 사용하여 비밀번호 재설정 이메일을 보냅니다. 메시지는 영어로 쓰여집니다. 어떻게 다른 언어로 번역합니까? 공급 업체 파일을 게시해도이 클래스가 복사되지 않습니다. 벤더 파일에 있고 vcs 저장소에 없기 때문에 편집 할 수 없습니다.Laravel auth emails 현지화

답변

2

전자 메일 알림은 CanResetPassword 특성에서 전송되므로이 책임을지는 메서드를 재정의하고 고유 한 알림 클래스를 제공해야합니다.

User extends Authenticatable 
{ 
    // ... 
    public function sendPasswordResetNotification($token) 
    { 
     $this->notify(new MyResetPasswordNotification($token)); 
    } 
    // ... 
} 

그리고 알림 생성 :

MyResetPasswordNotification extends Notification 
{ 
    public $token; 

    public function __construct($token) 
    { 
     $this->token = $token; 
    } 

    public function via($notifiable) 
    { 
     return ['mail']; 
    } 

    public function toMail($notifiable) 
    { 
     return (new MailMessage) 
      ->line(trans('reset_password.first_line')) 
      ->action(trans('reset_password.action', ['route' => route('password.reset', $this->token))) 
      ->line(trans('reset_password.last_line'); 
    } 
} 

지금 당신은 단지 번역을 제공해야합니다.