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

I18Next无法识别be-fr/be-nl带连字符语言码翻译的配置问题咨询

i18next 带连字符区域语言码匹配失败解决方法

根本原因

i18next 默认对带-的区域语言码有自动拆分降级逻辑:传入be-nl时,框架会先尝试匹配主语言码be的资源,匹配失败就直接走 fallback 逻辑,不会主动读取你在resources里定义的完整键名be-nl,最终触发missingKey报错。

必须新增的配置项

在现有初始化配置里补充两个字段即可:

// 关闭自动拆分语言码逻辑,直接使用传入的完整lng值匹配对应资源
load: 'currentOnly',
// 显式列出所有支持的语言,禁止框架自动做未定义的语言码推断
supportedLngs: ['be-fr', 'be-nl', 'asia', 'cn', 'en', 'id', 'ng', 'nl', 'fr'],

兜底排查项

加完配置如果仍报错,直接检查be_fr、be_nl两个资源常量的结构:必须和en、nl这些能正常加载的资源结构完全对齐,顶层必须存在translation命名空间,正确结构参考:

const be_nl = {
  translation: {
    general: {
      disclaimer: '比利时荷兰语对应免责声明文本'
    }
    // 其余翻译字段
  }
}

如果项目用了自定义命名空间,对应调整资源结构即可,不要出现区域语言资源和通用语言资源结构不一致的情况。

内容的提问来源于stack exchange,提问作者OCP30pt1c1l1l43-X1z17

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:24:21