我正在尝试使用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
我做错了什么?
答案 0 :(得分:0)
express-locale 的当前版本至少为1.2.0(包括1.0.5),要求您使用带下划线和大写字母的固定格式(例如{{ 1}})。