2017-08-23 11:41:25 +00:00
|
|
|
export default function ({ isHMR, app, store, route, params, error, redirect }) {
|
|
|
|
// If middleware is called from hot module replacement, ignore it
|
|
|
|
if (isHMR) return
|
2017-05-31 11:21:55 +00:00
|
|
|
// Get locale from params
|
2017-04-14 09:55:04 +00:00
|
|
|
const locale = params.lang || 'en'
|
|
|
|
if (store.state.locales.indexOf(locale) === -1) {
|
|
|
|
return error({ message: 'This page could not be found.', statusCode: 404 })
|
|
|
|
}
|
|
|
|
// Set locale
|
|
|
|
store.commit('SET_LANG', locale)
|
2017-05-21 19:01:08 +00:00
|
|
|
app.i18n.locale = store.state.locale
|
2017-04-14 09:55:04 +00:00
|
|
|
// If route is /en/... -> redirect to /...
|
|
|
|
if (locale === 'en' && route.fullPath.indexOf('/en') === 0) {
|
2017-05-31 11:21:55 +00:00
|
|
|
return redirect(route.fullPath.replace(/^\/en/, '/'))
|
2017-02-08 17:49:16 +00:00
|
|
|
}
|
|
|
|
}
|