mirror of
https://github.com/keycloak/keycloak.git
synced 2026-02-09 16:58:58 -06:00
dropdown to choose language
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user