3.8. ロケールセレクター
デフォルトでは、LocaleSelectorProvider
インターフェイスを実装する DefaultLocaleSelectorProvider
を使用してロケールが選択されます。国際化が無効になっている場合は、英語がデフォルト言語です。国際化を有効にした場合、ロケールは Server Administration Guide に記載されているロジックに従って解決されます。
この動作は、LocaleSelectorProvider
および LocaleSelectorProviderFactory
を実装して、LocaleSelectorSPI
を介して変更できます。
LocaleSelectorProvider
インターフェイスには単一のメソッド resolveLocale
があり、RealmModel
および Null が可能な UserModel
を指定したロケールを返す必要があります。実際のリクエストは KeycloakSession#getContext
メソッドから利用できます。
カスタム実装は、デフォルトの動作の一部を再利用できるように DefaultLocaleSelectorProvider
を拡張できます。たとえば、Accept-Language
リクエストヘッダーを無視する場合、カスタム実装はデフォルトのプロバイダーを拡張し、その getAcceptLanguageHeaderLocale
をオーバーライドして Null 値を返すことができます。その結果、ロケールの選択はレルムのデフォルト言語にフォールバックします。