4.7. 区域设置选择器
默认情况下,使用 DefaultLocaleSelectorProvider 选择区域设置,它实现了 LocaleSelectorProvider 接口。当禁用国际化时,英语是默认语言。
启用国际化后,会根据 服务器管理指南 中所述的逻辑解析区域设置。
此行为可以通过 LocaleSelector Provider 和 来更改。
LocaleSelectorProvider Factory
LocaleSelectorProvider 接口具有单一方法 resolveLocale,它必须返回给定 RealmModel 和 nullable UserModel 的区域设置。实际请求可以通过 KeycloakSession#getContext 方法获得。
自定义实现可以扩展 DefaultLocaleSelectorProvider,以便重复使用部分默认行为。例如,要忽略 Accept-Language 请求标头,自定义实施可以扩展默认提供程序,覆盖它的 getAcceptLanguageHeaderLocale,并返回 null 值。因此,区域设置选择将回退到域的默认语言。