有没有办法将用户重新路由到 Angular 中的不同语言环境构建(使用 Vercel)?

问题描述 投票:0回答:1

我使用Angular的国际化和本地化。我的项目涉及三种不同的语言:英语、格鲁吉亚语和俄语。这是我在 angular.json

中的 i18n 配置
"i18n": {
    "sourceLocale": {
      "code": "en",
      "baseHref": "en/"
    },
    "locales": {
      "ka": {
        "translation": "src/locale/messages.ka.xlf",
        "baseHref": "ka/"
      },
      "ru": {
        "translation": "src/locale/messages.ru.xlf",
        "baseHref": "ru/"
      }
    }

我还有 "localize": true 在构建选项中。

当我托管网站时,除非我在 https://project-name.vercel.app/ 之后添加 /en/ka/ru(如 https:/),否则我会收到此错误/a2b-9.vercel.app/en

我想根据某些条件自动重新路由到 /en/ru/ka。 我在根目录中创建了 vercel.json 并添加了以下代码:

{
  "rewrites": [
    {
      "source": "/",
      "has": [
        {
          "type": "header",
          "key": "accept-language",
          "value": "^en($|,)"
        }
      ],
      "destination": "/en"
    }
  ]
}

即使我绝对可以看到接受语言标头,这也不起作用。

我有一个准备部署的整个项目,我只需要处理路由,这很困难,因为有不同的构建,当用户更改语言时我必须在它们之间跳转。

也许有一种不同的、更好的方法来达到预期的结果,我将不胜感激任何建议。 感谢您提前的帮助。

angular localization internationalization vercel angular-i18n
1个回答
0
投票

我目前也遇到同样的问题,你找到解决方案了吗?

© www.soinside.com 2019 - 2024. All rights reserved.