{Culture:RFC5646} 返回两个不同的英语值。目前,当用户使用 ProfileEdit 或 SignUpSignIn 时,他们会返回不同的值。
例如:
ProfileEdit 返回:en-us
SignUpSignIn 返回:en
我在 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”,这样我就可以维护一个目录而不是两个目录。