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