angular i18n:在定向到本地化的 url 路径之前确定 rest 调用中的语言环境

问题描述

官方文档中描述了如何配置服务器以准备国际化https://angular.io/guide/i18n#configuring-servers。 基本上,url 将根据 Accept-Language HTTP 标头在服务器端重写。

我仍然在寻找一种方法来根据后端数据库中保存的用户偏好来确定区域设置。

我的项目配置: angular 项目包含在单点登录基础架构中。这意味着 angular 项目本身没有任何登录页面。在进入角度页面之前,我想通过一种代理页面。 此页面应请求后端服务器获取当前用户的已保存区域设置。阅读响应后,用户将被重定向到特定于语言环境的 url 路径。例如: 在服务器上保存用户语言环境:en -> url 重定向到 /app/en

index.html // 代理页面 恩 德 fr 是所需语言环境的生产构建目录

我最初的方法如下:

<script>
  const redirect = async () => {
    const response = await fetch(<Webservice>);
    const result = await response.json();
    const locale = result?.user?.locale || 'en';
    window.location.href = window.location.href.replace('/app/','/app/' + locale + '/'));
  }

  redirect();
</script>

但我不确定这种方法是否合适。安全吗?也许已经有针对此用例的标准实现?

先谢谢你!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)