Express, i18n и пользовательская страница не найдена - PullRequest
0 голосов
/ 06 июня 2018

Я создаю приложение Express для личного пользования, но хочу, чтобы оно поддерживало несколько языков.Я использую i18-узел для английского (en) и испанского (es) и написал два маршрута следующим образом:

function setLanguage (req, res, next) {
  const locales = i18n.getLocales()
  const { lang } = req.params

  if (locales.includes(lang)) {
    req.setLocale(lang)
    return next()
  }
  return next(new Error('Page not found'))
}

app.get('/', setLanguage, (req, res) => {
  // Renders the home with 'es' as default locale
  res.render('index')
})

app.get('/:lang', setLanguage, (req, res) => {
  // Renders the same view with 'es' or 'en' locale
  res.render('index')
})

Если я посещу localhost:3000/es или localhost:3000/en это работает.Если я захожу на localhost:3000/thisdoesnotexist, он показывает мне не найденную страницу, но если я захожу на localhost:3000/, он также показывает мне не найденный.

Так что вопрос в том, как я могу установить мультиязычное приложение с пользовательскимстраница не найдена?

...