dropdown to choose language

This commit is contained in:
Michael Gerber
2015-02-24 17:33:49 +01:00
parent 33398b37a5
commit 9e2eb60ce8
3 changed files with 33 additions and 0 deletions

View File

@@ -21,6 +21,17 @@
<script src="${url.resourcesPath}/${script}" type="text/javascript"></script>
</#list>
</#if>
<script type="text/javascript">
window.onload = function () {
var select = document.querySelector(".kc-locale-select");
select.onchange = function (event) {
document.cookie = "KEYCLOAK_LOCALE=" + select.value;
setTimeout(function () {
window.location.reload();
}, 0);
}
}
</script>
</head>
<body class="${properties.kcBodyClass!}">
@@ -31,6 +42,15 @@
<div id="kc-header" class="${properties.kcHeaderClass!}">
<div id="kc-header-wrapper" class="${properties.kcHeaderWrapperClass!}"><#nested "header"></div>
<#if realm.internationalizationEnabled>
<div id="kc-locale-wrapper" class="${properties.kcLocaleWrapperClass!}">
<select class="kc-locale-select">
<#list realm.supportedLocales as l>
<option value="${l}" <#if locale==l>selected="selected"</#if>>${l}</option>
</#list>
</select>
</div>
</#if>
</div>
<#if displayMessage && message?has_content>

View File

@@ -170,6 +170,9 @@ import java.util.concurrent.TimeUnit;
Properties messages;
Locale locale = LocaleHelper.getLocale(realm, user, uriInfo, httpHeaders);
if(locale != null){
attributes.put("locale", locale.toLanguageTag());
}
try {
messages = theme.getMessages(locale);
attributes.put("rb", messages);

View File

@@ -25,6 +25,8 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.RequiredCredentialModel;
import org.keycloak.representations.idm.CredentialRepresentation;
import java.util.Set;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
@@ -56,6 +58,14 @@ public class RealmBean {
return realm.isRememberMe();
}
public boolean isInternationalizationEnabled() {
return realm.isInternationalizationEnabled();
}
public Set<String> getSupportedLocales(){
return realm.getSupportedLocales();
}
public boolean isPassword() {
for (RequiredCredentialModel r : realm.getRequiredCredentials()) {
if (r.getType().equals(CredentialRepresentation.PASSWORD)) {