diff --git a/frontend/src/lang/ca.json b/frontend/src/lang/ca.json
new file mode 100644
index 0000000..71f46fa
--- /dev/null
+++ b/frontend/src/lang/ca.json
@@ -0,0 +1,115 @@
+{
+ "Create your admin account": "Crea el teu compte d'administrador",
+ "Repeat Password": "Repeteix la contrasenya",
+ "Create": "Crea",
+ "signedInDisp": "S'ha iniciat sessió com a {0}",
+ "home": "Inici",
+ "console": "Consola",
+ "registry": "Registre",
+ "compose": "Compondre",
+ "addFirstStackMsg": "Compondre la teva primera pila!",
+ "stackName": "Nom de la pila",
+ "deployStack": "Desplegar",
+ "deleteStack": "Eliminar",
+ "stopStack": "Aturar",
+ "restartStack": "Reiniciar",
+ "updateStack": "Actualitzar",
+ "startStack": "Inicia",
+ "downStack": "Atura i inactiva",
+ "languageName": "Català",
+ "authIncorrectCreds": "Usuari o contrasenya incorrecte.",
+ "PasswordsDoNotMatch": "Les contrasenyes no coincideixen.",
+ "signedInDispDisabled": "Autenticació deshabilitada.",
+ "discardStack": "Descartar",
+ "saveStackDraft": "Guardar",
+ "notAvailableShort": "N/D",
+ "primaryHostname": "Nom del host primari",
+ "general": "General",
+ "container": "Contenidor | Contenidors",
+ "scanFolder": "Escaneja la carpeta de piles",
+ "dockerImage": "Imatge",
+ "restartPolicyAlways": "Sempre",
+ "restartPolicyOnFailure": "En cas de fallada",
+ "restartPolicyNo": "No",
+ "environmentVariable": "Variable d'entorn | Variables d'entorn",
+ "restartPolicy": "Política de reinici",
+ "containerName": "Nom del contenidor",
+ "port": "Port | Ports",
+ "volume": "Volum | Volums",
+ "network": "Xarxa | Xarxes",
+ "addListItem": "Afegir {0}",
+ "deleteContainer": "Eliminar",
+ "addContainer": "Afegir contenidor",
+ "addNetwork": "Afegir xarxa",
+ "passwordNotMatchMsg": "La contrasenya repetida no coincideix.",
+ "autoGet": "Obtenir automàticament",
+ "add": "Afegir",
+ "Edit": "Editar",
+ "applyToYAML": "Aplicar a YAML",
+ "createExternalNetwork": "Crear",
+ "addInternalNetwork": "Afegir",
+ "Save": "Guardar",
+ "Language": "Idioma",
+ "Current User": "Usuari actual",
+ "Change Password": "Canviar la contrasenya",
+ "Current Password": "Contrasenya actual",
+ "New Password": "Nova contrasenya",
+ "stackNotManagedByDockgeMsg": "Aquesta pila no està gestionada per Dockge.",
+ "Update Password": "Actualitzar contrasenya",
+ "Advanced": "Avançat",
+ "Disable Auth": "Deshabilitar autenticació",
+ "Leave": "Sortir",
+ "Frontend Version": "Versió del frontend",
+ "Check Update On GitHub": "Comprova les actualitzacions a GitHub",
+ "Show update if available": "Mostra si hi ha disponible una nova actualització",
+ "Also check beta release": "Comprovar també la versió beta",
+ "Remember me": "Recorda'm",
+ "Login": "Inici de sesió",
+ "Username": "Usuari",
+ "Settings": "Configuració",
+ "Logout": "Tanca sessió",
+ "Lowercase only": "Només minúscules",
+ "Convert to Compose": "Convertir a Compose",
+ "Docker Run": "Executar Docker",
+ "active": "actiu",
+ "exited": "finalitzat",
+ "inactive": "inactiu",
+ "Appearance": "Aparença",
+ "Security": "Seguretat",
+ "About": "Sobre",
+ "Allowed commands:": "Comandes permeses:",
+ "Internal Networks": "Xarxes internes",
+ "External Networks": "Xarxes externes",
+ "No External Networks": "No hi ha xarxes externes",
+ "reverseProxyMsg1": "Estàs fent servir un proxy invers?",
+ "reverseProxyMsg2": "Comproveu com configurar-lo per a WebSocket",
+ "Cannot connect to the socket server.": "No es pot connectar al servidor del socket.",
+ "reconnecting...": "S'està tornant a connectar…",
+ "connecting...": "S'està connectant al servidor del socket…",
+ "url": "URL | URLs",
+ "extra": "Extra",
+ "newUpdate": "Nova actualització",
+ "dockgeAgent": "Agent Dockge | Agents Dockge",
+ "currentEndpoint": "Actual",
+ "dockgeURL": "URL de Dockge (ex. http://127.0.0.1:5001)",
+ "agentOnline": "En línia",
+ "agentOffline": "Fora de línia",
+ "connecting": "Connectant",
+ "connect": "Connectar",
+ "addAgent": "Afegir agent",
+ "agentAddedSuccessfully": "Agent afegit correctament.",
+ "agentRemovedSuccessfully": "Agent eliminat correctament.",
+ "removeAgent": "Eliminar agent",
+ "removeAgentMsg": "Esteu segur que voleu eliminar aquest agent?",
+ "editStack": "Editar",
+ "deleteStackMsg": "Estàs segur que vols eliminar aquesta pila?",
+ "restartPolicyUnlessStopped": "A menys que s'aturi",
+ "dependsOn": "Dependència del contenidor | Dependències del contenidor",
+ "disableauth.message1": "Esteu segur que voleu desactivar l'autenticació?",
+ "disableauth.message2": "Està dissenyat per a escenaris on voleu implementar l'autenticació de tercers per davant de Dockge, com ara Cloudflare Access, Authelia o altres mecanismes d'autenticació.",
+ "Repeat New Password": "Repetiu la nova contrasenya",
+ "Please use this option carefully!": "Si us plau, utilitzeu aquesta opció amb cura!",
+ "Enable Auth": "Habilitar autenticació",
+ "I understand, please disable": "Ho entenc, si us plau deshabilita",
+ "Password": "Contrasenya"
+}