【问题标题】:Using i18next in a webpack bundled application在 webpack 捆绑应用程序中使用 i18next
【发布时间】:2017-09-09 16:10:51
【问题描述】:

我对 webpack 生态系统很陌生,所以我没有掌握它的所有概念,但我正在开发一个使用它的应用程序。我正在尝试设置 i18next(请参阅:https://github.com/i18next/i18next)及其 XHR 相关模块(https://github.com/i18next/i18next-xhr-backend)。

i18next 通过 XHR 获取翻译文件,因此当 AJAX 请求完成时,i18next 在提供的回调中初始化。 基本上,我希望这个初始化的 i18next 在我的所有模块中都可用,这样我就可以在任何地方翻译字符串。

i18next-xhr-backend 的 github 页面上有一个关于 webpack 的部分,但是我不太明白如何构造代码以及如何使用它。

function loadLocales(url, options, callback, data) {
  try {
    let waitForLocale = require('bundle!./locales/'+url+'.json');
    waitForLocale((locale) => {
      callback(locale, {status: '200'});
    })
  } catch (e) {
    callback(null, {status: '404'});
  }
}

i18next
  .use(XHR)
  .init({
    backend: {
      loadPath: '{{lng}}',
      parse: (data) => data,
      ajax: loadLocales
    }
  }, (err, t) => {
    // ...
  });

我试图把它变成一个 webpack 插件,但没有成功,希望它可以在任何地方使用。但这可能不是完成这项任务的正确方法。

【问题讨论】:

    标签: javascript webpack i18next


    【解决方案1】:

    如果你喜欢使用 webpack 打包你的翻译,你可以试试https://github.com/atroo/i18next-resource-store-loader

    【讨论】:

      猜你喜欢
      • 2021-05-16
      • 2016-12-23
      • 2019-02-23
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多