关于文化的问题:RFC5646和内容定义 [英] Question about Culture:RFC5646 and ContentDefinitions
本文介绍了关于文化的问题: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屋!
查看全文