keycloak-aplcache

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 });
     }