Я использую 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')));
}