如何在 Keycloak 中将语言环境添加到帐户页面?
How to add the locale to the account page in Keycloak?
我们需要让我们的用户设置首选语言环境。
我可以看到区域设置可以通过用户管理页面中的 select 菜单进行编辑,但它不存在于默认主题帐户页面中。
在我们的自定义主题中,我们想为语言环境添加 select 菜单,有标准方法吗?
在 API UserRepresentation 中没有语言环境 属性,我们需要使用属性吗?
我们决定在帐户主题的 account.ftl
模板中添加此元素,就在 lastName
div
之后
<div class="form-group ${messagesPerField.printIfExists('locale','has-error')}">
<div class="col-sm-2 col-md-2">
<label for="user.attributes.locale" class="control-label">${msg("locale")}</label> <span class="required">*</span>
</div>
<div class="col-sm-10 col-md-10">
<select class="form-control" id="user.attributes.locale" name="user.attributes.locale">
<#list locale.supported as l>
<option class="kc-dropdown-item" <#if l.languageTag==account.attributes.locale!'en'>selected="selected"</#if> value="${l.languageTag}">${l.label}</option>
</#list>
</select>
</div>
</div>
我们还需要将 locale
标签添加到支持语言环境的 messages_xx.properties
文件中
我们需要让我们的用户设置首选语言环境。 我可以看到区域设置可以通过用户管理页面中的 select 菜单进行编辑,但它不存在于默认主题帐户页面中。 在我们的自定义主题中,我们想为语言环境添加 select 菜单,有标准方法吗?
在 API UserRepresentation 中没有语言环境 属性,我们需要使用属性吗?
我们决定在帐户主题的 account.ftl
模板中添加此元素,就在 lastName
div
<div class="form-group ${messagesPerField.printIfExists('locale','has-error')}">
<div class="col-sm-2 col-md-2">
<label for="user.attributes.locale" class="control-label">${msg("locale")}</label> <span class="required">*</span>
</div>
<div class="col-sm-10 col-md-10">
<select class="form-control" id="user.attributes.locale" name="user.attributes.locale">
<#list locale.supported as l>
<option class="kc-dropdown-item" <#if l.languageTag==account.attributes.locale!'en'>selected="selected"</#if> value="${l.languageTag}">${l.label}</option>
</#list>
</select>
</div>
</div>
我们还需要将 locale
标签添加到支持语言环境的 messages_xx.properties
文件中