diff --git a/resource/l10n/en-US.toml b/resource/l10n/en-US.toml
index 2ee410a..3831e0c 100644
--- a/resource/l10n/en-US.toml
+++ b/resource/l10n/en-US.toml
@@ -271,9 +271,6 @@ other = "Admin List"
[Theme]
other = "Theme"
-[DefaultTheme]
-other = "Default Theme"
-
[CustomCodes]
other = "Custom code (style, script)"
diff --git a/resource/l10n/es-ES.toml b/resource/l10n/es-ES.toml
new file mode 100644
index 0000000..a057461
--- /dev/null
+++ b/resource/l10n/es-ES.toml
@@ -0,0 +1,512 @@
+[NezhaMonitoring]
+other = "Nezha Monitoring"
+
+[Server]
+other = "Servidores"
+
+[Services]
+other = "Servicios"
+
+[Task]
+other = "Tareas"
+
+[Notification]
+other = "Notificaciones"
+
+[Settings]
+other = "Ajustes"
+
+[Home]
+other = "Página de inicio"
+
+[BackToHomepage]
+other = "Volver a la página de inicio"
+
+[AdminPanel]
+other = "Panel de administración"
+
+[Logout]
+other = "Cerrar sesión"
+
+[Login]
+other = "Iniciar sesión"
+
+[ConfirmLogout]
+other = "¿Confirma que queire cierre de sesión?"
+
+[AfterLoggingOutYouHaveToLoginAgain]
+other = "Después de cerrar la sesión, debe volver a iniciar la sesión para utilizar"
+
+[Cancel]
+other = "Cancelar"
+
+[Confirm]
+other = "Confirmar"
+
+[AddScheduledTasks]
+other = "Añadir tareas programadas"
+
+[Name]
+other = "Nombre"
+
+[Scheduler]
+other = "Plan"
+
+[BackUp]
+other = "Copia de seguridad"
+
+[3amDaily]
+other = "(Las 3: 00 de todos los días)"
+
+[Command]
+other = "Comandos"
+
+[Coverage]
+other = "Cobertura"
+
+[IgnoreAllAndExecuteOnlyThroughSpecificServers]
+other = "Ignorar todo y ejecutar sólo a través de servidores específicos"
+
+[AllIncludedOnlySpecificServersAreNotExecuted]
+other = "Todos los servidores, sólo los específicos no ejecutan comandos"
+
+[SpecificServers]
+other = "Servidores específicos"
+
+[EnterIdAndNameToSearch]
+other = "Introduzca ID o nombre para buscar"
+
+[NotificationMethodGroup]
+other = "Grupo de métodos de notificación"
+
+[PushSuccessMessages]
+other = "Enviar el mensaje con éxito"
+
+[TheFormaOfTheScheduleIs]
+other = "El formato del plan es:"
+
+[SecondsMinutesHoursDaysMonthsWeeksSeeDetails]
+other = "Segundos minutos horas días meses semanas, ver detalles a"
+
+[ScheduleExpressionFormat]
+other = "Formato de expresiones cron"
+
+[IntroductionOfCommands]
+other = "Comandos: al igual que la escritura de un script shell/bat, pero no se recomiendan los saltos de línea. Los comandos múltiples se enlazan mediante &&
/&
, si el comando no se encuentra, es posible que haya un problema con la variable de entorno PATH
, los servidores Linux
añaden source ~/.bashrc
al inicio del comando o utilizan una ruta absoluta para ejecutarlo."
+
+[AddMonitor]
+other = "Añadir un monitor de servicio"
+
+[Blog]
+other = "Blog"
+
+[Target]
+other = "Objetivos"
+
+[Type]
+other = "Tipo"
+
+[SslExpirationOrChange]
+other = "(Expiración o cambio de SSL)"
+
+[Duration]
+other = "Intervalo"
+
+[Seconds]
+other = "segundos"
+
+[EnableFailureNotification]
+other = "Activar la notificación de fallos"
+
+[IntroductionOfMonitor]
+other = """
+Introduzca la URL cuando el tipo sea HTTP-GET (si es con protocolo HTTPS, por cierto, monitorizará el certificado SSL)
+Introduzca el nombre de host o IP sin puerto cuando el tipo es ICMP-Ping
+Introduzca el nombre de host o IP y puerto cuando el tipo es TCP-Ping: example.com:22"""
+
+[AddNotificationMethod]
+other = "Añadir un método de notificación"
+
+[Tag]
+other = "Grupo de servidores"
+
+[DoNotSendTestMessages]
+other = "No se envía ningún mensaje de prueba"
+
+[RequestMethod]
+other = "Método de petición"
+
+[RequestType]
+other = "Tipo de petición"
+
+[VerifySSL]
+other = "Validar SSL"
+
+[AddNotificationRule]
+other = "Añadir reglas de notificación"
+
+[Rules]
+other = "Reglas"
+
+[Enable]
+other = "Activar"
+
+[AddServer]
+other = "Añadir un servidor"
+
+[ServerGroup]
+other = "Grupos de servidores"
+
+[EinsteinLightspeed1]
+other = "Einstein - Velocidad de la luz 1"
+
+[DisplayIndex]
+other = "Índice de visualización"
+
+[TheLargerTheNumberTheHigherThePriority]
+other = "Un índice mayor se clasificará antes"
+
+[Secret]
+other = "Clave"
+
+[Note]
+other = "Nota"
+
+[LinuxOneKeyInstall]
+other = "Linux Instalación con un solo clic"
+
+[NoDomainAlert]
+other = "Por favor, configure el dominio o IP del servidor del panel que no está conectado a la CDN en la página de configuración"
+
+[PushSuccessfully]
+other = "Enviado correctamente"
+
+[LastExecution]
+other = "Última ejecución"
+
+[LastResult]
+other = "Resultado final"
+
+[Administration]
+other = "Administración"
+
+[CoverAll]
+other = "Cubriendo todo"
+
+[IgnoreAll]
+other = "Ignora todo"
+
+[DeleteScheduledTask]
+other = "Eliminar la tarea programada"
+
+[ConfirmToDeleteThisScheduledTask]
+other = "¿Confirma que quiere eliminar esta tarea programada?"
+
+[AccessDenied]
+other = "Acceso denegado"
+
+[Use]
+other = "Utiliza"
+
+[AccountToLogin]
+other = "Acceder a la cuenta"
+
+[SignUp]
+other = "Regístrate"
+
+[DontHaveAnAccount]
+other = "¿No tiene la cuenta?"
+
+[SSLCertificate]
+other = "Certificados HTTP(S)/SSL"
+
+[TCPPort]
+other = "Puerto TCP"
+
+[DeleteService]
+other = "Eliminar un servicio"
+
+[ConfirmToDeleteThisService]
+other = "¿Confirma que quiere eliminar este servicio?"
+
+[DeleteNotificationMethod]
+other = "Eliminar un método de notificación"
+
+[ConfirmToDeleteThisNotificationMethod]
+other = "¿Confirma que quiere eliminar este método de notificación?"
+
+[ForceUpdate]
+other = "Actualizaciones forzosas"
+
+[SelectAll]
+other = "Seleccionar todo"
+
+[VersionNumber]
+other = "Número de versión"
+
+[OneKeyInstall]
+other = "Instalación con un solo clic"
+
+[ClickToCopyTheInstallationCommand]
+other = "Haga clic para copiar el comando de instalación"
+
+[DeleteServer]
+other = "Eliminar el servidor"
+
+[ConfirmToDeleteThisServer]
+other = "¿Confirma que quiere eliminar este servidor?"
+
+[NoServerSelected]
+other = "No hay servidores seleccionados actualmente"
+
+[ExecutionResults]
+other = "Resultados de la ejecución"
+
+[SiteTitle]
+other = "Título del sitio"
+
+[AdministratorList]
+other = "Lista de administradores"
+
+[Theme]
+other = "Temas"
+
+[CustomCodes]
+other = "Códigos personalizados"
+
+[AccessPassword]
+other = "Contraseña de acceso"
+
+[PanelServerDomainAndIP]
+other = "El dominio o IP del servidor del panel no está conectado a la CDN"
+
+[IPChangeAlert]
+other = "Alerta de cambio de IP"
+
+[AllIncludedOnlySpecificServersAreNotAlerted]
+other = "Cubrir todo, ignorar sólo servidores específicos"
+
+[IgnoreAllOnlyAlertSpecificServers]
+other = "Omitir todo, notificar sólo a los servidores específicos"
+
+[IgnoreAllRequestOnlyThroughSpecificServers]
+other = "Omitir todos los servidores, sólo enviar peticiones a través de servidores específicos"
+
+[AllIncludedOnlySpecificServersAreNotRequest]
+other = "Enviar peticiones de todos los servidores, omitir sólo servidores específicos"
+
+[ServerIDSeparatedByCommas]
+other = "ID del servidor separado por una coma"
+
+[IPChangeNotificationTag]
+other = "Enviar una notificación al grupo de notificación especificado"
+
+[NotificationMessagesDoNotHideIP]
+other = "No se oculta la IP en los mensajes de notificación"
+
+[Save]
+other = "Guardar"
+
+[ModifiedSuccessfully]
+other = "Modificado con éxito"
+
+[TerminalConnectionTimeOutOrSessionEnded]
+other = "La conexión del Terminal ha expirado o la sesión ha terminado"
+
+[TerminalConnectionFailed]
+other = "Fallo en la conexión del terminal, por favor, revise el proxy inverso de WebSocket"
+
+[Default]
+other = "Por defecto"
+
+[Offline]
+other = "Desconexión"
+
+[Platform]
+other = "Plataforma"
+
+[DiskUsed]
+other = "Disco"
+
+[MemUsed]
+other = "Memoria"
+
+[SwapUsed]
+other = "Swap"
+
+[NetTransfer]
+other = "Tráfico de red"
+
+[Load]
+other = "Carga"
+
+[ProcessCount]
+other = "Número de procesos"
+
+[ConnCount]
+other = "Número de conexiones"
+
+[BootTime]
+other = "Tiempo de arranque"
+
+[LastActive]
+other = "Último activo"
+
+[Version]
+other = "Versiones"
+
+[NetSpeed]
+other = "Velocidad de la red"
+
+[Uptime]
+other = "Tiempo de funcionamiento"
+
+[ServerIsOffline]
+other = "El servidor está desconectado"
+
+[Day]
+other = "Días"
+
+[RealtimeChannelEstablished]
+other = "Establecimiento de canal en tiempo real"
+
+[GetTheLatestMonitoringDataInRealTime]
+other = "¡Ahora puede obtener los últimos datos de monitorización en tiempo real!"
+
+[RealtimeChannelDisconnect]
+other = "Desconexión de canal en tiempo real"
+
+[CanNotGetTheLatestMonitoringDataInRealTime]
+other = "¡No puede obtener los últimos datos de monitorización en tiempo real!"
+
+[30DaysOnline]
+other = "Disponibilidad en los últimos 30 días"
+
+[Details]
+other = "Detalles"
+
+[Status]
+other = "Estatus"
+
+[Availability]
+other = "Disponibilidad"
+
+[AverageLatency]
+other = "Latencia media"
+
+[CycleTransferStats]
+other = "Estadísticas de transmisión circular"
+
+[From]
+other = "Desde"
+
+[To]
+other = "A"
+
+[NextCheck]
+other = "Siguiente prueba"
+
+[CurrentUsage]
+other = "Uso actual"
+
+[VerifyPassword]
+other = "Verificar contraseña"
+
+[LightMode]
+other = "Modo luminoso"
+
+[DarkMode]
+other = "Modo oscuro"
+
+[GridLayout]
+other = "Grid Layout"
+
+[ListLayout]
+other = "List Layout"
+
+[EnterPassword]
+other = "Introduzca su contraseña"
+
+[Location]
+other = "Localización"
+
+[Running]
+other = "En línea"
+
+[UpNetTransfer]
+other = "Tráfico de salida"
+
+[DownNetTransfer]
+other = "Tráfico de entrada"
+
+[TotalUpNetTransfer]
+other = "Tráfico de salida total"
+
+[TotalDownNetTransfer]
+other = "Tráfico de entrada total"
+
+[WrongPassword]
+other = "Contraseña incorrecta"
+
+[AnErrorEccurred]
+other = "Ha ocurrido un error"
+
+[SystemError]
+other = "Error del sistema"
+
+[NetworkError]
+other = "Error de red"
+
+[ServicesStatus]
+other = "Estado del servicio"
+
+[ServersManagement]
+other = "Gestión de servidores"
+
+[ServicesManagement]
+other = "Monitorización del servicio"
+
+[ScheduledTasks]
+other = "Tareas programadas"
+
+[YouAreNotAuthorized]
+other = "Esta página requiere un acceso"
+
+[WrongAccessPassword]
+other = "Contraseña de acceso incorrecta"
+
+[Add]
+other = "Añadir"
+
+[Edit]
+other = "Modificar"
+
+[AlarmRule]
+other = "Reglas de notificación"
+
+[NotificationMethod]
+other = "Método de notificación"
+
+[Incident]
+other = "Incidente"
+
+[Resolved]
+other = "Resuelto"
+
+[StatusNoData]
+other = "No hay datos disponibles"
+
+[StatusGood]
+other = "Buena"
+
+[StatusLowAvailability]
+other = "Baja disponibilidad"
+
+[ScheduledTaskExecutedSuccessfully]
+other = "Tarea ejecutada con éxito"
+
+[ScheduledTaskExecutedFailed]
+other = "Tarea ejecutada fallida"
+
+[IPChanged]
+other = "Cambio de IP"