It is considered best practice to send notifications and emails in the recipient's preferred locale. Laravel supports this out of the box through the HasLocalePreference contract, which enables you to easily define a user's locale preference:
use Illuminate\Contracts\Translation\HasLocalePreference;
class User extends Model implements HasLocalePreference
{
/**
* Get the user's preferred locale.
*/
public function preferredLocale(): string
{
return $this->locale;
}
}
Once you implement the HasLocalePreference contract, Laravel will automatically use the preferred locale returned by the preferredLocale method when sending notifications and emails.



We’re thrilled to announce free tokens now live for Dev.to contributors in recognition of your efforts on Dev.to! Don’t miss this opportunity here (wallet connection required). – Admin