Initial Commit - NG UI

* Roboto and font-awesome fonts are added in package.json
* Replace Nginx alpine varient to stable
* Devops files are added
* Docker file aligned as per community reviews
* Enhancement - NS primitive, Azure inclusion and domain name
* RWD changes

Change-Id: If543efbf127964cbd8f4be4c5a67260c91407fd9
Signed-off-by: kumaran.m <kumaran.m@tataelxsi.co.in>
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
new file mode 100644
index 0000000..6c80bf8
--- /dev/null
+++ b/src/assets/i18n/de.json
@@ -0,0 +1,479 @@
+{
+    "OSM": "OSM",
+    "APPVERSION": "App Version",
+    "OSMVERSION": "OSM Version",
+    "OSMSOURCEMANO": "Open Source MANO",
+    "ADMIN": "Admin",
+    "ENTRIES": "Einträge",
+    "COMPOSE": "Komponieren a",
+    "CREATE": "Erstellen",
+    "SELECT": "Wählen",
+    "CANCEL": "Stornieren",
+    "SAVE": "speichern",
+    "COUNT": "Anzahl",
+    "IMAGE": "Bild",
+    "IPPROFILEREF": "IP-Profil Ref",
+    "ACTION": "Aktion",
+    "ADD": "Hinzufügen",
+    "EDIT": "Bearbeiten",
+    "APPLY": "Sich bewerben",
+    "FORCE": "Macht",
+    "DOWNLOAD": "Herunterladen",
+    "CONTENT": "Inhalt",
+    "DELETE": "Löschen",
+    "FORCEDELETE": "Löschen erzwingen",
+    "RENAME": "Umbenennen",
+    "INFO": "Info",
+    "NSPACKAGES": "NS Pakete",
+    "VNFPACKAGES": "VNF Pakete",
+    "INSTANCES": "Instanzen",
+    "INSTANTIATE": "Instanziieren",
+    "NSINSTANCES": "NS Instanzen",
+    "VNFINSTANCES": "VNF Instanzen",
+    "PDUINSTANCES": "PDU Instanzen",
+    "VIMACCOUNTS": "VIM Konten",
+    "WIMACCOUNTS": "WIM-Konten",
+    "SDNCONTROLLER": "SDN Reglerin",
+    "NETSLICE": "Netslice",
+    "PROJECT": "Projekt",
+    "DOMAIN": "Domain",
+    "PACKAGES": "Pakete",
+    "MODIFIED": "Geändert",
+    "NODATAMSG": "Keine Daten in der Tabelle verfügbar",
+    "SHORTNAME": "Kurzer Name",
+    "IDENTIFIER": "Kennung",
+    "DESCRIPTION": "Beschreibung",
+    "VENDOR": "Verkäuferin",
+    "VERSION": "Ausführung",
+    "ACTIONS": "Aktionen",
+    "NAME": "Name",
+    "USAGESTATE": "Nutzungsstatus",
+    "MODIFICATIONDATE": "Änderungsdatum",
+    "CREATEDDATE": "Erstellungsdatum",
+    "OPERATIONALSTATUS": "Betriebs Status",
+    "OPERATIONALSTATE": "Betriebszustand",
+    "CONFIGSTATUS": "Konfigurations Status",
+    "DETAILEDSTATUS": "Detaillierter Status",
+    "NSDNAME": "Nsd name",
+    "NSTNAME": "Nst name",
+    "TYPE": "Art",
+    "VNFD": "VNFD",
+    "VNF": "VNF",
+    "MEMBERINDEX": "Mitglieds  Index",
+    "NS": "NS",
+    "CREATEDAT": "Hergestellt in",
+    "CREATED": "Erstellt",
+    "ALL": "Alle",
+    "ID": "Id",
+    "OPERATIONSTATE": "Betriebszustand",
+    "STARTTIME": "Startzeit",
+    "STATUSENTEREDTIME": "Status Eingegebene Zeit",
+    "HISTORYOFOPERATIONS": "Geschichte der Operationen",
+    "UPDATE": "Aktualisieren",
+    "READONLYMODE": "Nur-Lese-Modus",
+    "CURRENTLY": "Zur Zeit",
+    "ON": "Auf",
+    "OFF": "aus",
+    "IN": "im",
+    "FILES": "Dateien",
+    "NEW": "Neu",
+    "RECENTLY": "Vor kurzem",
+    "TOPOLOGY": "Topologie",
+    "PLEASEWAIT": "Warten Sie mal",
+    "LOADING": "Wird geladen",
+    "RESOURCEORCHESTRATOR": "Ressource Orchestrator",
+    "VIEW": "Aussicht",
+    "DROP": "Fallen",
+    "HERE": "Here",
+    "MAPVIEW": "Kartenansicht",
+    "LISTVIEW": "Listenansicht",
+    "OK": "Okay",
+    "DELETEDSUCCESSFULLY": "Erfolgreich gelöscht",
+    "SESSIONEXPIRY": "Sitzung abgelaufen, bitte erneut anmelden",
+    "DELETECONFIRMPOPUPMESSAGE": "Möchten Sie wirklich löschen?",
+    "DELETELOADERMESSAGE": "Bitte warten Sie, während der Löschvorgang ausgeführt wird",
+    "VALUE": "Wert",
+    "PERFORMACTION": "Aktion ausführen",
+    "EXECUTE": "Execute",
+    "EXECNSPRIMITIVE": "Exec NS Primitive",
+    "PRIMITIVETYPE": "Primitiver Typ",
+    "VNFPRIMITIVE": "VNF Level Primitive",
+    "NSPRIMITIVE": "NS Level Primitive",
+    "DESCRIPTOR": "Deskriptor",
+    "ERROR": "Etwas ist schief gelaufen. Bitte versuche es erneut",
+    "SHOWGRAPH": "Grafik anzeigen",
+    "UPDATESHOWGRAPH": "Grafik aktualisieren und anzeigen",
+    "CREATEPACKAGE": "Neues Paket erstellen",
+    "GZFILETYPEERRROR": "Laden Sie nur eine tar.gz-Datei hoch und die Größe sollte 15 MB nicht überschreiten",
+    "YAMLFILETYPEERRROR": "Laden Sie nur YAML-Dateien hoch und die Größe sollte 15 MB nicht überschreiten",
+    "JSONFILETYPEERRROR": "Laden Sie nur JSON-Dateien hoch und die Größe sollte 15 MB nicht überschreiten",
+    "PUBFILETYPEERRROR": "Laden Sie nur PUB-Dateien hoch und die Größe sollte 15 MB nicht überschreiten",
+    "PACKAGE": "Paket",
+    "URL": "URL",
+    "DEPLOYED": "Bereitgestellt",
+    "ROLES": "Rollen",
+    "INSTANCEDETAILS": "Instanzdetails",
+    "IPADDRESS": "IP Adresse",
+    "MGMT": "Mgmt",
+    "NETNAME": "Netzname",
+    "USER": "Benutzerin",
+    "PORT": "Hafen",
+    "USERNAME": "Nutzername",
+    "PASSWORD": "Passwort",
+    "NODATAERROR": "Beim Abrufen der Informationen ist ein Fehler aufgetreten",
+    "FREEZE": "Bevriezen",
+    "UNFREEZE": "Auftauen",
+    "CLONE": "Klon",
+    "CLONECONFIRMPOPUPMESSAGE": "Möchten Sie wirklich klonen",
+    "CLONESUCCESSFULLY": "Paket erfolgreich geklont",
+    "DROPFILES": "Ziehen Sie die Dateien einfach hierher oder klicken Sie hier, um sie hochzuladen",
+    "DROPFILESVALIDATION": "Bitte wählen Sie eine zu verarbeitende Datei aus",
+    "METRICS": "Metriken",
+    "NOOFHOURS": "Anzahl der Stunden",
+    "MANDATORYCHECK": "Verplichte velden zijn gemarkeerd met een sterretje (*)",
+    "K8VERSION": "K8-versie",
+    "ENTER": "Eingeben",
+    "SWITCHPROJECT": "Projekt wechseln",
+    "CURRENTPROJECT": "Derzeitiges Projekt",
+    "SUBMIT": "Submit",
+    "REFRESH": "Aktualisierung",
+    "OPEN": "Öffnen",
+    "UPLOADCONFIG": "Upload Config",
+    "FILEUPLOADLABEL": "Oder aus Datei laden",
+    "CONFIG": "Konfig",
+    "YAMLCONFIG": "Yaml Konfig",
+    "CHOOSEFILE": "Datei wählen",
+    "INVALIDCONFIG": "Ungültige Konfiguration",
+    "PAGE": {
+        "DASHBOARD": {
+            "DASHBOARD": "Instrumententafel",
+            "RECENTUSERLOG": "Letztes Benutzerprotokoll",
+            "LOGS": "Protokolle",
+            "FAILEDINSTANCES": "Fehlgeschlagene Instanzen",
+            "NOINSTANCES": "Keine Instanzen verfügbar",
+            "UPTIME": "Betriebszeit",
+            "RUNNINGINSTANCES": "Laufende Instanzen",
+            "NETSLICETEMPLATE": "NetSlice Vorlage",
+            "NETSLICEINSTANCE": "NetSlice Instanzen",
+            "USERS": "Benutzer",
+            "PROJECTS": "Projekte",
+            "USERSETTINGS": "Benutzereinstellungen",
+            "LOGOUT": "Ausloggen"
+        },
+        "LOGIN": {
+            "USERNAME": "Nutzername",
+            "PASSWORD": "Passwort",
+            "SIGNUP": "Anmelden",
+            "ACCOUNTCREATEMESSAGE": "Sie haben noch keinen Account?",
+            "LOGIN": "Anmeldung",
+            "PASSWORDVALIDMESSAGE": "Passwort wird benötigt",
+            "USERNAMEVALIDMESSAGE": "Ein Benutzername wird benötigt",
+            "SIGNINMSG": "Melden Sie sich an, um Ihre Sitzung zu starten",
+            "PASSWORDMINLENGTHVALIDMESSAGE": "Das Passwort muss aus 8 Zeichen bestehen und mindestens ein Groß-, Klein-, Ziffern- und Sonderzeichen enthalten",
+            "USERNAMEMINLENGTHVALIDMESSAGE": "Der Benutzername muss aus mindestens 5 Zeichen bestehen"
+        },
+        "INSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "Neue Instanz",
+            "NSNAME": "Ns Name",
+            "DESCRIPTION": "Beschrijving",
+            "NSID": "Nsd Id",
+            "SSHKEY": "SSH-Schlüssel",
+            "VIMACCOUNT": "VIM-Konto",
+            "SSHKEYMSG": "Fügen Sie hier Ihren Schlüssel ein"
+        },
+        "NSMETRIC": {
+            "INSTANCESMETRIC": "Instanzmetrik",
+            "METRICERROR": "Daten in Metriken nicht verfügbar"
+        },
+        "USERSETTINGS": {
+            "LANGUAGE": "Sprache"
+        },
+        "VIM": {
+            "CREATEDSUCCESSFULLY": "VIM erfolgreich erstellt",
+            "LOACTIONINFO": "Geben Sie den Standortnamen ein und klicken Sie auf die Eingabetaste, um den Standort aus der Liste auszuwählen"
+        },
+        "VIMDETAILS": {
+            "NEWVIM": "Nieuwe VIM",
+            "VIMACCOUNTDETAILS": "VIM-Kontodetails",
+            "NAME": "Name",
+            "VIMUSERNAME": "VIM-Benutzername",
+            "VIMURL": "VIM-URL",
+            "VIMTYPE": "Art",
+            "TENANTNAME": "Name des Mieters",
+            "DESCRIPTION": "Beschreibung",
+            "SCHEMATYPE": "Schematyp",
+            "SCHEMAVERSION": "Schema-Version",
+            "CONFIGPARAMETERS": "KONFIG-PARAMETER",
+            "SDNCONTROLLER": "SDN-Controller",
+            "SDNPORTMAPPING": "SDN-Port-Zuordnung",
+            "VIMNETWORKNAME": "VIM-Netzwerkname",
+            "SECURITYGROUPS": "Sicherheitsgruppen",
+            "AVAILABILITYZONE": "Verfügbarkeitszone",
+            "REGIONALNAME": "Name der Region",
+            "INSECURE": "Unsicher",
+            "USEEXISTINGFLAVOURS": "Verwenden Sie vorhandene Aromen",
+            "USEINTERNALENDPOINT": "Verwenden Sie den internen Endpunkt",
+            "APIVERSION": "API-Version",
+            "PROJECTDOMAINID": "Projektdomänen-ID",
+            "PROJECTDOMAINNAME": "Projektdomänenname",
+            "USERDOMAINID": "Benutzer-Domain-ID",
+            "USERDOMAINUSER": "Benutzer-Domainname",
+            "KEYPAIR": "Schlüsselpaar",
+            "DATAPLANEPHYSICALNET": "Dataplane physikalisches Netz",
+            "USEFLOATINGIP": "Verwenden Sie Floating IP",
+            "DATAPLANENETVLANRANGE": "Dataplane Net VLAN-Bereich",
+            "MICROVERSION": "Mikroversion",
+            "BACKTOVIMACCOUNTS": "Zurück zu VimAccounts",
+            "VIMPASSWORD": "VIM-Passwort",
+            "ADDITIONALCONFIG": "Zusätzliche Konfiguration",
+            "ADDITIONALCONFIGPLACEHOLDER": "{'key1':[...],'key2':{},'key3':''}",
+            "NEWVIMACCOUNT": "Neues VIM-Konto",
+            "ORGNAME": "Orgname",
+            "VCENTERIP": "Vcenter ip",
+            "VCENTERPORT": "Vcenter-Anschluss",
+            "ADMINUSERNAME": "Admin-Benutzername",
+            "VCENTERUSER": "Vcenter-Benutzer",
+            "ADMINPASSWORD": "Administrator-Passwort",
+            "VCENTERPASSWORD": "Vcenter Passwort",
+            "NSXMANAGER": "Nsx Manager",
+            "VROPSSITE": "Vrops Seite",
+            "NSXUSER": "Nsx Benutzer",
+            "VROPSUSER": "Vrops Benutzer",
+            "NSXPASSWORD": "Nsx Passwort",
+            "VROPSPASSWORD": "Vrops Passwort",
+            "VPCCIDRBLOCK": "VPC-CIDR-Block",
+            "FLAVORIINFO": "Geschmacksinfo",
+            "VIM_TYPE": "VIM-Typ",
+            "VIMLOCATION": "VIM-Speicherort",
+            "SUBSCRIPTIONID": "Abonnement-ID",
+            "RESOURCEGROUP": "Ressourcengruppe",
+            "VNETNAME": "VNet Name",
+            "FLAVORSPATTERN": "Geschmacksmuster"
+        },
+        "WIMACCOUNTS": {
+            "CREATEDSUCCESSFULLY": "WIM erfolgreich erstellt",
+            "WIMDETAILS": "WIM-Details",
+            "NEWWIM": "Neuer WIM",
+            "SCHEMAVERSION": "Schema-Version",
+            "RO": "RO",
+            "ROACCOUNT": "RO-Konto",
+            "USERNAME": "WIM-Benutzername",
+            "PASSWORD": "WIM-Passwort"
+        },
+        "NSINSTANCE": {
+            "NEWNSINSTANCE": "Nieuwe NS",
+            "CREATEDSUCCESSFULLY": "NS-Instanz erfolgreich erstellt"
+        },
+        "VNFINSTANCE": {
+            "ADDVNFINSTANCE": "VNF-Instanz hinzufügen"
+        },
+        "PDUINSTANCE": {
+            "NEWPDUINSTANCE": "Nieuwe PDU",
+            "PDUTYPE": "PDU-Typ",
+            "PARAMETERS": "PDU-Instanzparameter",
+            "ADDINSTANCEPARAMS": "Instanzparameter hinzufügen",
+            "CREATEDSUCCESSFULLY": "PDU-Instanzen erfolgreich erstellt"
+        },
+        "NETSLICEINSTANCE": {
+            "CREATENETSLICEINSTANCE": "Maak NSI"
+        },
+        "SDNCONTROLLER": {
+            "NEWSDNCONTROLLER": "Nieuwe SDN-controller",
+            "REGISTEREDSDNCONTROLLER": "Registrierte SDN Controller",
+            "RO": "RO",
+            "DPID": "DPID",
+            "CREATEDSUCCESSFULLY": "SDN erfolgreich registriert",
+            "DPIDPLACEHOLDER": "xx:xx:xx:xx:xx:xx:xx:xx",
+            "DETAILS": "SDN-Controller-Details"
+        },
+        "USERS": {
+            "CREATEUSER": "Gebruiker aanmaken",
+            "NEWUSER": "Neuer Benutzer",
+            "USERNAME": "Nutzername",
+            "PASSWORD": "Passwort",
+            "CONFPASSWORD": "Passwort bestätigen",
+            "EDITUSER": "Benutzer bearbeiten",
+            "NEWPASSWORD": "Neues Kennwort",
+            "DEFAULTPROJECT": "Standardprojekt",
+            "PASSWORDCONFLICT": "Passwort und Passwort bestätigen stimmen nicht überein",
+            "PASSWORDMATCH": "Passwort-Übereinstimmung",
+            "CREATEDSUCCESSFULLY": "Benutzer erfolgreich erstellt",
+            "EDITEDSUCCESSFULLY": "Benutzer erfolgreich bearbeiten",
+            "EDITCREDENTIALS": "Passwort ändern",
+            "EDITUSERNAME": "Benutzernamen ändern",
+            "PROJECTSROLES": "Projekte Rollen",
+            "EDITPROJECTROLEMAPPING": "Projektrollenzuordnung bearbeiten",
+            "ADDMAPPINGS": "Mappings hinzufügen",
+            "EDITPROJECTROLEERROR": "Bitte geben Sie mindestens eine Projektrollenzuordnung an, um fortzufahren"
+        },
+        "TOPOLOGY": {
+            "SELECTELEMENT": "Element auswählen",
+            "VL": "VL",
+            "VNF": "VNF",
+            "VNFD": "VNFD",
+            "CP": "CP",
+            "NSD": "NSD",
+            "NS": "NS",
+            "VIRTUALLINK": "Virtueller Link",
+            "CONNECTIONPOINT": "Verbindungspunkt",
+            "INTCONNECTIONPOINT": "Int Verbindungspunkt",
+            "LINK": "Verknüpfung",
+            "ADDINGCP": "Bitte wählen Sie einen Verbindungspunkt von {{vnfdname}}, um {{vlname}} zu verknüpfen?",
+            "INFO": "Info",
+            "HELP": "Hilfe",
+            "HELPINFO": {
+                "CREATEEDGE": "Kante erstellen",
+                "CREATEEDGEFIRSTSETENCE": "Wählen Sie den ersten Scheitelpunkt aus, indem Sie mit darauf klicken",
+                "CREATEEDGESECONDSETENCE": "auf einem anderen Scheitelpunkt (anders als der ausgewählte).",
+                "DELETEEDGEVERTEX": "Kante / Scheitelpunkt löschen",
+                "DELETEEDGEVERTEXSENTENCE": "Doppelklicken Sie auf Kante / Scheitelpunkt.",
+                "SPREADEDGE": "Kante spreizen",
+                "SPREADEDGESENTENCE": "Wählen Sie den Scheitelpunkt aus, indem Sie mit darauf klicken",
+                "EDGEINFO": "Kanteninformationen anzeigen",
+                "EDGEINFOSENTENCE": "Wählen Sie die Kante durch Klicken aus. Die Informationen werden auf der linken Seite angezeigt."
+            },
+            "VDU": "VDU",
+            "INTVL": "IntVL",
+            "INTCP": "IntCP",
+            "DATAEMPTY": "Bitte ändere etwas"
+        },
+        "PROJECT": {
+            "NEWPROJECT": "Nieuw project",
+            "CREATEDSUCCESSFULLY": "Projekt erfolgreich erstellt",
+            "UPDATEDSUCCESSFULLY": "Projekt erfolgreich aktualisiert"
+        },
+        "NSPACKAGE": {
+            "ADDNSPACKAGE": "Verfassen Sie eine neue NS",
+            "CREATEDSUCCESSFULLY": "NS-Paket erfolgreich erstellt",
+            "NSCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Erfolgreich geupdated",
+                "CONFIRMCONNECTIONPOINT": "Bitte bestätigen Sie, um den Verbindungspunkt hinzuzufügen",
+                "CANNOTLINKVNF": "Sie können einen VNF nicht mit einem VNF verknüpfen",
+                "CANNOTLINKVL": "Sie können eine VL nicht mit einer VL verknüpfen",
+                "CANNOTLINKVLVNF": "Sie können eine VL nicht mit einer VNF verknüpfen",
+                "CANNOTLINKVNFCP": "Sie können einen VNF nicht mit einem CP verknüpfen",
+                "CANNOTLINKVLCP": "Sie können eine VL nicht mit einem CP verknüpfen",
+                "CANNOTLINKCP": "Sie können einen CP nicht mit einem CP verknüpfen",
+                "ADDNSD": "Virtueller Link wurde erfolgreich hinzugefügt",
+                "ADDVNFD": "VNFD wurde erfolgreich hinzugefügt",
+                "ADDNS": "Der Verbindungslink wurde erfolgreich hinzugefügt",
+                "DELETENSD": "Der virtuelle Link wurde erfolgreich gelöscht",
+                "DELETEVNFD": "VNF erfolgreich gelöscht",
+                "DELETENS": "Der Verbindungspunkt wurde erfolgreich gelöscht",
+                "DELETELINK": "Der Link wurde erfolgreich gelöscht",
+                "MGMTNETWORK": "Mgmt Network",
+                "VIMNETWORKNAME": "Vim Network Name",
+                "MEMBER-VNF-INDEX": "member-vnf-index",
+                "VNFD-ID-REF": "vnfd-id-ref",
+                "VLD-ID": "vld-id",
+                "VNFD-CP-REF": "vnfd-Verbindungspunkt-ref"
+            },
+            "EDITPACKAGES": {
+                "UPDATEDSUCCESSFULLY": "Erfolgreich geupdated"
+            }
+        },
+        "VNFPACKAGE": {
+            "ADDVNFPACKAGE": "Erstellen Sie eine neue VNF",
+            "CREATEDSUCCESSFULLY": "VNF-Paket erfolgreich erstellt",
+            "VNFCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Erfolgreich geupdated",
+                "INVALIDSELECTION": "Ungültige Auswahl",
+                "YOUCANNOTDELETELINK": "Sie können den Link nicht löschen",
+                "CANNOTLINKVDUANDINTCP": "Sie können vdu nicht mit int_cp verknüpfen",
+                "CANNOTLINKINTCPANDVDU": "Sie können int_cp nicht mit vdu verknüpfen",
+                "CANNOTLINKCPANDVNFVL": "Sie können cp nicht mit vnf_vl verknüpfen",
+                "CANNOTLINKVNFVLANDCP": "Sie können vnf_vl nicht mit cp verknüpfen",
+                "CANNOTLINKINTCPANDCP": "Sie können intcp nicht mit cp verknüpfen",
+                "CANNOTLINKCPANDINTCP": "Sie können cp nicht mit int_cp verknüpfen",
+                "CANNOTLINKVDUANDVDU": "Sie können ein vdu nicht mit einem vdu verknüpfen"
+            }
+        },
+        "NETSLICE": {
+            "CREATEDSUCCESSFULLY": "Netslice erfolgreich erstellt",
+            "TEMPLATECREATEDSUCCESSFULLY": "Netslice-Vorlage erfolgreich erstellt",
+            "UPDATEDSUCCESSFULLY": "Vorlage erfolgreich aktualisiert"
+        },
+        "NETSLICETEMPLATE": {
+            "NETSLICETEMPLATEDETAILS": "Netzwerk-Slices-Vorlagendetails"
+        },
+        "NSTINSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "Neue Instanz",
+            "NSNAME": "Ns Name",
+            "DESCRIPTION": "Beschrijving",
+            "NSTID": "Nst Id",
+            "SSHKEY": "SSH-Schlüssel",
+            "VIMACCOUNT": "VIM-Konto",
+            "SSHKEYMSG": "Fügen Sie Ihren Schlüssel hier ein ..."
+        },
+        "NSPRIMITIVE": {
+            "PRIMITIVE": "Primitive",
+            "PRIMITIVEPARAMETERS": "Primitive Parameter",
+            "ADDPRIMITIVEPARAMS": "Primitive Parameter hinzufügen",
+            "EXECUTEDSUCCESSFULLY": "NS Primitive Configuration ausgeführt"
+        },
+        "ROLES": {
+            "CREATEROLE": "Rolle erstellen",
+            "ROLE": "Rolle",
+            "PERMISSIONS": "Berechtigungen",
+            "YAMLPERMISSIONS": "YAML Berechtigungen",
+            "CREATEDSUCCESSFULLY": "Rolle erfolgreich erstellt",
+            "UPDATEDSUCCESSFULLY": "Rolle erfolgreich aktualisiert",
+            "ROLEJSONERROR": "Rollenberechtigungen sollten in einer Schlüsselwertweise bereitgestellt werden",
+            "ROLEKEYERROR": "Der Wert von '{{roleKey}}' in Rollenberechtigungen sollte boolesch sein",
+            "EDITROLE": "Rolle bearbeiten",
+            "PREVIEW": "Vorschau",
+            "TEXTVIEW": "Textvorschau"
+        },
+        "K8S": {
+            "MENUK8S": "K8s",
+            "MENUK8SCLUSTER": "K8s Clusters",
+            "MENUK8SREPO": "K8s Repos",
+            "REGISTERK8CLUSTER": "Geregistreerde K8s-clusters",
+            "ADDK8CLUSTER": "K8s-cluster toevoegen",
+            "K8SCLUSTERDETAILS": "K8s Clusterdetails",
+            "REGISTERK8REPO": "Geregistreerde K8s-repository",
+            "ADDK8REPO": "K8s Repository toevoegen",
+            "K8SREPODETAILS": "K8s Repository Details",
+            "CREATEDSUCCESSFULLY": "K8s met succes gemaakt",
+            "NEWK8SCLUSTER": "Nieuw K8s-cluster",
+            "NAME": "Naam",
+            "K8SVERSION": "K8s-versie",
+            "VIMACCOUNT": "Vim-account",
+            "DESCRIPTION": "Beschrijving",
+            "NETS": "Nets",
+            "NETSPLACEHOLDER": "example: {'net1': 'osm-ext'}",
+            "CREDENTIALS": "Inloggegevens",
+            "NEWK8SREPO": "Nieuwe K8s Repository",
+            "TYPE": "Type",
+            "URL": "URL"
+        }
+    },
+    "HTTPERROR": {
+        "401": "Zugriff verweigert",
+        "400": "Bitte überprüfen Sie die Anfrage und versuchen Sie es erneut",
+        "404": "Erwarteter Dienst nicht verfügbar. Bitte versuchen Sie es später erneut.",
+        "500": "Serverfehler, Bitte versuchen Sie es später noch einmal",
+        "502": "Slechte gateway, probeer het later opnieuw",
+        "503": "Dienst vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut.",
+        "504": "Gateway timeout fehler. Bitte versuchen Sie es später erneut",
+        "409": "Bitte versuchen Sie es später noch einmal."
+    },
+    "PAGENOTFOUND": {
+        "OOPS": "Hoppla!",
+        "NOTFOUND": "404 Nicht gefunden",
+        "CONTENT": "Die Seite kann nicht gefunden oder nicht autorisiert werden, ist möglicherweise nicht mehr relevant oder hat ihren Namen geändert",
+        "MEAN": "In der Zwischenzeit können Sie zu zurückkehren",
+        "HOME": "Zuhause"
+    },
+    "DOMVALIDATIONS": {
+        "INVALIDURL": "Geben Sie eine gültige URL ein",
+        "INVALIDIPADDRESS": "Geben Sie eine gültige IP-Adresse ein",
+        "INVALIDPORTADDRESS": "Geben Sie eine gültige PORT-Adresse ein",
+        "INVALIDDPID": "Geben Sie eine gültige DPID ein",
+        "INVALIDJSON": "Geben Sie ein gültiges JSON-Format ein",
+        "INVALIDYAML": "Geben Sie ein gültiges YAML-Format ein"
+    },
+    "GRAFANA": {
+        "METRICSERROR": "Keine gültigen Metriken"
+    }
+}
\ No newline at end of file
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
new file mode 100644
index 0000000..d22cbae
--- /dev/null
+++ b/src/assets/i18n/en.json
@@ -0,0 +1,479 @@
+{
+    "OSM": "OSM",
+    "APPVERSION": "App Version",
+    "OSMVERSION": "OSM Version",
+    "OSMSOURCEMANO": "Open Source MANO",
+    "ADMIN": "Admin",
+    "ENTRIES": "Entries",
+    "COMPOSE": "Compose a",
+    "CREATE": "Create",
+    "SELECT": "Select",
+    "CANCEL": "Cancel",
+    "SAVE": "Save",
+    "ACTION": "Action",
+    "COUNT": "Count",
+    "IMAGE": "Image",
+    "IPPROFILEREF": "IP Profile Ref",
+    "ADD": "Add",
+    "EDIT": "Edit",
+    "APPLY": "Apply",
+    "FORCE": "Force",
+    "DOWNLOAD": "Download",
+    "CONTENT": "Content",
+    "DELETE": "Delete",
+    "FORCEDELETE": "Force Delete",
+    "RENAME": "Rename",
+    "INFO": "Info",
+    "NSPACKAGES": "NS Packages",
+    "VNFPACKAGES": "VNF Packages",
+    "INSTANCES": "Instances",
+    "INSTANTIATE": "Instantiate",
+    "NSINSTANCES": "NS Instances",
+    "VNFINSTANCES": "VNF Instances",
+    "PDUINSTANCES": "PDU Instances",
+    "VIMACCOUNTS": "VIM Accounts",
+    "WIMACCOUNTS": "WIM Accounts",
+    "SDNCONTROLLER": "SDN Controller",
+    "NETSLICE": "Netslice",
+    "PROJECT": "Project",
+    "DOMAIN": "Domain",
+    "PACKAGES": "Packages",
+    "MODIFIED": "Modified",
+    "NODATAMSG": "No data available in table",
+    "SHORTNAME": "Short Name",
+    "IDENTIFIER": "Identifier",
+    "DESCRIPTION": "Description",
+    "VENDOR": "Vendor",
+    "VERSION": "Version",
+    "ACTIONS": "Actions",
+    "NAME": "Name",
+    "USAGESTATE": "UsageState",
+    "MODIFICATIONDATE": "Modification Date",
+    "CREATEDDATE": "Creation Date",
+    "OPERATIONALSTATUS": "Operational Status",
+    "OPERATIONALSTATE": "Operational State",
+    "CONFIGSTATUS": "Config Status",
+    "DETAILEDSTATUS": "Detailed Status",
+    "NSDNAME": "Nsd name",
+    "NSTNAME": "Nst name",
+    "TYPE": "Type",
+    "VNFD": "VNFD",
+    "VNF": "VNF",
+    "MEMBERINDEX": "Member Index",
+    "NS": "NS",
+    "CREATEDAT": "Created At",
+    "CREATED": "Created",
+    "ALL": "All",
+    "ID": "Id",
+    "OPERATIONSTATE": "Operation State",
+    "STARTTIME": "Start Time",
+    "STATUSENTEREDTIME": "Status Entered Time",
+    "HISTORYOFOPERATIONS": "History Of Operations",
+    "UPDATE": "Update",
+    "READONLYMODE": "Read only mode",
+    "CURRENTLY": "Currently",
+    "ON": "On",
+    "OFF": "Off",
+    "IN": "in",
+    "FILES": "Files",
+    "NEW": "New",
+    "RECENTLY": "Recently",
+    "TOPOLOGY": "Topology",
+    "PLEASEWAIT": "Please Wait",
+    "LOADING": "Loading",
+    "RESOURCEORCHESTRATOR": "Resource Orchestrator",
+    "VIEW": "View",
+    "DROP": "Drop",
+    "HERE": "Here",
+    "MAPVIEW": "Map View",
+    "LISTVIEW": "List View",
+    "OK": "Ok",
+    "DELETEDSUCCESSFULLY": "{{title}} deleted successfully",
+    "SESSIONEXPIRY": "Session expired, please login again",
+    "DELETECONFIRMPOPUPMESSAGE": "Are you sure want to delete",
+    "DELETELOADERMESSAGE": "Please wait while {{title}} deletion is in progress",
+    "VALUE": "Value",
+    "PERFORMACTION": "Perform Action",
+    "EXECUTE": "Execute",
+    "EXECNSPRIMITIVE": "Exec NS Primitive",
+    "PRIMITIVETYPE": "Primitive Type",
+    "VNFPRIMITIVE": "VNF Level Primitive",
+    "NSPRIMITIVE": "NS Level Primitive",
+    "DESCRIPTOR": "Descriptor",
+    "ERROR": "Something Went wrong please try again",
+    "SHOWGRAPH": "Show Graph",
+    "UPDATESHOWGRAPH": "Update and Show Graph",
+    "CREATEPACKAGE": "Create New Package",
+    "GZFILETYPEERRROR": "Upload only tar.gz file and size should not exceed 15 MB",
+    "YAMLFILETYPEERRROR": "Upload only YAML file and size should not exceed 15 MB",
+    "JSONFILETYPEERRROR": "Upload only JSON file and size should not exceed 15 MB",
+    "PUBFILETYPEERRROR": "Upload only PUB file and size should not exceed 15 MB",
+    "PACKAGE": "Package",
+    "URL": "URL",
+    "DEPLOYED": "Deployed",
+    "ROLES": "Roles",
+    "INSTANCEDETAILS": "Instance Details",
+    "IPADDRESS": "IP Address",
+    "MGMT": "Mgmt",
+    "NETNAME": "Net Name",
+    "USER": "User",
+    "PORT": "Port",
+    "USERNAME": "Username",
+    "PASSWORD": "Password",
+    "NODATAERROR": "An error occurred while retrieving the information",
+    "FREEZE": "Freeze",
+    "UNFREEZE": "Unfreeze",
+    "CLONE": "Clone",
+    "CLONECONFIRMPOPUPMESSAGE": "Are you sure want to clone",
+    "CLONESUCCESSFULLY": "Package cloned successfully",
+    "DROPFILES": "Just drag and drop files or click here to upload files",
+    "DROPFILESVALIDATION": "Please select one file to process",
+    "METRICS": "Metrics",
+    "NOOFHOURS": "No Of Hours",
+    "MANDATORYCHECK": "Mandatory fields are marked with an asterisk (*)",
+    "K8VERSION": "K8 Version",
+    "ENTER": "Enter",
+    "SWITCHPROJECT": "Switch Project",
+    "CURRENTPROJECT": "Current Project",
+    "SUBMIT": "Submit",
+    "REFRESH": "Refresh",
+    "OPEN": "Open",
+    "UPLOADCONFIG": "Upload Config",
+    "FILEUPLOADLABEL": "Or load from file",
+    "CONFIG": "Config",
+    "YAMLCONFIG": "Yaml Config",
+    "CHOOSEFILE": "Choose File",
+    "INVALIDCONFIG": "Invalid configuration",
+    "PAGE": {
+        "DASHBOARD": {
+            "DASHBOARD": "Dashboard",
+            "RECENTUSERLOG": "Recent User Log",
+            "LOGS": "Logs",
+            "FAILEDINSTANCES": "Failed Instances",
+            "NOINSTANCES": "No Instances Available",
+            "UPTIME": "Uptime",
+            "RUNNINGINSTANCES": "Running Instances",
+            "NETSLICETEMPLATE": "NetSlice Template",
+            "NETSLICEINSTANCE": "NetSlice Instances",
+            "USERS": "Users",
+            "PROJECTS": "Projects",
+            "USERSETTINGS": "User Settings",
+            "LOGOUT": "Logout"
+        },
+        "LOGIN": {
+            "USERNAME": "Username",
+            "PASSWORD": "Password",
+            "SIGNUP": "Sign Up",
+            "ACCOUNTCREATEMESSAGE": "Don't have an account?",
+            "LOGIN": "Log In",
+            "PASSWORDVALIDMESSAGE": "Password is required",
+            "USERNAMEVALIDMESSAGE": "Username is required",
+            "SIGNINMSG": "Sign in to start your session",
+            "PASSWORDMINLENGTHVALIDMESSAGE": "Password must be 8 characters and contains at least one upper case, lower case, numeric & special character",
+            "USERNAMEMINLENGTHVALIDMESSAGE": "Username must be at least 5 characters"
+        },
+        "INSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "New Instance",
+            "NSNAME": "Ns Name",
+            "DESCRIPTION": "Description",
+            "NSID": "Nsd Id",
+            "SSHKEY": "SSH Key",
+            "VIMACCOUNT": "VIM Account",
+            "SSHKEYMSG": "Paste your key here"
+        },
+        "NSMETRIC": {
+            "INSTANCESMETRIC": "Instances Metric",
+            "METRICERROR": "Data not available in metrics"
+        },
+        "USERSETTINGS": {
+            "LANGUAGE": "Language"
+        },
+        "VIM": {
+            "CREATEDSUCCESSFULLY": "VIM Created Successfully",
+            "LOACTIONINFO": "Type the location name and click enter button to select the location from the list"
+        },
+        "VIMDETAILS": {
+            "NEWVIM": "New VIM",
+            "VIMACCOUNTDETAILS": "VIM Account details",
+            "NAME": "Name",
+            "VIMUSERNAME": "VIM Username",
+            "VIMURL": "VIM URL",
+            "VIMTYPE": "Type",
+            "TENANTNAME": "Tenant name",
+            "DESCRIPTION": "Description",
+            "SCHEMATYPE": "Schema Type",
+            "SCHEMAVERSION": "Schema Version",
+            "CONFIGPARAMETERS": "CONFIG PARAMETERS",
+            "SDNCONTROLLER": "SDN Controller",
+            "SDNPORTMAPPING": "SDN Port Mapping",
+            "VIMNETWORKNAME": "VIM Network Name",
+            "SECURITYGROUPS": "Security Groups",
+            "AVAILABILITYZONE": "Availability Zone",
+            "REGIONALNAME": "Region Name",
+            "INSECURE": "Insecure",
+            "USEEXISTINGFLAVOURS": "Use existing flavors",
+            "USEINTERNALENDPOINT": "Use internal endpoint",
+            "APIVERSION": "API version",
+            "PROJECTDOMAINID": "Project domain id",
+            "PROJECTDOMAINNAME": "Project domain name",
+            "USERDOMAINID": "User domain id",
+            "USERDOMAINUSER": "User domain name",
+            "KEYPAIR": "Keypair",
+            "DATAPLANEPHYSICALNET": "Dataplane physical net",
+            "USEFLOATINGIP": "Use floating ip",
+            "DATAPLANENETVLANRANGE": "Dataplane net vlan range",
+            "MICROVERSION": "Microversion",
+            "BACKTOVIMACCOUNTS": "Back to VimAccounts",
+            "VIMPASSWORD": "VIM Password",
+            "ADDITIONALCONFIG": "Additional configuration",
+            "ADDITIONALCONFIGPLACEHOLDER": "{'key1':[...],'key2':{},'key3':''}",
+            "NEWVIMACCOUNT": "New VIM Account",
+            "ORGNAME": "Orgname",
+            "VCENTERIP": "Vcenter ip",
+            "VCENTERPORT": "Vcenter port",
+            "ADMINUSERNAME": "Admin username",
+            "VCENTERUSER": "Vcenter user",
+            "ADMINPASSWORD": "Admin password",
+            "VCENTERPASSWORD": "Vcenter password",
+            "NSXMANAGER": "Nsx manager",
+            "VROPSSITE": "Vrops site",
+            "NSXUSER": "Nsx user",
+            "VROPSUSER": "Vrops user",
+            "NSXPASSWORD": "Nsx password",
+            "VROPSPASSWORD": "Vrops password",
+            "VPCCIDRBLOCK": "VPC cidr block",
+            "FLAVORIINFO": "Flavor info",
+            "VIM_TYPE": "VIM Type",
+            "VIMLOCATION": "VIM Location",
+            "SUBSCRIPTIONID": "Subscription ID",
+            "RESOURCEGROUP": "Resource Group",
+            "VNETNAME": "VNet Name",
+            "FLAVORSPATTERN": "Flavors Pattern"
+        },
+        "WIMACCOUNTS": {
+            "CREATEDSUCCESSFULLY": "WIM Created Successfully",
+            "WIMDETAILS": "WIM Details",
+            "NEWWIM": "New WIM",
+            "SCHEMAVERSION": "Schema Version",
+            "RO": "RO",
+            "ROACCOUNT": "RO Account",
+            "USERNAME": "WIM Username",
+            "PASSWORD": "WIM Password"
+        },
+        "NSINSTANCE": {
+            "NEWNSINSTANCE": "New NS",
+            "CREATEDSUCCESSFULLY": "NS Instance Created Successfully"
+        },
+        "VNFINSTANCE": {
+            "ADDVNFINSTANCE": "Add VNF Instance"
+        },
+        "PDUINSTANCE": {
+            "NEWPDUINSTANCE": "New PDU",
+            "PDUTYPE": "PDU Type",
+            "PARAMETERS": "PDU Instances Parameters",
+            "ADDINSTANCEPARAMS": "Add Params",
+            "CREATEDSUCCESSFULLY": "PDU Instances Created Successfully"
+        },
+        "NETSLICEINSTANCE": {
+            "CREATENETSLICEINSTANCE": "Create NSI"
+        },
+        "SDNCONTROLLER": {
+            "NEWSDNCONTROLLER": "New SDN Controller",
+            "REGISTEREDSDNCONTROLLER": "Registered SDN Controllers",
+            "RO": "RO",
+            "DPID": "DPID",
+            "CREATEDSUCCESSFULLY": "SDN Registered Successfully",
+            "DPIDPLACEHOLDER": "xx:xx:xx:xx:xx:xx:xx:xx",
+            "DETAILS": "SDN Controller Details"
+        },
+        "USERS": {
+            "CREATEUSER": "Create User",
+            "NEWUSER": "New User",
+            "USERNAME": "User Name",
+            "PASSWORD": "Password",
+            "CONFPASSWORD": "Confirm Password",
+            "EDITUSER": "Edit User",
+            "NEWPASSWORD": "New Password",
+            "DEFAULTPROJECT": "Default Project",
+            "PASSWORDCONFLICT": "Password and confirm password are not matched",
+            "PASSWORDMATCH": "Password Match",
+            "CREATEDSUCCESSFULLY": "User Created Successfully",
+            "EDITEDSUCCESSFULLY": "User Edit Successfully",
+            "EDITCREDENTIALS": "Change Password",
+            "EDITUSERNAME": "Change Username",
+            "PROJECTSROLES": "Projects Roles",
+            "EDITPROJECTROLEMAPPING": "Edit Project Role Mapping",
+            "ADDMAPPINGS": "Add Mappings",
+            "EDITPROJECTROLEERROR": "Please provide at least one project role mapping to continue"
+        },
+        "TOPOLOGY": {
+            "SELECTELEMENT": "Select Element",
+            "VL": "VL",
+            "VNF": "VNF",
+            "VNFD": "VNFD",
+            "CP": "CP",
+            "NSD": "NSD",
+            "NS": "NS",
+            "VIRTUALLINK": "Virtual Link",
+            "CONNECTIONPOINT": "Connection Point",
+            "INTCONNECTIONPOINT": "Int Connection Point",
+            "LINK": "Link",
+            "ADDINGCP": "Please select a connection point of {{vnfdname}} to link {{vlname}}?",
+            "INFO": "Info",
+            "HELP": "Help",
+            "HELPINFO": {
+                "CREATEEDGE": "Create edge",
+                "CREATEEDGEFIRSTSETENCE": "Select the first vertex by clicking on it using",
+                "CREATEEDGESECONDSETENCE": "on another vertex (different than the selected one).",
+                "DELETEEDGEVERTEX": "Delete edge/vertex",
+                "DELETEEDGEVERTEXSENTENCE": "Double clicking on edge/vertex.",
+                "SPREADEDGE": "Spread edge",
+                "SPREADEDGESENTENCE": "Select the vertex by clicking on it using",
+                "EDGEINFO": "Show edge information",
+                "EDGEINFOSENTENCE": "Select the edge by clicking. The information will be shown on the left side."
+            },
+            "VDU": "VDU",
+            "INTVL": "IntVL",
+            "INTCP": "IntCP",
+            "DATAEMPTY": "Please change something"
+        },
+        "PROJECT": {
+            "NEWPROJECT": "New Project",
+            "CREATEDSUCCESSFULLY": "Project Created Successfully",
+            "UPDATEDSUCCESSFULLY": "Project Updated Successfully"
+        },
+        "NSPACKAGE": {
+            "ADDNSPACKAGE": "Compose a new NS",
+            "CREATEDSUCCESSFULLY": "NS Package Created Successfully",
+            "NSCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Descriptor Updated Successfully",
+                "CONFIRMCONNECTIONPOINT": "Please confirm to add connection point",
+                "CANNOTLINKVNF": "You can't link a vnf with a vnf",
+                "CANNOTLINKVL": "You can't link a VL with a VL",
+                "CANNOTLINKVLVNF": "You can't link a VL with a vnf",
+                "CANNOTLINKVNFCP": "You can't link a VNF with a CP",
+                "CANNOTLINKVLCP": "You can't link a VL with a CP",
+                "CANNOTLINKCP": "You can't link a CP with a CP",
+                "ADDNSD": "Virtual Link is added succesfully",
+                "ADDVNFD": "VNFD is added succesfully",
+                "ADDNS": "Connection Link is added succesfully",
+                "DELETENSD": "Successfully Deleted the Virtual Link",
+                "DELETEVNFD": "Successfully Deleted the VNF",
+                "DELETENS": "Successfully Deleted the Connection point",
+                "DELETELINK": "Successfully Deleted the Link",
+                "MGMTNETWORK": "Mgmt Network",
+                "VIMNETWORKNAME": "Vim Network Name",
+                "MEMBER-VNF-INDEX": "member-vnf-index",
+                "VNFD-ID-REF": "vnfd-id-ref",
+                "VLD-ID": "vld-id",
+                "VNFD-CP-REF": "vnfd-connection-point-ref"
+            },
+            "EDITPACKAGES": {
+                "UPDATEDSUCCESSFULLY": "Descriptor Updated Successfully"
+            }
+        },
+        "VNFPACKAGE": {
+            "ADDVNFPACKAGE": "Compose a new VNF",
+            "CREATEDSUCCESSFULLY": "VNF Package Created Successfully",
+            "VNFCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Descriptor Updated Successfully",
+                "INVALIDSELECTION": "Invalid Selection",
+                "YOUCANNOTDELETELINK": "You cannot delete link",
+                "CANNOTLINKVDUANDINTCP": "You cant link vdu with int_cp",
+                "CANNOTLINKINTCPANDVDU": "You cant link int_cp with vdu",
+                "CANNOTLINKCPANDVNFVL": "You cant link cp with vnf_vl",
+                "CANNOTLINKVNFVLANDCP": "You cant link vnf_vl with cp",
+                "CANNOTLINKINTCPANDCP": "You cant link intcp with cp",
+                "CANNOTLINKCPANDINTCP": "You cant link cp with int_cp",
+                "CANNOTLINKVDUANDVDU": "You can't link a vdu with a vdu"
+            }
+        },
+        "NETSLICE": {
+            "CREATEDSUCCESSFULLY": "Netslice Created Successfully",
+            "TEMPLATECREATEDSUCCESSFULLY": "Netslice Template Created Successfully",
+            "UPDATEDSUCCESSFULLY": "Template Updated Successfully"
+        },
+        "NETSLICETEMPLATE": {
+            "NETSLICETEMPLATEDETAILS": "Network Slices Template Details"
+        },
+        "NSTINSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "New Instance",
+            "NSNAME": "Ns Name",
+            "DESCRIPTION": "Description",
+            "NSTID": "Nst Id",
+            "SSHKEY": "SSH Key",
+            "VIMACCOUNT": "VIM Account",
+            "SSHKEYMSG": "Paste your key here ..."
+        },
+        "NSPRIMITIVE": {
+            "PRIMITIVE": "Primitive",
+            "PRIMITIVEPARAMETERS": "Primitive Parameters",
+            "ADDPRIMITIVEPARAMS": "Add Primitive Params",
+            "EXECUTEDSUCCESSFULLY": "Executed NS Primitive Configuration"
+        },
+        "ROLES": {
+            "CREATEROLE": "Create Role",
+            "ROLE": "Role",
+            "PERMISSIONS": "Permissions",
+            "YAMLPERMISSIONS": "YAML Permissions",
+            "CREATEDSUCCESSFULLY": "Role Created Successfully",
+            "UPDATEDSUCCESSFULLY": "Role Updated Successfully",
+            "ROLEJSONERROR": "Role permissions should be provided in a key-value fashion",
+            "ROLEKEYERROR": "Value of '{{roleKey}}' in a role permissions should be boolean",
+            "EDITROLE": "Edit Role",
+            "PREVIEW": "Preview",
+            "TEXTVIEW": "Text View"
+        },
+        "K8S": {
+            "MENUK8S": "K8s",
+            "MENUK8SCLUSTER": "K8s Clusters",
+            "MENUK8SREPO": "K8s Repos",
+            "REGISTERK8CLUSTER": "Registered K8s clusters",
+            "ADDK8CLUSTER": "Add K8s Cluster",
+            "K8SCLUSTERDETAILS": "K8s Cluster Details",
+            "REGISTERK8REPO": "Registered K8s repository",
+            "ADDK8REPO": "Add K8s Repository",
+            "K8SREPODETAILS": "K8s Repository Details",
+            "CREATEDSUCCESSFULLY": "K8s Created Successfully",
+            "NEWK8SCLUSTER": "New K8s Cluster",
+            "NAME": "Name",
+            "K8SVERSION": "K8s Version",
+            "VIMACCOUNT": "Vim Account",
+            "DESCRIPTION": "Description",
+            "NETS": "Nets",
+            "NETSPLACEHOLDER": "example: {'net1': 'osm-ext'}",
+            "CREDENTIALS": "Credentials",
+            "NEWK8SREPO": "New K8s Repository",
+            "TYPE": "Type",
+            "URL": "URL"
+        }
+    },
+    "HTTPERROR": {
+        "401": "Access denied, Lack of permissions",
+        "400": "Please check the request and try again",
+        "404": "Expected service not avilable, Please try again later",
+        "500": "Server error, Please try again later",
+        "502": "Bad Gateway, Please try again later",
+        "503": "Service temporarily unavailable, Please try again later",
+        "504": "Gateway timeout error, Please try again later",
+        "409": "Please try again later"
+    },
+    "PAGENOTFOUND": {
+        "OOPS": "Oops!",
+        "NOTFOUND": "404 Not Found",
+        "CONTENT": "The page cannot be found or unauthorized, it might be no longer relevant or had its name changed",
+        "MEAN": "Meanwhile, you may return to",
+        "HOME": "Home"
+    },
+    "DOMVALIDATIONS": {
+        "INVALIDURL": "Enter a valid URL",
+        "INVALIDIPADDRESS": "Enter a valid IP Address",
+        "INVALIDPORTADDRESS": "Enter a valid PORT Address",
+        "INVALIDDPID": "Enter a valid DPID",
+        "INVALIDJSON": "Enter a valid JSON Format",
+        "INVALIDYAML": "Enter a valid JSON Format"
+    },
+    "GRAFANA": {
+        "METRICSERROR": "Not a valid metrics"
+    }
+}
\ No newline at end of file
diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json
new file mode 100644
index 0000000..0cd37b1
--- /dev/null
+++ b/src/assets/i18n/es.json
@@ -0,0 +1,479 @@
+{
+    "OSM": "OSM",
+    "APPVERSION": "Versión de la aplicación",
+    "OSMVERSION": "Versión OSM",
+    "OSMSOURCEMANO": "Fuente abierta MANO",
+    "ADMIN": "Admin",
+    "ENTRIES": "entradas",
+    "COMPOSE": "Componer un",
+    "CREATE": "Crear",
+    "SELECT": "Seleccionar",
+    "CANCEL": "Cancelar",
+    "SAVE": "Salvar",
+    "COUNT": "contar",
+    "IMAGE": "Imagen",
+    "IPPROFILEREF": "IP Profile Ref",
+    "ACTION": "Acción",
+    "ADD": "Añadir",
+    "EDIT": "Editar",
+    "APPLY": "Aplicar",
+    "FORCE": "Fuerza",
+    "DOWNLOAD": "Descargar",
+    "CONTENT": "contenido",
+    "DELETE": "Borrar",
+    "FORCEDELETE": "Eliminar forzado",
+    "RENAME": "Rebautizar",
+    "INFO": "Info",
+    "NSPACKAGES": "NS Paquetes",
+    "VNFPACKAGES": "VNF Paquetes",
+    "INSTANCES": "Instancias",
+    "INSTANTIATE": "Instanciar",
+    "NSINSTANCES": "Instancias de NS",
+    "VNFINSTANCES": "Instancias VNF",
+    "PDUINSTANCES": "Instancias PDU",
+    "VIMACCOUNTS": "Cuentas VIM",
+    "WIMACCOUNTS": "Cuentas WIM",
+    "SDNCONTROLLER": "Controlador SDN",
+    "NETSLICE": "Netslice",
+    "PROJECT": "Proyecto",
+    "DOMAIN": "Dominio",
+    "PACKAGES": "Paquetes",
+    "MODIFIED": "Modificado",
+    "NODATAMSG": "No hay datos disponibles en la tabla",
+    "SHORTNAME": "Nombre corto",
+    "IDENTIFIER": "Identificador",
+    "DESCRIPTION": "Descripción",
+    "VENDOR": "Vendedor",
+    "VERSION": "Versión",
+    "ACTIONS": "Comportamiento",
+    "NAME": "NOMBRE",
+    "USAGESTATE": "Estado de uso",
+    "MODIFICATIONDATE": "Fecha de modificación",
+    "CREATEDDATE": "Fecha de creación",
+    "OPERATIONALSTATUS": "Estado operativo",
+    "OPERATIONALSTATE": "Estado operacional",
+    "CONFIGSTATUS": "Estado de configuración",
+    "DETAILEDSTATUS": "Estado detallado",
+    "NSDNAME": "Nombre nsd",
+    "NSTNAME": "Nst name",
+    "TYPE": "Tipo",
+    "VNFD": "VNFD",
+    "VNF": "VNF",
+    "MEMBERINDEX": "Índice de miembros",
+    "NS": "NS",
+    "CREATEDAT": "Creado en",
+    "CREATED": "Creado",
+    "ALL": "Todas",
+    "ID": "Id",
+    "OPERATIONSTATE": "Estado de la operación",
+    "STARTTIME": "Hora de inicio",
+    "STATUSENTEREDTIME": "Tiempo ingresado estado",
+    "HISTORYOFOPERATIONS": "Historia de operaciones",
+    "UPDATE": "Actualizar",
+    "READONLYMODE": "Modo de solo lectura",
+    "CURRENTLY": "Actualmente",
+    "ON": "En",
+    "OFF": "APAGADA",
+    "IN": "en",
+    "FILES": "Archivos",
+    "NEW": "Nueva",
+    "RECENTLY": "Recientemente",
+    "TOPOLOGY": "Topología",
+    "PLEASEWAIT": "Por favor espera",
+    "LOADING": "Cargando",
+    "RESOURCEORCHESTRATOR": "Orquestador de recursos",
+    "VIEW": "Ver",
+    "DROP": "soltar",
+    "HERE": "aquí",
+    "MAPVIEW": "Vista del mapa",
+    "LISTVIEW": "Vista de la lista",
+    "OK": "Okay",
+    "DELETEDSUCCESSFULLY": "Eliminada Exitosamente",
+    "SESSIONEXPIRY": "Sesión expirada, por favor ingrese nuevamente",
+    "DELETECONFIRMPOPUPMESSAGE": "¿Seguro que quieres eliminar?",
+    "DELETELOADERMESSAGE": "Por favor espere mientras la eliminación está en progreso",
+    "VALUE": "Valor",
+    "PERFORMACTION": "Realizar una acción",
+    "EXECUTE": "Ejecutar",
+    "EXECNSPRIMITIVE": "Ejecutar NS Primitiva",
+    "PRIMITIVETYPE": "Tipo primitivo",
+    "VNFPRIMITIVE": "Nivel VNF Primitivo",
+    "NSPRIMITIVE": "NS Level Primitive",
+    "DESCRIPTOR": "Descriptora",
+    "ERROR": "Algo salió mal. Por favor, vuelva a intentarlo",
+    "SHOWGRAPH": "Mostrar gráfico",
+    "UPDATESHOWGRAPH": "Actualizar y mostrar gráfico",
+    "CREATEPACKAGE": "Crear nuevo paquete",
+    "GZFILETYPEERRROR": "Cargue solo el archivo tar.gz y el tamaño no debe exceder los 15 MB",
+    "YAMLFILETYPEERRROR": "Cargue solo el archivo YAML y el tamaño no debe exceder los 15 MB",
+    "JSONFILETYPEERRROR": "Cargue solo el archivo JSON y el tamaño no debe exceder los 15 MB",
+    "PUBFILETYPEERRROR": "Cargue solo el archivo PUB y el tamaño no debe exceder los 15 MB",
+    "PACKAGE": "Paquete",
+    "URL": "URL",
+    "DEPLOYED": "Desplegada",
+    "ROLES": "Roles",
+    "INSTANCEDETAILS": "Detalles de instancia",
+    "IPADDRESS": "Dirección IP",
+    "MGMT": "Mgmt",
+    "NETNAME": "Nombre neto",
+    "USER": "Usuaria",
+    "PORT": "Puerto",
+    "USERNAME": "Nombre de usuario",
+    "PASSWORD": "Contraseña",
+    "NODATAERROR": "Se produjo un error al recuperar la información",
+    "FREEZE": "Congelar",
+    "UNFREEZE": "Descongelar",
+    "CLONE": "Clon",
+    "CLONECONFIRMPOPUPMESSAGE": "Estás seguro de querer clonar",
+    "CLONESUCCESSFULLY": "Paquete clonado exitosamente",
+    "DROPFILES": "Simplemente arrastre y suelte archivos aquí o haga clic aquí para cargar archivos",
+    "DROPFILESVALIDATION": "Por favor seleccione un archivo para procesar",
+    "METRICS": "Métrica",
+    "NOOFHOURS": "No de horas",
+    "MANDATORYCHECK": "Los campos obligatorios están marcados con un asterisco (*)",
+    "K8VERSION": "Versión K8",
+    "ENTER": "Entrar",
+    "SWITCHPROJECT": "Cambiar proyecto",
+    "CURRENTPROJECT": "Proyecto actual",
+    "SUBMIT": "Entrar",
+    "REFRESH": "Actualizar",
+    "OPEN": "Abierta",
+    "UPLOADCONFIG": "Subir configuración",
+    "FILEUPLOADLABEL": "O cargar desde el archivo",
+    "CONFIG": "Config",
+    "YAMLCONFIG": "Yaml Config",
+    "CHOOSEFILE": "Elija el archivo",
+    "INVALIDCONFIG": "Configuración inválida",
+    "PAGE": {
+        "DASHBOARD": {
+            "DASHBOARD": "Tablero",
+            "RECENTUSERLOG": "Registro de usuario reciente",
+            "LOGS": "Troncos",
+            "FAILEDINSTANCES": "Instancias fallidas",
+            "NOINSTANCES": "Keine Instanzen verfügbar",
+            "UPTIME": "Tiempodeactividad",
+            "RUNNINGINSTANCES": "Corriendo Instancias",
+            "NETSLICETEMPLATE": "Plantilla NetSlice",
+            "NETSLICEINSTANCE": "NetSlice Instancias",
+            "USERS": "Usuarios",
+            "PROJECTS": "Proyectos",
+            "USERSETTINGS": "Usuarios Ajustes",
+            "LOGOUT": "Cerrar sesión"
+        },
+        "LOGIN": {
+            "USERNAME": "Nombre de usuario",
+            "PASSWORD": "Contraseña",
+            "SIGNUP": "Regístrate",
+            "ACCOUNTCREATEMESSAGE": "¿No tienes una cuenta?",
+            "LOGIN": "iniciar sesión",
+            "PASSWORDVALIDMESSAGE": "se requiere contraseña",
+            "USERNAMEVALIDMESSAGE": "Se requiere nombre de usuario",
+            "SIGNINMSG": "Inicia sesión para iniciar tu sesión.",
+            "PASSWORDMINLENGTHVALIDMESSAGE": "La contraseña debe tener 8 caracteres y contiene al menos un carácter en mayúscula, minúscula, numérico y especial",
+            "USERNAMEMINLENGTHVALIDMESSAGE": "El nombre de usuario debe tener al menos 5 caracteres"
+        },
+        "INSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "Nueva instancia",
+            "NSNAME": "Nombre de Ns",
+            "DESCRIPTION": "Descripción",
+            "NSID": "Nsd Id",
+            "SSHKEY": "SSH Key",
+            "VIMACCOUNT": "Cuenta VIM",
+            "SSHKEYMSG": "Pega tu llave aquí"
+        },
+        "NSMETRIC": {
+            "INSTANCESMETRIC": "Instancia métrica",
+            "METRICERROR": "Datos no disponibles en métricas"
+        },
+        "USERSETTINGS": {
+            "LANGUAGE": "Idioma"
+        },
+        "VIM": {
+            "CREATEDSUCCESSFULLY": "VIM Creada Exitosamente",
+            "LOACTIONINFO": "Escriba el nombre de la ubicación y haga clic en el botón Intro para seleccionar la ubicación de la lista"
+        },
+        "VIMDETAILS": {
+            "NEWVIM": "Nuevo VIM",
+            "VIMACCOUNTDETAILS": "VIM Account detalles",
+            "NAME": "Nombre",
+            "VIMUSERNAME": "VIM Nombre de usuario",
+            "VIMURL": "VIM URL",
+            "VIMTYPE": "Tipo",
+            "TENANTNAME": "Tenant Nombre",
+            "DESCRIPTION": "Descripción",
+            "SCHEMATYPE": "Tipo de esquema",
+            "SCHEMAVERSION": "Versión de esquema",
+            "CONFIGPARAMETERS": "CONFIGURAR PARÁMETROS",
+            "SDNCONTROLLER": "SDN Controladora",
+            "SDNPORTMAPPING": "SDN La asignación de puertos",
+            "VIMNETWORKNAME": "VIM Nombre de red",
+            "SECURITYGROUPS": "Grupos de seguridad",
+            "AVAILABILITYZONE": "Zona de disponibilidad",
+            "REGIONALNAME": "Nombre de región",
+            "INSECURE": "Insegura",
+            "USEEXISTINGFLAVOURS": "Usa sabores existentes",
+            "USEINTERNALENDPOINT": "Usar punto final interno",
+            "APIVERSION": "Versión API   ",
+            "PROJECTDOMAINID": "Proyecto dominio id",
+            "PROJECTDOMAINNAME": "Proyecto dominio name",
+            "USERDOMAINID": "Usuaria dominio id",
+            "USERDOMAINUSER": "Usuaria dominio nombre",
+            "KEYPAIR": "Par de claves",
+            "DATAPLANEPHYSICALNET": "Plano de datos physical net",
+            "USEFLOATINGIP": "Utilizar flotante ip",
+            "DATAPLANENETVLANRANGE": "Plano de datos net vlan range",
+            "MICROVERSION": "Microversión",
+            "BACKTOVIMACCOUNTS": "Atrás a VimAccounts",
+            "VIMPASSWORD": "VIM Contraseña",
+            "ADDITIONALCONFIG": "Adicional configuración",
+            "ADDITIONALCONFIGPLACEHOLDER": "{'key1': [...], 'key2': {}, 'key3': ''}",
+            "NEWVIMACCOUNT": "Nueva VIM Cuenta",
+            "ORGNAME": "Orgnombre",
+            "VCENTERIP": "Vcenter ip",
+            "VCENTERPORT": "Vcenter Puerto",
+            "ADMINUSERNAME": "Administración nombre de usuario",
+            "VCENTERUSER": "Vcenter usuaria",
+            "ADMINPASSWORD": "Administración contraseña",
+            "VCENTERPASSWORD": "Vcenter contraseña",
+            "NSXMANAGER": "Nsx gerente",
+            "VROPSSITE": "Vrops sitio",
+            "NSXUSER": "Nsx usuaria",
+            "VROPSUSER": "Vrops usuaria",
+            "NSXPASSWORD": "Nsx contraseña",
+            "VROPSPASSWORD": "Vrops contraseña",
+            "VPCCIDRBLOCK": "VPC cidr bloquear",
+            "FLAVORIINFO": "Flavor informacion",
+            "VIM_TYPE": "VIM Tipo",
+            "VIMLOCATION": "VIM Ubicación",
+            "SUBSCRIPTIONID": "ID de suscripción",
+            "RESOURCEGROUP": "Grupo de recursos",
+            "VNETNAME": "Nombre de red virtual",
+            "FLAVORSPATTERN": "Patrón de sabores"
+        },
+        "WIMACCOUNTS": {
+            "CREATEDSUCCESSFULLY": "WIM Creado Exitosamente",
+            "WIMDETAILS": "Detalles de WIM",
+            "NEWWIM": "Nuevo WIM",
+            "SCHEMAVERSION": "Versión de esquema",
+            "RO": "RO",
+            "ROACCOUNT": "Cuenta RO",
+            "USERNAME": "Nombre de usuario de WIM",
+            "PASSWORD": "Contraseña WIM"
+        },
+        "NSINSTANCE": {
+            "NEWNSINSTANCE": "Nueva NS",
+            "CREATEDSUCCESSFULLY": "NS Ejemplo Creado Exitosamente"
+        },
+        "VNFINSTANCE": {
+            "ADDVNFINSTANCE": "Agregar instancia VNF"
+        },
+        "PDUINSTANCE": {
+            "NEWPDUINSTANCE": "Nueva PDU",
+            "PDUTYPE": "Tipo de PDU",
+            "PARAMETERS": "Parámetros de instancias de PDU",
+            "ADDINSTANCEPARAMS": "Agregar parámetros",
+            "CREATEDSUCCESSFULLY": "Instancias de PDU creadas con éxito"
+        },
+        "NETSLICEINSTANCE": {
+            "CREATENETSLICEINSTANCE": "Crear NSI"
+        },
+        "SDNCONTROLLER": {
+            "NEWSDNCONTROLLER": "Nuevo controlador SDN",
+            "REGISTEREDSDNCONTROLLER": "Controladores SDN registrados",
+            "RO": "RO",
+            "DPID": "DPID",
+            "CREATEDSUCCESSFULLY": "SDN registrado con éxito",
+            "DPIDPLACEHOLDER": "xx:xx:xx:xx:xx:xx:xx:xx",
+            "DETAILS": "Detalles del controlador SDN"
+        },
+        "USERS": {
+            "CREATEUSER": "Crear usuario",
+            "NEWUSER": "Nuevo usuario",
+            "USERNAME": "Nombre de usuario",
+            "PASSWORD": "Contraseña",
+            "CONFPASSWORD": "confirmar Contraseña",
+            "EDITUSER": "editar usuario",
+            "NEWPASSWORD": "Nueva contraseña",
+            "DEFAULTPROJECT": "Proyecto predeterminado",
+            "PASSWORDCONFLICT": "La contraseña y la contraseña de confirmación no coinciden",
+            "PASSWORDMATCH": "Contraseña",
+            "CREATEDSUCCESSFULLY": "Usuario Creada Exitosamente",
+            "EDITEDSUCCESSFULLY": "Usuario editado correctamente",
+            "EDITCREDENTIALS": "Cambia la contraseña",
+            "EDITUSERNAME": "Cambie el nombre de usuario",
+            "PROJECTSROLES": "Roles de proyectos",
+            "EDITPROJECTROLEMAPPING": "Editar asignación de roles de proyecto",
+            "ADDMAPPINGS": "Agregar asignaciones",
+            "EDITPROJECTROLEERROR": "Proporcione al menos un mapeo de roles del proyecto para continuar"
+        },
+        "TOPOLOGY": {
+            "SELECTELEMENT": "Seleccionar elemento",
+            "VL": "VL",
+            "VNF": "VNF",
+            "VNFD": "VNFD",
+            "CP": "CP",
+            "NSD": "NSD",
+            "NS": "NS",
+            "VIRTUALLINK": "Enlace virtual",
+            "CONNECTIONPOINT": "Punto de conexión",
+            "INTCONNECTIONPOINT": "Int Punto de conexión",
+            "LINK": "Enlazar",
+            "ADDINGCP": "Seleccione un punto de conexión de {{vnfdname}} para vincular {{vlname}}?",
+            "INFO": "Informacion",
+            "HELP": "Ayuda",
+            "HELPINFO": {
+                "CREATEEDGE": "Crear borde",
+                "CREATEEDGEFIRSTSETENCE": "Seleccione el primer vértice haciendo clic en él usando",
+                "CREATEEDGESECONDSETENCE": "en otro vértice (diferente al seleccionado).",
+                "DELETEEDGEVERTEX": "Eliminar borde/vértice",
+                "DELETEEDGEVERTEXSENTENCE": "Doble clic en borde / vértice.",
+                "SPREADEDGE": "Borde extendido",
+                "SPREADEDGESENTENCE": "Seleccione el vértice haciendo clic en él usando",
+                "EDGEINFO": "Mostrar información de borde",
+                "EDGEINFOSENTENCE": "Seleccione el borde haciendo clic. La información se mostrará en el lado izquierdo."
+            },
+            "VDU": "VDU",
+            "INTVL": "IntVL",
+            "INTCP": "IntCP",
+            "DATAEMPTY": "Por favor cambia algo"
+        },
+        "PROJECT": {
+            "NEWPROJECT": "Nuevo proyecto",
+            "CREATEDSUCCESSFULLY": "Proyecto Creada Exitosamente",
+            "UPDATEDSUCCESSFULLY": "Proyecto Actualizada Exitosamente"
+        },
+        "NSPACKAGE": {
+            "ADDNSPACKAGE": "Componer un nuevo NS",
+            "CREATEDSUCCESSFULLY": "NS Paquetes Creada Exitosamente",
+            "NSCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Actualizada Exitosamente",
+                "CONFIRMCONNECTIONPOINT": "Confirme para agregar un punto de conexión",
+                "CANNOTLINKVNF": "No puedes vincular un vnf con un vnf",
+                "CANNOTLINKVL": "No puedes vincular un VL con un VL",
+                "CANNOTLINKVLVNF": "No puedes vincular un VL con un vnf",
+                "CANNOTLINKVNFCP": "No puedes vincular un VNF con un CP",
+                "CANNOTLINKVLCP": "No puedes vincular un VL con un CP",
+                "CANNOTLINKCP": "No puedes vincular un CP con un CP",
+                "ADDNSD": "Enlace virtual se agrega con éxito",
+                "ADDVNFD": "VNFD se agrega con éxito",
+                "ADDNS": "El enlace de conexión se agregó con éxito",
+                "DELETENSD": "Se eliminó con éxito el enlace virtual",
+                "DELETEVNFD": "Eliminado con éxito el VNF",
+                "DELETENS": "Se eliminó correctamente el punto de conexión",
+                "DELETELINK": "Se eliminó el enlace correctamente",
+                "MGMTNETWORK": "Mgmt Network",
+                "VIMNETWORKNAME": "Vim Network Name",
+                "MEMBER-VNF-INDEX": "member-vnf-index",
+                "VNFD-ID-REF": "vnfd-id-ref",
+                "VLD-ID": "vld-id",
+                "VNFD-CP-REF": "vnfd-punto de conexión-ref"
+            },
+            "EDITPACKAGES": {
+                "UPDATEDSUCCESSFULLY": "Descriptor actualizado exitosamente"
+            }
+        },
+        "VNFPACKAGE": {
+            "ADDVNFPACKAGE": "Componer un nuevo VNF",
+            "CREATEDSUCCESSFULLY": "VNF Paquetes Creada Exitosamente",
+            "VNFCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Actualizada Exitosamente",
+                "INVALIDSELECTION": "Selección invalida",
+                "YOUCANNOTDELETELINK": "No puedes eliminar el enlace",
+                "CANNOTLINKVDUANDINTCP": "No puedes vincular vdu con int_cp",
+                "CANNOTLINKINTCPANDVDU": "No puedes vincular int_cp con vdu",
+                "CANNOTLINKCPANDVNFVL": "No puedes vincular cp con vnf_vl",
+                "CANNOTLINKVNFVLANDCP": "No puedes vincular vnf_vl con cp",
+                "CANNOTLINKINTCPANDCP": "No puedes vincular intcp con cp",
+                "CANNOTLINKCPANDINTCP": "No puedes vincular cp con int_cp",
+                "CANNOTLINKVDUANDVDU": "No puedes vincular un vdu con un vdu"
+            }
+        },
+        "NETSLICE": {
+            "CREATEDSUCCESSFULLY": "Netslice Creada Exitosamente",
+            "TEMPLATECREATEDSUCCESSFULLY": "Netslice Modelo Created Successfully",
+            "UPDATEDSUCCESSFULLY": "Plantilla actualizada con éxito"
+        },
+        "NETSLICETEMPLATE": {
+            "NETSLICETEMPLATEDETAILS": "Red Rebanadas Modelo Detalles"
+        },
+        "NSTINSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "Nueva instancia",
+            "NSNAME": "Nombre de Ns",
+            "DESCRIPTION": "Descripción",
+            "NSTID": "Nsd Id",
+            "SSHKEY": "SSH Key",
+            "VIMACCOUNT": "Cuenta VIM",
+            "SSHKEYMSG": "Pega tu llave aquí ..."
+        },
+        "NSPRIMITIVE": {
+            "PRIMITIVE": "Primitiva",
+            "PRIMITIVEPARAMETERS": "Primitiva Parámetros",
+            "ADDPRIMITIVEPARAMS": "Añadir Parámetros primitivos",
+            "EXECUTEDSUCCESSFULLY": "Ejecutada NS Configuración primitiva"
+        },
+        "ROLES": {
+            "CREATEROLE": "Crear rol",
+            "ROLE": "Papel",
+            "PERMISSIONS": "Permisos",
+            "YAMLPERMISSIONS": "YAML Permisos",
+            "CREATEDSUCCESSFULLY": "Rol creado con éxito",
+            "UPDATEDSUCCESSFULLY": "Rol actualizado exitosamente",
+            "ROLEJSONERROR": "Los permisos de rol deben proporcionarse de manera clave-valor",
+            "ROLEKEYERROR": "El valor de '{{roleKey}}' en los permisos de un rol debe ser booleano",
+            "EDITROLE": "Editar rol",
+            "PREVIEW": "Avance",
+            "TEXTVIEW": "Vista de texto"
+        },
+        "K8S": {
+            "MENUK8S": "K8s",
+            "MENUK8SCLUSTER": "Clusters K8s",
+            "MENUK8SREPO": "K8s Repos",
+            "REGISTERK8CLUSTER": "Grupos de K8 registrados",
+            "ADDK8CLUSTER": "Agregar clúster K8s",
+            "K8SCLUSTERDETAILS": "Detalles del clúster K8s",
+            "REGISTERK8REPO": "Repositorio K8 registrado",
+            "ADDK8REPO": "Agregar repositorio K8s",
+            "K8SREPODETAILS": "Detalles del repositorio de K8s",
+            "CREATEDSUCCESSFULLY": "K8 creados con éxito",
+            "NEWK8SCLUSTER": "Nuevo clúster K8s",
+            "NAME": "Nombre",
+            "K8SVERSION": "Versión K8s",
+            "VIMACCOUNT": "Cuenta Vim",
+            "DESCRIPTION": "Descripción",
+            "NETS": "Nets",
+            "NETSPLACEHOLDER": "example: {'net1': 'osm-ext'}",
+            "CREDENTIALS": "Cartas credenciales",
+            "NEWK8SREPO": "Nuevo repositorio K8s",
+            "TYPE": "Tipo",
+            "URL": "URL"
+        }
+    },
+    "HTTPERROR": {
+        "401": "Acceso denegado",
+        "400": "Por favor revise la solicitud e intente nuevamente",
+        "404": "El servicio esperado no está disponible. Vuelve a intentarlo más tarde.",
+        "500": "Error del servidor. Vuelve a intentarlo más tarde",
+        "502": "Bad Gateway, por favor intente nuevamente más tarde",
+        "503": "El servicio no está disponible temporalmente. Vuelve a intentarlo más tarde",
+        "504": "Error de tiempo de espera de la puerta de enlace. Vuelva a intentarlo más tarde",
+        "409": "Por favor, inténtelo de nuevo más tarde"
+    },
+    "PAGENOTFOUND": {
+        "OOPS": "¡Uy!",
+        "NOTFOUND": "404 No encontrado",
+        "CONTENT": "La página no se puede encontrar o no está autorizada, puede que ya no sea relevante o se haya cambiado su nombre.",
+        "MEAN": "Mientras tanto, puede volver a",
+        "HOME": "Hogar"
+    },
+    "DOMVALIDATIONS": {
+        "INVALIDURL": "Ingrese una URL válida",
+        "INVALIDIPADDRESS": "Ingrese una dirección IP válida",
+        "INVALIDPORTADDRESS": "Ingrese una dirección de puerto válida",
+        "INVALIDDPID": "Ingrese un DPID válido",
+        "INVALIDJSON": "Ingrese un formato JSON válido",
+        "INVALIDYAML": "Ingrese un formato YAML válido"
+    },
+    "GRAFANA": {
+        "METRICSERROR": "No es una métrica válida"
+    }
+}
\ No newline at end of file
diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json
new file mode 100644
index 0000000..3c948ac
--- /dev/null
+++ b/src/assets/i18n/pt.json
@@ -0,0 +1,479 @@
+{
+    "OSM": "OSM",
+    "APPVERSION": "Versão da aplicação",
+    "OSMVERSION": "Versão OSM",
+    "OSMSOURCEMANO": "Código aberto MANO",
+    "ADMIN": "Admin",
+    "ENTRIES": "Entradas",
+    "COMPOSE": "Componha um",
+    "CREATE": "Crio",
+    "SELECT": "Selecione",
+    "CANCEL": "Cancelar",
+    "SAVE": "Salve",
+    "COUNT": "contagem",
+    "IMAGE": "Imagem",
+    "IPPROFILEREF": "Ref do perfil IP",
+    "ACTION": "Açao",
+    "ADD": "Adicionar",
+    "EDIT": "Editar",
+    "APPLY": "Aplique",
+    "FORCE": "Força",
+    "DOWNLOAD": "Baixar",
+    "CONTENT": "Conteúdo",
+    "DELETE": "Excluir",
+    "FORCEDELETE": "Forçar exclusão",
+    "RENAME": "Renomear",
+    "INFO": "Info",
+    "NSPACKAGES": "Pacotes NS",
+    "VNFPACKAGES": "Pacotes VNF",
+    "INSTANCES": "Instâncias",
+    "INSTANTIATE": "Instanciar",
+    "NSINSTANCES": "Instâncias NS",
+    "VNFINSTANCES": "Instâncias VNF",
+    "PDUINSTANCES": "Instâncias da PDU",
+    "VIMACCOUNTS": "Contas VIM",
+    "WIMACCOUNTS": "Contas WIM",
+    "SDNCONTROLLER": "Controlador SDN",
+    "NETSLICE": "Netslice",
+    "PROJECT": "Projeto",
+    "DOMAIN": "Domínio",
+    "MODIFIED": "Modificada",
+    "PACKAGES": "Pacotes",
+    "NODATAMSG": "Sem dados disponíveis na tabela",
+    "SHORTNAME": "Nome curto",
+    "IDENTIFIER": "Identificador",
+    "DESCRIPTION": "Descrição",
+    "VENDOR": "Fornecedor",
+    "VERSION": "Versão",
+    "ACTIONS": "Ações",
+    "NAME": "Nome",
+    "USAGESTATE": "UsageState",
+    "MODIFICATIONDATE": "Modificação de data",
+    "CREATEDDATE": "Data de criação",
+    "OPERATIONALSTATUS": "Estado operacional",
+    "OPERATIONALSTATE": "Estado operacional",
+    "CONFIGSTATUS": "Status da configuração",
+    "DETAILEDSTATUS": "Status detalhado",
+    "NSDNAME": "Nome nsd",
+    "NSTNAME": "Nst name",
+    "TYPE": "Tipo",
+    "VNFD": "VNFD",
+    "VNF": "VNF",
+    "MEMBERINDEX": "Índice de membros",
+    "NS": "NS",
+    "CREATEDAT": "Criado em",
+    "CREATED": "Criada",
+    "ALL": "Todos",
+    "ID": "Identidade",
+    "OPERATIONSTATE": "Estado da operação",
+    "STARTTIME": "Hora de início",
+    "STATUSENTEREDTIME": "Horário de entrada do status",
+    "HISTORYOFOPERATIONS": "História das Operações",
+    "UPDATE": "Atualizar",
+    "READONLYMODE": "Modo somente leitura",
+    "CURRENTLY": "Atualmente",
+    "ON": "Em",
+    "OFF": "Fora",
+    "IN": "em",
+    "FILES": "arquivos",
+    "NEW": "Nova",
+    "RECENTLY": "Recentemente",
+    "TOPOLOGY": "Topologia",
+    "PLEASEWAIT": "Por favor, espere",
+    "LOADING": "Carregando",
+    "RESOURCEORCHESTRATOR": "Orquestrador de Recursos",
+    "VIEW": "Visão",
+    "DROP": "Solta",
+    "HERE": "Aqui",
+    "MAPVIEW": "Visão do mapa",
+    "LISTVIEW": "Exibição de lista",
+    "OK": "Está bem",
+    "DELETEDSUCCESSFULLY": "Apagado com sucesso",
+    "SESSIONEXPIRY": "Sessão expirada, faça o login novamente",
+    "DELETECONFIRMPOPUPMESSAGE": "Tem certeza de que deseja excluir",
+    "DELETELOADERMESSAGE": "Aguarde enquanto a exclusão está em andamento",
+    "VALUE": "Valor",
+    "PERFORMACTION": "Executar a ação",
+    "EXECUTE": "Executar",
+    "EXECNSPRIMITIVE": "Exec NS Primitive",
+    "PRIMITIVETYPE": "Tipo primitivo",
+    "VNFPRIMITIVE": "Primitivo de nível VNF",
+    "NSPRIMITIVE": "NS Level Primitive",
+    "DESCRIPTOR": "Descritora",
+    "ERROR": "Alguma coisa deu errado. Por favor tente outra vez",
+    "SHOWGRAPH": "Mostrar gráfico",
+    "UPDATESHOWGRAPH": "Atualizar e mostrar gráfico",
+    "CREATEPACKAGE": "Criar novo pacote",
+    "GZFILETYPEERRROR": "Carregue apenas o arquivo tar.gz e o tamanho não deve exceder 15 MB",
+    "YAMLFILETYPEERRROR": "Carregar apenas arquivo YAML e o tamanho não deve exceder 15 MB",
+    "JSONFILETYPEERRROR": "Carregar apenas arquivo JSON e o tamanho não deve exceder 15 MB",
+    "PUBFILETYPEERRROR": "Carregar apenas arquivo PUB e o tamanho não deve exceder 15 MB",
+    "PACKAGE": "Pacote",
+    "URL": "URL",
+    "DEPLOYED": "Deployed",
+    "ROLES": "Funções",
+    "INSTANCEDETAILS": "Detalhes da Instância",
+    "IPADDRESS": "Endereço de IP",
+    "MGMT": "Mgmt",
+    "NETNAME": "Nome líquido",
+    "USER": "Do utilizador",
+    "PORT": "Porta",
+    "USERNAME": "Nome de usuário",
+    "PASSWORD": "Senha",
+    "NODATAERROR": "Ocorreu um erro ao recuperar as informações",
+    "FREEZE": "Congelar",
+    "UNFREEZE": "Descongelar",
+    "CLONE": "Clone",
+    "CLONECONFIRMPOPUPMESSAGE": "Tem certeza de que deseja clonar",
+    "CLONESUCCESSFULLY": "Pacote clonado com sucesso",
+    "DROPFILES": "Basta arrastar e soltar arquivos aqui ou clique aqui para fazer upload de arquivos",
+    "DROPFILESVALIDATION": "Selecione um arquivo para processar",
+    "METRICS": "Métricas",
+    "NOOFHOURS": "Não de horas",
+    "MANDATORYCHECK": "Os campos obrigatórios estão marcados com um asterisco (*)",
+    "K8VERSION": "Versão K8",
+    "ENTER": "Entrar",
+    "SWITCHPROJECT": "Switch Project",
+    "CURRENTPROJECT": "Projeto atual",
+    "SUBMIT": "Enviar",
+    "REFRESH": "Atualizar",
+    "OPEN": "Aberto",
+    "UPLOADCONFIG": "Upload Config",
+    "FILEUPLOADLABEL": "Ou carregue do arquivo",
+    "CONFIG": "Config",
+    "YAMLCONFIG": "Yaml Config",
+    "CHOOSEFILE": "Escolher arquivo",
+    "INVALIDCONFIG": "Configuração inválida",
+    "PAGE": {
+        "DASHBOARD": {
+            "DASHBOARD": "painel de controle",
+            "RECENTUSERLOG": "Registro recente do usuário",
+            "LOGS": "Logs",
+            "FAILEDINSTANCES": "Instâncias com falha",
+            "NOINSTANCES": "Keine Instanzen verfügbar",
+            "UPTIME": "Tempo de atividade",
+            "RUNNINGINSTANCES": "Instâncias em execução",
+            "NETSLICETEMPLATE": "Modelo de fatia líquida",
+            "NETSLICEINSTANCE": "Instâncias de fatia líquida",
+            "USERS": "Comercial",
+            "PROJECTS": "Projetos",
+            "USERSETTINGS": "Configurações do usuário",
+            "LOGOUT": "Sair"
+        },
+        "LOGIN": {
+            "USERNAME": "Nome de usuário",
+            "PASSWORD": "Senha",
+            "SIGNUP": "Inscrever-se",
+            "ACCOUNTCREATEMESSAGE": "Não possui uma conta?",
+            "LOGIN": "entrar",
+            "PASSWORDVALIDMESSAGE": "Senha requerida",
+            "USERNAMEVALIDMESSAGE": "Nome de usuário é requerido",
+            "SIGNINMSG": "Faça login para iniciar sua sessão",
+            "PASSWORDMINLENGTHVALIDMESSAGE": "A senha deve ter 8 caracteres e conter pelo menos um caractere maiúsculo, minúsculo, numérico e especial",
+            "USERNAMEMINLENGTHVALIDMESSAGE": "O nome de usuário deve ter pelo menos 5 caracteres"
+        },
+        "INSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "Nova Instância",
+            "NSNAME": "Ns Name",
+            "DESCRIPTION": "Descrição",
+            "NSID": "ID Nsd",
+            "SSHKEY": "Chave SSH",
+            "VIMACCOUNT": "Conta VIM",
+            "SSHKEYMSG": "Cole sua chave aqui"
+        },
+        "NSMETRIC": {
+            "INSTANCESMETRIC": "Métrica de Instâncias",
+            "METRICERROR": "Dados não disponíveis em métricas"
+        },
+        "USERSETTINGS": {
+            "LANGUAGE": "Língua"
+        },
+        "VIM": {
+            "CREATEDSUCCESSFULLY": "VIM criado com sucesso",
+            "LOACTIONINFO": "Digite o nome do local e clique no botão Enter para selecionar o local na lista"
+        },
+        "VIMDETAILS": {
+            "NEWVIM": "Novo VIM",
+            "VIMACCOUNTDETAILS": "Detalhes da conta VIM",
+            "NAME": "Nome",
+            "VIMUSERNAME": "Nome de usuário do VIM",
+            "VIMURL": "URL do VIM",
+            "VIMTYPE": "Tipo",
+            "TENANTNAME": "Nome do inquilino",
+            "DESCRIPTION": "Descrição",
+            "SCHEMATYPE": "Tipo de esquema",
+            "SCHEMAVERSION": "Versão do esquema",
+            "CONFIGPARAMETERS": "PARÂMETROS CONFIG",
+            "SDNCONTROLLER": "Controlador SDN",
+            "SDNPORTMAPPING": "Mapeamento de porta SDN",
+            "VIMNETWORKNAME": "Nome da rede VIM",
+            "SECURITYGROUPS": "Grupos de Segurança",
+            "AVAILABILITYZONE": "Zona de disponibilidade",
+            "REGIONALNAME": "Nome da região",
+            "INSECURE": "Insegura",
+            "USEEXISTINGFLAVOURS": "Use sabores existentes",
+            "USEINTERNALENDPOINT": "Usar terminal interno",
+            "APIVERSION": "Versão da API",
+            "PROJECTDOMAINID": "ID do domínio do projeto",
+            "PROJECTDOMAINNAME": "Nome de domínio do projeto",
+            "USERDOMAINID": "ID do domínio do usuário",
+            "USERDOMAINUSER": "Nome de domínio do usuário",
+            "KEYPAIR": "Par de chaves",
+            "DATAPLANEPHYSICALNET": "Rede física do plano de dados",
+            "USEFLOATINGIP": "Use ip flutuante",
+            "DATAPLANENETVLANRANGE": "Dataplane net vlan range",
+            "MICROVERSION": "Microversão",
+            "BACKTOVIMACCOUNTS": "Voltar para VimAccounts",
+            "VIMPASSWORD": "Senha do VIM",
+            "ADDITIONALCONFIG": "Configuração adicional",
+            "ADDITIONALCONFIGPLACEHOLDER": "{'key1':[...],'key2':{},'key3':''}",
+            "NEWVIMACCOUNT": "Nova conta VIM",
+            "ORGNAME": "Orgnome",
+            "VCENTERIP": "Vcenter ip",
+            "VCENTERPORT": "Porta Vcenter",
+            "ADMINUSERNAME": "Nome de usuário do administrador",
+            "VCENTERUSER": "Usuário do Vcenter",
+            "ADMINPASSWORD": "senha do administrador",
+            "VCENTERPASSWORD": "Senha do Vcenter",
+            "NSXMANAGER": "Gerente Nsx",
+            "VROPSSITE": "Site Vrops",
+            "NSXUSER": "Usuário Nsx",
+            "VROPSUSER": "Usuário Vrops",
+            "NSXPASSWORD": "Senha Nsx",
+            "VROPSPASSWORD": "Senha Vrops",
+            "VPCCIDRBLOCK": "Bloco cidr VPC",
+            "FLAVORIINFO": "Informação do sabor",
+            "VIM_TYPE": "Tipo VIM",
+            "VIMLOCATION": "Localização do VIM",
+            "SUBSCRIPTIONID": "ID de Inscrição",
+            "RESOURCEGROUP": "Grupo de Recursos",
+            "VNETNAME": "Nome da VNet",
+            "FLAVORSPATTERN": "Padrão de sabores"
+        },
+        "WIMACCOUNTS": {
+            "CREATEDSUCCESSFULLY": "WIM criado com sucesso",
+            "WIMDETAILS": "Detalhes do WIM",
+            "NEWWIM": "Novo WIM",
+            "SCHEMAVERSION": "Versão do esquema",
+            "RO": "RO",
+            "ROACCOUNT": "Conta RO",
+            "USERNAME": "Nome de usuário WIM",
+            "PASSWORD": "Senha WIM"
+        },
+        "NSINSTANCE": {
+            "NEWNSINSTANCE": "Nova NS",
+            "CREATEDSUCCESSFULLY": "Instância NS criada com êxito"
+        },
+        "VNFINSTANCE": {
+            "ADDVNFINSTANCE": "Adicionar instância VNF"
+        },
+        "PDUINSTANCE": {
+            "NEWPDUINSTANCE": "Nova PDU",
+            "PDUTYPE": "Tipo de PDU",
+            "PARAMETERS": "Parâmetros de instâncias da PDU",
+            "ADDINSTANCEPARAMS": "Adicionar parâmetros",
+            "CREATEDSUCCESSFULLY": "Instâncias da PDU criadas com êxito"
+        },
+        "NETSLICEINSTANCE": {
+            "CREATENETSLICEINSTANCE": "Criar NSI"
+        },
+        "SDNCONTROLLER": {
+            "NEWSDNCONTROLLER": "Novo controlador SDN",
+            "REGISTEREDSDNCONTROLLER": "Controladores SDN registrados",
+            "RO": "RO",
+            "DPID": "DPID",
+            "CREATEDSUCCESSFULLY": "SDN Registrado com Sucesso",
+            "DPIDPLACEHOLDER": "xx:xx:xx:xx:xx:xx:xx:xx",
+            "DETAILS": "Detalhes do Controlador SDN"
+        },
+        "USERS": {
+            "CREATEUSER": "Criar usuário",
+            "NEWUSER": "Novo usuário",
+            "USERNAME": "Nome de Usuário",
+            "PASSWORD": "Senha",
+            "CONFPASSWORD": "Confirme a Senha",
+            "EDITUSER": "Editar usuário",
+            "NEWPASSWORD": "Nova senha",
+            "DEFAULTPROJECT": "Projeto Padrão",
+            "PASSWORDCONFLICT": "Senha e confirmação de senha não correspondem",
+            "PASSWORDMATCH": "Correspondência de senha",
+            "CREATEDSUCCESSFULLY": "Usuário criado com sucesso",
+            "EDITEDSUCCESSFULLY": "Edição do Usuário com Sucesso",
+            "EDITCREDENTIALS": "Mudar senha",
+            "EDITUSERNAME": "Mudar nome de usuário",
+            "PROJECTSROLES": "Funções dos Projetos",
+            "EDITPROJECTROLEMAPPING": "Editar mapeamento de função do projeto",
+            "ADDMAPPINGS": "Adicionar mapeamentos",
+            "EDITPROJECTROLEERROR": "Forneça pelo menos um mapeamento de função do projeto para continuar"
+        },
+        "TOPOLOGY": {
+            "SELECTELEMENT": "Selecionar elemento",
+            "VL": "VL",
+            "VNF": "VNF",
+            "VNFD": "VNFD",
+            "CP": "CP",
+            "NSD": "NSD",
+            "NS": "NS",
+            "VIRTUALLINK": "Link virtual",
+            "CONNECTIONPOINT": "Ponto de conexão",
+            "INTCONNECTIONPOINT": "Ponto de conexão int",
+            "LINK": "Ligação",
+            "ADDINGCP": "Por favor, selecione um ponto de conexão {{vnfdname}} para vincular {{vlname}}?",
+            "INFO": "Info",
+            "HELP": "Socorro",
+            "HELPINFO": {
+                "CREATEEDGE": "Criar aresta",
+                "CREATEEDGEFIRSTSETENCE": "Selecione o primeiro vértice clicando nele usando",
+                "CREATEEDGESECONDSETENCE": "em outro vértice (diferente do selecionado).",
+                "DELETEEDGEVERTEX": "Excluir aresta / vértice",
+                "DELETEEDGEVERTEXSENTENCE": "Clicar duas vezes na aresta / vértice.",
+                "SPREADEDGE": "Espalhe a borda",
+                "SPREADEDGESENTENCE": "Selecione o vértice clicando nele usando",
+                "EDGEINFO": "Mostrar informações da aresta",
+                "EDGEINFOSENTENCE": "Selecione a aresta clicando. A informação será mostrada no lado esquerdo."
+            },
+            "VDU": "VDU",
+            "INTVL": "IntVL",
+            "INTCP": "IntCP",
+            "DATAEMPTY": "Por favor mude algo"
+        },
+        "PROJECT": {
+            "NEWPROJECT": "Novo projeto",
+            "CREATEDSUCCESSFULLY": "Projeto criado com sucesso",
+            "UPDATEDSUCCESSFULLY": "Projeto atualizado com sucesso"
+        },
+        "NSPACKAGE": {
+            "ADDNSPACKAGE": "Componha um novo NS",
+            "CREATEDSUCCESSFULLY": "Pacote NS criado com sucesso",
+            "NSCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Atualizado com sucesso",
+                "CONFIRMCONNECTIONPOINT": "Confirme para adicionar o ponto de conexão",
+                "CANNOTLINKVNF": "Você não pode vincular um vnf a um vnf",
+                "CANNOTLINKVL": "Você não pode vincular uma VL a uma VL",
+                "CANNOTLINKVLVNF": "Você não pode vincular um VL a um vnf",
+                "CANNOTLINKVNFCP": "Você não pode vincular um VNF a um CP",
+                "CANNOTLINKVLCP": "Você não pode vincular uma VL a um CP",
+                "CANNOTLINKCP": "Você não pode vincular um CP a um CP",
+                "ADDNSD": "Link virtual adicionado com sucesso",
+                "ADDVNFD": "VNFD é adicionado com sucesso",
+                "ADDNS": "Link de conexão adicionado com sucesso",
+                "DELETENSD": "O link virtual foi excluído com sucesso",
+                "DELETEVNFD": "O VNF foi excluído com sucesso",
+                "DELETENS": "Excluído com êxito o ponto de conexão",
+                "DELETELINK": "O link foi excluído com sucesso",
+                "MGMTNETWORK": "Mgmt Network",
+                "VIMNETWORKNAME": "Vim Network Name",
+                "MEMBER-VNF-INDEX": "member-vnf-index",
+                "VNFD-ID-REF": "vnfd-id-ref",
+                "VLD-ID": "vld-id",
+                "VNFD-CP-REF": "vnfd-ponto de conexão-ref"
+            },
+            "EDITPACKAGES": {
+                "UPDATEDSUCCESSFULLY": "Atualizado com sucesso"
+            }
+        },
+        "VNFPACKAGE": {
+            "ADDVNFPACKAGE": "Componha um novo VNF",
+            "CREATEDSUCCESSFULLY": "Pacote VNF criado com sucesso",
+            "VNFCOMPOSE": {
+                "UPDATEDSUCCESSFULLY": "Atualizado com sucesso",
+                "INVALIDSELECTION": "Seleção inválida",
+                "YOUCANNOTDELETELINK": "Você não pode excluir o link",
+                "CANNOTLINKVDUANDINTCP": "Você não pode vincular o vdu ao int_cp",
+                "CANNOTLINKINTCPANDVDU": "Você não pode vincular int_cp ao vdu",
+                "CANNOTLINKCPANDVNFVL": "Você não pode vincular o cp ao vnf_vl",
+                "CANNOTLINKVNFVLANDCP": "Você não pode vincular vnf_vl ao cp",
+                "CANNOTLINKINTCPANDCP": "Você não pode vincular o intcp ao cp",
+                "CANNOTLINKCPANDINTCP": "Você não pode vincular o cp ao int_cp",
+                "CANNOTLINKVDUANDVDU": "Você não pode vincular um vdu a um vdu"
+            }
+        },
+        "NETSLICE": {
+            "CREATEDSUCCESSFULLY": "Netslice criado com sucesso",
+            "TEMPLATECREATEDSUCCESSFULLY": "Modelo Netslice criado com sucesso",
+            "UPDATEDSUCCESSFULLY": "Modelo atualizado com sucesso"
+        },
+        "NETSLICETEMPLATE": {
+            "NETSLICETEMPLATEDETAILS": "Detalhes do modelo de fatias de rede"
+        },
+        "NSTINSTANCEINSTANTIATE": {
+            "NEWINSTANCE": "Nova Instância",
+            "NSNAME": "Ns Name",
+            "DESCRIPTION": "Descrição",
+            "NSTID": "Nst Id",
+            "SSHKEY": "Chave SSH",
+            "VIMACCOUNT": "Conta VIM",
+            "SSHKEYMSG": "Cole sua chave aqui ..."
+        },
+        "NSPRIMITIVE": {
+            "PRIMITIVE": "Primitiva",
+            "PRIMITIVEPARAMETERS": "Parâmetros primitivos",
+            "ADDPRIMITIVEPARAMS": "Adicionar Parâmetros Primitivos",
+            "EXECUTEDSUCCESSFULLY": "Configuração primitiva do NS executada"
+        },
+        "ROLES": {
+            "CREATEROLE": "Criar função",
+            "ROLE": "Função",
+            "PERMISSIONS": "Permissões",
+            "YAMLPERMISSIONS": "YAML Permissões",
+            "CREATEDSUCCESSFULLY": "Função criada com sucesso",
+            "UPDATEDSUCCESSFULLY": "Função atualizada com sucesso",
+            "ROLEJSONERROR": "As permissões de função devem ser fornecidas de maneira com valor-chave",
+            "ROLEKEYERROR": "O valor de '{{roleKey}}' nas permissões de uma função deve ser booleano",
+            "EDITROLE": "Editar função",
+            "PREVIEW": "Pré-visualização",
+            "TEXTVIEW": "Visualização de texto"
+        },
+        "K8S": {
+            "MENUK8S": "K8s",
+            "MENUK8SCLUSTER": "Clusters do K8s",
+            "MENUK8SREPO": "Repos do K8s",
+            "REGISTERK8CLUSTER": "Clusters K8s registrados",
+            "ADDK8CLUSTER": "Adicionar cluster do K8s",
+            "K8SCLUSTERDETAILS": "Detalhes do cluster K8s",
+            "REGISTERK8REPO": "Repositório registrado do K8s",
+            "ADDK8REPO": "Adicionar repositório K8s",
+            "K8SREPODETAILS": "Detalhes do Repositório do K8s",
+            "CREATEDSUCCESSFULLY": "K8s criado com sucesso",
+            "NEWK8SCLUSTER": "Novo Cluster K8s",
+            "NAME": "Nome",
+            "K8SVERSION": "Versão do K8s",
+            "VIMACCOUNT": "Conta Vim",
+            "DESCRIPTION": "Descrição",
+            "NETS": "Nets",
+            "NETSPLACEHOLDER": "example: {'net1': 'osm-ext'}",
+            "CREDENTIALS": "Credenciais",
+            "NEWK8SREPO": "Novo Repositório do K8s",
+            "TYPE": "Tipo",
+            "URL": "URL"
+        }
+    },
+    "HTTPERROR": {
+        "401": "Acesso negado",
+        "400": "Verifique a solicitação e tente novamente",
+        "404": "Serviço esperado não disponível, tente novamente mais tarde",
+        "500": "Erro no servidor, tente novamente mais tarde",
+        "502": "Gateway incorreto. Tente novamente mais tarde",
+        "503": "Serviço temporariamente indisponível. Tente novamente mais tarde",
+        "504": "Erro de tempo limite do gateway. Tente novamente mais tarde",
+        "409": "Por favor, tente novamente mais tarde"
+    },
+    "PAGENOTFOUND": {
+        "OOPS": "Opa!",
+        "NOTFOUND": "404 não encontrado",
+        "CONTENT": "A página não pode ser encontrada ou não autorizada, pode não ser mais relevante ou seu nome foi alterado",
+        "MEAN": "Enquanto isso, você pode voltar para",
+        "HOME": "Casa"
+    },
+    "DOMVALIDATIONS": {
+        "INVALIDURL": "Digite um URL válido",
+        "INVALIDIPADDRESS": "Digite um endereço IP válido",
+        "INVALIDPORTADDRESS": "Digite um endereço PORT válido",
+        "INVALIDDPID": "Digite um DPID válido",
+        "INVALIDJSON": "Digite um formato JSON válido",
+        "INVALIDYAML": "Digite um formato YAML válido"
+    },
+    "GRAFANA": {
+        "METRICSERROR": "Métricas não válidas"
+    }
+}
\ No newline at end of file