将本地化的路由名称提供给i18next-express-middleware

时间:2017-03-03 21:42:34

标签: express internationalization i18next

我想使用i18next本地化我当前的项目。由于它基于expressjs,因此只使用i18next-express-middleware也是有意义的。

对于这个项目来说非常重要的是因为出于原因而拥有本地化的路线。这是我想用中间件管理的。

不幸的是,关于这个主题的文档看起来很简单: https://github.com/i18next/i18next-express-middleware

我发现以下功能对于设置本地化路线(来自文档)至关重要:

i18nextMiddleware.addRoute(i18next, '/:welcome', ['welcome', 'willkommen'], route, 'get', function(req, res) {
  //endpoint function
});

在此示例中,“:welcome”的有效选项是硬编码的。我是否正确,假设路由名称将存储在相应的语言-json中?如何从这些json文件中提取路由名称?我有点希望i18next有一些辅助功能来实现这一目标。

有没有关于这方面的演示项目,我可能会看到一个可行的解决方案?

非常感谢!

1 个答案:

答案 0 :(得分:0)

i18nextMiddleware.addRoute(i18next, '/:lng/key-to-translate', ['en', 'de', 'it'], app, 'get', function(req, res) {
  //endpoint function
});

/:lng - >一个param req.params /key-to-translate - >将被翻译 - 所以你的资源文件中需要一个键key-to-translate

要支持的

['en', 'de', 'it']种语言(为其构建路由) - >不是翻译