Details
diff --git a/themes/src/main/resources/theme/keycloak-preview/account/index.ftl b/themes/src/main/resources/theme/keycloak-preview/account/index.ftl
index b77cb05..9969f1f 100644
--- a/themes/src/main/resources/theme/keycloak-preview/account/index.ftl
+++ b/themes/src/main/resources/theme/keycloak-preview/account/index.ftl
@@ -134,16 +134,18 @@
-->
<ul class="nav navbar-nav navbar-right navbar-iconic">
<li><button id="signInButton" style="visibility:hidden" onclick="keycloak.login();" class="btn btn-primary btn-lg btn-sign" type="button">${msg("doLogIn")}</button></li>
- <li class="dropdown">
- <a href="#0" class="dropdown-toggle nav-item-iconic" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- ${msg("locale_" + locale)} <span class="caret"></span>
- </a>
- <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
- <#list supportedLocales as locale, label>
- <li><a href="${baseUrl}/?kc_locale=${locale}">${label}</a></li>
- </#list>
- </ul>
- </li>
+ <#if realm.internationalizationEnabled && supportedLocales?size gt 1>
+ <li class="dropdown">
+ <a href="#0" class="dropdown-toggle nav-item-iconic" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ ${msg("locale_" + locale)} <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
+ <#list supportedLocales as locale, label>
+ <li><a href="${baseUrl}/?kc_locale=${locale}">${label}</a></li>
+ </#list>
+ </ul>
+ </li>
+ </#if>
</ul>
</nav>
</nav>
diff --git a/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.html b/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.html
index 63e365b..ba256f4 100644
--- a/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.html
+++ b/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.html
@@ -28,7 +28,7 @@
</a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
<li><a href="#" (click)="logout()">{{'doSignOut' | translate}}</a></li>
- <li class="dropdown-submenu pull-left">
+ <li *ngIf="showLocales()" class="dropdown-submenu pull-left">
<a class="test" tabindex="-1" href="#">Change language</a>
<ul class="dropdown-menu">
<li *ngFor="let locale of availableLocales" (click)="changeLocale(locale.locale)"><a tabindex="-1" href="#">{{ locale.label }}</a></li>
diff --git a/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.ts b/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.ts
index 6c7eb4a..fa49a26 100644
--- a/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.ts
+++ b/themes/src/main/resources/theme/keycloak-preview/account/resources/app/top-nav/top-nav.component.ts
@@ -24,6 +24,7 @@ declare const resourceUrl: string;
declare const baseUrl: string;
declare const referrer: string;
declare const referrer_uri: string;
+declare const isInternationalizationEnabled: boolean;
declare const availableLocales: Array<Object>;
@Component({
@@ -56,6 +57,10 @@ export class TopNavComponent implements OnInit {
this.keycloakService.logout(baseUrl);
}
+ private showLocales(): boolean {
+ return isInternationalizationEnabled && (this.availableLocales.length > 1);
+ }
+
private changeLocale(newLocale: string) {
this.keycloakService.login({kcLocale: newLocale });
}