import Vue from 'vue'; import VueRouter from 'vue-router'; import {loadLanguageAsync} from 'i18n'; import PageLanding from 'components/pages/PageLanding.vue'; Vue.use(VueRouter); const routes = [ { path: '/', redirect: { name: 'index', params: { langSlug: 'mut' } }}, { name: 'index', path: '/:langSlug', component: PageLanding, }, ]; const router = new VueRouter({ routes: routes, mode: 'history', }); router.beforeEach((to, from, next) => { const lang = mapSlugToLang(to.params.langSlug); loadLanguageAsync(lang).then(() => next()); }) function mapSlugToLang(slug) { switch(slug) { case 'mut': return 'de'; case 'courage': return 'fr'; case 'coraggio': return 'it'; } } export default router;