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

Next.js使用next-translate时无法向common命名空间新增翻译项如何解决

问题成因
  • 键名存在多余空格:你提供的common.json代码中,removed_shareholder键的末尾多了一个不可见的空格,实际存储的键为removed_shareholder (末尾带空格),和你调用时使用的removed_shareholder(无空格)不匹配,因此插件识别不到翻译项。
  • 调用路径不匹配:removed_shareholder是嵌套在registration_history_change_values对象下的子字段,如果你调用时直接使用t('removed_shareholder')而没有携带父级路径,也会触发找不到翻译的报错。
  • 缓存未清理:next-translate会缓存翻译配置,修改翻译文件后如果没有清除Next.js构建缓存,也会导致修改不生效。
解决办法
  • 修正键名:把common.json中"removed_shareholder "末尾的空格删除,确保键名和调用时使用的完全一致。
  • 补全翻译调用路径:调用时需要写全嵌套路径,示例代码如下:
import useTranslation from 'next-translate/useTranslation'

// 组件内使用
const { t } = useTranslation('common')
const text = t('registration_history_change_values.removed_shareholder')
  • 清理缓存重启服务:修改翻译文件后按以下操作清除旧缓存:
    1. 停止当前运行的Next.js开发服务
    2. 删除项目根目录下的.next文件夹
    3. 重新运行npm run dev启动开发服务
  • 同步多语言配置:确认所有locale文件夹下的common.json文件都已经同步修改了对应键值,避免单语言配置缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:15:07