关于文化的问题:RFC5646和内容定义 [英] Question about Culture:RFC5646 and ContentDefinitions

查看:9
本文介绍了关于文化的问题:RFC5646和内容定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

{区域性:RFC5646}为英语返回两个不同的值。目前,当用户使用ProfileEdit或SignUpSignIn时,它们返回的值不同。

例如:

配置文件编辑退货:EN-US
SignUpSignIn返回:EN

我在Content Definitions的LoadUri中使用它,这样我们就可以将用户重定向到一个定制的、经过翻译的html页面。但是,使用两个返回值,我必须维护两个目录"/en"和"/en-us",而不是一个。

我已验证Content Definition的所有父策略和子策略的LoadURI都在使用{Culture:RFC5646}。

我们测试了来自不同位置的多个用户。

我研究了Azure B2C IEF本地化文档,其中提到了语言是如何确定的,但没有解释为什么相同的用户、相同的浏览器会返回不同的值

以下是SignUpSignIn的内容定义加载URI

<ContentDefinition Id="api.localaccountsignup">
<LoadUri>https://*****/b2c/IEF/{Culture:RFC5646}/selfasserted.html</LoadUri>        <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.1.0</DataUri>
        <Metadata>
          <Item Key="DisplayName">Local account sign up page</Item>
        </Metadata>
</ContentDefinition>

这里是配置文件编辑的代码

<ContentDefinition Id="api.selfasserted.profileupdate">
<LoadUri>https://*****/b2c/IEF/{Culture:RFC5646}/updateprofile.html</LoadUri>
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.1.0</DataUri>
        <Metadata>
          <Item Key="DisplayName">Collect information from user page</Item>
        </Metadata>
</ContentDefinition>

我想要的是为同一用户返回相同的值。例如,SignUpSignIn返回"en-us",ProfileEdit返回"en-us",这样我就可以维护一个目录,而不是两个。

推荐答案

我发现问题是由不同的策略继承不同的基本策略引起的。一旦我让他们继承相同的基本策略,它就像预期的那样工作。

这篇关于关于文化的问题:RFC5646和内容定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆