首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路径检测不适用于react i18Next

路径检测不适用于react i18Next
EN

Stack Overflow用户
提问于 2022-07-19 17:10:13
回答 1查看 99关注 0票数 0

我的代码是这样的,但是当我进入localhost/fr时,它不是从路径中检测到语言吗?我在这里做错什么了?

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

发布于 2022-07-19 19:01:56

您需要以以下方式使用localhost?lng=fr

来自LanguageDetector包文档

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

  1. cookie (set cookie i18next=LANGUAGE) sessionStorage (set key )
  2. ( i18nextLng=LANGUAGE) localStorage (set key i18nextLng=LANGUAGE)
  3. 导航器(设置浏览器语言) querystring (附加?lng=LANGUAGE到URL) htmlTag (添加html语言标记
  4. (http://my.site.com/LANGUAGE/...)子域
  5. (http://LANGUAGE.site.com/...)

我试着使用localhost:3000?lng=fr,这对我很有用。如果这对你有用的话请告诉我。localhost:3000是create应用程序运行的URL。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73041010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档