我试图在我的node.js应用程序上设置i18next。我现在有两种语言:fr-CA和en-US。
我想将fr-CA作为默认语言。在配置之前,我在app.js中像这样进行设置:
i18next.init({
debug: true,
lng: 'fr-CA',
ignoreRoutes: [
'img/',
'public/',
'stylesheets/',
'js/'
]
});
这是我的文件夹结构
locales/
dev/
translation.json
en/
translation.json
fr-CA/
translation.json
fr/
translation.json
我在服务器启动时执行控制台日志以查看i18next.lng()的值是什么,它显示为
fr-CA
。但是,一旦我加载页面,控制台就会显示currentLng set to: en-US
。因此,它总是尝试加载locales / en / translation.json文件。调试显示,启动服务器时它将加载fr-CA,fr和dev文件。但是,一旦页面启动,它将加载en文件,就好像它完全忘记了fr-CA。我的浏览器是英文的,所以我想它从那里开始取这个值。但我似乎找不到原因。
我在这里想念什么吗?
谢谢
最佳答案
定义fallbackLanguage是通过设置fallbackLng
而不是lng
来完成的!
i18next.init({
debug: true,
fallbackLng: 'fr-CA',
ignoreRoutes: [
'img/',
'public/',
'stylesheets/',
'js/'
]
});
关于node.js - i18next无需任何输入即可更改语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17733585/