Payload CMS REST API验证令牌接口多语言错误消息不生效问题求助
Payload CMS REST API验证令牌接口多语言错误消息不生效问题求助
我目前正在开发一个基于Payload CMS + Next.js的项目,前端用axios调用官方提供的REST API,同时需要实现内容和界面元素(比如错误提示、校验消息)的多语言支持。
问题现象
大部分接口的多语言适配是正常工作的,但有一个接口的i18n完全失效:
✅ 登录接口
/api/{user-collection}/login:
能根据请求头Accept-Language正常切换错误语言:- 当
Accept-Language: de时,返回:Die E-Mail-Adresse oder das Passwort sind nicht korrekt. - 当
Accept-Language: en时,返回:The email or password provided is incorrect.
- 当
❌ 验证令牌接口
/api/{user-collection}/verify/{token}:
无论Accept-Language设为de还是en,返回的错误消息始终是英文:Verification token is invalid.
排查过程
- 最初怀疑是翻译键缺失,检查后确认
de和en对应的翻译键都已配置,没有遗漏。 - 尝试强制覆盖翻译键,在Payload配置里硬写自定义的翻译内容:
i18n: { supportedLanguages: { de, en, }, fallbackLanguage: 'de', translations: { de: { error: { verificationTokenInvalid: 'Test', }, }, en: { error: { verificationTokenInvalid: 'Test', }, }, }, },
结果无论切换哪种语言,错误消息还是固定的Verification token is invalid.,完全没有变化。
3. 后来翻查Payload的源码,发现这个错误消息可能是被硬编码在源码中的,根本没有走i18n的翻译逻辑?
有没有其他开发者遇到过类似的问题?或者有什么排查思路可以分享给我?
内容来源于stack exchange
相关产品推荐
相关产品推荐

