我正在尝试使用自定义策略配置注册语言自定义,但没有成功。感谢任何指导并提前致谢。
I made the following configuration to achieve language customization.
在信任框架扩展策略中,我通过以下 XML 更改启用了本地化。
<SupportedLanguages DefaultLanguage="en" > <SupportedLanguage>en</SupportedLanguage> <SupportedLanguage>fr</SupportedLanguage> <SupportedLanguage>ta</SupportedLanguage> </SupportedLanguages>
已为声明类型“extension_CompanyName”创建本地化资源。
<LocalizedResources Id="api.idpselections.signup.fr"> <LocalizedStrings> <LocalizedString ElementType="ClaimType" ElementId="extension_CompanyName" StringId="DisplayName"> Some French word</LocalizedString> <LocalizedString ElementType="ClaimType" ElementId="extension_CompanyName" StringId="UserHelpText">Some french text</LocalizedString> </LocalizedStrings> </LocalizedResources>
将第 2 步中创建的本地化资源映射到注册屏幕。
<ContentDefinition Id="api.idpselections.signup" > <LoadUri>~/tenant/default/idpSelector.cshtml</LoadUri> <RecoveryUri>~/common/default_page_error.html</RecoveryUri> <DataUri>urn:com:microsoft:aad:b2c:elements:idpselection:1.0.0</DataUri> <Metadata> <Item Key="DisplayName">Idp selection page</Item> <Item Key="language.intro">Sign up</Item> </Metadata> <LocalizedResourcesReferences MergeBehavior="Prepend"> <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.idpselections.signup.en" /> <LocalizedResourcesReference Language="fr" LocalizedResourcesReferenceId="api.idpselections.signup.fr" /> </LocalizedResourcesReferences> </ContentDefinition>
最后,在我的 SPA 应用程序中路由到注册策略时,我附加了新的查询参数“ui_locales = 'fr'”。但不幸的是,“extension_CompanyName”未显示本地化文本。
纠正我哪里错了。
最佳答案
重命名本地化资源 ID 解决了我的问题。不确定它是如何工作的。
<ContentDefinitions>
<ContentDefinition Id="api.idpselections.signup" >
<LoadUri>~/tenant/default/idpSelector.cshtml</LoadUri>
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:idpselection:1.0.0</DataUri>
<Metadata>
<Item Key="DisplayName">Idp selection page</Item>
<Item Key="language.intro">Sign up</Item>
</Metadata>
<LocalizedResourcesReferences MergeBehavior="Prepend">
<LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="en" />
<LocalizedResourcesReference Language="fr" LocalizedResourcesReferenceId="fr" />
</LocalizedResourcesReferences>
</ContentDefinition>
<LocalizedResources Id="fr">
<LocalizedStrings>
<LocalizedString ElementType="ClaimType" ElementId="extension_CompanyName" StringId="DisplayName">Nom de la compagnie</LocalizedString>
<LocalizedString ElementType="ClaimType" ElementId="extension_CompanyName" StringId="UserHelpText">Nom de la compagnie</LocalizedString>
<LocalizedString ElementType="ClaimsProvider" StringId="SignUpWithLogonEmailExchange">Local Account Sign-Up</LocalizedString>
</LocalizedStrings>
</LocalizedResources>
关于azure-ad-b2c - 语言定制-自定义策略-Azure B2C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52931375/