имя строчной буквы (ja-jp) с i18next не работает, в то время как ja-JP работает - PullRequest
2 голосов
/ 21 февраля 2020

Я использую i18next с aurelia с помощью плагина i18next aurelia.

Проблема, с которой я сталкиваюсь, заключается в чувствительности к регистру языков.

Когда я устанавливаю свой URL на http://localhost/ja-JP, все работает нормально , но изменение URL-адреса на 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

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

и конфигурация aurelia для i18next

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')));
}
...