{Culture: RFC5646} возвращает два разных значения для английского языка.В настоящее время, когда пользователь использует ProfileEdit или SignUpSignIn, они возвращают разные значения.
Например:
ProfileEdit возвращает: en-us
SignUpSignIn возвращает: en
Я использую это в LoadUri ContentDefinitions, чтобы у нас был пользовательперенаправлен на настроенную и переведенную HTML-страницу.Тем не менее, с двумя возвращаемыми значениями мне приходится поддерживать два каталога "/ en" и "/ en-us" вместо одного.
Я проверил, что все родительские и дочерние политики LoadURI ContentDefinition используют {Культура: RFC5646}.
Мы протестировали несколько пользователей из разных мест.
Я исследовал документы локализации Azure B2C IEF, и в нем дается ссылка на то, как определяется язык, но он не проливает свет на то, почемутот же пользователь с тем же браузером будет возвращать разные значения для {Culture: RFC5646}
Вот URI загрузки определения контента для SignUpSignIn
<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» таким образом, что я могу поддерживать один каталог вместо двух.