Laravel 11如何修改auth.failed、password.sent等认证提示文本?
Laravel 11 认证提示文本修改及键值显示问题解决
为什么显示的是键值而非具体内容?
Laravel 的认证、密码重置等提示文本采用本地化翻译系统,默认使用英文语言包。当应用未加载对应语言的翻译文件,或默认语言设置与现有翻译文件不匹配时,系统会直接输出翻译键(如auth.failed、password.sent),而非解析后的具体文本。
如何修改这些提示文本?
方法1:修改默认英文提示文本
- 先将语言包导出到项目目录(Laravel 11 默认语言文件存放在 vendor 中,需手动导出):
php artisan lang:publish - 打开项目根目录下的
lang/en/auth.php,修改登录失败的提示内容:'failed' => '用户名或密码与记录不符。', - 打开
lang/en/passwords.php,修改密码重置链接发送成功的提示:'sent' => '密码重置链接已发送至您的邮箱!',
方法2:添加中文语言包,切换到中文提示
- 执行上述
php artisan lang:publish命令导出语言包。 - 在项目根目录创建
lang/zh_CN文件夹。 - 复制
lang/en/auth.php和lang/en/passwords.php到lang/zh_CN目录,将文件内的英文文本翻译成中文:lang/zh_CN/auth.php示例:return [ 'failed' => '用户名或密码错误。', 'password' => '提供的密码不正确。', 'throttle' => '登录尝试次数过多,请在 :seconds 秒后再试。', ];lang/zh_CN/passwords.php示例:return [ 'sent' => '密码重置链接已发送至您的邮箱!', 'reset' => '您的密码已重置!', 'throttled' => '请稍候再尝试重置。', 'token' => '此密码重置令牌无效。', 'user' => "我们找不到该邮箱对应的用户。", ];
- 设置应用默认语言为中文:
- 打开
.env文件,修改APP_LOCALE=zh_CN; - 或编辑
config/app.php,修改'locale' => 'zh_CN'。
- 打开
内容的提问来源于stack exchange,提问作者sxbxstxxn
相关产品推荐
相关产品推荐

