i18next 仅在需要时响应加载命名空间

发布于 2025-01-09 13:34:02 字数 864 浏览 0 评论 0原文

我有以下加载 i18n 翻译的代码。 l.json 文件仅存在于几个页面中,但它始终会加载(基于我从浏览器看到的 http 请求)。我怎样才能阻止它,以便仅在需要时加载它们?

import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import ChainedBackend from 'i18next-chained-backend';
import HttpBackend from 'i18next-http-backend';
i18n
  .use(LanguageDetector)
  .use(initReactI18next)
  .use(ChainedBackend)
  .init({
    debug: true,
    fallbackLng: "en-US",
    supportedLngs: ['en-US', 'en-GB'],
    ns: ['l', 't'],
    defaultNS: 't',
    interpolation: {
      escapeValue: false, // not needed for react as it escapes by default
    },
    backend: {
      backends: [
        HttpBackend,
      ],
      backendOptions: [
        {
          loadPath: 'https://example.com/{{lng}}/{{ns}}.json'
        }
    ]
    }
  });

I have the following code that loads i18n translations. The l.json file exists only in a few pages but it is loaded always (based on the http requests that I see from the browser). How can I prevent it so that these are loaded only when needed?

import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import ChainedBackend from 'i18next-chained-backend';
import HttpBackend from 'i18next-http-backend';
i18n
  .use(LanguageDetector)
  .use(initReactI18next)
  .use(ChainedBackend)
  .init({
    debug: true,
    fallbackLng: "en-US",
    supportedLngs: ['en-US', 'en-GB'],
    ns: ['l', 't'],
    defaultNS: 't',
    interpolation: {
      escapeValue: false, // not needed for react as it escapes by default
    },
    backend: {
      backends: [
        HttpBackend,
      ],
      backendOptions: [
        {
          loadPath: 'https://example.com/{{lng}}/{{ns}}.json'
        }
    ]
    }
  });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文