[keycloak-dev] Internationalization support (KEYCLOAK-301)
Michael Gerber
gerbermichi at me.com
Mon Feb 23 12:40:35 EST 2015
The algorithm to determine the correct locale is like that:
1. Locale cookie
2. User profile (UserModel.attribute)
3. ui_locales query parameter
4. Accept-Language http header
5. Default realm locale
The login page has also a dropdown with all available locales. The selected value will be stored in the locale cookie.
> Am 23.02.2015 um 18:14 schrieb Stan Silvert <ssilvert at redhat.com>:
>
> On 2/23/2015 12:00 PM, Bill Burke wrote:
>> What's the best practice for choosing local?
> As I understand it, the thing to do is to use the accept-language header
> as a starting point. If it's the only thing you have to go on then use it.
>
> But I think we should definitely have a UserModel.attribute that is
> settable by the user.
>
> Also, we have talked about building an "application switcher" component
> that developers can include in their apps. That app switcher should
> include a dropdown to switch locale as well as one for switching the
> application.
>>
>> * User-Agent header?
>> * From a login hint? I think OIDC has something like this (but what
>> about SAML)?
>> * Should we store this information somewhere (cookie,
>> UserModel.attribute, etc..)
>>
>>
>> On 2/23/2015 11:53 AM, Michael Gerber wrote:
>>> Hi all,
>>>
>>> I started to work on the internationalization support
>>> (https://issues.jboss.org/browse/KEYCLOAK-301).
>>>
>>> I’ve already implemented the realm config in the admin console. I’ve put
>>> it into the „Theme Setting“ (see screenshot)
>>> I added the possibility to enable internationalization, add supported
>>> locales and a select a default locale.
>>>
>>> Now I’d like to implement the logic which choose the correct locale.
>>> Therefore I need the http header, cookie, query parameter, realm and user.
>>> The LoginFormsProvider and AccountProvider have all this information
>>> apart from the http header and the cookie.
>>> So I thought I could replace the UriInfo with the HttpRequest, but that
>>> doesn’t work, because I can not access the UriInfo through the
>>> HttpRequest (java.lang.NoSuchMethodError:
>>> org.jboss.resteasy.spi.HttpRequest.getUri()Ljavax/ws/rs/core/UriInfo;).
>>> So, I will add the HttpHeader to the LoginFormsProvider
>>> and AccountProvider, or does anyone have a better idea?
>>>
>>> @Bill
>>> How do you plan to store the claim „locale“ on a user? Will it be
>>> accessible through the UserModel interface?
>>>
>>> Best
>>> Michael
>>>
>>>
>>>
>>> _______________________________________________
>>> keycloak-dev mailing list
>>> keycloak-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>
>
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev
More information about the keycloak-dev
mailing list