路径检测对react-i18next不起作用



我的代码是这样的,但是当我去到localhost/fr时,它没有从路径检测语言?我哪里做错了?

import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import HttpApi from "i18next-http-backend";
i18n
.use(HttpApi)
.use(LanguageDetector)
.use(initReactI18next)
.init({
supportedLngs: ["en", "fr"],
// lng: "en",
fallbackLng: "en",
detection: {
order: ["path", "querystring", "cookie"],
lookupFromPathIndex: 0,
lookupQuerystring: "lng",
caches: ["cookie"],
},
backend: {
loadPath: "/assets/locales/{{lng}}/translation.json",
},
// react: { useSuspense: false },
});
export default i18n;

您需要以以下方式使用URL本地主机吗?液化天然气= fr

来自LanguageDetector Package文档

这是一个i18next语言检测插件,用于检测浏览器中的用户语言,支持:

  1. cookie (set cookie i18next=LANGUAGE) sessionStorage (set key
  2. )
  3. i18nextLng=LANGUAGE) localStorage (set key i18nextLng=LANGUAGE)
  4. 导航器(设置浏览器语言)查询字符串(追加?lng=语言到html lang=" language ">
  5. (http://my.site.com/LANGUAGE/..)子域名
  6. (http://LANGUAGE.site.com/..)。

我尝试使用localhost:3000?Lng =fr,这对我来说很有效。如果这对你有用,请告诉我。localhost:3000是创建react应用运行的URL。