阅读(2368)
赞(6)
Laravel 8 用户的个性化翻译
2021-07-05 17:12:45 更新
有时,应用程序会为每个用户存储不同的区域设置。通过在一个或多个模型上实现 HasLocalePreference
锲约,可以指示 Laravel 在发送邮件时使用此存储的区域设置:
use Illuminate\Contracts\Translation\HasLocalePreference;
class User extends Model implements HasLocalePreference
{
/**
* 返回用户的特定区域信息
*
* @return string
*/
public function preferredLocale()
{
return $this->locale;
}
}
一旦实现了此契约,Laravel 将在向模型发送邮件和通知时自动使用该语言环境。因此,使用此接口时不需要调用 locale
方法:
Mail::to($request->user())->send(new OrderShipped($order));