如何在 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 文件中