我正在尝试在我的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一样。我的浏览器是英文的,所以我猜它从那里获取这个值。但我似乎无法找到它改变的原因。
我在这里错过了什么吗?
由于
答案 0 :(得分:1)
通过设置fallbackLng
而不是lng
来定义fallbackLanguage!
i18next.init({
debug: true,
fallbackLng: 'fr-CA',
ignoreRoutes: [
'img/',
'public/',
'stylesheets/',
'js/'
]
});