diff --git a/smp-angular/src/app/app.component.ts b/smp-angular/src/app/app.component.ts
index 3c03008be33ff3533de619aac49c3e5a8dec7081..36da13e9659461511a11a7d8da112905b13ca766 100644
--- a/smp-angular/src/app/app.component.ts
+++ b/smp-angular/src/app/app.component.ts
@@ -61,17 +61,6 @@ export class AppComponent {
     return user ? user.username : "";
   }
 
-  get currentUserRoleDescription(): string {
-    if (this.securityService.isCurrentUserSystemAdmin()) {
-      return "System administrator";
-    } else if (this.securityService.isCurrentUserSMPAdmin()) {
-      return "SMP administrator";
-    } else if (this.securityService.isCurrentUserServiceGroupAdmin()) {
-      return "Resource administrator";
-    }
-    return "";
-  }
-
   logout(event: Event): void {
     this.router.navigate(['/search']).then((result) => {
       if (result) {
diff --git a/smp-angular/src/app/edit/edit-resources/resource-details-panel/resource-details-panel.component.ts b/smp-angular/src/app/edit/edit-resources/resource-details-panel/resource-details-panel.component.ts
index eeceaeed693f83256e7473336b4d26515a51768d..4ed1a074b5825238788660a2faa3c77e796d2e4f 100644
--- a/smp-angular/src/app/edit/edit-resources/resource-details-panel/resource-details-panel.component.ts
+++ b/smp-angular/src/app/edit/edit-resources/resource-details-panel/resource-details-panel.component.ts
@@ -98,7 +98,8 @@ export class ResourceDetailsPanelComponent implements BeforeLeaveGuard {
       routerLink: "resource-document",
       selected: true,
       tooltip: "",
-      transient: true
+      transient: true,
+      i18n: "navigation.label.edit.resource.document"
     }
   }
 
diff --git a/smp-angular/src/app/edit/edit-resources/subresource-panel/subresource-panel.component.ts b/smp-angular/src/app/edit/edit-resources/subresource-panel/subresource-panel.component.ts
index e399bfdb4a8b2bf6c69d9169c977d22229e043ef..3caf86a4909283bca50cf7a5373f5627d15ff280 100644
--- a/smp-angular/src/app/edit/edit-resources/subresource-panel/subresource-panel.component.ts
+++ b/smp-angular/src/app/edit/edit-resources/subresource-panel/subresource-panel.component.ts
@@ -165,7 +165,8 @@ export class SubresourcePanelComponent implements AfterViewInit, BeforeLeaveGuar
       routerLink: "subresource-document",
       selected: true,
       tooltip: "",
-      transient: true
+      transient: true,
+      i18n: "navigation.label.edit.subresource.document"
     }
   }
 
diff --git a/smp-angular/src/app/window/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts b/smp-angular/src/app/window/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts
index 8780f83c08c6c4eba61876618f8231e0f786eb2d..3696a823baec6b7ae17217ecaf9899b8ad910830 100644
--- a/smp-angular/src/app/window/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts
+++ b/smp-angular/src/app/window/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts
@@ -1,5 +1,6 @@
-import {Component, EventEmitter, Input, Output} from '@angular/core';
+import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
 import {NavigationNode} from "../../sidenav/navigation-model.service";
+import {TranslateService} from "@ngx-translate/core";
 
 
 /**
@@ -14,16 +15,21 @@ import {NavigationNode} from "../../sidenav/navigation-model.service";
   styleUrls: ['./breadcrumb-item.component.scss']
 })
 
-export class BreadcrumbItemComponent {
+export class BreadcrumbItemComponent implements OnInit {
   @Output() onClickEvent: EventEmitter<NavigationNode> = new EventEmitter();
   @Input() value : NavigationNode;
 
-  get icon() {
-    return this.value.icon;
+  name = "";
+
+  constructor(public translationService: TranslateService) {
   }
 
-  get name() {
-    return this.value.name;
+  ngOnInit() {
+    this.translationService.get(this.value.i18n).subscribe(value1 => this.name = value1);
+  }
+
+  get icon() {
+    return this.value.icon;
   }
 
   get description() {
diff --git a/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.html b/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.html
index 15e2731136357c9b4223ec9049c2ec45a2c28527..4beb688e4f75fbaf24b451e0ae811395955f2af7 100644
--- a/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.html
+++ b/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.html
@@ -3,7 +3,7 @@
           [id]="data.code+'Button'"
           (click)="triggerClickEvent()">
     <mat-icon *ngIf="data.icon">{{data.icon}}</mat-icon>
-    <span>{{ data.name }}</span>
+    <span>{{ name }}</span>
   </button>
   <mat-menu #itemMenu="matMenu" xPosition="before" yPosition="below">
     <ng-container *ngFor="let item of data.children; let i = index">
@@ -16,5 +16,5 @@
           [id]="data.code+'Button'"
           (click)="triggerClickEvent()">
     <mat-icon *ngIf="data.icon">{{data.icon}}</mat-icon>
-    <span>{{ data.name }}</span></button>
+    <span>{{ name }}</span></button>
 </ng-template>
diff --git a/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.ts b/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.ts
index 5e3dd1cc8daeb8bd19e04fb17b6d214046c12548..aa4ed2c26445dfdb1d8194751f4170441a6fca2a 100644
--- a/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.ts
+++ b/smp-angular/src/app/window/sidenav/nav-tree-menu/nav-tree-menu.component.ts
@@ -1,22 +1,33 @@
-import {Component, EventEmitter, Input, Output} from "@angular/core";
+import {Component, EventEmitter, Input, OnInit, Output} from "@angular/core";
 import {NavigationNode} from "../navigation-model.service";
+import {TranslateService} from "@ngx-translate/core";
 
 
 @Component({
   selector: "nav-tree-menu",
   templateUrl: "nav-tree-menu.component.html",
 })
-export class NavTreeMenu {
+export class NavTreeMenu implements OnInit {
 
   @Output() notifyClickMenu: EventEmitter<NavigationNode> = new EventEmitter();
   @Input() data: NavigationNode;
   @Input() trigger = "Trigger";
   @Input() isRootNode = false;
 
+  name = "";
+
+  constructor(public translateService: TranslateService) {
+  }
+
   triggerClickEvent() {
     this.notifyClickMenu.emit(this.data);
   }
 
+  ngOnInit() {
+    console.log(1, this.data.i18n)
+    this.translateService.get(this.data.i18n).subscribe(value => this.name = value);
+  }
+
   get isLeaf() {
     return !this.data.children || this.data.children.length == 0
   }
diff --git a/smp-angular/src/app/window/sidenav/nav-tree/nav-tree.component.html b/smp-angular/src/app/window/sidenav/nav-tree/nav-tree.component.html
index 132776fe69ccff47632b989a5a19afd280dc85a9..99a7eb49c045adbd09220ca0297c21e0099c28f4 100644
--- a/smp-angular/src/app/window/sidenav/nav-tree/nav-tree.component.html
+++ b/smp-angular/src/app/window/sidenav/nav-tree/nav-tree.component.html
@@ -6,7 +6,7 @@
     <li *ngIf="!node.transient" class="mat-tree-node nav-tree-leaf" [ngClass]="{ 'navigation-selected': navigationModel.selected === node}">
       <button [id]="node.code+'Button'" mat-menu-item (click)="menuClickHandler(node)">
         <mat-icon *ngIf="node.icon">{{node.icon}}</mat-icon>
-        <span *ngIf="fullMenu">{{node.name}}</span>
+        <span *ngIf="fullMenu">{{ node.i18n | translate }}</span>
       </button>
     </li>
   </mat-tree-node>
@@ -23,7 +23,7 @@
           </a>
           <button [id]="node.code+'Button'" mat-menu-item (click)="menuClickHandler(node)">
             <mat-icon *ngIf="node.icon">{{node.icon}}</mat-icon>
-            <span *ngIf="fullMenu">{{node.name}}</span>
+            <span *ngIf="fullMenu">{{ node.i18n | translate }}</span>
           </button>
         </ng-container>
         <ng-template #iconButton>
diff --git a/smp-angular/src/app/window/sidenav/navigation-model.service.ts b/smp-angular/src/app/window/sidenav/navigation-model.service.ts
index bacda93004d4cf5e66cea1b5f6074e7c9706fceb..f59445e5304bbce55c63f534d91e774105d5f8f0 100644
--- a/smp-angular/src/app/window/sidenav/navigation-model.service.ts
+++ b/smp-angular/src/app/window/sidenav/navigation-model.service.ts
@@ -15,22 +15,22 @@ import {filter, map} from "rxjs/operators";
 
 let PUBLIC_NAVIGATION_TREE: NavigationNode = {
   code: "home",
-  name: "Home",
+  i18n: "navigation.label.home",
   icon: "home",
   routerLink: "",
   children: [
     {
       code: "search-tools",
-      name: "Search",
+      i18n: "navigation.label.search",
       icon: "search",
-      tooltip: "Search tools",
+      tooltipI18n: "navigation.tooltip.search.tools",
       routerLink: "public",
       children: [
         {
           code: "search-resources",
-          name: "Resources",
+          i18n: "navigation.label.search.resources",
           icon: "find_in_page",
-          tooltip: "Search registered resources",
+          tooltipI18n: "navigation.tooltip.search.resources",
           routerLink: "search-resources",
         }
       ]
@@ -45,9 +45,9 @@ let PUBLIC_NAVIGATION_TREE: NavigationNode = {
  */
 export interface NavigationNode {
   code: string;
-  name: string;
+  i18n: string;
   icon?: string;
-  tooltip?: string;
+  tooltipI18n?: string;
   routerLink?: string;
   children?: NavigationNode[];
   clickable?: boolean;
@@ -312,7 +312,7 @@ export class NavigationService extends MatTreeNestedDataSource<NavigationNode> {
 
   /** Remove node from tree */
   public remove(node: NavigationNode) {
-    const newTreeData = {code: "home", name: "Home", icon: "home", children: this.data};
+    const newTreeData: NavigationNode = {code: "home", i18n: "navigation.label.home", icon: "home", children: this.data};
     this._remove(node, newTreeData);
     this.data = newTreeData.children;
   }
@@ -325,13 +325,13 @@ export class NavigationService extends MatTreeNestedDataSource<NavigationNode> {
   protected _add(newNode: NavigationNode, parent: NavigationNode, tree: NavigationNode) {
     if (tree === parent) {
       console.log(
-        `replacing children array of '${parent.name}', adding ${newNode.name}`
+        `replacing children array of '${parent.i18n}', adding ${newNode.i18n}`
       );
       tree.children = [...tree.children!, newNode];
       return true;
     }
     if (!tree.children) {
-      console.log(`reached leaf node '${tree.name}', backing out`);
+      console.log(`reached leaf node '${tree.i18n}', backing out`);
       return false;
     }
     return this.update(tree, this._add.bind(this, newNode, parent));
@@ -347,7 +347,7 @@ export class NavigationService extends MatTreeNestedDataSource<NavigationNode> {
         ...tree.children.slice(0, i),
         ...tree.children.slice(i + 1)
       ];
-      console.log(`found ${node.name}, removing it from`, tree);
+      console.log(`found ${node.i18n}, removing it from`, tree);
       return true;
     }
     return this.update(tree, this._remove.bind(this, node));
@@ -358,7 +358,7 @@ export class NavigationService extends MatTreeNestedDataSource<NavigationNode> {
 
     tree.children!.find((node, i) => {
       if (predicate(node)) {
-        console.log(`creating new node for '${node.name}'`);
+        console.log(`creating new node for '${node.i18n}'`);
         updatedTree = {...node};
         updatedIndex = i;
         return true;
@@ -367,7 +367,7 @@ export class NavigationService extends MatTreeNestedDataSource<NavigationNode> {
     });
 
     if (updatedTree!) {
-      console.log(`replacing node '${tree.children![updatedIndex!].name}'`);
+      console.log(`replacing node '${tree.children![updatedIndex!].i18n}'`);
       tree.children![updatedIndex!] = updatedTree!;
       return true;
     }
@@ -401,12 +401,12 @@ export class NavigationService extends MatTreeNestedDataSource<NavigationNode> {
     return {
       code: "login",
       icon: "login",
-      name: "Login",
+      i18n: "navigation.label.login",
       routerLink: "login",
       clickable: true,
       selected: true,
-      tooltip: "",
-      transient: true,
+      tooltipI18n: "",
+      transient: true
     }
   }
 
diff --git a/smp-angular/src/assets/i18n/en.json b/smp-angular/src/assets/i18n/en.json
index 8edce6bd0029210a03ea14c01726c172c66d159b..e7d518b675a424aa3a055251fb95de188996b6e7 100644
--- a/smp-angular/src/assets/i18n/en.json
+++ b/smp-angular/src/assets/i18n/en.json
@@ -818,5 +818,35 @@
 
   "app.component.button.collapse": "Collapse sidebar",
   "app.component.tooltip.collapse": "Collapse",
-  "app.component.tooltip.expand": "Expand"
+  "app.component.tooltip.expand": "Expand",
+
+  "navigation.label.home": "Home",
+  "navigation.label.search": "Search",
+  "navigation.label.search.resources": "Resources",
+  "navigation.label.search.dns.tools": "DNS Tools",
+  "navigation.label.login": "Login",
+  "navigation.label.reset.token": "Reset Token",
+  "navigation.label.edit": "Administration",
+  "navigation.label.edit.domains": "Edit Domains",
+  "navigation.label.edit.groups": "Edit Groups",
+  "navigation.label.edit.resources": "Edit Resources",
+  "navigation.label.edit.resource.document": "Edit Resource Document",
+  "navigation.label.edit.subresource.document": "Edit Subresource Document",
+  "navigation.label.system.settings": "System Settings",
+  "navigation.label.system.settings.alerts": "Alerts",
+  "navigation.label.system.settings.domains": "Domain",
+  "navigation.label.system.settings.extensions": "Extension",
+  "navigation.label.system.settings.keystores": "Keystore",
+  "navigation.label.system.settings.properties": "Properties",
+  "navigation.label.system.settings.truststores": "Truststore",
+  "navigation.label.system.settings.users": "User",
+  "navigation.label.user.settings": "User Settings",
+  "navigation.label.user.settings.profile": "Profile",
+  "navigation.label.user.settings.access.tokens": "Access Tokens",
+  "navigation.label.user.settings.certificates": "Certificate",
+  "navigation.label.user.settings.alerts": "Alerts",
+  "navigation.label.user.settings.membership": "Membership",
+  "navigation.tooltip.search.resources": "Search registered resources",
+  "navigation.tooltip.search.tools": "Search tools",
+  "navigation.tooltip.search.dns.tools": "DNS lookup tools"
 }
diff --git a/smp-angular/src/assets/i18n/ro.json b/smp-angular/src/assets/i18n/ro.json
index eef2b2594378ad13627f488877e25be73525189e..ca2b94b067706ab05c1a842695a8cb460b2ffdc4 100644
--- a/smp-angular/src/assets/i18n/ro.json
+++ b/smp-angular/src/assets/i18n/ro.json
@@ -324,24 +324,24 @@
   "edit.group.label.members": "Membrii",
   "edit.group.label.user.not.administrator": "Utilizatorul nu este Administrator al niciunui grup",
   "edit.group.label.select.domain": "Grup selectat",
-  "edit.group.label.select.group": "Selectat Group",
-  "edit.group.placeholder.select.domain": "Selectat domain",
-  "edit.group.placeholder.select.group": "Select group",
-  "edit.group.text": "Modifica group administration panel is a tool for group administrators to manage group members and resources",
-  "edit.group.title": "Modifica Group",
-  "edit.group.tooltip.select.domain": "Selectat domain.",
-  "edit.group.tooltip.select.group": "Select group.",
+  "edit.group.label.select.group": "Grupul selectat",
+  "edit.group.placeholder.select.domain": "Selecteaza domeniu",
+  "edit.group.placeholder.select.group": "Selecteaza grup",
+  "edit.group.text": "Panoul de administrare a grupurilor este un instrument pentru Administratorilor de grupuri cu care acestia pot gestiona membrii grupurilor si resursele",
+  "edit.group.title": "Modifica Grup",
+  "edit.group.tooltip.select.domain": "Domeniu selectat.",
+  "edit.group.tooltip.select.group": "Grup selectat.",
 
   "document.wizard.dialog.button.cancel": "Anuleaza",
   "document.wizard.dialog.button.ok": "OK",
-  "document.wizard.dialog.title": "Resource Extension Wizard",
+  "document.wizard.dialog.title": "Expert Extensie Resursa",
 
   "resource.details.panel.label.resource.id": "Identificator resursa",
   "resource.details.panel.label.resource.name": "Modifica documentul resursei",
   "resource.details.panel.label.resource.scheme": "Schema resursa",
   "resource.details.panel.label.resource.type": "Tip resursa",
   "resource.details.panel.label.resource.visibility": "Vizibilitate resursa",
-  "resource.details.panel.label.resource.visibility.private": "Resursa privata este accesibila doar membrilor resoursei!",
+  "resource.details.panel.label.resource.visibility.private": "Resursa privata este accesibila doar membrilor resursei!",
   "resource.details.panel.label.resource.visibility.private.group": "Resursa apartine grupului privat. Doar membrii grupului si membrii grupului resursei o pot accesa!",
   "resource.details.panel.label.resource.visibility.private.domain": "Resursa apartine domeniului privat. Doar membrii domeniului, membrii grupului domeniului si membrii grupului resursei o pot accesa!",
   "resource.details.panel.label.resource.visibility.public": "Resursa este publica in grupul public si in domeniul public. Datele resursei sunt accesibile tuturor utilizatorilor.",
@@ -818,5 +818,35 @@
 
   "app.component.button.collapse": "Restrangeti bara laterala",
   "app.component.tooltip.collapse": "Retrangeti",
-  "app.component.tooltip.expand": "Extindeti"
+  "app.component.tooltip.expand": "Extindeti",
+
+  "navigation.label.home": "Pagina de start",
+  "navigation.label.search": "Cautare",
+  "navigation.label.search.resources": "Resurse",
+  "navigation.label.search.dns.tools": "Instrumente DNS",
+  "navigation.label.login": "Authentificare",
+  "navigation.label.reset.token": "Resetare Token",
+  "navigation.label.edit": "Administrare",
+  "navigation.label.edit.domains": "Editare Domenii",
+  "navigation.label.edit.groups": "Editare Grupuri",
+  "navigation.label.edit.resources": "Editare Resurse",
+  "navigation.label.edit.resource.document": "Editare Documentul Resursei",
+  "navigation.label.edit.subresource.document": "Editare Documentul Subresursei",
+  "navigation.label.system.settings": "Setari de Sistem",
+  "navigation.label.system.settings.alerts": "Alerte",
+  "navigation.label.system.settings.domains": "Domenii",
+  "navigation.label.system.settings.extensions": "Extensii",
+  "navigation.label.system.settings.keystores": "Keystore",
+  "navigation.label.system.settings.properties": "Proprietati",
+  "navigation.label.system.settings.truststores": "Truststore",
+  "navigation.label.system.settings.users": "Utilizatori",
+  "navigation.label.user.settings": "Setari Utilizator",
+  "navigation.label.user.settings.profile": "Profil",
+  "navigation.label.user.settings.access.tokens": "Token-uri de Acces",
+  "navigation.label.user.settings.certificates": "Certificate",
+  "navigation.label.user.settings.alerts": "Alerte",
+  "navigation.label.user.settings.membership": "Calitate de Membru",
+  "navigation.tooltip.search.resources": "Cauta resurse inregistrate",
+  "navigation.tooltip.search.tools": "Cauta resurse inregistrate",
+  "navigation.tooltip.search.dns.tools": "Instrumente de cautare DNS"
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java
index 10089662568fca58361576fc4dbb849cc2d6d317..5c5a71f67d34dac23787e717f2f4c28c41943cf4 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java
@@ -31,26 +31,26 @@ public class NavigationTreeNodeRO extends BaseRO {
     private static final long serialVersionUID = 9008583888835630011L;
 
     private String code;
-    private String name;
+    private String i18n;
     private String icon;
-    private String tooltip;
+    private String tooltipI18n;
     private String routerLink;
     private final List<NavigationTreeNodeRO> children = new ArrayList<>();
 
     public NavigationTreeNodeRO() {
     }
 
-    public NavigationTreeNodeRO(String code, String name, String icon, String routerLink) {
-        this(code, name, icon, routerLink, null);
+    public NavigationTreeNodeRO(String code, String i18n, String icon, String routerLink) {
+        this(code, i18n, icon, routerLink, null);
 
     }
 
-    public NavigationTreeNodeRO(String code, String name, String icon, String routerLink, String tooltip) {
+    public NavigationTreeNodeRO(String code, String i18n, String icon, String routerLink, String tooltipI18n) {
         this.code = code;
-        this.name = name;
+        this.i18n = i18n;
         this.icon = icon;
         this.routerLink = routerLink;
-        this.tooltip = tooltip;
+        this.tooltipI18n = tooltipI18n;
     }
 
     public String getCode() {
@@ -61,12 +61,12 @@ public class NavigationTreeNodeRO extends BaseRO {
         this.code = code;
     }
 
-    public String getName() {
-        return name;
+    public String getI18n() {
+        return i18n;
     }
 
-    public void setName(String name) {
-        this.name = name;
+    public void setI18n(String name) {
+        this.i18n = name;
     }
 
     public String getIcon() {
@@ -77,12 +77,12 @@ public class NavigationTreeNodeRO extends BaseRO {
         this.icon = icon;
     }
 
-    public String getTooltip() {
-        return tooltip;
+    public String getTooltipI18n() {
+        return tooltipI18n;
     }
 
-    public void setTooltip(String tooltip) {
-        this.tooltip = tooltip;
+    public void setTooltipI18n(String tooltip) {
+        this.tooltipI18n = tooltip;
     }
 
     public String getRouterLink() {
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java
index 3a69adc5265442a1a100be8ff2c744787fb2f889..c0bb7f58f3451535fff8a724cc947c12d6884869 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java
@@ -119,7 +119,7 @@ public class UserController {
         LOG.info("get User Navigation tree for user ID: {}", userId);
         Long entityId = decryptEntityId(userId);
         DBUser user = uiUserService.findUser(entityId);
-        NavigationTreeNodeRO home = new NavigationTreeNodeRO("home", "Home", "home", "");
+        NavigationTreeNodeRO home = new NavigationTreeNodeRO("home", "navigation.label.home", "home", "");
         home.addChild(createPublicNavigationTreeNode());
         // create administration nodes for domains, groups and resources
         NavigationTreeNodeRO adminNodes = createEditNavigationTreeNode();
@@ -296,39 +296,39 @@ public class UserController {
 
 
     protected NavigationTreeNodeRO createPublicNavigationTreeNode() {
-        NavigationTreeNodeRO node = new NavigationTreeNodeRO("search-tools", "Search", "search", "public");
-        node.addChild(new NavigationTreeNodeRO("search-resources", "Resources", "find_in_page", "search-resource", "Search registered resources"));
-        node.addChild(new NavigationTreeNodeRO("dns-tools", "DNS tools", "dns", "dns-tools" , "DNS lookup tools"));
+            NavigationTreeNodeRO node = new NavigationTreeNodeRO("search-tools", "navigation.label.search", "search", "public");
+        node.addChild(new NavigationTreeNodeRO("search-resources", "navigation.label.search.resources", "find_in_page", "search-resource", "navigation.tooltip.search.resources"));
+        node.addChild(new NavigationTreeNodeRO("dns-tools", "navigation.label.search.dns.tools", "dns", "dns-tools" , "navigation.tooltip.search.dns.tools"));
         return node;
     }
 
     protected NavigationTreeNodeRO createUserProfileNavigationTreeNode() {
-        NavigationTreeNodeRO node = new NavigationTreeNodeRO("user-data", "User Settings", "account_circle", "user-settings");
-        node.addChild(new NavigationTreeNodeRO("user-data-profile", "Profile", "account_circle", "user-profile"));
-        node.addChild(new NavigationTreeNodeRO("user-data-access-token", "Access tokens", "key", "user-access-token"));
-        node.addChild(new NavigationTreeNodeRO("user-data-certificates", "Certificates", "article", "user-certificate"));
-        node.addChild(new NavigationTreeNodeRO("user-data-alert", "Alerts", "notifications", "user-alert"));
+        NavigationTreeNodeRO node = new NavigationTreeNodeRO("user-data", "navigation.label.user.settings", "account_circle", "user-settings");
+        node.addChild(new NavigationTreeNodeRO("user-data-profile", "navigation.label.user.settings.profile", "account_circle", "user-profile"));
+        node.addChild(new NavigationTreeNodeRO("user-data-access-token", "navigation.label.user.settings.access.tokens", "key", "user-access-token"));
+        node.addChild(new NavigationTreeNodeRO("user-data-certificates", "navigation.label.user.settings.certificates", "article", "user-certificate"));
+        node.addChild(new NavigationTreeNodeRO("user-data-alert", "navigation.label.user.settings.alerts", "notifications", "user-alert"));
         return node;
     }
 
     protected NavigationTreeNodeRO createSystemAdminNavigationTreeNode() {
-        NavigationTreeNodeRO node = new NavigationTreeNodeRO("system-settings", "System settings", "admin_panel_settings", "system-settings");
-        node.addChild(new NavigationTreeNodeRO("system-admin-user", "Users", "people", "user"));
-        node.addChild(new NavigationTreeNodeRO("system-admin-domain", "Domains", "domain", "domain"));
-        node.addChild(new NavigationTreeNodeRO("system-admin-keystore", "Keystore", "key", "keystore"));
-        node.addChild(new NavigationTreeNodeRO("system-admin-truststore", "Truststore", "article", "truststore"));
-        node.addChild(new NavigationTreeNodeRO("system-admin-extension", "Extensions", "extension", "extension"));
-        node.addChild(new NavigationTreeNodeRO("system-admin-properties", "Properties", "settings", "properties"));
-        // node.addChild(new NavigationTreeNodeRO("system-admin-authentication", "Authentication", "shield", "authentication"));
-        node.addChild(new NavigationTreeNodeRO("system-admin-alert", "Alerts", "notifications", "alert"));
+        NavigationTreeNodeRO node = new NavigationTreeNodeRO("system-settings", "navigation.label.system.settings", "admin_panel_settings", "system-settings");
+        node.addChild(new NavigationTreeNodeRO("system-admin-user", "navigation.label.system.settings.users", "people", "user"));
+        node.addChild(new NavigationTreeNodeRO("system-admin-domain", "navigation.label.system.settings.domains", "domain", "domain"));
+        node.addChild(new NavigationTreeNodeRO("system-admin-keystore", "navigation.label.system.settings.keystores", "key", "keystore"));
+        node.addChild(new NavigationTreeNodeRO("system-admin-truststore", "navigation.label.system.settings.truststores", "article", "truststore"));
+        node.addChild(new NavigationTreeNodeRO("system-admin-extension", "navigation.label.system.settings.extensions", "extension", "extension"));
+        node.addChild(new NavigationTreeNodeRO("system-admin-properties", "navigation.label.system.settings.properties", "settings", "properties"));
+        // node.addChild(new NavigationTreeNodeRO("system-admin-authentication", "navigation.label.system.settings.authentication", "shield", "authentication"));
+        node.addChild(new NavigationTreeNodeRO("system-admin-alert", "navigation.label.system.settings.alerts", "notifications", "alert"));
         return node;
     }
 
     protected NavigationTreeNodeRO createEditNavigationTreeNode() {
-        NavigationTreeNodeRO node = new NavigationTreeNodeRO("edit", "Administration", "tune", "edit");
-        node.addChild(new NavigationTreeNodeRO("edit-domain", "Edit domains", "account_circle", "edit-domain"));
-        node.addChild(new NavigationTreeNodeRO("edit-group", "Edit groups", "group", "edit-group"));
-        node.addChild(new NavigationTreeNodeRO("edit-resource", "Edit resources", "article", "edit-resource"));
+        NavigationTreeNodeRO node = new NavigationTreeNodeRO("edit", "navigation.label.edit", "tune", "edit");
+        node.addChild(new NavigationTreeNodeRO("edit-domain", "navigation.label.edit.domains", "account_circle", "edit-domain"));
+        node.addChild(new NavigationTreeNodeRO("edit-group", "navigation.label.edit.groups", "group", "edit-group"));
+        node.addChild(new NavigationTreeNodeRO("edit-resource", "navigation.label.edit.resources", "article", "edit-resource"));
         return node;
     }
 }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java
index 5d6f16160f681336b7616805455945dcd625bfa6..e1241d1415c5e1dc92f976832c56516635a36976 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java
@@ -69,8 +69,8 @@ class UserControllerIT extends AbstractControllerTest {
 
         assertNotNull(result);
         assertEquals(4, result.getChildren().size());
-        List<String> childrenNames = result.getChildren().stream().map(NavigationTreeNodeRO::getName).collect(Collectors.toList());
-        assertEquals(Arrays.asList("Search", "Administration", "System settings", "User Settings"), childrenNames);
+        List<String> childrenNames = result.getChildren().stream().map(NavigationTreeNodeRO::getI18n).collect(Collectors.toList());
+        assertEquals(Arrays.asList("navigation.label.search", "navigation.label.edit", "navigation.label.system.settings", "navigation.label.user.settings"), childrenNames);
     }
 
     @Test
@@ -87,8 +87,8 @@ class UserControllerIT extends AbstractControllerTest {
 
         assertNotNull(result);
         assertEquals(3, result.getChildren().size());
-        List<String> childrenNames = result.getChildren().stream().map(NavigationTreeNodeRO::getName).collect(Collectors.toList());
-        assertEquals(Arrays.asList("Search", "Administration", "User Settings"), childrenNames);
+        List<String> childrenNames = result.getChildren().stream().map(NavigationTreeNodeRO::getI18n).collect(Collectors.toList());
+        assertEquals(Arrays.asList("navigation.label.search", "navigation.label.edit", "navigation.label.user.settings"), childrenNames);
     }
 
     @Test