带有 i18next 的小写语言环境名称 (ja-jp) 不起作用,而 ja-JP 有效
lowercase locale name (ja-jp) with i18next is not working, while ja-JP works
我使用 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 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')));
}
有 lowerCaseLng
个选项可以帮助您。
https://www.i18next.com/overview/configuration-options
i18next
.init({
...
lowerCaseLng: true
});
我使用 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 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')));
}
有 lowerCaseLng
个选项可以帮助您。
https://www.i18next.com/overview/configuration-options
i18next
.init({
...
lowerCaseLng: true
});