express-locale:允许locales属性不起作用

时间:2018-02-07 08:06:11

标签: javascript node.js express localization

我正在尝试使用express-locale(v1.0.5)作为我的快速应用程序中的中间件来确定浏览器请求的区域设置。

我希望将找到的区域设置与“允许的”区域设置列表进行匹配,如果找不到找到的区域设置,则回退到默认值。

express-locale工作正常并返回找到的语言环境。但是当我指定'allowed'属性时,它只返回undefined

我在我的路线中这样使用它:

import * as express from "express"
import { fetchLocalizationData, getLocale } from './localizationMiddleware'
const createLocaleMiddleware = require('express-locale')
const routes = express.Router()

/**
 *  Route to get localized strings for app
 *  @param {string} app: app name
 *  @param {string} lang: language to return
 *  @return {object}
 */
routes.get(
  "/localizations/:appId",
  // getLocale,
  createLocaleMiddleware({
    "priority": ["query","accept-language","cookie", "default"],
    "default": "da-dk",
    "allowed": ["da-dk", "en-gb", "sv-se"]
  }),
  fetchLocalizationData,
)

export default routes

我做错了什么?

1 个答案:

答案 0 :(得分:0)

express-locale 的当前版本至少为1.2.0(包括1.0.5),要求您使用带下划线和大写字母的固定格式(例如{{ 1}})。