【问题标题】:i18next appends the default translation namespace to my namespacesi18next 将默认翻译命名空间附加到我的命名空间
【发布时间】:2016-11-25 07:01:29
【问题描述】:

我正在使用 i18n - aurelia 的 i18next 包装器,配置如下:

  instance.i18next.use(Backend);

  return instance.setup({
    backend: {
      loadPath: 'assets/locales/{{lng}}/{{ns}}.json',
    },
    detectFromHeaders: false,
    lng: 'bg',
    fallbackLng: 'bg',
    ns: ['app', 'dp', 'management'],
    defaultNS: 'app',
    fallbackNS:'app',
    attributes: ['t', 'i18n'],
    useCookie: false,
    getAsync: false,
    debug: false
  });

我有一个组件可以通过 setLocale(language) 函数切换到不同的语言。但是,当我出于某种原因在语言之间切换时,它可以正常工作translation.json - 一开始我什至不想要的命名空间。是否可以选择从命名空间中完全删除它? 提前致谢

【问题讨论】:

    标签: namespaces internationalization aurelia i18next


    【解决方案1】:

    问题不是 Aurelia-I18N 的一部分,而是 i18next 本身的问题之一。到目前为止,我发现的唯一解决方法是将 fallbackLng 设置为 false。

    {
      backend: {                        
        loadPath: './locales/{{lng}}/{{ns}}.json', 
      },
      lng : 'de',
      ns: ['foo'],
      defaultNS: "foo",
      attributes : ['t','i18n'],
      fallbackLng : false,  <----- SET THIS TO FALSE TO AVOID A SEARCH FOR translation NS
      debug : false
    }
    

    【讨论】:

      【解决方案2】:

      这是一个可以在此处跟踪的已知问题:https://github.com/aurelia/i18n/issues/47

      【讨论】:

      • 谢谢,我会跟踪这个错误,希望它会尽快解决。我不确定这是否是 i18n 问题。我认为错误出现在 i18next 中,因为当我检查它时,它会将 translation.json 附加到它拥有的命名空间数组中。
      • 如果这对您有帮助,请点赞,如果这回答了您的问题,请接受
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      相关资源
      最近更新 更多