vue-i18n 多语言路由

时间:2021-07-19 10:38:35

标签: vue.js vue-router multilingual vue-i18n

我想在路由中使用带有 /:lang 的 vue-i18n ......但我想忽略默认的 lang,例如:www.domain.com/somwhere 使用我的默认 lang 和 www.domain.com/fr/somwhere 使用法语版本...... . 有没有办法做到这一点?

现在是这样的:

www.domain.com/en default
www.domain.com/fr french
www.domain.com/du dutch

它必须是这样的:

www.domain.com/ default
www.domain.com/fr french
www.domain.com/du dutch

我的 route.js 文件就像:

 {
    path: "/",
    redirect: `/${i18n.locale}`
  },
  {
    path: "/:lang",
    async beforeEnter(to, from, next) {
      console.log(i18n.locale);
      if (!i18n.availableLocales.includes(to.params.lang)) {
        window.location.replace(`${i18n.fallbackLocale}${to.path}`);
      } else {
        next();
      }
    },
    component: {
      render(c) {
        return c("router-view");
      }
    },
    children: [
      {
        path: "/",
        name: "LandingPage",
        component: () =>
          import(
            /* webpackChunkName: "LandingPage" */ "@/views/LandingPage/index"
          )
      },
}

0 个答案:

没有答案