【问题标题】:Azure AD B2C Custom policy language translationAzure AD B2C 自定义策略语言翻译
【发布时间】:2019-07-01 07:36:05
【问题描述】:

我已在我的自定义政策中声明了一组受支持的语言。 但是发生的情况是,即使我没有标明要支持的语言,Microsoft 也会隐式地将一些文本和消息转换为其他语言。

(例如)我的应用程序不支持克罗地亚语,所以当我在查询参数中传递克罗地亚语时,它应该指向自定义策略中引用的默认语言,因为克罗地亚语在我不支持的语言列表中。实际上,有些消息会转换为克罗地亚语并显示在 UI 中。

【问题讨论】:

    标签: azure azure-ad-b2c identity-experience-framework


    【解决方案1】:

    这是真的。开箱即用的自定义策略支持语言自定义,但支持仅限于少数字段/输入/标签/消息。如果您的应用程序支持多语言,那么您可以添加自己的自定义。

    (例如)我的应用程序不支持克罗地亚语,所以当我在查询参数中传递克罗地亚语时,它应该指向自定义策略中引用的默认语言,因为克罗地亚语在我不支持的语言列表中。实际上,有些消息会转换为克罗地亚语并显示在 UI 中。

    更新:目前这是不可能的,您需要自行限制应用程序支持的语言。

    Web/本地应用程序的典型多语言场景(可能是一种解决方法):

    1. Web 应用程序以下拉列表或任何用户友好的方式显示支持的语言列表
    2. 应用程序将从客户选择的语言中捕获区域设置并附加到请求 URL。
    3. 如果该区域设置在 B2C 端有效,它将开始以该语言显示 Ux

    只有 1% 的变化客户可以实际编辑授权 URL 来修改语言环境。 您的担忧仍然有效,但基于上述情况,它对您的应用程序的影响将变得较小。

    【讨论】:

    • 没关系。但是现阶段我们无法解决问题,因为移动应用程序已经投入生产,并且有数百万用户作为客户群。我们无法更改查询参数中的语言,因为当用户选择克罗地亚国家/地区时,默认情况下移动应用程序将发送克罗地亚语,但我在我的自定义策略中定义了支持的语言,它没有克罗地亚语,因此它应该显示默认语言(英语)。
    • 我并不是说我的方法是解决方法。这就是所有应用程序应该如何工作(包括你的)。用户从不编辑授权 URL。因此,即使 B2C 支持所有语言,您仍然可以从您的应用程序中限制您的语言(例如:在下拉列表中显示您的应用程序支持的语言)
    【解决方案2】:

    如果您想强制使用区域设置,您可以在请求 B2C 应用程序时使用查询字符串。

    ?ui_locales={en}
    

    您可以在哪里将{en} 替换为您支持的语言环境以获取更多信息,请参阅offical docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多