You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Breeze重置密码页面自定义翻译不生效问题咨询

Laravel自定义密码翻译不生效问题解决

问题背景

  • 已创建自定义翻译文件lang/en/passwords.php和lang/de/passwords.php,其中包含'user'键的自定义翻译文本
  • 在forgot-password.blade.php中通过__($status)调用翻译,当$status对应passwords.user时,始终加载vendor目录下的默认翻译内容,自定义翻译不生效
  • 将自定义文件中的键改为'User'(首字母大写),同时调用时改为passwords.User,自定义翻译即可正常生效
  • 已执行清除缓存、修改会话区域设置等操作,问题仍存在

原因分析

Laravel内置的密码重置状态常量对应的翻译键是首字母大写的,比如Password::INVALID_USER对应的翻译键为passwords.User,而非passwords.user。当使用小写键名时,Laravel在自定义文件中找不到匹配项,就会自动 fallback 到vendor目录里的默认翻译文件(默认文件中该键为User),因此出现小写键不生效、大写键生效的现象。

解决方案

  1. 统一翻译键名大小写:将自定义翻译文件中的'user'键改为'User',与Laravel默认键名保持一致:
// lang/en/passwords.php
return [
    'reset' => 'Your password has been reset.',
    'sent' => 'We have emailed your password reset link.',
    'throttled' => 'Please wait before retrying.',
    'token' => 'This password reset token is invalid.',
    'User' => "If a user with that email address exists, you will receive a password reset email.",
];
  1. 确保代码中调用的翻译键与自定义文件键名完全匹配,或直接使用Laravel提供的状态常量对应的翻译键,避免手动拼写错误。

内容的提问来源于stack exchange,提问作者pa2Codes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:29:55