我正在尝试设置i18n-node和Expressjs。我的条件是:
// i18n配置=========================================================
var i18nconf = {
locales : ["en", "es"],
cookie : "locale",
defaultLocale : "en",
directory : path.join(__dirname, "lang"),
indent : " "
};
i18n.configure(i18nconf);
app.use(i18n.init);在lang/ folder en.json和es.json上有两个区域设置,我可以在它们之间切换没有问题,但表示总是加载es.json作为默认值,不知何故忽略了defaultLocale:'en‘在配置文件中。
有什么想法吗?
提前感谢!
发布于 2018-06-27 16:17:02
这个图书馆的操作对我来说有点奇怪。我将此中间件添加到我的express服务器配置中,i18n开始正常运行。
app.use(function (req, res, next) {
var locale = 'en'
req.setLocale(locale)
res.locals.language = locale
next()
})发布于 2018-10-04 01:41:18
检查你的头文件:accept-language。
根据source code,只有在执行以下步骤时才会使用defaultLocale:
发布于 2015-02-12 23:14:22
此模块在lot of places中查找区域设置。你有没有仔细检查过这些地方目前没有一个是"es“的?也许是你之前做的测试中的一个不新鲜的饼干?试着清理你的小甜饼。
https://stackoverflow.com/questions/28479990
复制相似问题