{Culture:RFC5646}返回两个不同的英语值。当前,当用户使用ProfileEdit或SignUpSignIn时,他们将返回不同的值。
例如:
ProfileEdit返回:en-us
SignUpSignIn返回:zh_CN
我正在ContentDefinitions的LoadUri中使用它,以便我们可以让用户重定向到自定义和翻译的html页面。但是,使用两个返回值,我必须维护两个目录“ / en”和“ / en-us”,而不是一个。
我已验证所有父级和子级策略ContentDefinition的LoadURI都使用{Culture:RFC5646}。
我们已经测试了来自不同位置的多个用户。
我研究了Azure B2C IEF本地化文档,该文档说明了如何确定语言,但并未阐明为什么使用同一浏览器的同一用户将为{Culture:RFC5646}返回不同的值
这是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>
我想要的是{Culture:RFC5646}为同一用户返回相同的值。例如,SignUpSignIn返回“ en-us”,而ProfileEdit返回“ en-us”,这样我可以维护一个目录而不是两个目录。
答案 0 :(得分:0)
我发现问题是由不同的策略继承了不同的基本策略引起的。一旦让他们继承相同的基本策略,它就会按预期工作。