首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Express和i18n默认区域设置不起作用

Express和i18n默认区域设置不起作用
EN

Stack Overflow用户
提问于 2015-02-12 22:26:30
回答 4查看 4.5K关注 0票数 2

我正在尝试设置i18n-node和Expressjs。我的条件是:

// i18n配置=========================================================

代码语言:javascript
复制
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‘在配置文件中。

有什么想法吗?

提前感谢!

EN

回答 4

Stack Overflow用户

发布于 2018-06-27 16:17:02

这个图书馆的操作对我来说有点奇怪。我将此中间件添加到我的express服务器配置中,i18n开始正常运行。

代码语言:javascript
复制
app.use(function (req, res, next) {
    var locale = 'en'
    req.setLocale(locale)
    res.locals.language = locale
    next()
})
票数 2
EN

Stack Overflow用户

发布于 2018-10-04 01:41:18

检查你的头文件:accept-language

根据source code,只有在执行以下步骤时才会使用defaultLocale

  1. queryParameter未命中匹配match
  2. headers'accept-language‘未命中
  3. cookie未命中
票数 2
EN

Stack Overflow用户

发布于 2015-02-12 23:14:22

此模块在lot of places中查找区域设置。你有没有仔细检查过这些地方目前没有一个是"es“的?也许是你之前做的测试中的一个不新鲜的饼干?试着清理你的小甜饼。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28479990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档