react-i18next路径语言检测失效问题排查
问题排查:react-i18next无法从路径检测语言
你的配置里存在关键参数设置错误,导致路径语言检测失效:
错误原因:
lookupFromPathIndex: 0的配置不符合路径结构。当访问localhost/fr时,路径会被分割为["", "fr"](开头的斜杠会让第一个元素为空字符串),取索引0的结果是空值,自然无法识别语言标识。修复方案:将
lookupFromPathIndex的值修改为1,这样就能正确获取路径中的fr。
修改后的配置片段:
detection: { order: ["path", "querystring", "cookie"], lookupFromPathIndex: 1, // 此处改为1 lookupQuerystring: "lng", caches: ["cookie"], },
额外注意两点:
- 确保路由配置不会拦截路径中的语言前缀,比如使用React Router时,要让语言前缀能被正确解析到路径中。
- 如果之前通过cookie缓存过语言设置,建议先清除对应域名的cookie,避免缓存值覆盖路径检测结果。
内容的提问来源于stack exchange,提问作者Faiyaz Siddique
相关产品推荐
相关产品推荐

