diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json
index 6ad0912a2..39ab7d698 100644
--- a/front/php/templates/language/cs_cz.json
+++ b/front/php/templates/language/cs_cz.json
@@ -784,11 +784,11 @@
"device_history_empty_state": "V rámci nastaveného okna uchovávání nebyly zaznamenány změny žádné z vlastností.",
"device_history_tab_title": "Seznam změn",
"device_history_table_title_changes": "Změny",
- "gen_actions": "",
- "gen_content": "",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "gen_actions": "Akce",
+ "gen_content": "Obsah",
+ "gen_level": "Stupeň",
+ "gen_read": "Číst",
+ "gen_timestamp": "Časové razítko",
"devices_old": "Znovunačítání…",
"gen_device": "Zařízení",
"general_event_description": "Událost kterou jste spustili může zabrat delší dobu, než budou procesy na pozadí dokončeny. Vykonávání skončilo jakmile se níže uvedená fronta vykonávání vyprázdní (pokud narazíte na problémy, podívejte se do záznamu chyb).
Fronta vykonávání:",
diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json
index 76014ba90..44fce3356 100644
--- a/front/php/templates/language/de_de.json
+++ b/front/php/templates/language/de_de.json
@@ -257,8 +257,8 @@
"Device_TableHead_Name": "Name",
"Device_TableHead_NetworkSite": "Netzwerkseite",
"Device_TableHead_Owner": "Eigentümer",
- "Device_TableHead_ParentRelType": "Beziehungstyp",
- "Device_TableHead_Parent_MAC": "Übergeordneter Netzwerkknoten",
+ "Device_TableHead_ParentRelType": "Beziehung",
+ "Device_TableHead_Parent_MAC": "Übergeordneter Knoten",
"Device_TableHead_Port": "Port",
"Device_TableHead_PresentLastScan": "Anwesenheit",
"Device_TableHead_ReqNicsOnline": "",
@@ -372,7 +372,7 @@
"Gen_SelectIcon": "",
"Gen_SelectToPreview": "Zur Vorschau auswählen",
"Gen_Selected_Devices": "Ausgewählte Geräte:",
- "Gen_Sleeping": "",
+ "Gen_Sleeping": "Schlafend",
"Gen_Subnet": "Subnetz",
"Gen_Switch": "Umschalten",
"Gen_Upd": "Aktualisierung erfolgreich",
@@ -453,8 +453,8 @@
"Maintenance_Tool_ImportPastedConfig": "Einstellungen importieren (Einfügen)",
"Maintenance_Tool_ImportPastedConfig_noti_text": "Sind Sie sicher, dass Sie die eingefügten Konfigurationseinstellungen importieren wollen. Dies wird die app.conf Datei vollständig überschreiben.",
"Maintenance_Tool_ImportPastedConfig_text": "",
- "Maintenance_Tool_UnlockFields": "",
- "Maintenance_Tool_UnlockFields_noti": "",
+ "Maintenance_Tool_UnlockFields": "Gerätefelder entsperren",
+ "Maintenance_Tool_UnlockFields_noti": "Gerätefelder entsperren",
"Maintenance_Tool_UnlockFields_noti_text": "",
"Maintenance_Tool_UnlockFields_text": "",
"Maintenance_Tool_arpscansw": "ARP-Scan umschalten (ein/aus)",
@@ -495,8 +495,8 @@
"Maintenance_Tool_del_empty_macs_text": "Machen Sie ein Backup, bevor Sie diese Funktion nutzen. Der Vorgang kann ohne Backup nicht rückgängig gemacht werden. Alle Geäte ohne MAC-Adresse werden aus der Datenbank gelöscht.",
"Maintenance_Tool_del_selecteddev": "Ausgewählte Geräte löschen",
"Maintenance_Tool_del_selecteddev_text": "",
- "Maintenance_Tool_del_unknowndev": "Löschen der (unknown) Geräte",
- "Maintenance_Tool_del_unknowndev_noti": "Lösche (unknown) Geräte",
+ "Maintenance_Tool_del_unknowndev": "(Unbekannte) Geräte löschen",
+ "Maintenance_Tool_del_unknowndev_noti": "(Unbekannte) Geräte löschen",
"Maintenance_Tool_del_unknowndev_noti_text": "Sind Sie sicher, dass Sie alle (unknown) Geräte aus der Datenbank löschen wollen?",
"Maintenance_Tool_del_unknowndev_text": "Machen Sie ein Backup, bevor Sie diese Funktion nutzen. Der Vorgang kann ohne Backup nicht rückgängig gemacht werden. Alle Gräte mit dem Namen (unknown) werden aus der Datenbank gelöscht.",
"Maintenance_Tool_del_unlockFields_selecteddev_text": "",
@@ -511,8 +511,8 @@
"Maintenance_Tool_restore_noti": "DB Wiederherstellung",
"Maintenance_Tool_restore_noti_text": "Sind Sie sicher, dass Sie die Datenbank aus der neusten Sicherung wiederherstellen möchten? Prüfen Sie, dass gerade keine Scans stattfinden.",
"Maintenance_Tool_restore_text": "Das neuste Backup kann über diese Funktion wiederhergestellt werden. Ältere Sicherungen müssen manuell wiederhergestellt werden. Es empfiehlt sich eine Integritätsprüfung nach der Wiederherstellung zu machen, falls die Datenbank bei der Sicherung geöffnet war.",
- "Maintenance_Tool_unlockFields_selecteddev": "",
- "Maintenance_Tool_unlockFields_selecteddev_noti": "",
+ "Maintenance_Tool_unlockFields_selecteddev": "Gerätefelder entsperren",
+ "Maintenance_Tool_unlockFields_selecteddev_noti": "Felder entsperren",
"Maintenance_Tool_upgrade_database_noti": "Aktualisiere Datenbank",
"Maintenance_Tool_upgrade_database_noti_text": "",
"Maintenance_Tool_upgrade_database_text": "Mit dieser Schaltfläche wird die Datenbank aktualisiert, um das Diagramm der Netzwerkaktivitäten der letzten 12 Stunden zu aktivieren. Bitte sichern Sie Ihre Datenbank, falls Probleme auftreten.",
@@ -557,7 +557,7 @@
"NTFY_icon": "",
"Navigation_About": "Über",
"Navigation_AppEvents": "App-Ereignisse",
- "Navigation_ChangeHistory": "",
+ "Navigation_ChangeHistory": "Änderungsprotokoll",
"Navigation_Devices": "Geräte",
"Navigation_Donations": "Spenden",
"Navigation_Events": "Ereignisse",
@@ -578,31 +578,31 @@
"Network_Cant_Assign_No_Node_Selected": "",
"Network_Configuration_Error": "Konfigurationsfehler",
"Network_Connected": "Verbundene Geräte",
- "Network_Devices": "",
+ "Network_Devices": "Netzwerkgeräte",
"Network_ManageAdd": "Gerät hinzufügen",
- "Network_ManageAdd_Name": "Name des Gerätes",
+ "Network_ManageAdd_Name": "Gerätename",
"Network_ManageAdd_Name_text": "Name ohne Sonderzeichen",
"Network_ManageAdd_Port": "Portanzahl",
"Network_ManageAdd_Port_text": "bei WLAN oder Powerline leer lassen",
- "Network_ManageAdd_Submit": "Hinzufügen",
+ "Network_ManageAdd_Submit": "Gerät hinzufügen",
"Network_ManageAdd_Type": "Gerätetyp",
"Network_ManageAdd_Type_text": "-- Typ wählen --",
"Network_ManageAssign": "Zuweisen",
"Network_ManageDel": "Gerät löschen",
"Network_ManageDel_Name": "Gerät zum Löschen auswählen",
- "Network_ManageDel_Name_text": "-- Gerät wählen --",
+ "Network_ManageDel_Name_text": "-- Gerät auswählen --",
"Network_ManageDel_Submit": "Löschen",
"Network_ManageDevices": "Geräte verwalten",
- "Network_ManageEdit": "Gerät bearbeiten",
+ "Network_ManageEdit": "Gerät aktualisieren",
"Network_ManageEdit_ID": "Gerät zum Bearbeiten auswählen",
- "Network_ManageEdit_ID_text": "-- Gerät wählen --",
- "Network_ManageEdit_Name": "Neuer Name",
+ "Network_ManageEdit_ID_text": "-- Gerät zum Bearbeiten auswählen --",
+ "Network_ManageEdit_Name": "Neuer Gerätename",
"Network_ManageEdit_Name_text": "Name ohne Sonderzeichen",
"Network_ManageEdit_Port": " Neue Portanzahl",
"Network_ManageEdit_Port_text": "bei WLAN oder Powerline leer lassen",
"Network_ManageEdit_Submit": "Speichern",
- "Network_ManageEdit_Type": "Neuer Typ",
- "Network_ManageEdit_Type_text": "-- Typ wählen --",
+ "Network_ManageEdit_Type": "Neuer Gerätetyp",
+ "Network_ManageEdit_Type_text": "-- Typ auswählen --",
"Network_ManageLeaf": "Zuweisungen verwalten",
"Network_ManageUnassign": "Zuweisung aufheben",
"Network_NoAssignedDevices": "Dieser Netzwerkknoten hat keine zugewiesenen Geräte (Kindknoten). Weise eins von unten zu oder gehe in den Details Tab eines Gerätes in Geräte, und weise dort das Gerät einem Netzwerk Knoten und einem Netzwerk Knoten Port zu.",
@@ -665,7 +665,7 @@
"Presence_Shortcut_NewDevices": "Neue Geräte",
"Presence_Title": "Anwesenheit pro Gerät",
"REFRESH_FQDN_description": "",
- "REFRESH_FQDN_name": "",
+ "REFRESH_FQDN_name": "FQDN auffrischen",
"REPORT_APPRISE_description": "Enable sending notifications via Apprise.",
"REPORT_APPRISE_name": "Enable Apprise",
"REPORT_DASHBOARD_URL_description": "Diese URL wird als Basis fürs Erstellen von Links in E-Mails genutzt. Geben Sie die gesamte URL startend mit http:// inklusive der genutzten Portnummer ein (keinen nachfolgenden Schrägstrich / nutzen).",
@@ -708,11 +708,11 @@
"Setting_Override": "Wert überschreiben",
"Setting_Override_Description": "",
"Settings_Metadata_Toggle": "Metadaten für die angegebene Einstellung anzeigen/ausblenden.",
- "Settings_Show_Description": "Beschreibung der Einstellung anzeigen.",
+ "Settings_Show_Description": "Beschreibung anzeigen",
"Settings_device_Scanners_desync": "⚠ Die Zeitpläne des Gerätescanners sind nicht synchronisiert.",
"Settings_device_Scanners_desync_popup": "",
"Speedtest_Results": "Ergebnisse des Geschwindigkeitstests",
- "Systeminfo_AvailableIps": "",
+ "Systeminfo_AvailableIps": "Verfügbare IPs",
"Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "CPU-Kerne:",
"Systeminfo_CPU_Name": "CPU-Name:",
@@ -816,13 +816,13 @@
"WEBHOOK_SIZE_name": "Max payload size",
"WEBHOOK_URL_description": "Target URL starting with http:// or https://.",
"WEBHOOK_URL_name": "Target URL",
- "WF_Action_Add": "",
- "WF_Action_field": "",
- "WF_Action_target": "",
- "WF_Action_target_conditions": "",
+ "WF_Action_Add": "Aktion hinzufügen",
+ "WF_Action_field": "Feld",
+ "WF_Action_target": "Aktion anwenden auf",
+ "WF_Action_target_conditions": "Bedingungen für das Zielgerät",
"WF_Action_token_hint": "",
- "WF_Action_type": "",
- "WF_Action_value": "",
+ "WF_Action_type": "Typ",
+ "WF_Action_value": "Wert",
"WF_Actions": "Aktionen",
"WF_Add": "",
"WF_Add_Condition": "Bedingung hinzufügen",
@@ -851,22 +851,22 @@
"add_option_event_tooltip": "Neuen Wert hinzufügen",
"copy_icons_event_tooltip": "Icons aller Geräte mit demselben Gerätetyp überschreiben",
"device_history_col_changes": "",
- "device_history_col_dropdown": "",
- "device_history_col_source": "",
- "device_history_col_time": "",
+ "device_history_col_dropdown": "Spalten",
+ "device_history_col_source": "Geändert von",
+ "device_history_col_time": "Zeitstempel",
"device_history_empty_state": "",
- "device_history_tab_title": "",
- "device_history_table_title_changes": "",
- "devices_old": "Aktualisiert...",
- "gen_actions": "",
- "gen_content": "",
- "gen_device": "",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "device_history_tab_title": "Änderungsprotokoll",
+ "device_history_table_title_changes": "Änderungen",
+ "devices_old": "Wird aufgefrischt …",
+ "gen_actions": "Aktionen",
+ "gen_content": "Inhalt",
+ "gen_device": "Gerät",
+ "gen_level": "Stufe",
+ "gen_read": "Lesen",
+ "gen_timestamp": "Zeitstempel",
"general_event_description": "Das Ereignis, das Sie ausgelöst haben, könnte eine Weile dauern, bis Hintergrundprozesse abgeschlossen sind. Die Ausführung endet, wenn die unten ausgeführte Warteschlangen abgearbeitet ist. (Siehe error log, wenn Probleme auftreten.)
Ausführungsschlange:",
"general_event_title": "",
- "go_to_device_event_tooltip": "",
+ "go_to_device_event_tooltip": "Zum Gerät navigieren",
"go_to_node_event_tooltip": "",
"new_version_available": "Es ist eine neue Version verfügbar.",
"report_guid": "",
@@ -874,7 +874,7 @@
"report_select_format": "Format auswählen:",
"report_time": "Benachrichtigungszeit:",
"run_event_tooltip": "Aktiviere die Einstellung und speichere deine Änderungen, bevor du sie ausführst.",
- "select_icon_event_tooltip": "",
+ "select_icon_event_tooltip": "Symbol auswählen",
"settings_core_icon": "",
"settings_core_label": "Kern",
"settings_device_scanners": "",
@@ -903,4 +903,4 @@
"settings_system_label": "System",
"settings_update_item_warning": "",
"test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen."
-}
\ No newline at end of file
+}
diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json
index 7039b1694..89172c063 100644
--- a/front/php/templates/language/es_es.json
+++ b/front/php/templates/language/es_es.json
@@ -1,5 +1,5 @@
{
- "API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generará un archivo JSON y luego lo expondrá a través del archivo table_custom_endpoint.json.",
+ "API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generará un archivo JSON y luego lo expondrá a través del punto final del archivo table_custom_endpoint.json.",
"API_CUSTOM_SQL_name": "Endpoint personalizado",
"API_TOKEN_description": "Token de API para comunicación segura. Genere uno o introduzca cualquier valor. Se envía en el encabezado de la solicitud y se usa en el complemento SYNC, el servidor GraphQL y otros puntos de conexión de la API. Puede usar los puntos de conexión de la API para crear integraciones personalizadas, como se describe en la documentación de la API.",
"API_TOKEN_name": "Token de la API",
@@ -70,10 +70,10 @@
"DAYS_TO_KEEP_EVENTS_name": "Eliminar eventos anteriores a",
"DEEP_SLEEP_description": "Reduce el uso de la CPU al extender los tiempos de espera entre los ciclos de procesamiento. Cuando se habilita, los análisis pueden retrasarse hasta un minuto y la interfaz de usuario puede volverse menos reactiva.",
"DEEP_SLEEP_name": "Sueño profundo",
- "DEV_HIST_DAYS_description": "",
- "DEV_HIST_DAYS_name": "",
- "DEV_HIST_TRACKED_description": "",
- "DEV_HIST_TRACKED_name": "",
+ "DEV_HIST_DAYS_description": "Número de días durante los cuales se conservará el historial de cambios de los campos del dispositivo. Establezca el valor en 0 para desactivar completamente el motor de auditoría y reducir el uso de recursos.",
+ "DEV_HIST_DAYS_name": "Retención del historial de cambios en las columna",
+ "DEV_HIST_TRACKED_description": "Columnas de dispositivos que se supervisarán para detectar cambios. Añada o elimine nombres de campos para controlar qué elementos se auditan en el registro de cambios.",
+ "DEV_HIST_TRACKED_name": "Cambios de columnas supervisados",
"DISCOVER_PLUGINS_description": "Desactive esta opción para acelerar la inicialización y el ahorro de ajustes. Cuando está desactivado, los plugins no se descubren y no puede añadir nuevos plugins a la configuración LOADED_PLUGINS.",
"DISCOVER_PLUGINS_name": "Descubrir plugins",
"DevDetail_Children_Title": "Relaciones hijo",
@@ -104,12 +104,12 @@
"DevDetail_MainInfo_Location": "Ubicación",
"DevDetail_MainInfo_Name": "Nombre",
"DevDetail_MainInfo_Network": " Nodo (MAC)",
- "DevDetail_MainInfo_Network_Port": " Puerto de Red HW",
+ "DevDetail_MainInfo_Network_Port": " Puerto",
"DevDetail_MainInfo_Network_Site": "Lugar",
- "DevDetail_MainInfo_Network_Title": "Red",
+ "DevDetail_MainInfo_Network_Title": "Detalles de red",
"DevDetail_MainInfo_Owner": "Propietario",
"DevDetail_MainInfo_SSID": "SSID",
- "DevDetail_MainInfo_Title": "Información principal",
+ "DevDetail_MainInfo_Title": "Información del dispositivo",
"DevDetail_MainInfo_Type": "Tipo",
"DevDetail_MainInfo_Vendor": "Proveedor",
"DevDetail_MainInfo_mac": "MAC",
@@ -147,7 +147,7 @@
"DevDetail_SessionTable_Duration": "Duración",
"DevDetail_SessionTable_IP": "Dirección IP",
"DevDetail_SessionTable_Order": "Ordenar",
- "DevDetail_Shortcut_CurrentStatus": "Estado actual",
+ "DevDetail_Shortcut_CurrentStatus": "Estado",
"DevDetail_Shortcut_DownAlerts": "Alerta(s) de caída(s)",
"DevDetail_Shortcut_Presence": "Historial",
"DevDetail_Shortcut_Sessions": "Sesiones",
@@ -186,7 +186,7 @@
"DevDetail_Tab_Tools_Traceroute_Error": "Error: la dirección IP no es válida",
"DevDetail_Tab_Tools_Traceroute_Start": "Iniciar Traceroute",
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
- "DevDetail_Tools_WOL": "Enviar comando WOL a ",
+ "DevDetail_Tools_WOL": "Enviar comando WoL a ",
"DevDetail_Tools_WOL_noti": "Wake-on-LAN",
"DevDetail_Tools_WOL_noti_text": "El comando de Wake-on-LAN en enviado a la dirección de escucha. Si el dispositivo no está en la misma subred/vlan que NetAlertX, el dispositivo no responderá.",
"DevDetail_Type_hover": "El tipo de dispositivo. Si selecciona cualquiera de los dispositivos de la red predefinidos (por ejemplo: AP, Firewall, enrutador, conmutador ...), aparecerán en la configuración del árbol de redes como posibles nodos de la red principal.",
@@ -209,7 +209,7 @@
"Device_MultiEdit_Backup": "Tenga cuidado, ingresar valores incorrectos o romperá su configuración. Por favor, haga una copia de seguridad de su base de datos o de la configuración de los dispositivos primero (haga clic para descargar ). Lea cómo recuperar dispositivos de este archivo en la documentación de Copia de seguridad. Para aplicar sus cambios haga click en el ícono de Guardar en cada campo que quiera actualizar.",
"Device_MultiEdit_Fields": "Editar campos:",
"Device_MultiEdit_MassActions": "Acciones masivas:",
- "Device_MultiEdit_No_Devices": "Sin dispositivo seleccionado.",
+ "Device_MultiEdit_No_Devices": "No hay dispositivos seleccionados.",
"Device_MultiEdit_Tooltip": "Cuidado. Al hacer clic se aplicará el valor de la izquierda a todos los dispositivos seleccionados anteriormente.",
"Device_NextScan_Imminent": "Inminente...",
"Device_NextScan_In": "Próximo escaneo en aproximadamentet ",
@@ -240,7 +240,7 @@
"Device_TableHead_FQDN": "FQDN",
"Device_TableHead_Favorite": "Favorito",
"Device_TableHead_FirstSession": "1ra. sesión",
- "Device_TableHead_Flapping": "Inestable",
+ "Device_TableHead_Flapping": "Agitar",
"Device_TableHead_GUID": "GUID",
"Device_TableHead_Group": "Grupo",
"Device_TableHead_IPv4": "IPv4",
@@ -255,8 +255,8 @@
"Device_TableHead_Name": "Nombre",
"Device_TableHead_NetworkSite": "Lugar de la red",
"Device_TableHead_Owner": "Propietario",
- "Device_TableHead_ParentRelType": "Tipo de relación",
- "Device_TableHead_Parent_MAC": "Nodo principal de la red",
+ "Device_TableHead_ParentRelType": "Relación",
+ "Device_TableHead_Parent_MAC": "Nodo antecesor",
"Device_TableHead_Port": "Puerto",
"Device_TableHead_PresentLastScan": "Historial",
"Device_TableHead_ReqNicsOnline": "Requiere que la interfaz de red (NIC) esté conectada",
@@ -283,7 +283,7 @@
"ENCRYPTION_KEY_name": "Llave de cifrado",
"Email_display_name": "Email",
"Email_icon": "",
- "Events_Loading": "Cargando. . .",
+ "Events_Loading": "Cargando…",
"Events_Periodselect_All": "Toda la información",
"Events_Periodselect_LastMonth": "El mes pasado",
"Events_Periodselect_LastWeek": "La semana pasada",
@@ -345,7 +345,7 @@
"Gen_Down": "Caído",
"Gen_Error": "Error",
"Gen_Filter": "Filtro",
- "Gen_Flapping": "Inestable",
+ "Gen_Flapping": "Agitado",
"Gen_Generate": "Generar",
"Gen_InvalidMac": "Dirección MAC inválida.",
"Gen_Invalid_Value": "Un valor inválido fue ingresado",
@@ -370,7 +370,7 @@
"Gen_SelectIcon": "",
"Gen_SelectToPreview": "Seleccionar para previsualizar",
"Gen_Selected_Devices": "Dispositivos seleccionados:",
- "Gen_Sleeping": "",
+ "Gen_Sleeping": "En reposo",
"Gen_Subnet": "Subred",
"Gen_Switch": "Cambiar",
"Gen_Upd": "Actualizado correctamente",
@@ -392,7 +392,7 @@
"LOADED_PLUGINS_name": "Plugins cargados",
"LOG_LEVEL_description": "Esto hará que el registro tenga más información. Util para depurar que eventos se van guardando en la base de datos.",
"LOG_LEVEL_name": "Imprimir registros adicionales",
- "Loading": "Cargando . . .",
+ "Loading": "Cargando…",
"Login_Box": "Ingrese su contraseña",
"Login_Default_PWD": "La contraseña por defecto \"123456\" sigue activa.",
"Login_Info": "Las contraseñas se establecen a través del plugin Establecer contraseña. Compruebe la documentación SETPWD si tiene problemas para iniciar sesión.",
@@ -425,9 +425,9 @@
"Maint_RestartServer": "Restablecer el servidor",
"Maint_Restart_Server_noti_text": "¿Estás seguro de que desea reiniciar el servidor backend? Esto puede causar inconsistencia en la aplicación. Primero haga una copia de seguridad de su configuración.
Nota: Esto puede tardar unos minutos.",
"Maintenance_InitCheck": "Validación inicial",
- "Maintenance_InitCheck_Checking": "Validando . . .",
+ "Maintenance_InitCheck_Checking": "Validando…",
"Maintenance_InitCheck_QuickSetupGuide": "Asegúrece de seguir la guía de configuración rápida.",
- "Maintenance_InitCheck_Success": "¡Aplicación inicializada con éxito!",
+ "Maintenance_InitCheck_Success": "¡Aplicación inicializada correctamente!",
"Maintenance_ReCheck": "Reintentar validación",
"Maintenance_Running_Version": "Versión instalada",
"Maintenance_Status": "Situación",
@@ -436,16 +436,16 @@
"Maintenance_Tool_DownloadConfig_text": "Descargue una copia de seguridad completa de su configuración de ajustes almacenada en el archivo app.conf.",
"Maintenance_Tool_DownloadWorkflows": "Exportación de flujos de trabajo",
"Maintenance_Tool_DownloadWorkflows_text": "Descargue una copia de seguridad completa de sus flujos de trabajo almacenados en el archivo workflows.json.",
- "Maintenance_Tool_ExportCSV": "Exportación de dispositivos (CSV)",
- "Maintenance_Tool_ExportCSV_noti": "Exportación de dispositivos (CSV)",
+ "Maintenance_Tool_ExportCSV": "Exportación de dispositivos (csv)",
+ "Maintenance_Tool_ExportCSV_noti": "Exportación de dispositivos (csv)",
"Maintenance_Tool_ExportCSV_noti_text": "¿Está seguro de que quiere generar un archivo CSV?",
- "Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo accediendo a esta URL your_NetAlertX_url/php/server/devices.php?action=ExportCSV o activando el plugin Copia de seguridad CSV.",
- "Maintenance_Tool_ImportCSV": "Importación de dispositivos (CSV)",
- "Maintenance_Tool_ImportCSV_noti": "Importación de dispositivos (CSV)",
+ "Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo activando el plugin Copia de seguridad CSV.",
+ "Maintenance_Tool_ImportCSV": "Importación de dispositivos (csv)",
+ "Maintenance_Tool_ImportCSV_noti": "Importación de dispositivos (csv)",
"Maintenance_Tool_ImportCSV_noti_text": "¿Estás seguro de que quieres importar el archivo CSV? Esto sobrescribirá completamente los dispositivos en su base de datos.",
- "Maintenance_Tool_ImportCSV_text": "Antes de usar esta función, haga una copia de seguridad. Importe un archivo CSV (valor separado por comas) que contiene la lista de dispositivos, incluidas las relaciones de red entre nodos de red y dispositivos conectados. Para hacer eso, coloque el archivo CSV llamado devices.csv en su carpeta /config .",
+ "Maintenance_Tool_ImportCSV_text": "Antes de usar esta función, haga una copia de respaldo. Importe un archivo CSV (valor separado por comas) que contiene la lista de dispositivos, incluidas las relaciones de red entre nodos de red y dispositivos conectados. Para hacer eso, coloque el archivo CSV llamado devices.csv en su carpeta /config.",
"Maintenance_Tool_ImportConfig_noti": "Importar ajustes (app.conf)",
- "Maintenance_Tool_ImportPastedCSV": "Importar dispositivos (CSV) (Pegar)",
+ "Maintenance_Tool_ImportPastedCSV": "Importar dispositivos (csv) (pegar)",
"Maintenance_Tool_ImportPastedCSV_noti_text": "¿Seguro que desea importar el CSV pegado? Esto sobrescribirá completamente los dispositivos en su base de datos.",
"Maintenance_Tool_ImportPastedCSV_text": "Antes de usar esta función, por favor haga una copia de seguridad. Importar un archivo CSV (valor separado por comas) que contiene la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados.",
"Maintenance_Tool_ImportPastedConfig": "Importar ajustes (pegar)",
@@ -508,7 +508,7 @@
"Maintenance_Tool_restore": "Restaurar DB",
"Maintenance_Tool_restore_noti": "Restaurar DB",
"Maintenance_Tool_restore_noti_text": "¿Estás seguro de que quieres hacer exactos la restauración de DB? Asegúrese de que ningún escaneo se esté ejecutando actualmente.",
- "Maintenance_Tool_restore_text": "La última copia de seguridad se puede restaurar a través del botón, pero las copias de seguridad anteriores solo se pueden restaurar manualmente. Después de la restauración, realice una verificación de integridad en la base de datos por seguridad, en caso de que el DB estuviera actualmente en acceso de escritura cuando se creó la copia de seguridad.",
+ "Maintenance_Tool_restore_text": "La última copia de respaldo se puede restaurar a través del botón, pero las copias de respaldo anteriores solo se pueden restaurar manualmente. Después de la restauración, realice una verificación de integridad en la base de datos por seguridad, en caso de que la BD estuviera actualmente en acceso de escritura cuando se creó la copia de respaldo.",
"Maintenance_Tool_unlockFields_selecteddev": "Campos dispositivo desbloqueado",
"Maintenance_Tool_unlockFields_selecteddev_noti": "Campos desbloqueo",
"Maintenance_Tool_upgrade_database_noti": "Actualizar la base de datos",
@@ -555,7 +555,7 @@
"NTFY_icon": "",
"Navigation_About": "Acerca de",
"Navigation_AppEvents": "Eventos de la aplicación",
- "Navigation_ChangeHistory": "",
+ "Navigation_ChangeHistory": "Registro de cambios",
"Navigation_Devices": "Dispositivos",
"Navigation_Donations": "Donaciones",
"Navigation_Events": "Eventos",
@@ -609,7 +609,7 @@
"Network_Node_Name": "Nombre de nodo",
"Network_Parent": "Dispositivo primario de la red",
"Network_Root": "Nodo principal",
- "Network_Root_Not_Configured": "Seleccione un tipo de dispositivo de red, por ejemplo un Gateway, en el campo Tipo del dispositivo principal de Internet para empezar a configurar esta pantalla.
Puede encontrar más documentación en la guía ¿Cómo configurar su página de Red?",
+ "Network_Root_Not_Configured": "Seleccione un tipo de dispositivo de red, por ejemplo un Gateway, en el campo Tipo del dispositivo principal de Internet para empezar a configurar esta pantalla.
Puede encontrar más documentación en la guía ¿Cómo configurar su página de Red?",
"Network_Root_Unconfigurable": "Root no configurable",
"Network_ShowArchived": "Mostrar archivado",
"Network_ShowOffline": "Mostrar fuera de línea",
@@ -626,8 +626,8 @@
"PIALERT_WEB_PROTECTION_name": "Habilitar inicio de sesión",
"PLUGINS_KEEP_HIST_description": "¿Cuántas entradas de los resultados del análisis del historial de complementos deben conservarse (globalmente, no específico del dispositivo!).",
"PLUGINS_KEEP_HIST_name": "Historial de complementos",
- "PRAGMA_JOURNAL_SIZE_LIMIT_description": "",
- "PRAGMA_JOURNAL_SIZE_LIMIT_name": "",
+ "PRAGMA_JOURNAL_SIZE_LIMIT_description": "Tamaño máximo del WAL (Write-Ahead Log) de SQLite en MB antes de activar puntos de control automáticos. Los valores más bajos (10–20 MB) reducen el uso del disco o almacenamiento, pero aumentan el uso de la CPU durante los análisis. Los valores más altos (50–100 MB) reducen los picos de uso de la CPU durante las operaciones, pero pueden utilizar más memoria RAM y espacio en disco. El valor predeterminado de 50 MB ofrece un equilibrio entre ambos. Resulta útil para sistemas con recursos limitados, como dispositivos NAS con tarjetas SD. Reinicie el servidor después de guardar la configuración para que los cambios surtan efecto.",
+ "PRAGMA_JOURNAL_SIZE_LIMIT_name": "Límite de tamaño del WAL (MB)",
"PUSHSAFER_TOKEN_description": "Su clave secreta de la API de Pushsafer (token).",
"PUSHSAFER_TOKEN_name": "Token de Pushsafer",
"PUSHSAFER_display_name": "Pushsafer",
@@ -653,7 +653,7 @@
"Presence_Key_OnlinePastMiss": "Anterior en línea (miss-match)",
"Presence_Key_OnlinePastMiss_desc": "Dispositivo en línea en el pasado, pero actualmente desconectado, pero la sesión de inicio podría estar faltando o tiene datos conflictivos.",
"Presence_Key_OnlinePast_desc": "Dispositivo en línea en el pasado, pero actualmente no conectado.",
- "Presence_Loading": "Cargando. . .",
+ "Presence_Loading": "Cargando…",
"Presence_Shortcut_AllDevices": "Mis dispositivos",
"Presence_Shortcut_Archived": "Archivado(s)",
"Presence_Shortcut_Connected": "Conectado(s)",
@@ -684,9 +684,9 @@
"REPORT_TO_name": "Enviar el email a",
"REPORT_WEBHOOK_description": "Habilite webhooks para notificaciones. Los webhooks lo ayudan a conectarse a muchas herramientas de terceros, como IFTTT, Zapier o n8n, por nombrar algunas. Consulte esta sencilla guía de n8n aquí para obtener comenzó. Si está habilitado, configure los ajustes relacionados a continuación.",
"REPORT_WEBHOOK_name": "Habilitar webhooks",
- "RandomMAC_hover": "Autodetectado: indica si el dispositivo aleatoriza su dirección MAC. Puede excluir direcciones MAC específicas con la configuración UI_NOT_RANDOM_MAC. Haga clic para obtener más información.",
+ "RandomMAC_hover": "Este dispositivo tiene una dirección MAC aleatoria",
"Reports_Sent_Log": "Registro de informes enviados",
- "SCAN_SUBNETS_description": "La mayoría de los escáneres en red (ARP-SCAN, NMAP, NSLOOKUP, DIG) se basan en el escaneo de interfaces de red y subredes específicas. Consulte la documentación sobre subredes para obtener ayuda sobre esta configuración, especialmente VLANs, qué VLANs son compatibles, o cómo averiguar la máscara de red y su interfaz.
Una alternativa a los escáneres en red es habilitar algunos otros escáneres/importadores de dispositivos que no dependen de que NetAlertX tenga acceso a la red (UNIFI, dhcp.leases, PiHole, etc.).
Nota: El tiempo de escaneo en sí depende del número de direcciones IP a comprobar, así que configure esto cuidadosamente con la máscara de red y la interfaz adecuadas.",
+ "SCAN_SUBNETS_description": "La mayoría de los escáneres en red (ARP‐SCAN, NMAP, NSLOOKUP, DIG) se basan en el escaneo de interfaces de red y subredes específicas. Consulte la documentación sobre subredes para obtener ayuda sobre esta configuración, especialmente VLANs, qué VLANs son compatibles, o cómo averiguar la máscara de red y su interfaz.
Una alternativa a los escáneres en red es habilitar algunos otros escáneres/importadores de dispositivos que no dependen de que NetAlertX tenga acceso a la red (UNIFI, dhcp.leases, PiHole, etc.).
Nota: El tiempo de escaneo en sí depende del número de direcciones IP a comprobar, así que configure esto cuidadosamente con la máscara de red y la interfaz adecuadas.",
"SCAN_SUBNETS_name": "Subredes para escanear",
"SMTP_FORCE_SSL_description": "Forzar SSL al conectarse a su servidor SMTP",
"SMTP_FORCE_SSL_name": "Forzar SSL",
@@ -706,7 +706,7 @@
"Setting_Override": "Sobreescribir el valor",
"Setting_Override_Description": "Habilitar esta opción anulará un valor predeterminado proporcionado por la aplicación con el valor especificado anteriormente.",
"Settings_Metadata_Toggle": "Mostrar/ocultar los metadatos de la configuración.",
- "Settings_Show_Description": "Mostrar descripción de la configuración.",
+ "Settings_Show_Description": "Mostrar descripción",
"Settings_Title": " Configuración",
"Settings_device_Scanners_desync": "⚠ Los horarios del escáner de los dispositivos no están sincronizados.",
"Settings_device_Scanners_desync_popup": "Los horarios de escáneres de dispositivos ( *_RUN_SCHD ) no son lo mismo. Esto resultará en notificaciones inconsistentes del dispositivo en línea/fuera de línea. A menos que sea así, utilice el mismo horario para todos los habilitados. 🔍Escáneres de dispositivos .",
@@ -744,7 +744,7 @@
"Systeminfo_Network_HTTP_Referer": "Referido HTTP:",
"Systeminfo_Network_HTTP_Referer_String": "Sin referencia HTTP",
"Systeminfo_Network_Hardware": "Hardware de red",
- "Systeminfo_Network_Hardware_Interface_Mask": "Máscara de red",
+ "Systeminfo_Network_Hardware_Interface_Mask": "Máscara de Red",
"Systeminfo_Network_Hardware_Interface_Name": "Nombre de la interfaz",
"Systeminfo_Network_Hardware_Interface_RX": "Recibido",
"Systeminfo_Network_Hardware_Interface_TX": "Transmitido",
@@ -782,7 +782,7 @@
"Systeminfo_System_OSVersion": "Sistema Operativo:",
"Systeminfo_System_Running_Processes": "Procesos corriendo:",
"Systeminfo_System_System": "Sistema:",
- "Systeminfo_System_Uname": "Uname:",
+ "Systeminfo_System_Uname": "Anónimo:",
"Systeminfo_System_Uptime": "Tiempo de actividad:",
"Systeminfo_This_Client": "Este cliente",
"Systeminfo_USB_Devices": "Dispositivos USB",
@@ -815,9 +815,9 @@
"WEBHOOK_URL_name": "URL de destino",
"WF_Action_Add": "Agregar acción",
"WF_Action_field": "Campo",
- "WF_Action_target": "",
- "WF_Action_target_conditions": "",
- "WF_Action_token_hint": "",
+ "WF_Action_target": "Aplicar acción a",
+ "WF_Action_target_conditions": "Condiciones del dispositivo de destino",
+ "WF_Action_token_hint": "Utilice {{trigger.COLUMN}} para hacer referencia al dispositivo que activó el evento (por ejemplo, {{trigger.devLastIP}}, {{trigger.devMac}})",
"WF_Action_type": "Tipo",
"WF_Action_value": "Valor",
"WF_Actions": "Acciones",
@@ -841,27 +841,27 @@
"WF_Save": "Guardar flujos de trabajo",
"WF_Trigger": "Disparador",
"WF_Trigger_event_type": "Tipo de evento",
- "WF_Trigger_type": "TIpo de disparador",
+ "WF_Trigger_type": "Tipo de disparador",
"Webhooks_display_name": "Webhooks",
"Webhooks_icon": "",
"Webhooks_settings_group": " Webhooks",
"add_icon_event_tooltip": "Agregar nuevo icono",
"add_option_event_tooltip": "Añadir nuevo valor",
"copy_icons_event_tooltip": "Sobrescribir los iconos de todos los dispositivos con el mismo tipo de dispositivo",
- "device_history_col_changes": "",
- "device_history_col_dropdown": "",
- "device_history_col_source": "",
- "device_history_col_time": "",
- "device_history_empty_state": "",
- "device_history_tab_title": "",
- "device_history_table_title_changes": "",
- "devices_old": "Refrescando . . .",
- "gen_actions": "",
- "gen_content": "",
- "gen_device": "",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "device_history_col_changes": "Seleccione qué columnas se supervisan mediante la configuración DEV_HIST_TRACKED.",
+ "device_history_col_dropdown": "Columnas",
+ "device_history_col_source": "Modificado por",
+ "device_history_col_time": "Marca de tiempo",
+ "device_history_empty_state": "No se han registrado cambios en las propiedades durante el período de retención configurado.",
+ "device_history_tab_title": "Registro de cambios",
+ "device_history_table_title_changes": "Cambios",
+ "devices_old": "Refrescando…",
+ "gen_actions": "Acciones",
+ "gen_content": "Contenido",
+ "gen_device": "Dispositivo",
+ "gen_level": "Nivel",
+ "gen_read": "Leer",
+ "gen_timestamp": "Marca de tiempo",
"general_event_description": "El evento que ha activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecución finalizó una vez que se vacía la cola de ejecución a continuación (consulte el registro de errores si encuentra problemas).
Cola de ejecución:",
"general_event_title": "Ejecutar un evento ad-hoc",
"go_to_device_event_tooltip": "Navegar al dispositivo",
@@ -879,14 +879,14 @@
"settings_device_scanners_icon": "fa-solid fa-magnifying-glass-plus",
"settings_device_scanners_info": "Cargue más escáneres de dispositivos con el ajuste LOADED_PLUGINS",
"settings_device_scanners_label": "Escáneres de dispositivos",
- "settings_enabled": "Configuración activada",
+ "settings_enabled": "Habilitar complementos",
"settings_enabled_icon": "fa-solid fa-toggle-on",
"settings_expand_all": "Expandir todo",
"settings_imported": "Última vez que los ajustes fueron importados desde el archivo app.conf",
"settings_imported_label": "Configuración importada",
"settings_missing": "No se han cargado todos los ajustes. Carga alta en la base de datos o secuencia de inicio de la app. Haz clic en el botón 🔄 recargar en la parte superior.",
"settings_missing_block": "Error: La configuración no se ha cargado correctamente. Haga clic en el botón de recarga 🔄 en la parte superior, alternativamente, compruebe el registro del navegador para más detalles (F12).",
- "settings_old": "Importar ajustes y reiniciar. . .",
+ "settings_old": "Importar ajustes y reiniciar…",
"settings_other_scanners": "Otros plugins de escáner no relacionados con dispositivos que están activados actualmente.",
"settings_other_scanners_icon": "fa-solid fa-recycle",
"settings_other_scanners_label": "Otros escáneres",
@@ -896,9 +896,9 @@
"settings_publishers_label": "Editores",
"settings_readonly": "No se puede LEER ni ESCRIBIR app.conf. Intente reiniciar el contenedor y lea la documentación de permisos de archivo",
"settings_saved": "
Ajustes guardados.
Recargando. . .
",
- "settings_saved_background": "",
+ "settings_saved_background": "Configuración guardada. Los cambios se están aplicando en segundo plano.",
"settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "Sistema",
"settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. O la validación no se realiza.",
"test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes."
-}
\ No newline at end of file
+}
diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json
index 2254af9fb..3192caa1c 100644
--- a/front/php/templates/language/fr_fr.json
+++ b/front/php/templates/language/fr_fr.json
@@ -785,12 +785,12 @@
"device_history_tab_title": "Journaux des changements",
"device_history_table_title_changes": "Changements",
"devices_old": "Rafraichissement…",
- "gen_actions": "",
- "gen_content": "",
+ "gen_actions": "Actions",
+ "gen_content": "Contenu",
"gen_device": "Appareil",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "gen_level": "Niveau",
+ "gen_read": "Lire",
+ "gen_timestamp": "Horodatage",
"general_event_description": "L'événement que vous avez lancé peut prendre du temps avant que les tâches de fond ne soit terminées. La durée d'exécution finira une fois que la file d'exécution ci-dessous sera vide (consulter les journaux d'erreur si vous rencontrez des erreurs).
File d'exécution :",
"general_event_title": "Lancement d'un événement sur mesure",
"go_to_device_event_tooltip": "Naviguer vers cet appareil",
@@ -830,4 +830,4 @@
"settings_system_label": "Système",
"settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.",
"test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage."
-}
\ No newline at end of file
+}
diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json
index 477600698..27b4ad681 100644
--- a/front/php/templates/language/it_it.json
+++ b/front/php/templates/language/it_it.json
@@ -785,12 +785,12 @@
"device_history_tab_title": "Registro delle modifiche",
"device_history_table_title_changes": "Modifiche",
"devices_old": "Aggiornamento…",
- "gen_actions": "",
- "gen_content": "",
+ "gen_actions": "Azioni",
+ "gen_content": "Contenuto",
"gen_device": "Dispositivo",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "gen_level": "Livello",
+ "gen_read": "Leggi",
+ "gen_timestamp": "Timestamp",
"general_event_description": "L'evento che hai attivato potrebbe richiedere del tempo prima che i processi in background vengano completati. L'esecuzione è terminata una volta che la coda di esecuzione sottostante si è svuotata (controlla il log degli errori se riscontri problemi).
Coda di esecuzione:",
"general_event_title": "Esecuzione di un evento ad-hoc",
"go_to_device_event_tooltip": "Naviga al dispositivo",
@@ -830,4 +830,4 @@
"settings_system_label": "Sistema",
"settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. La convalida non viene eseguita.",
"test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni."
-}
\ No newline at end of file
+}
diff --git a/front/php/templates/language/ja_jp.json b/front/php/templates/language/ja_jp.json
index 1638f4321..0c71e25e1 100644
--- a/front/php/templates/language/ja_jp.json
+++ b/front/php/templates/language/ja_jp.json
@@ -68,10 +68,10 @@
"DAYS_TO_KEEP_EVENTS_name": "古いイベントの削除",
"DEEP_SLEEP_description": "処理サイクル間のアイドル待機時間を延長することで、CPU使用率を低減します。この機能を有効にすると、スキャンが最大1分間遅延したり、UIの反応が悪くなったりする場合があります。",
"DEEP_SLEEP_name": "ディープスリープ",
- "DEV_HIST_DAYS_description": "",
- "DEV_HIST_DAYS_name": "",
- "DEV_HIST_TRACKED_description": "",
- "DEV_HIST_TRACKED_name": "",
+ "DEV_HIST_DAYS_description": "デバイスフィールドの変更履歴を保持する日数。監査エンジンを完全に停止しリソースを削減したい場合は、0 に設定してください。",
+ "DEV_HIST_DAYS_name": "列の変更の保持",
+ "DEV_HIST_TRACKED_description": "変更を監視するデバイス列。変更ログで記録する内容を制御するには、フィールド名を追加または削除してください。",
+ "DEV_HIST_TRACKED_name": "列の変更履歴",
"DISCOVER_PLUGINS_description": "このオプションを無効にすると、初期化と設定の保存が高速化されます。無効にした場合、プラグインは検出されず、LOADED_PLUGINS 設定に新しいプラグインを追加することはできません。",
"DISCOVER_PLUGINS_name": "プラグインの検出",
"DevDetail_Children_Title": "親子関係",
@@ -529,7 +529,7 @@
"NETWORK_DEVICE_TYPES_name": "ネットワーク機器の種別",
"Navigation_About": "概要",
"Navigation_AppEvents": "アプリイベント",
- "Navigation_ChangeHistory": "",
+ "Navigation_ChangeHistory": "変更履歴",
"Navigation_Devices": "デバイス",
"Navigation_Donations": "寄付",
"Navigation_Events": "イベント",
@@ -777,20 +777,20 @@
"add_icon_event_tooltip": "アイコンの追加",
"add_option_event_tooltip": "値の追加",
"copy_icons_event_tooltip": "同じ種別の全デバイスにアイコンを上書き",
- "device_history_col_changes": "",
- "device_history_col_dropdown": "",
- "device_history_col_source": "",
- "device_history_col_time": "",
- "device_history_empty_state": "",
- "device_history_tab_title": "",
- "device_history_table_title_changes": "",
+ "device_history_col_changes": "DEV_HIST_TRACKED 設定を使用して、追跡対象の列を選択します。",
+ "device_history_col_dropdown": "列",
+ "device_history_col_source": "変更者",
+ "device_history_col_time": "タイムスタンプ",
+ "device_history_empty_state": "設定された保持期間内に、プロパティの変更は記録されていません。",
+ "device_history_tab_title": "変更履歴",
+ "device_history_table_title_changes": "変更",
"devices_old": "リフレッシュ中…",
- "gen_actions": "",
- "gen_content": "",
- "gen_device": "",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "gen_actions": "アクション",
+ "gen_content": "コンテンツ",
+ "gen_device": "デバイス",
+ "gen_level": "レベル",
+ "gen_read": "読取",
+ "gen_timestamp": "タイムスタンプ",
"general_event_description": "トリガーされたイベントは、バックグラウンド処理が完了するまで時間がかかる場合があります。以下の実行キューが空になると処理は終了します(問題が発生した場合は エラーログ を確認してください)。
実行キュー:",
"general_event_title": "アドホックイベントの実行",
"go_to_device_event_tooltip": "デバイスに移動",
@@ -830,4 +830,4 @@
"settings_system_label": "システム",
"settings_update_item_warning": "以下の値を更新してください。以前のフォーマットに従うよう注意してください。検証は行われません。",
"test_event_tooltip": "設定をテストする前に、まず変更を保存してください。"
-}
\ No newline at end of file
+}
diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json
index 5902520fa..1089c6dd8 100644
--- a/front/php/templates/language/ru_ru.json
+++ b/front/php/templates/language/ru_ru.json
@@ -68,10 +68,10 @@
"DAYS_TO_KEEP_EVENTS_name": "Удалить события старше",
"DEEP_SLEEP_description": "Снижает нагрузку на процессор за счет увеличения времени ожидания между циклами обработки. При включении, сканирование может быть отложено до 1 минуты, а пользовательский интерфейс может стать менее отзывчивым.",
"DEEP_SLEEP_name": "Глубокий сон",
- "DEV_HIST_DAYS_description": "",
- "DEV_HIST_DAYS_name": "",
- "DEV_HIST_TRACKED_description": "",
- "DEV_HIST_TRACKED_name": "",
+ "DEV_HIST_DAYS_description": "Количество дней для хранения истории изменений полей устройства. Установите значение 0, чтобы полностью отключить механизм аудита и сократить использование ресурсов.",
+ "DEV_HIST_DAYS_name": "Сохранение изменений столбца",
+ "DEV_HIST_TRACKED_description": "Столбцы устройств для отслеживания изменений. Добавьте или удалите имена полей, чтобы контролировать, что будет проверяться в журнале изменений.",
+ "DEV_HIST_TRACKED_name": "Отслеживание изменений столбцов",
"DISCOVER_PLUGINS_description": "Отключите эту опцию, чтобы ускорить инициализацию и сохранение настроек. При отключении этой опции плагины не обнаруживаются, и вы не можете добавлять новые плагины в параметр LOADED_PLUGINS.",
"DISCOVER_PLUGINS_name": "Обзор плагинов",
"DevDetail_Children_Title": "Дочерние отношения",
@@ -529,7 +529,7 @@
"NETWORK_DEVICE_TYPES_name": "Типы сетевых устройств",
"Navigation_About": "О NetAlertX",
"Navigation_AppEvents": "События приложения",
- "Navigation_ChangeHistory": "",
+ "Navigation_ChangeHistory": "Журнал изменений",
"Navigation_Devices": "Устройства",
"Navigation_Donations": "Пожертвования",
"Navigation_Events": "События",
@@ -777,20 +777,20 @@
"add_icon_event_tooltip": "Добавить новую иконку",
"add_option_event_tooltip": "Добавить новое значение",
"copy_icons_event_tooltip": "Заменить иконки всех устройств с одним и тем же типом устройства",
- "device_history_col_changes": "",
- "device_history_col_dropdown": "",
- "device_history_col_source": "",
- "device_history_col_time": "",
- "device_history_empty_state": "",
- "device_history_tab_title": "",
- "device_history_table_title_changes": "",
+ "device_history_col_changes": "Выберите, какие столбцы отслеживаются, с помощью параметра DEV_HIST_TRACKED.",
+ "device_history_col_dropdown": "Столбцы",
+ "device_history_col_source": "Изменено",
+ "device_history_col_time": "Временная метка",
+ "device_history_empty_state": "Никаких изменений свойств в настроенном окне хранения не зарегистрировано.",
+ "device_history_tab_title": "Журнал изменений",
+ "device_history_table_title_changes": "Изменения",
"devices_old": "Актуализируется…",
- "gen_actions": "",
- "gen_content": "",
- "gen_device": "",
- "gen_level": "",
- "gen_read": "",
- "gen_timestamp": "",
+ "gen_actions": "Действия",
+ "gen_content": "Содержание",
+ "gen_device": "Устройство",
+ "gen_level": "Уровень",
+ "gen_read": "Прочитать",
+ "gen_timestamp": "Временная метка",
"general_event_description": "Событие, которое вы инициировали, может занять некоторое время, прежде чем фоновые процессы завершатся. Выполнение завершится, как только очередь выполнения, указанная ниже, опустеет (Проверьте журнал ошибок при возникновении проблем).
· · Очередь выполнения:",
"general_event_title": "Выполнение специального события",
"go_to_device_event_tooltip": "Перейти к устройству",
@@ -830,4 +830,4 @@
"settings_system_label": "Система",
"settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. Проверка не выполняется.",
"test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки."
-}
\ No newline at end of file
+}
diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json
index c2da26e36..1a14b675d 100644
--- a/front/php/templates/language/zh_cn.json
+++ b/front/php/templates/language/zh_cn.json
@@ -67,7 +67,7 @@
"DAYS_TO_KEEP_EVENTS_description": "这是维护设置。它指定将保留的事件条目的天数。所有较旧的事件将被定期删除。也适用于插件事件历史记录。",
"DAYS_TO_KEEP_EVENTS_name": "删除早于",
"DEEP_SLEEP_description": "",
- "DEEP_SLEEP_name": "",
+ "DEEP_SLEEP_name": "深度睡眠",
"DEV_HIST_DAYS_description": "",
"DEV_HIST_DAYS_name": "",
"DEV_HIST_TRACKED_description": "",
@@ -210,16 +210,16 @@
"Device_MultiEdit_No_Devices": "未选择设备。",
"Device_MultiEdit_Tooltip": "小心。 单击此按钮会将左侧的值应用到上面选择的所有设备。",
"Device_NextScan_Imminent": "",
- "Device_NextScan_In": "",
+ "Device_NextScan_In": "下一次扫描将大致进行于 ",
"Device_NoData_Help": "",
"Device_NoData_Scanning": "",
- "Device_NoData_Title": "",
- "Device_NoMatch_Title": "",
+ "Device_NoData_Title": "没有找到设备",
+ "Device_NoMatch_Title": "没有设备符合当前过滤选项",
"Device_Save_Failed": "保存设备失败",
"Device_Save_Unauthorized": "未授权 - API 令牌无效",
"Device_Saved_Success": "设备保存成功",
"Device_Saved_Unexpected": "设备更新返回了一个意外的响应",
- "Device_Scanning": "",
+ "Device_Scanning": "扫描中...",
"Device_Searchbox": "搜索",
"Device_Shortcut_AllDevices": "我的设备",
"Device_Shortcut_AllNodes": "全部节点",
@@ -329,7 +329,7 @@
"Gen_AddDevice": "添加设备",
"Gen_Add_All": "全部添加",
"Gen_All_Devices": "所有设备",
- "Gen_Archived": "",
+ "Gen_Archived": "已备份",
"Gen_AreYouSure": "你确定吗?",
"Gen_Backup": "运行备份",
"Gen_Cancel": "取消",
@@ -783,14 +783,14 @@
"device_history_col_time": "",
"device_history_empty_state": "",
"device_history_tab_title": "",
- "device_history_table_title_changes": "",
+ "device_history_table_title_changes": "更改",
"devices_old": "刷新中…",
"gen_actions": "",
"gen_content": "",
"gen_device": "",
"gen_level": "",
"gen_read": "",
- "gen_timestamp": "",
+ "gen_timestamp": "时间戳",
"general_event_description": "您触发的事件可能需要一段时间才能完成后台进程。一旦以下执行队列清空,执行就会结束(如果遇到问题,请检查错误日志)。
执行队列:",
"general_event_title": "执行自组织网络事件",
"go_to_device_event_tooltip": "前往设备页面",
@@ -825,9 +825,9 @@
"settings_publishers_label": "出版商",
"settings_readonly": "无法读或写app.conf。请尝试重启容器并阅读文件权限文档",
"settings_saved": "
设置已保存。
正在加载…
",
- "settings_saved_background": "",
+ "settings_saved_background": "设置已经保存。修改正在后台执行。",
"settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "系统",
"settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。未执行验证。",
"test_event_tooltip": "在测试设置之前,请先保存更改。"
-}
\ No newline at end of file
+}
diff --git a/front/plugins/_publisher_email/email_smtp.py b/front/plugins/_publisher_email/email_smtp.py
index 37cc36107..af9300212 100755
--- a/front/plugins/_publisher_email/email_smtp.py
+++ b/front/plugins/_publisher_email/email_smtp.py
@@ -111,22 +111,30 @@ def send(pHTML, pText):
mylog('debug', [f'[{pluginName}] SMTP_REPORT_TO: {hide_email(str(get_setting_value("SMTP_REPORT_TO")))} SMTP_USER: {hide_email(str(get_setting_value("SMTP_USER")))}'])
- subject, from_email, to_email, message_html, message_text = sanitize_email_content(
+ to_emails = []
+
+ # handle multiple emails
+ if ',' in get_setting_value("SMTP_REPORT_TO"):
+ to_emails = get_setting_value("SMTP_REPORT_TO").split(',')
+ else:
+ to_emails.append(get_setting_value("SMTP_REPORT_TO"))
+
+ # remove empty array and whitespace only entries
+ to_emails = [x for x in to_emails if x and x.strip()]
+
+ # throw error if array empty
+ if not to_emails:
+ mylog('none', [f'[Email Check Config] ⚠ ERROR: Email service not set up correctly. Check your {confFileName} SMTP_REPORT_TO variable.'])
+ return False
+
+ subject, from_email, emails, message_html, message_text = sanitize_email_content(
str(get_setting_value("SMTP_SUBJECT")),
get_setting_value("SMTP_REPORT_FROM"),
- get_setting_value("SMTP_REPORT_TO"),
+ to_emails,
pHTML,
pText
)
- emails = []
-
- # handle multiple emails
- if ',' in to_email:
- emails = to_email.split(',')
- else:
- emails.append(to_email)
-
mylog('debug', [f'[{pluginName}] Sending emails to {emails}'])
for mail_addr in emails:
@@ -213,12 +221,12 @@ def send_email(msg, smtp_timeout):
smtp_connection.login(get_setting_value('SMTP_USER'), get_setting_value('SMTP_PASS'))
mylog('debug', ['Sending .sendmail()'])
- smtp_connection.sendmail(get_setting_value("SMTP_REPORT_FROM"), get_setting_value("SMTP_REPORT_TO"), msg.as_string())
+ smtp_connection.sendmail(get_setting_value("SMTP_REPORT_FROM"), msg['To'], msg.as_string())
smtp_connection.quit()
# ----------------------------------------------------------------------------------
-def sanitize_email_content(subject, from_email, to_email, message_html, message_text):
+def sanitize_email_content(subject, from_email, to_emails, message_html, message_text):
# Validate and sanitize subject
subject = Header(subject, 'utf-8').encode()
@@ -226,16 +234,18 @@ def sanitize_email_content(subject, from_email, to_email, message_html, message_
from_name, from_address = parseaddr(from_email)
from_email = Header(from_name, 'utf-8').encode() + ' <' + from_address + '>'
- # Validate and sanitize recipient's email address
- to_name, to_address = parseaddr(to_email)
- to_email = Header(to_name, 'utf-8').encode() + ' <' + to_address + '>'
+ emails = []
+ for to_email in to_emails:
+ # Validate and sanitize recipient's email address
+ to_name, to_address = parseaddr(to_email)
+ emails.append(Header(to_name, 'utf-8').encode() + ' <' + to_address + '>')
# Validate and sanitize message content
# Remove potentially problematic characters
message_html = re.sub(r'[^\x00-\x7F]+', ' ', message_html)
message_text = re.sub(r'[^\x00-\x7F]+', ' ', message_text)
- return subject, from_email, to_email, message_html, message_text
+ return subject, from_email, emails, message_html, message_text
# ----------------------------------------------------------------------------------