使用i18next的小写语言环境名称(ja-jp)不起作用,而ja-JP起作用

问题描述 投票:2回答:1

我正在使用i18next aurelia插件将i18next与aurelia一起使用。

我面临的问题是地区区分大小写。

当我将网址设置为http://localhost/ja-JP一切正常,但是将网址更改为http://localhost/ja-jp会引发此错误

Possible Unhandled Promise Rejection: ["failed loading locales/ja-JP/translation.json"]

我以为i18next默认情况下会查找区分大小写的目录,因此我也尝试保留两个目录ja-JP和ja-jp,但仍然存在相同的问题。

任何想法为什么会有问题?

[http://localhost/ja/http://localhost/en都可以正常工作]

如果相关,这里是webpack conf部分

 "aurelia-i18n": [
        { name: "locales/ja-jp/translation.json" },
        { name: "locales/en-us/translation.json" }
      ]

和i18next的aurelia配置

export function configure(aurelia: Aurelia) {
  aurelia.use
    .standardConfiguration()
    .plugin(PLATFORM.moduleName('aurelia-validation'))
    .plugin(PLATFORM.moduleName('au-table'))
    .plugin(PLATFORM.moduleName("aurelia-i18n"), (instance) => {
      let aliases = ["t", "i18n"];
      TCustomAttribute.configureAliases(aliases);

      instance.i18next.use(Backend.with(aurelia.loader));

      return instance.setup({
        backend: {
          loadPath: "./locales/{{lng}}/{{ns}}.json"
        },
        attributes: aliases,
        lng: "en-us",
        fallbackLng: "en-us",
        load: "currentOnly",
        debug: false
      });
    })
  .feature(PLATFORM.moduleName('resources/index'))
  .developmentLogging(environment.debug ? 'debug' : 'warn');

  if (environment.testing) {
    aurelia.use.plugin(PLATFORM.moduleName('aurelia-testing'))
  }

  aurelia.start().then(() => aurelia.setRoot(PLATFORM.moduleName('app')));
}
javascript localization aurelia i18next
1个回答
0
投票

lowerCaseLng选项会为您提供帮助。https://www.i18next.com/overview/configuration-options

i18next
  .init({
    ...
    lowerCaseLng: true
  });
© www.soinside.com 2019 - 2024. All rights reserved.