关于 Culture:RFC5646 和 ContentDefinitions 的问题
Question about Culture:RFC5646 and ContentDefinitions
{Culture:RFC5646} return 为英语设置了两个不同的值。目前,当用户使用 ProfileEdit 或 SignUpSignIn 时,他们 returning 不同的值。
例如:
个人资料编辑 returns: en-us
SignUpSignIn returns: en
我在 ContentDefinitions 的 LoadUri 中使用它,以便我们可以将用户重定向到自定义和翻译的 html 页面。但是,对于两个 return 值,我必须维护两个目录“/en”和“/en-us”,而不是一个。
我已验证 ContentDefinition 的 LoadURI 的所有父策略和子策略都在使用 {Culture:RFC5646}。
我们测试了来自不同位置的多个用户。
我研究了 Azure B2C IEF 本地化文档,它提到了语言是如何确定的,但没有阐明为什么同一用户使用相同的浏览器会 return 不同的值对于{文化: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} return 相同用户的相同值。例如,SignUpSignIn returns "en-us" 和 ProfileEdit returns "en-us" 这样我就可以维护一个目录而不是两个。
我发现问题是由不同的策略继承不同的基本策略引起的。一旦我让他们继承相同的基本策略,它就会按预期工作。
{Culture:RFC5646} return 为英语设置了两个不同的值。目前,当用户使用 ProfileEdit 或 SignUpSignIn 时,他们 returning 不同的值。
例如:
个人资料编辑 returns: en-us
SignUpSignIn returns: en
我在 ContentDefinitions 的 LoadUri 中使用它,以便我们可以将用户重定向到自定义和翻译的 html 页面。但是,对于两个 return 值,我必须维护两个目录“/en”和“/en-us”,而不是一个。
我已验证 ContentDefinition 的 LoadURI 的所有父策略和子策略都在使用 {Culture:RFC5646}。
我们测试了来自不同位置的多个用户。
我研究了 Azure B2C IEF 本地化文档,它提到了语言是如何确定的,但没有阐明为什么同一用户使用相同的浏览器会 return 不同的值对于{文化: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} return 相同用户的相同值。例如,SignUpSignIn returns "en-us" 和 ProfileEdit returns "en-us" 这样我就可以维护一个目录而不是两个。
我发现问题是由不同的策略继承不同的基本策略引起的。一旦我让他们继承相同的基本策略,它就会按预期工作。