首页 > 解决方案 > vue-i18n 多语言路由

问题描述

我想在路由中使用带有 /:lang 的 vue-i18n ...但我想忽略默认语言,例如:www.domain.com/somwhere使用我的默认语言和 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"
          )
      },
}

标签: vue.jsvue-routermultilingualvue-i18n

解决方案


推荐阅读