From a99dbaef789a8b180e90e6e2bff64093611c7c02 Mon Sep 17 00:00:00 2001 From: Jokob-sk Date: Sat, 16 Mar 2024 09:42:21 +1100 Subject: [PATCH] sysinfo improvements --- docs/SUBNETS.md | 8 +- .../SUBNETS/system_info-network_hardware.png | Bin 0 -> 104515 bytes front/js/pialert_common.js | 12 +- front/js/ui_components.js | 6 +- front/maintenance.php | 11 +- front/php/templates/language/de_de.json | 404 ++++++------ front/php/templates/language/en_us.json | 4 + front/php/templates/language/es_es.json | 580 +++++++++--------- front/php/templates/language/fr_fr.json | 340 +++++----- front/php/templates/language/nb_no.json | 18 +- front/php/templates/language/ru_ru.json | 142 ++--- front/plugins/nslookup_scan/nslookup.py | 2 +- front/systeminfo.php | 95 ++- 13 files changed, 857 insertions(+), 765 deletions(-) create mode 100755 docs/img/SUBNETS/system_info-network_hardware.png diff --git a/docs/SUBNETS.md b/docs/SUBNETS.md index 14371163..f73c4a15 100755 --- a/docs/SUBNETS.md +++ b/docs/SUBNETS.md @@ -12,6 +12,9 @@ You need to specify the network interface and the network mask. You can also con * One subnet: `SCAN_SUBNETS = ['192.168.1.0/24 --interface=eth0']` * Two subnets: `SCAN_SUBNETS = ['192.168.1.0/24 --interface=eth0', '192.168.1.0/24 --interface=eth1 -vlan=107']` + + + ## Explanation ### Network mask @@ -31,7 +34,10 @@ Specify the network filter (which **significantly** speeds up the scan process). The adapter will probably be `eth0` or `eth1`. (Check `System info` > `Network Hardware` or run `iwconfig` in the container to find your interface name(s)) -> Run `ip -o link show | awk -F': ' '!/lo|vir|docker/ {print $2}'` in your container to find your interface name(s) (e.g.: `eth0`, `eth1`). +![Network hardware](/docs/img/SUBNETS/system_info-network_hardware.png) + +> [!TIP] +> Alterantive to `iwconfig` run `ip -o link show | awk -F': ' '!/lo|vir|docker/ {print $2}'` in your container to find your interface name(s) (e.g.: `eth0`, `eth1`). ### VLANs diff --git a/docs/img/SUBNETS/system_info-network_hardware.png b/docs/img/SUBNETS/system_info-network_hardware.png new file mode 100755 index 0000000000000000000000000000000000000000..d7f8ad0bedd80446977db5c38d35edcc4830b989 GIT binary patch literal 104515 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 MV)CFe5rc344^AtA6951J literal 0 HcmV?d00001 diff --git a/front/js/pialert_common.js b/front/js/pialert_common.js index aa0fe143..3b8739be 100755 --- a/front/js/pialert_common.js +++ b/front/js/pialert_common.js @@ -26,12 +26,16 @@ var settingsJSON = {} function getCache(key, noCookie = false) { // check cache - if(localStorage.getItem(key)) + cachedValue = localStorage.getItem(key) + + console.log(cachedValue); + + if(cachedValue) { // check if not expired if(noCookie || getCookie(key + '_session_expiry') != "") { - return localStorage.getItem(key); + return cachedValue; } } @@ -861,7 +865,7 @@ function initDeviceListAll_JSON() $.get('api/table_devices.json', function(data) { - // console.log(data) + console.log(data) devicesListAll_JSON = data["data"] @@ -875,6 +879,8 @@ function initDeviceListAll_JSON() } setCache('devicesListAll_JSON', devicesListAll_JSON_str) + + console.log(getCache('devicesListAll_JSON')) }).then(() => handleSuccess('initDeviceListAll_JSON')).catch(() => handleFailure('initDeviceListAll_JSON')); // handle AJAX synchronization } diff --git a/front/js/ui_components.js b/front/js/ui_components.js index 18de6b46..658403d4 100755 --- a/front/js/ui_components.js +++ b/front/js/ui_components.js @@ -15,10 +15,12 @@ function initDeviceSelectors() { console.log(devicesList) // Retrieve device list from session variable - var devicesListAll_JSON = sessionStorage.getItem('devicesListAll_JSON'); + var devicesListAll_JSON = getCache('devicesListAll_JSON'); var devicesList = JSON.parse(devicesListAll_JSON); + console.log(devicesList); + // Check if both device list exists if (devicesListAll_JSON) { @@ -71,7 +73,7 @@ function initDeviceSelectors() { } - }, 100); + }, 10); } diff --git a/front/maintenance.php b/front/maintenance.php index 14edef2e..d7adeb8e 100755 --- a/front/maintenance.php +++ b/front/maintenance.php @@ -883,18 +883,25 @@ function initializeTabs () { // the #target from the url target = window.location.hash.substr(1) + + // get only the part between #...? if(target.includes('?')) { target = target.split('?')[0] } - console.log(target) + console.log(target); // update cookie if target specified if(target != "") { - setCache(key, target+'_id') // _id is added so it doesn't conflict with AdminLTE tab behavior + + if (!selectedTab.endsWith("_id")) { + selectedTab = target + "_id"; + } + + setCache(key, selectedTab) // _id is added so it doesn't conflict with AdminLTE tab behavior } // get the tab id from the cookie (already overriden by the target) diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index 5327bcc3..50839788 100755 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -1,5 +1,5 @@ { - "API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem Dateiendpunkt table_custom_endpoint.json zur Verfügung stellt.", + "API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem Dateiendpunkt table_custom_endpoint.json zur Verf\u00fcgung stellt.", "API_CUSTOM_SQL_name": "Benutzerdefinierte SQL-Abfrage", "API_display_name": "API", "API_icon": "", @@ -20,11 +20,11 @@ "AppEvents_Helper1": "Helfer 1", "AppEvents_Helper2": "Helfer 2", "AppEvents_Helper3": "Helfer 3", - "AppEvents_ObjectForeignKey": "Unbekannter Schlüssel", + "AppEvents_ObjectForeignKey": "Unbekannter Schl\u00fcssel", "AppEvents_ObjectIndex": "Index", "AppEvents_ObjectIsArchived": "Ist archiviert (Zum Protokoll Zeitpunkt)", "AppEvents_ObjectIsNew": "Ist neu (Zum Protokoll Zeitpunkt)", - "AppEvents_ObjectPlugin": "Verknüpfte Plugins", + "AppEvents_ObjectPlugin": "Verkn\u00fcpfte Plugins", "AppEvents_ObjectPrimaryID": "", "AppEvents_ObjectSecondaryID": "", "AppEvents_ObjectStatus": "", @@ -39,49 +39,49 @@ "BackDevDetail_Actions_Title_Run": "Run action", "BackDevDetail_Copy_Ask": "Copy details from device from the dropdown list (Everything on this page will be overwritten)?", "BackDevDetail_Copy_Title": "Copy details", - "BackDevDetail_Tools_WOL_error": "Befehl wurde NICHT ausgeführt.", - "BackDevDetail_Tools_WOL_okay": "Befehl wurde ausgeführt.", + "BackDevDetail_Tools_WOL_error": "Befehl wurde NICHT ausgef\u00fchrt.", + "BackDevDetail_Tools_WOL_okay": "Befehl wurde ausgef\u00fchrt.", "BackDevices_Arpscan_disabled": "Automatischer Arp-Scan deaktiviert.", "BackDevices_Arpscan_enabled": "Automatischer Arp-Scan aktiviert.", "BackDevices_Backup_CopError": "Die originale Datenbank konnte nicht gesichert werden.", - "BackDevices_Backup_Failed": "Das Backup wurde teilweise ausgeführt. Das Archiv ist entweder leer oder nicht vorhanden.", + "BackDevices_Backup_Failed": "Das Backup wurde teilweise ausgef\u00fchrt. Das Archiv ist entweder leer oder nicht vorhanden.", "BackDevices_Backup_okay": "Das Backup wurde erfolgreich beendet.", - "BackDevices_DBTools_DelActHistory": "Die Anzeige der Netzwerkaktivität wurde zurückgesetzt.", - "BackDevices_DBTools_DelActHistoryError": "Fehler beim Zurücksetzen der Netzwerkaktivitätsanzeige.", - "BackDevices_DBTools_DelDevError_a": "Fehler beim Löschen des Gerätes.", - "BackDevices_DBTools_DelDevError_b": "Fehler beim Löschen der Geräte.", - "BackDevices_DBTools_DelDev_a": "Gerät erfolgreich gelöscht.", - "BackDevices_DBTools_DelDev_b": "Geräte erfolgreich gelöscht.", - "BackDevices_DBTools_DelEvents": "Events erfolgreich gelöscht.", - "BackDevices_DBTools_DelEventsError": "Fehler beim Löschen der Ereignisse.", - "BackDevices_DBTools_ImportCSV": "Die Geräte aus der CSV-Datei wurden erfolgreich importiert.", + "BackDevices_DBTools_DelActHistory": "Die Anzeige der Netzwerkaktivit\u00e4t wurde zur\u00fcckgesetzt.", + "BackDevices_DBTools_DelActHistoryError": "Fehler beim Zur\u00fccksetzen der Netzwerkaktivit\u00e4tsanzeige.", + "BackDevices_DBTools_DelDevError_a": "Fehler beim L\u00f6schen des Ger\u00e4tes.", + "BackDevices_DBTools_DelDevError_b": "Fehler beim L\u00f6schen der Ger\u00e4te.", + "BackDevices_DBTools_DelDev_a": "Ger\u00e4t erfolgreich gel\u00f6scht.", + "BackDevices_DBTools_DelDev_b": "Ger\u00e4te erfolgreich gel\u00f6scht.", + "BackDevices_DBTools_DelEvents": "Events erfolgreich gel\u00f6scht.", + "BackDevices_DBTools_DelEventsError": "Fehler beim L\u00f6schen der Ereignisse.", + "BackDevices_DBTools_ImportCSV": "Die Ger\u00e4te aus der CSV-Datei wurden erfolgreich importiert.", "BackDevices_DBTools_ImportCSVError": "Die CSV-Datei konnte nicht importiert werden. Stellen Sie sicher, dass das Format korrekt ist.", "BackDevices_DBTools_ImportCSVMissing": "Die CSV-Datei konnte nicht in /config/devices.csv gefunden werden.", - "BackDevices_DBTools_Purge": "Die ältesten Backups wurden gelöscht.", - "BackDevices_DBTools_UpdDev": "Gerät erfolgreich aktualisiert.", - "BackDevices_DBTools_UpdDevError": "Fehler beim Aktualisieren des Gerätes.", + "BackDevices_DBTools_Purge": "Die \u00e4ltesten Backups wurden gel\u00f6scht.", + "BackDevices_DBTools_UpdDev": "Ger\u00e4t erfolgreich aktualisiert.", + "BackDevices_DBTools_UpdDevError": "Fehler beim Aktualisieren des Ger\u00e4tes.", "BackDevices_DBTools_Upgrade": "Datenbank erfolgreich aktualisiert.", "BackDevices_DBTools_UpgradeError": "Fehler beim Aktualisieren der Datenbank.", - "BackDevices_Device_UpdDevError": "Konnte Geräte nicht aktualisieren, versuchen Sie es später erneut. Die Datenbank ist wahrscheinlich wegen einer laufenden Aufgabe gesperrt.", + "BackDevices_Device_UpdDevError": "Konnte Ger\u00e4te nicht aktualisieren, versuchen Sie es sp\u00e4ter erneut. Die Datenbank ist wahrscheinlich wegen einer laufenden Aufgabe gesperrt.", "BackDevices_Restore_CopError": "Die originale Datenbank konnte nicht kopiert werden.", "BackDevices_Restore_Failed": "Die Wiederherstellung ist fehlgeschlagen. Stellen Sie das Backup manuell her.", - "BackDevices_Restore_okay": "Die Wiederherstellung wurde erfolgreich ausgeführt.", + "BackDevices_Restore_okay": "Die Wiederherstellung wurde erfolgreich ausgef\u00fchrt.", "BackDevices_darkmode_disabled": "Heller Modus aktiviert.", "BackDevices_darkmode_enabled": "Dunkler Modus aktiviert.", - "DAYS_TO_KEEP_EVENTS_description": "Dies ist eine Wartungseinstellung. Spezifiziert wie viele Tage Events gespeichert bleiben. Alle älteren Events werden periodisch gelöscht. Wird auch auf die Plugins History angewendet.", - "DAYS_TO_KEEP_EVENTS_name": "Lösche Events älter als", - "DevDetail_Copy_Device_Title": " Details von Gerät kopieren", + "DAYS_TO_KEEP_EVENTS_description": "Dies ist eine Wartungseinstellung. Spezifiziert wie viele Tage Events gespeichert bleiben. Alle \u00e4lteren Events werden periodisch gel\u00f6scht. Wird auch auf die Plugins History angewendet.", + "DAYS_TO_KEEP_EVENTS_name": "L\u00f6sche Events \u00e4lter als", + "DevDetail_Copy_Device_Title": " Details von Ger\u00e4t kopieren", "DevDetail_Copy_Device_Tooltip": "Copy details from device from the dropdown list. Everything on this page will be overwritten", "DevDetail_EveandAl_AlertAllEvents": "Melde alle Ereignisse", "DevDetail_EveandAl_AlertDown": "Melde Down", "DevDetail_EveandAl_Archived": "Archivierung", - "DevDetail_EveandAl_NewDevice": "Neues Gerät", + "DevDetail_EveandAl_NewDevice": "Neues Ger\u00e4t", "DevDetail_EveandAl_NewDevice_Tooltip": "", - "DevDetail_EveandAl_RandomMAC": "Zufällige MAC", + "DevDetail_EveandAl_RandomMAC": "Zuf\u00e4llige MAC", "DevDetail_EveandAl_ScanCycle": "Scan Abstand", - "DevDetail_EveandAl_ScanCycle_a": "Gerät scannen", - "DevDetail_EveandAl_ScanCycle_z": "Gerät nicht scannen", - "DevDetail_EveandAl_Skip": "pausiere wiederhol. Meldungen für", + "DevDetail_EveandAl_ScanCycle_a": "Ger\u00e4t scannen", + "DevDetail_EveandAl_ScanCycle_z": "Ger\u00e4t nicht scannen", + "DevDetail_EveandAl_Skip": "pausiere wiederhol. Meldungen f\u00fcr", "DevDetail_EveandAl_Title": "Ereignisse & Alarme einstellen", "DevDetail_Events_CheckBox": "Blende Verbindungs-Ereignisse aus", "DevDetail_GoToNetworkNode": "Navigate to the Network page of the given node.", @@ -96,7 +96,7 @@ "DevDetail_MainInfo_Network": "Netzwerk Knoten", "DevDetail_MainInfo_Network_Port": "Netzwerk Knoten Port", "DevDetail_MainInfo_Network_Title": " Network", - "DevDetail_MainInfo_Owner": "Eigen­tümer", + "DevDetail_MainInfo_Owner": "Eigen­t\u00fcmer", "DevDetail_MainInfo_Title": "Haupt Infos", "DevDetail_MainInfo_Type": "Typ", "DevDetail_MainInfo_Vendor": "Hersteller", @@ -104,31 +104,31 @@ "DevDetail_Network_Node_hover": "Select the parent network device the current device is connected to to populate the Network tree.", "DevDetail_Network_Port_hover": "The port this device is connected to on the parent network device. If left empty a wifi icon is displayed in the Network tree.", "DevDetail_Nmap_Scans": "Nmap Scans", - "DevDetail_Nmap_Scans_desc": "Hier kannst du manuelle NMAP Scans starten. Reguläre automatische NMAP Scans können mit dem Services & Ports (NMAP) Plugin geplant werden. Gehe zu den Einstellungen um mehr herauszufinden.", + "DevDetail_Nmap_Scans_desc": "Hier kannst du manuelle NMAP Scans starten. Regul\u00e4re automatische NMAP Scans k\u00f6nnen mit dem Services & Ports (NMAP) Plugin geplant werden. Gehe zu den Einstellungen um mehr herauszufinden.", "DevDetail_Nmap_buttonDefault": "Standard Scan", - "DevDetail_Nmap_buttonDefault_text": "Standard Scan: Nmap scannt die ersten 1.000 Ports für jedes angeforderte Scan-Protokoll. Damit werden etwa 93 % der TCP-Ports und 49 % der UDP-Ports erfasst. (ca. 5-10 Sekunden)", + "DevDetail_Nmap_buttonDefault_text": "Standard Scan: Nmap scannt die ersten 1.000 Ports f\u00fcr jedes angeforderte Scan-Protokoll. Damit werden etwa 93 % der TCP-Ports und 49 % der UDP-Ports erfasst. (ca. 5-10 Sekunden)", "DevDetail_Nmap_buttonDetail": "Detailierter Scan", "DevDetail_Nmap_buttonDetail_text": "Detailierter Scan: Standardscan mit aktivierter Betriebssystemerkennung, Versionserkennung, Skript-Scan und Traceroute (bis zu 30 oder mehr Sekunden)", "DevDetail_Nmap_buttonFast": "Schneller Scan", - "DevDetail_Nmap_buttonFast_text": "Schneller Scan: Überprüft nur die wichtigsten 100 Ports (wenige Sekunden)", - "DevDetail_Nmap_buttonSkipDiscovery": "Ohne Erreichbarkeitsprüfung", - "DevDetail_Nmap_buttonSkipDiscovery_text": "Ohne Erreichbarkeitsprüfung (-Pn Parameter): Standard Scan bei dem nmap annimmt, dass der Host erreichbar ist.", - "DevDetail_Nmap_resultsLink": "Nachdem ein Scan gestartet wurde, kann diese Seite verlassen werden. Resultate sind auch in der Datei pialert_front.log verfügbar.", - "DevDetail_Owner_hover": "Der Eigentümer des Gerätes. Freies Textfeld.", + "DevDetail_Nmap_buttonFast_text": "Schneller Scan: \u00dcberpr\u00fcft nur die wichtigsten 100 Ports (wenige Sekunden)", + "DevDetail_Nmap_buttonSkipDiscovery": "Ohne Erreichbarkeitspr\u00fcfung", + "DevDetail_Nmap_buttonSkipDiscovery_text": "Ohne Erreichbarkeitspr\u00fcfung (-Pn Parameter): Standard Scan bei dem nmap annimmt, dass der Host erreichbar ist.", + "DevDetail_Nmap_resultsLink": "Nachdem ein Scan gestartet wurde, kann diese Seite verlassen werden. Resultate sind auch in der Datei pialert_front.log verf\u00fcgbar.", + "DevDetail_Owner_hover": "Der Eigent\u00fcmer des Ger\u00e4tes. Freies Textfeld.", "DevDetail_Periodselect_All": "Alle Infos", "DevDetail_Periodselect_LastMonth": "Letzter Monat", "DevDetail_Periodselect_LastWeek": "Letzte Woche", "DevDetail_Periodselect_LastYear": "Letztes Jahr", "DevDetail_Periodselect_today": "Heute", - "DevDetail_Run_Actions_Title": " Aktion auf Gerät ausführen", - "DevDetail_Run_Actions_Tooltip": "Eine Aktion aus der Dropdown-Liste auf dem aktuellen Gerät ausführen.", + "DevDetail_Run_Actions_Title": " Aktion auf Ger\u00e4t ausf\u00fchren", + "DevDetail_Run_Actions_Tooltip": "Eine Aktion aus der Dropdown-Liste auf dem aktuellen Ger\u00e4t ausf\u00fchren.", "DevDetail_SessionInfo_FirstSession": "Erste Sitzung", "DevDetail_SessionInfo_LastIP": "Letzte IP", "DevDetail_SessionInfo_LastSession": "Letzte Sitzung", "DevDetail_SessionInfo_StaticIP": "Statische IP", "DevDetail_SessionInfo_Status": "Status", "DevDetail_SessionInfo_Title": "Sitzungsinfos", - "DevDetail_SessionTable_Additionalinfo": "Zusätzliche Info", + "DevDetail_SessionTable_Additionalinfo": "Zus\u00e4tzliche Info", "DevDetail_SessionTable_Connection": "Verbindung", "DevDetail_SessionTable_Disconnection": "Trennung", "DevDetail_SessionTable_Duration": "Dauer", @@ -143,45 +143,45 @@ "DevDetail_Tab_EventsTableDate": "Datum", "DevDetail_Tab_EventsTableEvent": "Ereignistype", "DevDetail_Tab_EventsTableIP": "IP", - "DevDetail_Tab_EventsTableInfo": "Zusätzliche Informationen", + "DevDetail_Tab_EventsTableInfo": "Zus\u00e4tzliche Informationen", "DevDetail_Tab_Nmap": "Nmap", - "DevDetail_Tab_NmapEmpty": "An diesem Gerät wurden keine offenen Ports mit Nmap gefunden.", + "DevDetail_Tab_NmapEmpty": "An diesem Ger\u00e4t wurden keine offenen Ports mit Nmap gefunden.", "DevDetail_Tab_NmapTableExtra": "Extra", "DevDetail_Tab_NmapTableHeader": "Ergebnisse geplanter Scans", "DevDetail_Tab_NmapTableIndex": "Index", "DevDetail_Tab_NmapTablePort": "Port", "DevDetail_Tab_NmapTableService": "Dienst", "DevDetail_Tab_NmapTableState": "Status", - "DevDetail_Tab_NmapTableText": "Erstelle einen Plan über dieEinstellungen", + "DevDetail_Tab_NmapTableText": "Erstelle einen Plan \u00fcber dieEinstellungen", "DevDetail_Tab_NmapTableTime": "Zeit", "DevDetail_Tab_Plugins": " Plugins", "DevDetail_Tab_Presence": "Anwesenheit", "DevDetail_Tab_Sessions": "Sitzungen", "DevDetail_Tab_Tools": " Tools", - "DevDetail_Tab_Tools_Internet_Info_Description": "Das Internet-Info-Tool zeigt Informationen über die Internetverbindung an, wie z. B. IP-Adresse, Stadt, Land, Ortsvorwahl und Zeitzone.", + "DevDetail_Tab_Tools_Internet_Info_Description": "Das Internet-Info-Tool zeigt Informationen \u00fcber die Internetverbindung an, wie z. B. IP-Adresse, Stadt, Land, Ortsvorwahl und Zeitzone.", "DevDetail_Tab_Tools_Internet_Info_Error": "Es ist ein Fehler aufgetreten", "DevDetail_Tab_Tools_Internet_Info_Start": "Internet-Info starten", "DevDetail_Tab_Tools_Internet_Info_Title": "Internetinformationen", - "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup ist ein Befehlszeilentool zur Abfrage des Domain Name System (DNS). DNS ist ein System, das Domainnamen wie www.google.com in IP-Adressen wie 172.217.0.142 übersetzt. ", - "DevDetail_Tab_Tools_Nslookup_Error": "Fehler: IP-Adresse ist ungültig", + "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup ist ein Befehlszeilentool zur Abfrage des Domain Name System (DNS). DNS ist ein System, das Domainnamen wie www.google.com in IP-Adressen wie 172.217.0.142 \u00fcbersetzt. ", + "DevDetail_Tab_Tools_Nslookup_Error": "Fehler: IP-Adresse ist ung\u00fcltig", "DevDetail_Tab_Tools_Nslookup_Start": "Nslookup starten", "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", "DevDetail_Tab_Tools_Speedtest_Description": "Das Speedtest-Tool misst die Download-Geschwindigkeit, Upload-Geschwindigkeit und Latenz der Internetverbindung.", "DevDetail_Tab_Tools_Speedtest_Start": "Speedtest starten", "DevDetail_Tab_Tools_Speedtest_Title": "Speedtest test", - "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute ist ein Netzwerkdiagnosebefehl, mit dem der Pfad verfolgt wird, den Datenpakete von einem Host zu einem anderen nehmen.

Der Befehl verwendet das Internet Control Message Protocol (ICMP), um Pakete an Zwischenknoten auf der Route zu senden, jeden Zwischenknoten Der Knoten antwortet mit einem ICMP-Timeout-Paket (TTL-Zeitüberschreitung).

Die Ausgabe des Traceroute-Befehls zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.

Die Ausgabe der Traceroute Der Befehl zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.

Der Befehl „traceroute“ kann zur Diagnose von Netzwerkproblemen wie Verzögerungen, Paketverlust und blockierten Routen verwendet werden.

Das ist auch möglich kann verwendet werden, um den Standort eines Zwischenknotens in einem Netzwerk zu identifizieren.", - "DevDetail_Tab_Tools_Traceroute_Error": "Fehler: IP-Adresse ist ungültig", + "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute ist ein Netzwerkdiagnosebefehl, mit dem der Pfad verfolgt wird, den Datenpakete von einem Host zu einem anderen nehmen.

Der Befehl verwendet das Internet Control Message Protocol (ICMP), um Pakete an Zwischenknoten auf der Route zu senden, jeden Zwischenknoten Der Knoten antwortet mit einem ICMP-Timeout-Paket (TTL-Zeit\u00fcberschreitung).

Die Ausgabe des Traceroute-Befehls zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.

Die Ausgabe der Traceroute Der Befehl zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.

Der Befehl \u201etraceroute\u201c kann zur Diagnose von Netzwerkproblemen wie Verz\u00f6gerungen, Paketverlust und blockierten Routen verwendet werden.

Das ist auch m\u00f6glich kann verwendet werden, um den Standort eines Zwischenknotens in einem Netzwerk zu identifizieren.", + "DevDetail_Tab_Tools_Traceroute_Error": "Fehler: IP-Adresse ist ung\u00fcltig", "DevDetail_Tab_Tools_Traceroute_Start": "Traceroute starten", "DevDetail_Tab_Tools_Traceroute_Title": "Traceroute", "DevDetail_Tools_WOL": "Sende Wol Befehl an ", "DevDetail_Tools_WOL_noti": "Wake-on-LAN", - "DevDetail_Tools_WOL_noti_text": "Der Wake-on-LAN Befehl wurd and die Broadcast Adresse gesendet. Wenn sich das zu startende Gerät nicht im gleichen Subnet/vlan wie Pi.Alert befindet, wird das Gerät nicht reagieren.", - "DevDetail_Type_hover": "Der Type des Gerätes. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.", + "DevDetail_Tools_WOL_noti_text": "Der Wake-on-LAN Befehl wurd and die Broadcast Adresse gesendet. Wenn sich das zu startende Ger\u00e4t nicht im gleichen Subnet/vlan wie Pi.Alert befindet, wird das Ger\u00e4t nicht reagieren.", + "DevDetail_Type_hover": "Der Type des Ger\u00e4tes. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.", "DevDetail_Vendor_hover": "Vendor should be auto-detected. You can overwrite or add your custom value.", "DevDetail_WOL_Title": " Wake-on-LAN", - "DevDetail_button_Delete": "Lösche Gerät", - "DevDetail_button_DeleteEvents": "Lösche Events", - "DevDetail_button_DeleteEvents_Warning": "Sind Sie sicher, dass Sie alle Ereignisse dieses Geräts löschen möchten? (dies löscht den Ereignisverlauf und die Sitzungen und könnte bei ständigen (anhaltenden) Benachrichtigungen helfen)", + "DevDetail_button_Delete": "L\u00f6sche Ger\u00e4t", + "DevDetail_button_DeleteEvents": "L\u00f6sche Events", + "DevDetail_button_DeleteEvents_Warning": "Sind Sie sicher, dass Sie alle Ereignisse dieses Ger\u00e4ts l\u00f6schen m\u00f6chten? (dies l\u00f6scht den Ereignisverlauf und die Sitzungen und k\u00f6nnte bei st\u00e4ndigen (anhaltenden) Benachrichtigungen helfen)", "DevDetail_button_OverwriteIcons": "Overwrite Icons", "DevDetail_button_OverwriteIcons_Tooltip": "Overwrite icons of all devices with the same device type", "DevDetail_button_OverwriteIcons_Warning": "Are you sure you want to overwrite all icons of all devices with the same device type as the current device type?", @@ -193,15 +193,15 @@ "Device_MultiEdit_MassActions": "", "Device_MultiEdit_Tooltip": "", "Device_Searchbox": "Suche", - "Device_Shortcut_AllDevices": "Alle Geräte", + "Device_Shortcut_AllDevices": "Alle Ger\u00e4te", "Device_Shortcut_Archived": "Archiviert", "Device_Shortcut_Connected": "Verbunden", - "Device_Shortcut_Devices": "Geräte", + "Device_Shortcut_Devices": "Ger\u00e4te", "Device_Shortcut_DownAlerts": "Down Meldungen", "Device_Shortcut_Favorites": "Favoriten", - "Device_Shortcut_NewDevices": "Neue Geräte", - "Device_Shortcut_OnlineChart": "Gerätepräsenz im Laufe der Zeit", - "Device_TableHead_Connected_Devices": "Verbundene Geräte", + "Device_Shortcut_NewDevices": "Neue Ger\u00e4te", + "Device_Shortcut_OnlineChart": "Ger\u00e4tepr\u00e4senz im Laufe der Zeit", + "Device_TableHead_Connected_Devices": "Verbundene Ger\u00e4te", "Device_TableHead_Favorite": "Favorit", "Device_TableHead_FirstSession": "Erste Sitzung", "Device_TableHead_Group": "Gruppe", @@ -213,24 +213,24 @@ "Device_TableHead_MAC": "MAC", "Device_TableHead_MAC_full": "Gesamte MAC", "Device_TableHead_Name": "Name", - "Device_TableHead_Owner": "Eigentümer", - "Device_TableHead_Parent_MAC": "Übergeordnete MAC", + "Device_TableHead_Owner": "Eigent\u00fcmer", + "Device_TableHead_Parent_MAC": "\u00dcbergeordnete MAC", "Device_TableHead_Port": "Port", "Device_TableHead_RowID": "", "Device_TableHead_Rowid": "Zeilennummer", "Device_TableHead_Status": "Status", "Device_TableHead_Type": "Typ", "Device_TableHead_Vendor": "Hersteller", - "Device_Table_Not_Network_Device": "Nicht konfiguriert als Netzwerkgerät", - "Device_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen", - "Device_Table_nav_next": "Nächste", - "Device_Table_nav_prev": "Zurück", - "Device_Tablelenght": "Zeige _MENU_ Einträge", + "Device_Table_Not_Network_Device": "Nicht konfiguriert als Netzwerkger\u00e4t", + "Device_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Eintr\u00e4gen", + "Device_Table_nav_next": "N\u00e4chste", + "Device_Table_nav_prev": "Zur\u00fcck", + "Device_Tablelenght": "Zeige _MENU_ Eintr\u00e4ge", "Device_Tablelenght_all": "Alle", - "Device_Title": "Geräte", + "Device_Title": "Ger\u00e4te", "Donations_Others": "Others", "Donations_Platforms": "Sponsor platforms", - "Donations_Text": "Hey 👋!
Thanks for clicking on this menu item 😅

I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls 🔐.
Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on PiAlert. You'd get more functionality, a more polished app and less bugs.

Thanks for reading - I'm super grateful for any support ❤🙏

TL;DR: By supporting me you get:

  • Regular updates to keep your data and family safe 🔄
  • Less bugs 🐛🔫
  • Better and more functionality➕
  • I don't get burned out 🔥🤯
  • Less rushed releases 💨
  • Better docs📚
  • Quicker and better support with issues 🆘
  • Less grumpy me 😄

📧Email me to jokob@duck.com if you want to get in touch or if I should add other sponsorship platforms.
", + "Donations_Text": "Hey \ud83d\udc4b!
Thanks for clicking on this menu item \ud83d\ude05

I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls \ud83d\udd10.
Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on PiAlert. You'd get more functionality, a more polished app and less bugs.

Thanks for reading - I'm super grateful for any support \u2764\ud83d\ude4f

TL;DR: By supporting me you get:

  • Regular updates to keep your data and family safe \ud83d\udd04
  • Less bugs \ud83d\udc1b\ud83d\udd2b
  • Better and more functionality\u2795
  • I don't get burned out \ud83d\udd25\ud83e\udd2f
  • Less rushed releases \ud83d\udca8
  • Better docs\ud83d\udcda
  • Quicker and better support with issues \ud83c\udd98
  • Less grumpy me \ud83d\ude04

\ud83d\udce7Email me to jokob@duck.com if you want to get in touch or if I should add other sponsorship platforms.
", "Donations_Title": "Donations", "ENABLE_PLUGINS_description": "NOTUSED Enables the plugins functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.", "ENABLE_PLUGINS_name": "NOTUSED Enable Plugins", @@ -247,13 +247,13 @@ "Events_Shortcut_DownAlerts": "Down Meldungen", "Events_Shortcut_Events": "Ereignisse", "Events_Shortcut_MissSessions": "fehlende Sitzungen", - "Events_Shortcut_NewDevices": "Neue Geräte", + "Events_Shortcut_NewDevices": "Neue Ger\u00e4te", "Events_Shortcut_Sessions": "Sitzungen", "Events_Shortcut_VoidSessions": "beendete Sitzungen", - "Events_TableHead_AdditionalInfo": "Zusätzliche Info", + "Events_TableHead_AdditionalInfo": "Zus\u00e4tzliche Info", "Events_TableHead_Connection": "Verbindung", "Events_TableHead_Date": "Datum", - "Events_TableHead_Device": "Gerät", + "Events_TableHead_Device": "Ger\u00e4t", "Events_TableHead_Disconnection": "Trennung", "Events_TableHead_Duration": "Dauer", "Events_TableHead_DurationOrder": "Duration Order", @@ -261,11 +261,11 @@ "Events_TableHead_IP": "IP", "Events_TableHead_IPOrder": "IP Order", "Events_TableHead_Order": "Order", - "Events_TableHead_Owner": "Eigentümer", - "Events_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen", - "Events_Table_nav_next": "Nächste", - "Events_Table_nav_prev": "Zurück", - "Events_Tablelenght": "Zeige _MENU_ Einträge", + "Events_TableHead_Owner": "Eigent\u00fcmer", + "Events_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Eintr\u00e4gen", + "Events_Table_nav_next": "N\u00e4chste", + "Events_Table_nav_prev": "Zur\u00fcck", + "Events_Tablelenght": "Zeige _MENU_ Eintr\u00e4ge", "Events_Tablelenght_all": "Alle", "Events_Title": "Ereignisse", "Gen_Action": "Action", @@ -274,12 +274,12 @@ "Gen_Cancel": "Abbrechen", "Gen_Copy": "Run", "Gen_DataUpdatedUITakesTime": "OK - It may take a while for the UI to update if a scan is runnig", - "Gen_Delete": "Löschen", + "Gen_Delete": "L\u00f6schen", "Gen_DeleteAll": "Delete all", "Gen_Error": "", - "Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur Überprüfung oder probiere es später erneut.", + "Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur \u00dcberpr\u00fcfung oder probiere es sp\u00e4ter erneut.", "Gen_Okay": "Ok", - "Gen_Purge": "Aufräumen", + "Gen_Purge": "Aufr\u00e4umen", "Gen_ReadDocs": "Mehr in der Dokumentation", "Gen_Restore": "Wiederherstellen", "Gen_Run": "Run", @@ -293,45 +293,45 @@ "Gen_Work_In_Progress": "", "General_display_name": "Allgemein", "General_icon": "", - "HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung. Geräte markiert als Neues Gerät werden gelöscht, wenn ihre Erste Sitzung länger her ist als die angegebenen Stunden in dieser Einstellung. 0 deaktiviert diese Funktion. Nutzen Sie diese Einstellung, um Neue Geräte automatisch nach X Stunden zu löschen.", - "HRS_TO_KEEP_NEWDEV_name": "Neue Geräte speichern für", + "HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung. Ger\u00e4te markiert als Neues Ger\u00e4t werden gel\u00f6scht, wenn ihre Erste Sitzung l\u00e4nger her ist als die angegebenen Stunden in dieser Einstellung. 0 deaktiviert diese Funktion. Nutzen Sie diese Einstellung, um Neue Ger\u00e4te automatisch nach X Stunden zu l\u00f6schen.", + "HRS_TO_KEEP_NEWDEV_name": "Neue Ger\u00e4te speichern f\u00fcr", "HelpFAQ_Cat_Detail": "Detailansicht", "HelpFAQ_Cat_Detail_300_head": "Was bedeutet ", - "HelpFAQ_Cat_Detail_300_text_a": "meint ein Netzwerkgerät (welches den typ AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,USB LAN Adapter, USB WIFI Adapter, or Internet eingestellt hat)", - "HelpFAQ_Cat_Detail_300_text_b": "bezeichnet die Anschlussnummer/Portnummer, an der das gerade bearbeitete Gerät mit diesem Netzwerkgerät verbunden ist.", + "HelpFAQ_Cat_Detail_300_text_a": "meint ein Netzwerkger\u00e4t (welches den typ AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,USB LAN Adapter, USB WIFI Adapter, or Internet eingestellt hat)", + "HelpFAQ_Cat_Detail_300_text_b": "bezeichnet die Anschlussnummer/Portnummer, an der das gerade bearbeitete Ger\u00e4t mit diesem Netzwerkger\u00e4t verbunden ist.", "HelpFAQ_Cat_Detail_301_head_a": "Wann wird nun gescannt? Bei ", - "HelpFAQ_Cat_Detail_301_head_b": " steht 1min aber der Graph zeigt 5min - Abstände an.", - "HelpFAQ_Cat_Detail_301_text": "Den zeitlichen Abstand zwischen den Scans legt der \"Cronjob\" fest, welcher standardmäßig auf 5min eingestellt ist. Die Benennung \"1min\" bezieht sich auf die zu erwartende Dauer des Scans. Abhängig vor der Netzwerkkonfiguration kann diese Zeitangabe variieren. Um den Cronjob zu bearbeiten, kannst du im Terminal/der Konsole crontab -e eingeben und den Intervall ändern.", + "HelpFAQ_Cat_Detail_301_head_b": " steht 1min aber der Graph zeigt 5min - Abst\u00e4nde an.", + "HelpFAQ_Cat_Detail_301_text": "Den zeitlichen Abstand zwischen den Scans legt der \"Cronjob\" fest, welcher standardm\u00e4\u00dfig auf 5min eingestellt ist. Die Benennung \"1min\" bezieht sich auf die zu erwartende Dauer des Scans. Abh\u00e4ngig vor der Netzwerkkonfiguration kann diese Zeitangabe variieren. Um den Cronjob zu bearbeiten, kannst du im Terminal/der Konsole crontab -e eingeben und den Intervall \u00e4ndern.", "HelpFAQ_Cat_Detail_302_head_a": "Was bedeutet ", - "HelpFAQ_Cat_Detail_302_head_b": " und warum kann ich das nicht auswählen?", - "HelpFAQ_Cat_Detail_302_text": "Einige moderne Geräte generieren aus Datenschutzgründen zufällige MAC-Adressen, die keinem Hersteller mehr zugeordnet werden können und welche sich mit jeder neuen Verbindung ändern. Pi.Alert erkennt, ob es sich um eine solche zufällige MAC-Adresse handelt und aktiviert dieses \"Feld\" automatisch. Um das Verhalten abzustellen, musst du in deinem Endgerät schauen, wie du die MAC-Adressen-Generierung deaktivierst.", + "HelpFAQ_Cat_Detail_302_head_b": " und warum kann ich das nicht ausw\u00e4hlen?", + "HelpFAQ_Cat_Detail_302_text": "Einige moderne Ger\u00e4te generieren aus Datenschutzgr\u00fcnden zuf\u00e4llige MAC-Adressen, die keinem Hersteller mehr zugeordnet werden k\u00f6nnen und welche sich mit jeder neuen Verbindung \u00e4ndern. Pi.Alert erkennt, ob es sich um eine solche zuf\u00e4llige MAC-Adresse handelt und aktiviert dieses \"Feld\" automatisch. Um das Verhalten abzustellen, musst du in deinem Endger\u00e4t schauen, wie du die MAC-Adressen-Generierung deaktivierst.", "HelpFAQ_Cat_Detail_303_head": "Was ist Nmap und wozu dient es?", - "HelpFAQ_Cat_Detail_303_text": "Nmap ist ein Netzwerkscanner mit vielfältigen Möglichkeiten.
Wenn ein neues Gerät in deiner Liste auftaucht, hast du die Möglichkeit über den Nmap-Scan genauere Informationen über das Gerät zu erhalten.", - "HelpFAQ_Cat_Device_200_head": "Ich habe, mir nicht bekannte, Geräte in meiner Liste. Nach dem Löschen tauchen diese immer wieder auf.", - "HelpFAQ_Cat_Device_200_text": "Wenn du Pi-hole verwendest, beachte bitte, dass Pi.Alert Informationen von Pi-hole abruft. Pausiere Pi.Alert, gehe in Pi-hole auf die Settings-Seite und lösche ggf. die betreffende DHCP-Lease. Anschließend schaue, ebenfalls in Pi-hole, unter Tools -> Network, ob sich dort die immer wiederkehrenden Hosts finden lassen. Wenn ja, lösche diese dort ebenfalls. Nun kannst du Pi.Alert wieder starten. Jetzt sollte das Gerät/die Geräte nicht mehr auftauchen.", + "HelpFAQ_Cat_Detail_303_text": "Nmap ist ein Netzwerkscanner mit vielf\u00e4ltigen M\u00f6glichkeiten.
Wenn ein neues Ger\u00e4t in deiner Liste auftaucht, hast du die M\u00f6glichkeit \u00fcber den Nmap-Scan genauere Informationen \u00fcber das Ger\u00e4t zu erhalten.", + "HelpFAQ_Cat_Device_200_head": "Ich habe, mir nicht bekannte, Ger\u00e4te in meiner Liste. Nach dem L\u00f6schen tauchen diese immer wieder auf.", + "HelpFAQ_Cat_Device_200_text": "Wenn du Pi-hole verwendest, beachte bitte, dass Pi.Alert Informationen von Pi-hole abruft. Pausiere Pi.Alert, gehe in Pi-hole auf die Settings-Seite und l\u00f6sche ggf. die betreffende DHCP-Lease. Anschlie\u00dfend schaue, ebenfalls in Pi-hole, unter Tools -> Network, ob sich dort die immer wiederkehrenden Hosts finden lassen. Wenn ja, l\u00f6sche diese dort ebenfalls. Nun kannst du Pi.Alert wieder starten. Jetzt sollte das Ger\u00e4t/die Ger\u00e4te nicht mehr auftauchen.", "HelpFAQ_Cat_General": "Allgemein", - "HelpFAQ_Cat_General_100_head": "Die Uhr oben rechts und die Zeiten der Events/Anwesenheit stimmen nicht überein (Zeitverschiebung).", - "HelpFAQ_Cat_General_100_text_a": "Auf deinem PC ist für die PHP Umgebung folgende Zeitzone voreingestellt:", - "HelpFAQ_Cat_General_100_text_b": "Sollte dies nicht die Zeitzone sein, in der du dich aufhältst, solltest du die Zeitzone in der PHP Konfigurationsdatei anpassen. Diese findest du in diesem Verzeichnis:", - "HelpFAQ_Cat_General_100_text_c": "Suche in dieser Datei nach dem Eintrag 'date.timezone', entferne ggf. das führende ';' und trage die gewünschte Zeitzone ein. Eine Liste mit den unterstützten Zeitzonen findest du hier (Link).", + "HelpFAQ_Cat_General_100_head": "Die Uhr oben rechts und die Zeiten der Events/Anwesenheit stimmen nicht \u00fcberein (Zeitverschiebung).", + "HelpFAQ_Cat_General_100_text_a": "Auf deinem PC ist f\u00fcr die PHP Umgebung folgende Zeitzone voreingestellt:", + "HelpFAQ_Cat_General_100_text_b": "Sollte dies nicht die Zeitzone sein, in der du dich aufh\u00e4ltst, solltest du die Zeitzone in der PHP Konfigurationsdatei anpassen. Diese findest du in diesem Verzeichnis:", + "HelpFAQ_Cat_General_100_text_c": "Suche in dieser Datei nach dem Eintrag 'date.timezone', entferne ggf. das f\u00fchrende ';' und trage die gew\u00fcnschte Zeitzone ein. Eine Liste mit den unterst\u00fctzten Zeitzonen findest du hier (Link).", "HelpFAQ_Cat_General_101_head": "Mein Netzwerk scheint langsamer zu werden, Streaming ruckelt.", - "HelpFAQ_Cat_General_101_text": "Es kann durchaus sein, das leistungsschwache Geräte mit der Art und Weise, wie Pi.Alert neue Geräte im Netzwerk erkennt, an ihre Leistungsgrenzen kommen. Dies verstärkt sich noch einmal,
wenn diese Geräte per WLAN mit dem Netzwerk kommunizieren. Lösungen wären hier, wenn möglich ein Wechsel auf eine Kabelverbindung oder, falls das Geräte nur einen begrenzten Zeitraum genutzt
werden soll, den arp-Scan auf der Wartungsseite zu pausieren.", - "HelpFAQ_Cat_General_102_head": "Ich bekomme die Meldung, dass die Datenbank schreibgeschützt (read only) ist.", - "HelpFAQ_Cat_General_102_text": "Prüfe im Pi.Alert verzeichnis ob der Ordner der Datenbank (db) die richtigen Rechte zugewiesen bekommen hat:
drwxrwx--- 2 (dein Username) www-data
Sollte die Berechtigung nicht stimmen, kannst du sie mit folgenden Befehlen im Terminal oder der Konsole wieder setzen:
sudo chgrp -R www-data ~/pialert/db
chmod -R 770 ~/pialert/db

Wenn die Datenbank danach noch immer schreibgeschützt ist, versuche eine erneute Installation, oder das Zuückspielen eines Datenbank-Backups über die Wartungsseite.", - "HelpFAQ_Cat_General_102docker_head": "(🐳 Docker only) Database issues (AJAX errors, read-only, not found)", - "HelpFAQ_Cat_General_102docker_text": "Double-check you have followed the dockerfile readme (most up-to-date info).

  • Download the original DB from GitHub.
  • Map the pialert.db file ( not folder) from above to /home/pi/pialert/db/pialert.db (see Examples for details).
  • If facing issues (AJAX errors, can not write to DB, etc,) make sure permissions are set correctly, alternatively check the logs under /home/pi/pialert/front/log.
  • To solve permission issues you can also try to create a DB backup and then run a DB Restore via the Maintenance > Backup/Restore section.
  • If the database is in read-only mode you can solve this by setting the owner and group by executing the following command on the host system: docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db.
", - "HelpFAQ_Cat_General_103_head": "Die Login-Seite erscheint nicht, auch nicht nach der Passwortänderung.", + "HelpFAQ_Cat_General_101_text": "Es kann durchaus sein, das leistungsschwache Ger\u00e4te mit der Art und Weise, wie Pi.Alert neue Ger\u00e4te im Netzwerk erkennt, an ihre Leistungsgrenzen kommen. Dies verst\u00e4rkt sich noch einmal,
wenn diese Ger\u00e4te per WLAN mit dem Netzwerk kommunizieren. L\u00f6sungen w\u00e4ren hier, wenn m\u00f6glich ein Wechsel auf eine Kabelverbindung oder, falls das Ger\u00e4te nur einen begrenzten Zeitraum genutzt
werden soll, den arp-Scan auf der Wartungsseite zu pausieren.", + "HelpFAQ_Cat_General_102_head": "Ich bekomme die Meldung, dass die Datenbank schreibgesch\u00fctzt (read only) ist.", + "HelpFAQ_Cat_General_102_text": "Pr\u00fcfe im Pi.Alert verzeichnis ob der Ordner der Datenbank (db) die richtigen Rechte zugewiesen bekommen hat:
drwxrwx--- 2 (dein Username) www-data
Sollte die Berechtigung nicht stimmen, kannst du sie mit folgenden Befehlen im Terminal oder der Konsole wieder setzen:
sudo chgrp -R www-data ~/pialert/db
chmod -R 770 ~/pialert/db

Wenn die Datenbank danach noch immer schreibgesch\u00fctzt ist, versuche eine erneute Installation, oder das Zu\u00fcckspielen eines Datenbank-Backups \u00fcber die Wartungsseite.", + "HelpFAQ_Cat_General_102docker_head": "(\ud83d\udc33 Docker only) Database issues (AJAX errors, read-only, not found)", + "HelpFAQ_Cat_General_102docker_text": "Double-check you have followed the dockerfile readme (most up-to-date info).

  • Download the original DB from GitHub.
  • Map the pialert.db file (\u26a0 not folder) from above to /home/pi/pialert/db/pialert.db (see Examples for details).
  • If facing issues (AJAX errors, can not write to DB, etc,) make sure permissions are set correctly, alternatively check the logs under /home/pi/pialert/front/log.
  • To solve permission issues you can also try to create a DB backup and then run a DB Restore via the Maintenance > Backup/Restore section.
  • If the database is in read-only mode you can solve this by setting the owner and group by executing the following command on the host system: docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db.
", + "HelpFAQ_Cat_General_103_head": "Die Login-Seite erscheint nicht, auch nicht nach der Passwort\u00e4nderung.", "HelpFAQ_Cat_General_103_text": "Neben dem Passwort, muss in der Konfigurationsdatei ~/pialert/config/pialert.conf auch der Parameter PIALERT_WEB_PROTECTION auf True gesetzt sein.", "HelpFAQ_Cat_Network_600_head": "Was bringt mir diese Seite?", - "HelpFAQ_Cat_Network_600_text": "Diese Seite soll dir die Möglichkeit bieten, die Belegung deiner Netzwerkgeräte abzubilden. Dazu kannst du einen oder mehrere Switches, WLANs, Router, etc. erstellen, sie ggf. mit einer Portanzahl versehen und bereits erkannte Geräte diesen zuordnen. Diese Zuordnung erfolgt in der Detailansicht, des zuzuordnenden Gerätes. So ist es dir möglich, schnell festzustellen an welchem Port ein Host angeschlossen und ob er online ist.", + "HelpFAQ_Cat_Network_600_text": "Diese Seite soll dir die M\u00f6glichkeit bieten, die Belegung deiner Netzwerkger\u00e4te abzubilden. Dazu kannst du einen oder mehrere Switches, WLANs, Router, etc. erstellen, sie ggf. mit einer Portanzahl versehen und bereits erkannte Ger\u00e4te diesen zuordnen. Diese Zuordnung erfolgt in der Detailansicht, des zuzuordnenden Ger\u00e4tes. So ist es dir m\u00f6glich, schnell festzustellen an welchem Port ein Host angeschlossen und ob er online ist.", "HelpFAQ_Cat_Network_601_head": "Gibt es mehr Dokumentation?", - "HelpFAQ_Cat_Network_601_text": "Ja, gibt es! Siehe alle Dokumentationen für mehr Infos.", - "HelpFAQ_Cat_Presence_400_head": "Geräte werden mit einer gelben Markierung und dem Hinweis \"missing Event\" angezeigt.", - "HelpFAQ_Cat_Presence_400_text": "Wenn dies geschieht hast du die Möglickeit, bei dem betreffenden Gerät (Detailsansicht) die Events zu löschen. Eine andere Möglichkeit wäre, das Gerät einzuschalten und zu warten, bis Pi.Alert mit dem nächsten Scan das Gerät als \"Online\" erkennt und anschließend das Gerät einfach wieder ausschalten. Nun sollte Pi.Alert mit dem nächsten Scan den Zustand des Gerätes ordentlich in der Datenbank vermerken.", - "HelpFAQ_Cat_Presence_401_head": "Ein Gerät wird als Anwesend angezeigt, obwohl es \"Offline\" ist.", - "HelpFAQ_Cat_Presence_401_text": "Wenn dies geschieht hast du die Möglickeit, bei dem betreffenden Gerät (Detailsansicht) die Events zu löschen. Eine andere Möglichkeit wäre, das Gerät einzuschalten und zu warten, bis Pi.Alert mit dem nächsten Scan das Gerät als \"Online\" erkennt und anschließend das Gerät einfach wieder ausschalten. Nun sollte Pi.Alert mit dem nächsten Scan den Zustand des Gerätes ordentlich in der Datenbank vermerken.", + "HelpFAQ_Cat_Network_601_text": "Ja, gibt es! Siehe alle Dokumentationen f\u00fcr mehr Infos.", + "HelpFAQ_Cat_Presence_400_head": "Ger\u00e4te werden mit einer gelben Markierung und dem Hinweis \"missing Event\" angezeigt.", + "HelpFAQ_Cat_Presence_400_text": "Wenn dies geschieht hast du die M\u00f6glickeit, bei dem betreffenden Ger\u00e4t (Detailsansicht) die Events zu l\u00f6schen. Eine andere M\u00f6glichkeit w\u00e4re, das Ger\u00e4t einzuschalten und zu warten, bis Pi.Alert mit dem n\u00e4chsten Scan das Ger\u00e4t als \"Online\" erkennt und anschlie\u00dfend das Ger\u00e4t einfach wieder ausschalten. Nun sollte Pi.Alert mit dem n\u00e4chsten Scan den Zustand des Ger\u00e4tes ordentlich in der Datenbank vermerken.", + "HelpFAQ_Cat_Presence_401_head": "Ein Ger\u00e4t wird als Anwesend angezeigt, obwohl es \"Offline\" ist.", + "HelpFAQ_Cat_Presence_401_text": "Wenn dies geschieht hast du die M\u00f6glickeit, bei dem betreffenden Ger\u00e4t (Detailsansicht) die Events zu l\u00f6schen. Eine andere M\u00f6glichkeit w\u00e4re, das Ger\u00e4t einzuschalten und zu warten, bis Pi.Alert mit dem n\u00e4chsten Scan das Ger\u00e4t als \"Online\" erkennt und anschlie\u00dfend das Ger\u00e4t einfach wieder ausschalten. Nun sollte Pi.Alert mit dem n\u00e4chsten Scan den Zustand des Ger\u00e4tes ordentlich in der Datenbank vermerken.", "HelpFAQ_Title": "Hilfe / FAQ", - "LOG_LEVEL_description": "Diese Einstellung aktiviert die erweiterte Protokollierung. Nützlich fürs Debuggen von in die Datenbank geschriebenen Events.", + "LOG_LEVEL_description": "Diese Einstellung aktiviert die erweiterte Protokollierung. N\u00fctzlich f\u00fcrs Debuggen von in die Datenbank geschriebenen Events.", "LOG_LEVEL_name": "Erweiterte Protokollierung", "Loading": "Laden...", "Login_Box": "Passwort eingeben", @@ -340,9 +340,9 @@ "Login_Psw_alert": "Sicherheitshinweis!", "Login_Psw_folder": "im Ordner ~/pialert/config", "Login_Psw_new": "neues_passwort", - "Login_Psw_run": "Um das Passwort zu ändern nutze:", + "Login_Psw_run": "Um das Passwort zu \u00e4ndern nutze:", "Login_Remember": "Passwort speichern", - "Login_Remember_small": "(für 7 Tage gültig)", + "Login_Remember_small": "(f\u00fcr 7 Tage g\u00fcltig)", "Login_Submit": "Anmelden", "Login_Toggle_Alert_headline": "Passwort Warnung!", "Login_Toggle_Info": "Passwort Informationen", @@ -367,64 +367,64 @@ "Maintenance_Tool_ExportCSV": "CSV Export", "Maintenance_Tool_ExportCSV_noti": "CSV Export", "Maintenance_Tool_ExportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei erstellen wollen?", - "Maintenance_Tool_ExportCSV_text": "Generiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Dies kann auch durch das Besuchen dieser URL your pialert url/php/server/devices.php?action=ExportCSV ausgelöst werden.", + "Maintenance_Tool_ExportCSV_text": "Generiere eine CSV-Datei (comma separated values) mit einer Liste aller Ger\u00e4te und deren Beziehungen zwischen Netzwerkknoten und verbundenen Ger\u00e4ten. Dies kann auch durch das Besuchen dieser URL your pialert url/php/server/devices.php?action=ExportCSV ausgel\u00f6st werden.", "Maintenance_Tool_ImportCSV": "CSV Import", "Maintenance_Tool_ImportCSV_noti": "CSV Import", - "Maintenance_Tool_ImportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei importieren wollen? Dies wird alle Geräte in der Datenbank überschreiben.", - "Maintenance_Tool_ImportCSV_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Importiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Um dies zu tun platziere die devices.csv benannte CSV-Datei in deinen /config Ordner.", + "Maintenance_Tool_ImportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei importieren wollen? Dies wird alle Ger\u00e4te in der Datenbank \u00fcberschreiben.", + "Maintenance_Tool_ImportCSV_text": "Machen Sie ein Backup, bevor Sie diese Funk\u00adtion nutzen. Importiere eine CSV-Datei (comma separated values) mit einer Liste aller Ger\u00e4te und deren Beziehungen zwischen Netzwerkknoten und verbundenen Ger\u00e4ten. Um dies zu tun platziere die devices.csv benannte CSV-Datei in deinen /config Ordner.", "Maintenance_Tool_arpscansw": "arp-Scan stoppen/starten", "Maintenance_Tool_arpscansw_noti": "arp-Scan stoppen/starten", "Maintenance_Tool_arpscansw_noti_text": "Wenn der Scan aus ist, bleibt er so lange aus bis er wieder aktiviert wird.", "Maintenance_Tool_arpscansw_text": "Schaltet den arp-Scan an oder aus. Wenn der Scan aus ist, bleibt er so lange aus bis er wieder aktiviert wird. Bereits laufende Scans werden dabei nicht beendet.", "Maintenance_Tool_backup": "DB Sicherung", "Maintenance_Tool_backup_noti": "DB Sicherung", - "Maintenance_Tool_backup_noti_text": "Sind Sie sicher, dass Sie die Datenbank jetzt sichern möchten. Prüfen Sie, dass gerade keine Scans stattfinden.", + "Maintenance_Tool_backup_noti_text": "Sind Sie sicher, dass Sie die Datenbank jetzt sichern m\u00f6chten. Pr\u00fcfen Sie, dass gerade keine Scans stattfinden.", "Maintenance_Tool_backup_text": "Die Datenbank-Sicher­ungen befinden sich im Datenbank-Ver­zeich­nis, gepackt als zip-Archive, benannt mit dem Erstellungs­datum. Es gibt keine maximale Anzahl von Backups.", - "Maintenance_Tool_check_visible": "Abwählen um die Spalte auszublenden.", + "Maintenance_Tool_check_visible": "Abw\u00e4hlen um die Spalte auszublenden.", "Maintenance_Tool_darkmode": "Darstellungswechsel (Dunkel/Hell)", "Maintenance_Tool_darkmode_noti": "Darstellungswechsel", - "Maintenance_Tool_darkmode_noti_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn die Umschaltung nicht ordentlich funktionieren sollte, versuchen Sie den Browsercache zu löschen.", - "Maintenance_Tool_darkmode_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn der Wechsel nicht richtig funktionieren sollte, versuchen Sie den Browsercache zu löschen. Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", - "Maintenance_Tool_del_ActHistory": "Löschen der Netzwerkaktivität", - "Maintenance_Tool_del_ActHistory_noti": "Netzwerkaktivität löschen", - "Maintenance_Tool_del_ActHistory_noti_text": "Sind Sie sicher, dass Sie die Netzwerkaktivität zurücksetzen möchten?", - "Maintenance_Tool_del_ActHistory_text": "Der Graph für die Netzwerkaktivität wird zurückgesetzt. Hierbei werden die Events nicht beeinflusst.", - "Maintenance_Tool_del_alldev": "Alle Geräte löschen", - "Maintenance_Tool_del_alldev_noti": "Geräte löschen", - "Maintenance_Tool_del_alldev_noti_text": "Sind Sie sich sicher, dass Sie alle Geräte löschen wollen?", - "Maintenance_Tool_del_alldev_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Geräte werden in der Datenbank ge­löscht.", - "Maintenance_Tool_del_allevents": "Alle Ereignisse löschen", - "Maintenance_Tool_del_allevents30": "Alle Ereignisse älter als 30 Tage löschen", - "Maintenance_Tool_del_allevents30_noti": "Ereignisse löschen", - "Maintenance_Tool_del_allevents30_noti_text": "Sind Sie sich sicher, dass Sie alle Ereignisse älter als 30 Tage löschen wollen? Dies setzt die Präsenz aller Geräte zurück.", - "Maintenance_Tool_del_allevents30_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Ereignisse älter als 30 Tage werden aus der Datenbank ge­löscht. Dies setzt auch die Anwesenheit zu­rück. Es kann ab dem Moment zu ungültigen Sitzungen kommen. Ein Scan, während das betreffende Gerät online ist, sollte das Problem lösen.", - "Maintenance_Tool_del_allevents_noti": "Alle Ereignisse löschen", - "Maintenance_Tool_del_allevents_noti_text": "Sind Sie sicher, dass Sie alle Ereignisse aus der Datenbank löschen wollen. Dies setzt die Anwesenheit aller Geräte zurück.", - "Maintenance_Tool_del_allevents_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Ereignisse werden aus der Datenbank ge­löscht. Dies setzt auch die Anwesenheit zu­rück. Es kann ab dem Moment zu ungültigen Sitzungen kommen. Ein Scan, während das betreffende Gerät online ist, sollte das Problem lösen.", - "Maintenance_Tool_del_empty_macs": "Alle Geräte ohne MAC löschen", - "Maintenance_Tool_del_empty_macs_noti": "Geräte löschen", - "Maintenance_Tool_del_empty_macs_noti_text": "Sind Sie sicher, dass Sie alle Geräte ohne MAC-Adresse löschen wollen?
(Vielleicht bevorzugen Sie eine Archivierung)", - "Maintenance_Tool_del_empty_macs_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Geäte ohne MAC-Adresse werden aus der Datenbank ge­löscht.", + "Maintenance_Tool_darkmode_noti_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn die Umschaltung nicht ordentlich funktionieren sollte, versuchen Sie den Browsercache zu l\u00f6schen.", + "Maintenance_Tool_darkmode_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn der Wechsel nicht richtig funktionieren sollte, versuchen Sie den Browsercache zu l\u00f6schen. Die \u00c4nderung findet serverseitig statt, betrifft also alle verwendeten Ger\u00e4te.", + "Maintenance_Tool_del_ActHistory": "L\u00f6schen der Netzwerkaktivit\u00e4t", + "Maintenance_Tool_del_ActHistory_noti": "Netzwerkaktivit\u00e4t l\u00f6schen", + "Maintenance_Tool_del_ActHistory_noti_text": "Sind Sie sicher, dass Sie die Netzwerkaktivit\u00e4t zur\u00fccksetzen m\u00f6chten?", + "Maintenance_Tool_del_ActHistory_text": "Der Graph f\u00fcr die Netzwerkaktivit\u00e4t wird zur\u00fcckgesetzt. Hierbei werden die Events nicht beeinflusst.", + "Maintenance_Tool_del_alldev": "Alle Ger\u00e4te l\u00f6schen", + "Maintenance_Tool_del_alldev_noti": "Ger\u00e4te l\u00f6schen", + "Maintenance_Tool_del_alldev_noti_text": "Sind Sie sich sicher, dass Sie alle Ger\u00e4te l\u00f6schen wollen?", + "Maintenance_Tool_del_alldev_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht r\u00fcck­g\u00e4ngig gemacht werden. Alle Ger\u00e4te werden in der Datenbank ge­l\u00f6scht.", + "Maintenance_Tool_del_allevents": "Alle Ereignisse l\u00f6schen", + "Maintenance_Tool_del_allevents30": "Alle Ereignisse \u00e4lter als 30 Tage l\u00f6schen", + "Maintenance_Tool_del_allevents30_noti": "Ereignisse l\u00f6schen", + "Maintenance_Tool_del_allevents30_noti_text": "Sind Sie sich sicher, dass Sie alle Ereignisse \u00e4lter als 30 Tage l\u00f6schen wollen? Dies setzt die Pr\u00e4senz aller Ger\u00e4te zur\u00fcck.", + "Maintenance_Tool_del_allevents30_text": "Machen Sie ein Backup, bevor Sie diese Funk\u00adtion nutzen. Der Vor\u00adgang kann ohne Back\u00adup nicht r\u00fcck\u00adg\u00e4ngig gemacht werden. Alle Ereignisse \u00e4lter als 30 Tage werden aus der Datenbank ge\u00adl\u00f6scht. Dies setzt auch die Anwesenheit zu\u00adr\u00fcck. Es kann ab dem Moment zu ung\u00fcltigen Sitzungen kommen. Ein Scan, w\u00e4hrend das betreffende Ger\u00e4t online ist, sollte das Problem l\u00f6sen.", + "Maintenance_Tool_del_allevents_noti": "Alle Ereignisse l\u00f6schen", + "Maintenance_Tool_del_allevents_noti_text": "Sind Sie sicher, dass Sie alle Ereignisse aus der Datenbank l\u00f6schen wollen. Dies setzt die Anwesenheit aller Ger\u00e4te zur\u00fcck.", + "Maintenance_Tool_del_allevents_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht r\u00fcck­g\u00e4ngig gemacht werden. Alle Ereignisse werden aus der Datenbank ge­l\u00f6scht. Dies setzt auch die Anwesenheit zu­r\u00fcck. Es kann ab dem Moment zu ung\u00fcltigen Sitzungen kommen. Ein Scan, w\u00e4hrend das betreffende Ger\u00e4t online ist, sollte das Problem l\u00f6sen.", + "Maintenance_Tool_del_empty_macs": "Alle Ger\u00e4te ohne MAC l\u00f6schen", + "Maintenance_Tool_del_empty_macs_noti": "Ger\u00e4te l\u00f6schen", + "Maintenance_Tool_del_empty_macs_noti_text": "Sind Sie sicher, dass Sie alle Ger\u00e4te ohne MAC-Adresse l\u00f6schen wollen?
(Vielleicht bevorzugen Sie eine Archivierung)", + "Maintenance_Tool_del_empty_macs_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht r\u00fcck­g\u00e4ngig gemacht werden. Alle Ge\u00e4te ohne MAC-Adresse werden aus der Datenbank ge­l\u00f6scht.", "Maintenance_Tool_del_selecteddev": "", "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_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 Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Gräte mit dem Namen (unknown) werden aus der Datenbank ge­löscht.", - "Maintenance_Tool_displayed_columns_text": "Ändere die Sichtbarkeit und Anordnung der Spalten in der Geräte-Seite. (Drag-and-Drop funktioniert nicht einwandfrei, ist aber verwendbar. Ich habe 3 Stunden versucht das zu beheben, werde es aber nicht weiter verfolgen. Über einen PR mit einem Fix würde ich mich freuen :) ).", - "Maintenance_Tool_drag_me": "Zieh mich um die Anordnung der Spalten zu ändern.", + "Maintenance_Tool_del_unknowndev": "L\u00f6schen der (unknown) Ger\u00e4te", + "Maintenance_Tool_del_unknowndev_noti": "L\u00f6sche (unknown) Ger\u00e4te", + "Maintenance_Tool_del_unknowndev_noti_text": "Sind Sie sicher, dass Sie alle (unknown) Ger\u00e4te aus der Datenbank l\u00f6schen wollen?", + "Maintenance_Tool_del_unknowndev_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht r\u00fcck­g\u00e4ngig gemacht werden. Alle Gr\u00e4te mit dem Namen (unknown) werden aus der Datenbank ge­l\u00f6scht.", + "Maintenance_Tool_displayed_columns_text": "\u00c4ndere die Sichtbarkeit und Anordnung der Spalten in der Ger\u00e4te-Seite. (Drag-and-Drop funktioniert nicht einwandfrei, ist aber verwendbar. Ich habe 3 Stunden versucht das zu beheben, werde es aber nicht weiter verfolgen. \u00dcber einen PR mit einem Fix w\u00fcrde ich mich freuen :) ).", + "Maintenance_Tool_drag_me": "Zieh mich um die Anordnung der Spalten zu \u00e4ndern.", "Maintenance_Tool_order_columns_text": "", - "Maintenance_Tool_purgebackup": "Sicherungen aufräumen", - "Maintenance_Tool_purgebackup_noti": "Sicherungen aufräumen", - "Maintenance_Tool_purgebackup_noti_text": "Sind Sie sicher, alle Backups, bis auf die letzten 3 löschen möchten?", - "Maintenance_Tool_purgebackup_text": "Es werden, bis auf die letzten 3 Backups, alle übrigen Backups gelöscht.", + "Maintenance_Tool_purgebackup": "Sicherungen aufr\u00e4umen", + "Maintenance_Tool_purgebackup_noti": "Sicherungen aufr\u00e4umen", + "Maintenance_Tool_purgebackup_noti_text": "Sind Sie sicher, alle Backups, bis auf die letzten 3 l\u00f6schen m\u00f6chten?", + "Maintenance_Tool_purgebackup_text": "Es werden, bis auf die letzten 3 Backups, alle \u00fcbrigen Backups gel\u00f6scht.", "Maintenance_Tool_restore": "DB Wiederherstellung", "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 Funk­tion wiederhergestellt werden. Ältere Sicher­ungen müssen manuell wieder­hergestellt wer­den. Es empfiehlt sich eine Integritäts­prüfung nach der Wieder­her­stellung zu machen, falls die Datenbank bei der Sicherung geöffnet war.", + "Maintenance_Tool_restore_noti_text": "Sind Sie sicher, dass Sie die Datenbank aus der neusten Sicherung wiederherstellen m\u00f6chten? Pr\u00fcfen Sie, dass gerade keine Scans stattfinden.", + "Maintenance_Tool_restore_text": "Das neuste Backup kann \u00fcber diese Funk­tion wiederhergestellt werden. \u00c4ltere Sicher­ungen m\u00fcssen manuell wieder­hergestellt wer­den. Es empfiehlt sich eine Integrit\u00e4ts­pr\u00fcfung nach der Wieder­her­stellung zu machen, falls die Datenbank bei der Sicherung ge\u00f6ffnet war.", "Maintenance_Tool_upgrade_database_noti": "Aktualisiere Datenbank", "Maintenance_Tool_upgrade_database_noti_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen.", - "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.", + "Maintenance_Tool_upgrade_database_text": "Mit dieser Schaltfl\u00e4che wird die Datenbank aktualisiert, um das Diagramm der Netzwerkaktivit\u00e4ten der letzten 12 Stunden zu aktivieren. Bitte sichern Sie Ihre Datenbank, falls Probleme auftreten.", "Maintenance_Tools_Tab_BackupRestore": "Sicherg. / Wiederherstellg.", "Maintenance_Tools_Tab_Logging": "Logs", "Maintenance_Tools_Tab_Settings": "Einstellungen", @@ -436,24 +436,24 @@ "Maintenance_built_on": "Erstellt am", "Maintenance_current_version": "Du bist up-to-date. Sieh dir an, woran ich gerade arbeite.", "Maintenance_database_backup": "DB Sicherungen", - "Maintenance_database_backup_found": "Sicherungen verfügbar", + "Maintenance_database_backup_found": "Sicherungen verf\u00fcgbar", "Maintenance_database_backup_total": "Speicherplatz insgesamt", - "Maintenance_database_lastmod": "Letzte Änderung", + "Maintenance_database_lastmod": "Letzte \u00c4nderung", "Maintenance_database_path": "Datenbank-Pfad", "Maintenance_database_rows": "Tabelle (Reihen)", - "Maintenance_database_size": "Datenbank-Größe", - "Maintenance_lang_selector_apply": "Übernehmen", - "Maintenance_lang_selector_empty": "Sprache wählen", + "Maintenance_database_size": "Datenbank-Gr\u00f6\u00dfe", + "Maintenance_lang_selector_apply": "\u00dcbernehmen", + "Maintenance_lang_selector_empty": "Sprache w\u00e4hlen", "Maintenance_lang_selector_lable": "Sprachauswahl", - "Maintenance_lang_selector_text": "Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", - "Maintenance_new_version": "🆕 Eine neue Version ist vefügbar. Sieh dir die Versionshinweise an.", - "Maintenance_themeselector_apply": "Übernehmen", - "Maintenance_themeselector_empty": "Skin wählen", + "Maintenance_lang_selector_text": "Die \u00c4nderung findet serverseitig statt, betrifft also alle verwendeten Ger\u00e4te.", + "Maintenance_new_version": "\ud83c\udd95 Eine neue Version ist vef\u00fcgbar. Sieh dir die Versionshinweise an.", + "Maintenance_themeselector_apply": "\u00dcbernehmen", + "Maintenance_themeselector_empty": "Skin w\u00e4hlen", "Maintenance_themeselector_lable": "Skin Auswahl", - "Maintenance_themeselector_text": "Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", + "Maintenance_themeselector_text": "Die \u00c4nderung findet serverseitig statt, betrifft also alle verwendeten Ger\u00e4te.", "Maintenance_version": "App Updates", - "NETWORK_DEVICE_TYPES_description": "Welche Gerätetypen als Netzwerkgeräte in der Netzwerkansicht verwendet werden können. Der Gerätetyp muss genau der Typ-Einstellung eines spezifischen Geräts in den Gerätedetails übereinstimmen. Entfernen Sie keine existierenden Typen, sondern fügen Sie nur neue ein.", - "NETWORK_DEVICE_TYPES_name": "Netzwerkgeräte-Typen", + "NETWORK_DEVICE_TYPES_description": "Welche Ger\u00e4tetypen als Netzwerkger\u00e4te in der Netzwerkansicht verwendet werden k\u00f6nnen. Der Ger\u00e4tetyp muss genau der Typ-Einstellung eines spezifischen Ger\u00e4ts in den Ger\u00e4tedetails \u00fcbereinstimmen. Entfernen Sie keine existierenden Typen, sondern f\u00fcgen Sie nur neue ein.", + "NETWORK_DEVICE_TYPES_name": "Netzwerkger\u00e4te-Typen", "NTFY_HOST_description": "NTFY host URL starting with http:// or https://. You can use the hosted instance on https://ntfy.sh by simply entering https://ntfy.sh.", "NTFY_HOST_name": "NTFY host URL", "NTFY_PASSWORD_description": "Enter password if you need (host) an instance with enabled authetication.", @@ -465,7 +465,7 @@ "NTFY_display_name": "NTFY", "NTFY_icon": "", "Navigation_About": "", - "Navigation_Devices": "Geräte", + "Navigation_Devices": "Ger\u00e4te", "Navigation_Donations": "Donations", "Navigation_Events": "Ereignisse", "Navigation_Flows": "Flows", @@ -480,53 +480,53 @@ "Navigation_SystemInfo": "Systeminfo", "Navigation_Workflows": "", "Network_Assign": "Zum obigen Netzwerkknoten zuweisen", - "Network_Cant_Assign": "Internet-Wurzelknoten kann nicht als äußerer Kindknoten zugewiesen werden.", + "Network_Cant_Assign": "Internet-Wurzelknoten kann nicht als \u00e4u\u00dferer Kindknoten zugewiesen werden.", "Network_Configuration_Error": "", - "Network_Connected": "Verbundene Geräte", - "Network_ManageAdd": "Gerät hinzufügen", - "Network_ManageAdd_Name": "Name des Gerätes", + "Network_Connected": "Verbundene Ger\u00e4te", + "Network_ManageAdd": "Ger\u00e4t hinzuf\u00fcgen", + "Network_ManageAdd_Name": "Name des Ger\u00e4tes", "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_Type": "Gerätetyp", - "Network_ManageAdd_Type_text": "-- Typ wählen --", + "Network_ManageAdd_Submit": "Hinzuf\u00fcgen", + "Network_ManageAdd_Type": "Ger\u00e4tetyp", + "Network_ManageAdd_Type_text": "-- Typ w\u00e4hlen --", "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_Submit": "Löschen", - "Network_ManageDevices": "Geräte verwalten", - "Network_ManageEdit": "Gerät bearbeiten", - "Network_ManageEdit_ID": "Gerät zum Bearbeiten auswählen", - "Network_ManageEdit_ID_text": "-- Gerät wählen --", + "Network_ManageDel": "Ger\u00e4t l\u00f6schen", + "Network_ManageDel_Name": "Ger\u00e4t zum L\u00f6schen ausw\u00e4hlen", + "Network_ManageDel_Name_text": "-- Ger\u00e4t w\u00e4hlen --", + "Network_ManageDel_Submit": "L\u00f6schen", + "Network_ManageDevices": "Ger\u00e4te verwalten", + "Network_ManageEdit": "Ger\u00e4t bearbeiten", + "Network_ManageEdit_ID": "Ger\u00e4t zum Bearbeiten ausw\u00e4hlen", + "Network_ManageEdit_ID_text": "-- Ger\u00e4t w\u00e4hlen --", "Network_ManageEdit_Name": "Neuer Name", "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_text": "-- Typ w\u00e4hlen --", "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.", + "Network_NoAssignedDevices": "Dieser Netzwerkknoten hat keine zugewiesenen Ger\u00e4te (Kindknoten). Weise eins von unten zu oder gehe in den Details Tab eines Ger\u00e4tes in Ger\u00e4te, und weise dort das Ger\u00e4t einem Netzwerk Knoten und einem Netzwerk Knoten Port zu.", "Network_NoDevices": "", "Network_Node": "Netzwerkknoten", "Network_Node_Name": "Knotenname", - "Network_Parent": "Übergeordnetes Netzwerkgerät", + "Network_Parent": "\u00dcbergeordnetes Netzwerkger\u00e4t", "Network_Root": "", "Network_Root_Not_Configured": "", "Network_Root_Unconfigurable": "Nicht konfigurierbare Wurzel", - "Network_Table_Hostname": "Gerätename", + "Network_Table_Hostname": "Ger\u00e4tename", "Network_Table_IP": "IP", "Network_Table_State": "Status", - "Network_Title": "Netzwerkübersicht", - "Network_UnassignedDevices": "Nicht zugewiesene Geräte", - "PIALERT_WEB_PASSWORD_description": "Das Standardpasswort ist 123456. Um das Passwort zu ändern, entweder /home/pi/pialert/back/pialert-cli im Container starten oder SETPWD_RUN Set password plugin nutzen.", + "Network_Title": "Netzwerk\u00fcbersicht", + "Network_UnassignedDevices": "Nicht zugewiesene Ger\u00e4te", + "PIALERT_WEB_PASSWORD_description": "Das Standardpasswort ist 123456. Um das Passwort zu \u00e4ndern, entweder /home/pi/pialert/back/pialert-cli im Container starten oder SETPWD_RUN Set password plugin nutzen.", "PIALERT_WEB_PASSWORD_name": "Login-Passwort", "PIALERT_WEB_PROTECTION_description": "Ein Loginfenster wird angezeigt wenn aktiviert. Untere Beschreibung genau durchlesen falls Sie sich aus Ihrer Instanz aussperren.", "PIALERT_WEB_PROTECTION_name": "Login aktivieren", - "PLUGINS_KEEP_HIST_description": "Wie viele Plugin Scanresultate behalten werden (pro Plugin, nicht gerätespezifisch).", + "PLUGINS_KEEP_HIST_description": "Wie viele Plugin Scanresultate behalten werden (pro Plugin, nicht ger\u00e4tespezifisch).", "PLUGINS_KEEP_HIST_name": "Plugins Verlauf", "PUSHSAFER_TOKEN_description": "Your secret Pushsafer API key (token).", "PUSHSAFER_TOKEN_name": "Pushsafer token", @@ -545,21 +545,21 @@ "Presence_CalHead_quarter": "Quartal", "Presence_CalHead_week": "Woche", "Presence_CalHead_year": "Jahr", - "Presence_CallHead_Devices": "Geräte", + "Presence_CallHead_Devices": "Ger\u00e4te", "Presence_Loading": "Laden...", - "Presence_Shortcut_AllDevices": "Alle Geräte", + "Presence_Shortcut_AllDevices": "Alle Ger\u00e4te", "Presence_Shortcut_Archived": "Archiviert", "Presence_Shortcut_Connected": "Verbunden", - "Presence_Shortcut_Devices": "Geräte", + "Presence_Shortcut_Devices": "Ger\u00e4te", "Presence_Shortcut_DownAlerts": "Down Meldungen", "Presence_Shortcut_Favorites": "Favoriten", - "Presence_Shortcut_NewDevices": "Neue Geräte", - "Presence_Title": "Anwesenheit pro Gerät", + "Presence_Shortcut_NewDevices": "Neue Ger\u00e4te", + "Presence_Title": "Anwesenheit pro Ger\u00e4t", "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).", + "REPORT_DASHBOARD_URL_description": "Diese URL wird als Basis f\u00fcrs Erstellen von Links in E-Mails genutzt. Geben Sie die gesamte URL startend mit http:// inklusive der genutzten Portnummer ein (keinen nachfolgenden Schr\u00e4gstrich / nutzen).", "REPORT_DASHBOARD_URL_name": "Pi.Alert URL", - "REPORT_ERROR": "Die gesuchte Seite ist vorübergehend nicht verfügbar. Bitte versuchen Sie es nach ein paar Sekunden erneut", + "REPORT_ERROR": "Die gesuchte Seite ist vor\u00fcbergehend nicht verf\u00fcgbar. Bitte versuchen Sie es nach ein paar Sekunden erneut", "REPORT_FROM_description": "Notification email subject line. Some SMTP servers need this to be an email.", "REPORT_FROM_name": "Email subject", "REPORT_MAIL_description": "If enabled an email is sent out with a list of changes you nove subscribed to. Please also fill out all remaining settings related to the SMTP setup below. If facing issues, set LOG_LEVEL to debug and check the error log.", @@ -604,12 +604,12 @@ "Systeminfo_CPU_Speed": "CPU-Geschwindigkeit:", "Systeminfo_CPU_Temp": "CPU-Temp:", "Systeminfo_CPU_Vendor": "CPU-Anbieter:", - "Systeminfo_Client_Resolution": "Browserauflösung:", + "Systeminfo_Client_Resolution": "Browseraufl\u00f6sung:", "Systeminfo_Client_User_Agent": "Browser-Bezeichnung:", "Systeminfo_General": "Allgemein", "Systeminfo_General_Date": "Datum:", "Systeminfo_General_Date2": "Datum2:", - "Systeminfo_General_Full_Date": "Vollständiges Datum:", + "Systeminfo_General_Full_Date": "Vollst\u00e4ndiges Datum:", "Systeminfo_General_TimeZone": "Zeitzone:", "Systeminfo_Memory": "Arbeitsspeicher", "Systeminfo_Memory_Total_Memory": "Gesamtspeicher:", @@ -630,6 +630,10 @@ "Systeminfo_Network_HTTP_Referer": "HTTP-Referer:", "Systeminfo_Network_HTTP_Referer_String": "Kein HTTP-Referer", "Systeminfo_Network_Hardware": "Netzwerk Hardware", + "Systeminfo_Network_Hardware_Interface_Mask": "", + "Systeminfo_Network_Hardware_Interface_Name": "", + "Systeminfo_Network_Hardware_Interface_RX": "", + "Systeminfo_Network_Hardware_Interface_TX": "", "Systeminfo_Network_IP": "IP Internet:", "Systeminfo_Network_IP_Connection": "IP-Verbindung:", "Systeminfo_Network_IP_Server": "Server-IP:", @@ -648,9 +652,9 @@ "Systeminfo_Services_Description": "Dienstbeschreibung", "Systeminfo_Services_Name": "Dienstname", "Systeminfo_Storage": "Speicher", - "Systeminfo_Storage_Device": "Gerät:", + "Systeminfo_Storage_Device": "Ger\u00e4t:", "Systeminfo_Storage_Mount": "Mountpunkt:", - "Systeminfo_Storage_Size": "Größe:", + "Systeminfo_Storage_Size": "Gr\u00f6\u00dfe:", "Systeminfo_Storage_Type": "Typ:", "Systeminfo_Storage_Usage": "Speicherverwendung", "Systeminfo_Storage_Usage_Free": "Frei:", @@ -666,18 +670,18 @@ "Systeminfo_System_System": "System:", "Systeminfo_System_Uname": "Uname:", "Systeminfo_System_Uptime": "Betriebszeit:", - "Systeminfo_This_Client": "Dieses Gerät", - "Systeminfo_USB_Devices": "USB-Geräte", + "Systeminfo_This_Client": "Dieses Ger\u00e4t", + "Systeminfo_USB_Devices": "USB-Ger\u00e4te", "TIMEZONE_description": "Zeitzone um Statistiken korrekt darzustellen. Finde deine Zeitzone hier.", "TIMEZONE_name": "Zeitzone", - "UI_LANG_description": "Bevorzugte Oberflächensprache auswählen.", + "UI_LANG_description": "Bevorzugte Oberfl\u00e4chensprache ausw\u00e4hlen.", "UI_LANG_name": "UI Sprache", "UI_MY_DEVICES_description": "", "UI_MY_DEVICES_name": "", "UI_NOT_RANDOM_MAC_description": "", "UI_NOT_RANDOM_MAC_name": "", - "UI_PRESENCE_description": "Auswählen, welche Status im Gerätepräsenz im Laufe der Zeit-Diagramm in der Geräte-Seite angzeigt werden sollen. (STRG + klicken zum aus-/abwählen).", - "UI_PRESENCE_name": "Anzeige im Präsenzdiagramm", + "UI_PRESENCE_description": "Ausw\u00e4hlen, welche Status im Ger\u00e4tepr\u00e4senz im Laufe der Zeit-Diagramm in der Ger\u00e4te-Seite angzeigt werden sollen. (STRG + klicken zum aus-/abw\u00e4hlen).", + "UI_PRESENCE_name": "Anzeige im Pr\u00e4senzdiagramm", "WEBHOOK_PAYLOAD_description": "The Webhook payload data format for the body > attachments > text attribute in the payload json. See an example of the payload here. (e.g.: for discord use text)", "WEBHOOK_PAYLOAD_name": "Payload type", "WEBHOOK_REQUEST_METHOD_description": "The HTTP request method to be used for the webhook call.", @@ -723,4 +727,4 @@ "settings_system_label": "", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Save your changes at first before you test your settings." -} +} \ No newline at end of file diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index db6acdf2..ada29467 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -561,6 +561,10 @@ "Systeminfo_Network_HTTP_Referer": "HTTP referrer:", "Systeminfo_Network_HTTP_Referer_String": "No HTTP referrer", "Systeminfo_Network_Hardware": "Network Hardware", + "Systeminfo_Network_Hardware_Interface_Mask": "Network Mask", + "Systeminfo_Network_Hardware_Interface_Name": "Interface Name", + "Systeminfo_Network_Hardware_Interface_RX": "Received", + "Systeminfo_Network_Hardware_Interface_TX": "Transmitted", "Systeminfo_Network_IP": "IP Internet:", "Systeminfo_Network_IP_Connection": "IP connection:", "Systeminfo_Network_IP_Server": "Server IP:", diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json index bcd6eb61..1edcb656 100755 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -1,27 +1,27 @@ { - "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\u00e1 un archivo JSON y luego lo expondr\u00e1 a trav\u00e9s del archivo table_custom_endpoint.json.", "API_CUSTOM_SQL_name": "Endpoint personalizado", "API_display_name": "API", "API_icon": "", "APPRISE_HOST_description": "URL del host de Apprise que comienza con http:// o https://. (no olvide incluir /notify al final)", "APPRISE_HOST_name": "URL del host de Apprise", - "APPRISE_PAYLOAD_description": "Seleccione el tipo de carga útil enviada a Apprise. Por ejemplo, html funciona bien con correos electrónicos, text con aplicaciones de chat, como Telegram.", + "APPRISE_PAYLOAD_description": "Seleccione el tipo de carga \u00fatil enviada a Apprise. Por ejemplo, html funciona bien con correos electr\u00f3nicos, text con aplicaciones de chat, como Telegram.", "APPRISE_PAYLOAD_name": "Tipo de carga", - "APPRISE_SIZE_description": "El tamaño máximo de la carga útil de información como número de caracteres en la cadena pasada. Si supera el límite, se truncará y se agregará un mensaje (text was truncated).", - "APPRISE_SIZE_name": "Tamaño máximo de carga útil", - "APPRISE_URL_description": "Informar de la URL de destino de la notificación. Por ejemplo, para Telegram sería tgram://{bot_token}/{chat_id}.", - "APPRISE_URL_name": "URL de notificación de Apprise", - "About_Design": "Diseñado para:", + "APPRISE_SIZE_description": "El tama\u00f1o m\u00e1ximo de la carga \u00fatil de informaci\u00f3n como n\u00famero de caracteres en la cadena pasada. Si supera el l\u00edmite, se truncar\u00e1 y se agregar\u00e1 un mensaje (text was truncated).", + "APPRISE_SIZE_name": "Tama\u00f1o m\u00e1ximo de carga \u00fatil", + "APPRISE_URL_description": "Informar de la URL de destino de la notificaci\u00f3n. Por ejemplo, para Telegram ser\u00eda tgram://{bot_token}/{chat_id}.", + "APPRISE_URL_name": "URL de notificaci\u00f3n de Apprise", + "About_Design": "Dise\u00f1ado para:", "About_Exit": "Salir", - "About_Title": "Escáner de seguridad de la red y marco de notificaciones", + "About_Title": "Esc\u00e1ner de seguridad de la red y marco de notificaciones", "AppEvents_DateTimeCreated": "Registrado", "AppEvents_Extra": "Extra", - "AppEvents_GUID": "GUID del evento de aplicación", + "AppEvents_GUID": "GUID del evento de aplicaci\u00f3n", "AppEvents_Helper1": "Ayudante 1", "AppEvents_Helper2": "Ayudante 2", "AppEvents_Helper3": "Ayudante 3", "AppEvents_ObjectForeignKey": "Clave externa", - "AppEvents_ObjectIndex": "Índice", + "AppEvents_ObjectIndex": "\u00cdndice", "AppEvents_ObjectIsArchived": "Se archiva (en el momento del registro)", "AppEvents_ObjectIsNew": "Es nuevo (en el momento del registro)", "AppEvents_ObjectPlugin": "Complemento vinculado", @@ -34,106 +34,106 @@ "AppEvents_Type": "Tipo", "Apprise_display_name": "Apprise", "Apprise_icon": "", - "BackDevDetail_Actions_Ask_Run": "¿Desea ejecutar la acción?", - "BackDevDetail_Actions_Not_Registered": "Acción no registrada: ", - "BackDevDetail_Actions_Title_Run": "Ejecutar acción", - "BackDevDetail_Copy_Ask": "¿Copiar detalles del dispositivo de la lista desplegable (se sobrescribirá todo en esta página)?", + "BackDevDetail_Actions_Ask_Run": "\u00bfDesea ejecutar la acci\u00f3n?", + "BackDevDetail_Actions_Not_Registered": "Acci\u00f3n no registrada: ", + "BackDevDetail_Actions_Title_Run": "Ejecutar acci\u00f3n", + "BackDevDetail_Copy_Ask": "\u00bfCopiar detalles del dispositivo de la lista desplegable (se sobrescribir\u00e1 todo en esta p\u00e1gina)?", "BackDevDetail_Copy_Title": "Copiar detalles", "BackDevDetail_Tools_WOL_error": "Ha ocurrido un error al ejectuar el comando.", "BackDevDetail_Tools_WOL_okay": "El comando se ha ejecutado correctamente.", "BackDevices_Arpscan_disabled": "Arp-Scan Desactivado", "BackDevices_Arpscan_enabled": "Arp-Scan Activado", "BackDevices_Backup_CopError": "La base de datos original no se pudo guardar.", - "BackDevices_Backup_Failed": "La copia de seguridad se ejecutó parcialmente con éxito. El archivo no se puede crear o está vacío.", - "BackDevices_Backup_okay": "La copia de seguridad ejecutada con éxito con el nuevo archivo", - "BackDevices_DBTools_DelDevError_a": "Error de eliminación del dispositivo", - "BackDevices_DBTools_DelDevError_b": "Error de eliminación de dispositivos", + "BackDevices_Backup_Failed": "La copia de seguridad se ejecut\u00f3 parcialmente con \u00e9xito. El archivo no se puede crear o est\u00e1 vac\u00edo.", + "BackDevices_Backup_okay": "La copia de seguridad ejecutada con \u00e9xito con el nuevo archivo", + "BackDevices_DBTools_DelDevError_a": "Error de eliminaci\u00f3n del dispositivo", + "BackDevices_DBTools_DelDevError_b": "Error de eliminaci\u00f3n de dispositivos", "BackDevices_DBTools_DelDev_a": "Dispositivo eliminado", "BackDevices_DBTools_DelDev_b": "Dispositivos eliminados", "BackDevices_DBTools_DelEvents": "Eventos eliminados", - "BackDevices_DBTools_DelEventsError": "Error de eliminación de eventos", + "BackDevices_DBTools_DelEventsError": "Error de eliminaci\u00f3n de eventos", "BackDevices_DBTools_ImportCSV": "Los dispositivos del archivo CSV han sido importados correctamente.", - "BackDevices_DBTools_ImportCSVError": "El archivo CSV no pudo ser importado. Asegúrate de que el formato es correcto.", + "BackDevices_DBTools_ImportCSVError": "El archivo CSV no pudo ser importado. Aseg\u00farate de que el formato es correcto.", "BackDevices_DBTools_ImportCSVMissing": "El archivo CSV no se pudo encontrar en /config/devices.csv.", - "BackDevices_DBTools_Purge": "Las copias de seguridad más antiguas fueron eliminadas", - "BackDevices_DBTools_UpdDev": "Dispositivo actualizado con éxito", + "BackDevices_DBTools_Purge": "Las copias de seguridad m\u00e1s antiguas fueron eliminadas", + "BackDevices_DBTools_UpdDev": "Dispositivo actualizado con \u00e9xito", "BackDevices_DBTools_UpdDevError": "Error al actualizar el dispositivo", "BackDevices_DBTools_Upgrade": "Base de datos actualizada correctamente", - "BackDevices_DBTools_UpgradeError": "Falló la actualización de la base de datos", - "BackDevices_Device_UpdDevError": "Fallo al actualizar dispositivos, pruebe de nuevo más tarde. La base de datos probablemente esté bloqueada por una tarea en curso.", + "BackDevices_DBTools_UpgradeError": "Fall\u00f3 la actualizaci\u00f3n de la base de datos", + "BackDevices_Device_UpdDevError": "Fallo al actualizar dispositivos, pruebe de nuevo m\u00e1s tarde. La base de datos probablemente est\u00e9 bloqueada por una tarea en curso.", "BackDevices_Restore_CopError": "La base de datos original no se pudo guardar.", - "BackDevices_Restore_Failed": "La restauración falló. Restaurar la copia de seguridad manualmente.", - "BackDevices_Restore_okay": "Restauración ejecutado con éxito.", + "BackDevices_Restore_Failed": "La restauraci\u00f3n fall\u00f3. Restaurar la copia de seguridad manualmente.", + "BackDevices_Restore_okay": "Restauraci\u00f3n ejecutado con \u00e9xito.", "BackDevices_darkmode_disabled": "Darkmode Desactivado", "BackDevices_darkmode_enabled": "Darkmode Activado", - "DAYS_TO_KEEP_EVENTS_description": "Esta es una configuración de mantenimiento. Esto especifica el número de días de entradas de eventos que se guardarán. Todos los eventos anteriores se eliminarán periódicamente.", + "DAYS_TO_KEEP_EVENTS_description": "Esta es una configuraci\u00f3n de mantenimiento. Esto especifica el n\u00famero de d\u00edas de entradas de eventos que se guardar\u00e1n. Todos los eventos anteriores se eliminar\u00e1n peri\u00f3dicamente.", "DAYS_TO_KEEP_EVENTS_name": "Eliminar eventos anteriores a", "DevDetail_Copy_Device_Title": " Copiar detalles del dispositivo", - "DevDetail_Copy_Device_Tooltip": "Copiar detalles del dispositivo de la lista desplegable. Todo en esta página se sobrescribirá", + "DevDetail_Copy_Device_Tooltip": "Copiar detalles del dispositivo de la lista desplegable. Todo en esta p\u00e1gina se sobrescribir\u00e1", "DevDetail_EveandAl_AlertAllEvents": "Alerta a todos los eventos", - "DevDetail_EveandAl_AlertDown": "Alerta de caída", + "DevDetail_EveandAl_AlertDown": "Alerta de ca\u00edda", "DevDetail_EveandAl_Archived": "Archivada", "DevDetail_EveandAl_NewDevice": "Nuevo dispositivo", - "DevDetail_EveandAl_NewDevice_Tooltip": "Mostrará el estado Nuevo para el dispositivo y lo incluirá en las listas cuando el filtro Nuevos dispositivos esté activo. No afecta a las notificaciones.", + "DevDetail_EveandAl_NewDevice_Tooltip": "Mostrar\u00e1 el estado Nuevo para el dispositivo y lo incluir\u00e1 en las listas cuando el filtro Nuevos dispositivos est\u00e9 activo. No afecta a las notificaciones.", "DevDetail_EveandAl_RandomMAC": "MAC al azar", "DevDetail_EveandAl_ScanCycle": "Ciclo de escaneo", "DevDetail_EveandAl_ScanCycle_a": "Escanear Dispositivo", "DevDetail_EveandAl_ScanCycle_z": "No Escanear Dispositivo", "DevDetail_EveandAl_Skip": "Omitir notificaciones repetidas durante", - "DevDetail_EveandAl_Title": " Configuración de eventos y alertas", - "DevDetail_Events_CheckBox": "Ocultar eventos de conexión", - "DevDetail_GoToNetworkNode": "Navegar a la página de Internet del nodo seleccionado.", + "DevDetail_EveandAl_Title": " Configuraci\u00f3n de eventos y alertas", + "DevDetail_Events_CheckBox": "Ocultar eventos de conexi\u00f3n", + "DevDetail_GoToNetworkNode": "Navegar a la p\u00e1gina de Internet del nodo seleccionado.", "DevDetail_Icon": "Icono", "DevDetail_Icon_Descr": "Ingrese un nombre de icono de fuente awesome sin el prefijo fa- o con clase completa, por ejemplo: fa fa-skin fa-apple.", "DevDetail_Loading": "Cargando ...", "DevDetail_MainInfo_Comments": "Comentario", "DevDetail_MainInfo_Favorite": "Favorito", "DevDetail_MainInfo_Group": "Grupo", - "DevDetail_MainInfo_Location": "Ubicación", + "DevDetail_MainInfo_Location": "Ubicaci\u00f3n", "DevDetail_MainInfo_Name": "Nombre", "DevDetail_MainInfo_Network": " Nodo (MAC)", "DevDetail_MainInfo_Network_Port": " Puerto de Red HW", "DevDetail_MainInfo_Network_Title": " Red", "DevDetail_MainInfo_Owner": "Propietario", - "DevDetail_MainInfo_Title": " Información principal", + "DevDetail_MainInfo_Title": " Informaci\u00f3n principal", "DevDetail_MainInfo_Type": "Tipo", "DevDetail_MainInfo_Vendor": "Proveedor", "DevDetail_MainInfo_mac": "MAC", - "DevDetail_Network_Node_hover": "Seleccione el dispositivo de red principal al que está conectado el dispositivo actual para completar el árbol de Red.", - "DevDetail_Network_Port_hover": "El puerto al que está conectado este dispositivo en el dispositivo de red principal. Si se deja vacío, se muestra un icono de wifi en el árbol de Red.", + "DevDetail_Network_Node_hover": "Seleccione el dispositivo de red principal al que est\u00e1 conectado el dispositivo actual para completar el \u00e1rbol de Red.", + "DevDetail_Network_Port_hover": "El puerto al que est\u00e1 conectado este dispositivo en el dispositivo de red principal. Si se deja vac\u00edo, se muestra un icono de wifi en el \u00e1rbol de Red.", "DevDetail_Nmap_Scans": "Escaneos de Nmap", - "DevDetail_Nmap_Scans_desc": "Aquí puede ejecutar escaneos NMAP manuales. También puede programar escaneos NMAP automáticos regulares a través del complemento Servicios y puertos (NMAP). Dirígete a Configuración para obtener más información", + "DevDetail_Nmap_Scans_desc": "Aqu\u00ed puede ejecutar escaneos NMAP manuales. Tambi\u00e9n puede programar escaneos NMAP autom\u00e1ticos regulares a trav\u00e9s del complemento Servicios y puertos (NMAP). Dir\u00edgete a Configuraci\u00f3n para obtener m\u00e1s informaci\u00f3n", "DevDetail_Nmap_buttonDefault": "Escaneado predeterminado", "DevDetail_Nmap_buttonDefault_text": "Escaneo predeterminado: NMAP escanea los 1,000 puertos principales para cada protocolo de escaneo solicitado. Esto atrapa aproximadamente el 93% de los puertos TCP y el 49% de los puertos UDP. (aproximadamente 5 segundos)", "DevDetail_Nmap_buttonDetail": "Escaneo detallado", - "DevDetail_Nmap_buttonDetail_text": "Escaneo detallado: escaneo predeterminado con detección de sistema operativo habilitado, detección de versiones, escaneo de script y traceroute (hasta 30 segundos o más)", - "DevDetail_Nmap_buttonFast": "Exploración rápida", - "DevDetail_Nmap_buttonFast_text": "Escaneo rápido: escanee menos puertos (100) que el escaneo predeterminado (unos pocos segundos)", - "DevDetail_Nmap_buttonSkipDiscovery": "Omitir detección de host", - "DevDetail_Nmap_buttonSkipDiscovery_text": "Omitir detección de host (-Pn opción): Escaneo predeterminado sin detección de host", - "DevDetail_Nmap_resultsLink": "Puedes abandonar esta página después de empezar un escaneo. Los resultados también estarán disponibles en el archivo pialert_front.log.", - "DevDetail_Owner_hover": "¿Quién es el propietario de este dispositivo? Campo de texto libre.", - "DevDetail_Periodselect_All": "Toda la información", + "DevDetail_Nmap_buttonDetail_text": "Escaneo detallado: escaneo predeterminado con detecci\u00f3n de sistema operativo habilitado, detecci\u00f3n de versiones, escaneo de script y traceroute (hasta 30 segundos o m\u00e1s)", + "DevDetail_Nmap_buttonFast": "Exploraci\u00f3n r\u00e1pida", + "DevDetail_Nmap_buttonFast_text": "Escaneo r\u00e1pido: escanee menos puertos (100) que el escaneo predeterminado (unos pocos segundos)", + "DevDetail_Nmap_buttonSkipDiscovery": "Omitir detecci\u00f3n de host", + "DevDetail_Nmap_buttonSkipDiscovery_text": "Omitir detecci\u00f3n de host (-Pn opci\u00f3n): Escaneo predeterminado sin detecci\u00f3n de host", + "DevDetail_Nmap_resultsLink": "Puedes abandonar esta p\u00e1gina despu\u00e9s de empezar un escaneo. Los resultados tambi\u00e9n estar\u00e1n disponibles en el archivo pialert_front.log.", + "DevDetail_Owner_hover": "\u00bfQui\u00e9n es el propietario de este dispositivo? Campo de texto libre.", + "DevDetail_Periodselect_All": "Toda la informaci\u00f3n", "DevDetail_Periodselect_LastMonth": "El mes pasado", "DevDetail_Periodselect_LastWeek": "La semana pasada", - "DevDetail_Periodselect_LastYear": "El año pasado", + "DevDetail_Periodselect_LastYear": "El a\u00f1o pasado", "DevDetail_Periodselect_today": "Hoy", - "DevDetail_Run_Actions_Title": " Ejecutar acción en el dispositivo", - "DevDetail_Run_Actions_Tooltip": "Ejecutar la acción del desplegable sobre el dispositivo actual.", - "DevDetail_SessionInfo_FirstSession": "1ra. sesión", - "DevDetail_SessionInfo_LastIP": "Última IP", - "DevDetail_SessionInfo_LastSession": "Última sesión", - "DevDetail_SessionInfo_StaticIP": "IP estática", + "DevDetail_Run_Actions_Title": " Ejecutar acci\u00f3n en el dispositivo", + "DevDetail_Run_Actions_Tooltip": "Ejecutar la acci\u00f3n del desplegable sobre el dispositivo actual.", + "DevDetail_SessionInfo_FirstSession": "1ra. sesi\u00f3n", + "DevDetail_SessionInfo_LastIP": "\u00daltima IP", + "DevDetail_SessionInfo_LastSession": "\u00daltima sesi\u00f3n", + "DevDetail_SessionInfo_StaticIP": "IP est\u00e1tica", "DevDetail_SessionInfo_Status": "Estado", - "DevDetail_SessionInfo_Title": " Información de sesión", - "DevDetail_SessionTable_Additionalinfo": "Información adicional", - "DevDetail_SessionTable_Connection": "Conexión", - "DevDetail_SessionTable_Disconnection": "Desconexión", - "DevDetail_SessionTable_Duration": "Duración", - "DevDetail_SessionTable_IP": "Dirección IP", + "DevDetail_SessionInfo_Title": " Informaci\u00f3n de sesi\u00f3n", + "DevDetail_SessionTable_Additionalinfo": "Informaci\u00f3n adicional", + "DevDetail_SessionTable_Connection": "Conexi\u00f3n", + "DevDetail_SessionTable_Disconnection": "Desconexi\u00f3n", + "DevDetail_SessionTable_Duration": "Duraci\u00f3n", + "DevDetail_SessionTable_IP": "Direcci\u00f3n IP", "DevDetail_SessionTable_Order": "Ordenar", "DevDetail_Shortcut_CurrentStatus": "Estado actual", - "DevDetail_Shortcut_DownAlerts": "Alerta(s) de caída(s)", + "DevDetail_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)", "DevDetail_Shortcut_Presence": "Historial", "DevDetail_Shortcut_Sessions": "Sesiones", "DevDetail_Tab_Details": " Detalles", @@ -141,73 +141,73 @@ "DevDetail_Tab_EventsTableDate": "Fecha", "DevDetail_Tab_EventsTableEvent": "Tipo de evento", "DevDetail_Tab_EventsTableIP": "IP", - "DevDetail_Tab_EventsTableInfo": "Información adicional", + "DevDetail_Tab_EventsTableInfo": "Informaci\u00f3n adicional", "DevDetail_Tab_Nmap": " Nmap", - "DevDetail_Tab_NmapEmpty": "Ningún puerto detectado en este dispositivo con Nmap.", + "DevDetail_Tab_NmapEmpty": "Ning\u00fan puerto detectado en este dispositivo con Nmap.", "DevDetail_Tab_NmapTableExtra": "Extra", "DevDetail_Tab_NmapTableHeader": "Resultados del escaneo programado", - "DevDetail_Tab_NmapTableIndex": "Índice", + "DevDetail_Tab_NmapTableIndex": "\u00cdndice", "DevDetail_Tab_NmapTablePort": "Puerto", "DevDetail_Tab_NmapTableService": "Servicio", "DevDetail_Tab_NmapTableState": "Estado", - "DevDetail_Tab_NmapTableText": "Establece la programación en los Ajustes", + "DevDetail_Tab_NmapTableText": "Establece la programaci\u00f3n en los Ajustes", "DevDetail_Tab_NmapTableTime": "Tiempo", "DevDetail_Tab_Plugins": " Plugins", "DevDetail_Tab_Presence": " Historial", "DevDetail_Tab_Sessions": " Sesiones", "DevDetail_Tab_Tools": " Herramientas", - "DevDetail_Tab_Tools_Internet_Info_Description": "La herramienta de información de internet muestra información sobre la conexión a Internet, como dirección IP, ciudad, país, código de área y zona horaria.", + "DevDetail_Tab_Tools_Internet_Info_Description": "La herramienta de informaci\u00f3n de internet muestra informaci\u00f3n sobre la conexi\u00f3n a Internet, como direcci\u00f3n IP, ciudad, pa\u00eds, c\u00f3digo de \u00e1rea y zona horaria.", "DevDetail_Tab_Tools_Internet_Info_Error": "Se ha producido un error", - "DevDetail_Tab_Tools_Internet_Info_Start": "Iniciar información de Internet", - "DevDetail_Tab_Tools_Internet_Info_Title": "Información de Internet", - "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup es una herramienta de línea de comandos que se utiliza para realizar consultas al Sistema de nombres de dominio (DNS). El DNS es un sistema que traduce nombres de dominio, como www.google.com, a direcciones IP, como 172.217.0.142.", - "DevDetail_Tab_Tools_Nslookup_Error": "Error: la dirección IP no es válida", + "DevDetail_Tab_Tools_Internet_Info_Start": "Iniciar informaci\u00f3n de Internet", + "DevDetail_Tab_Tools_Internet_Info_Title": "Informaci\u00f3n de Internet", + "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup es una herramienta de l\u00ednea de comandos que se utiliza para realizar consultas al Sistema de nombres de dominio (DNS). El DNS es un sistema que traduce nombres de dominio, como www.google.com, a direcciones IP, como 172.217.0.142.", + "DevDetail_Tab_Tools_Nslookup_Error": "Error: la direcci\u00f3n IP no es v\u00e1lida", "DevDetail_Tab_Tools_Nslookup_Start": "Iniciar Nslookup", "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", - "DevDetail_Tab_Tools_Speedtest_Description": "La herramienta Speedtest mide la velocidad de descarga, la velocidad de subida y la latencia de la conexión a Internet.", + "DevDetail_Tab_Tools_Speedtest_Description": "La herramienta Speedtest mide la velocidad de descarga, la velocidad de subida y la latencia de la conexi\u00f3n a Internet.", "DevDetail_Tab_Tools_Speedtest_Start": "Iniciar Speedtest", "DevDetail_Tab_Tools_Speedtest_Title": "Prueba Speedtest", - "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute es un comando de diagnóstico de red que se utiliza para rastrear la ruta que toman los paquetes de datos desde un host a otro.

El comando utiliza el protocolo de mensajes de control de Internet (ICMP) para enviar paquetes a los nodos intermedios en la ruta, cada nodo intermedio responde con un paquete ICMP de tiempo de vida agotado (TTL agotado).

La salida del comando traceroute muestra la dirección IP de cada nodo intermedio en la ruta.

El comando traceroute se puede usar para diagnosticar problemas de red, como retrasos, pérdida de paquetes y rutas bloqueadas.

También se puede usar para identificar la ubicación de un nodo intermedio en una red.", - "DevDetail_Tab_Tools_Traceroute_Error": "Error: la dirección IP no es válida", + "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute es un comando de diagn\u00f3stico de red que se utiliza para rastrear la ruta que toman los paquetes de datos desde un host a otro.

El comando utiliza el protocolo de mensajes de control de Internet (ICMP) para enviar paquetes a los nodos intermedios en la ruta, cada nodo intermedio responde con un paquete ICMP de tiempo de vida agotado (TTL agotado).

La salida del comando traceroute muestra la direcci\u00f3n IP de cada nodo intermedio en la ruta.

El comando traceroute se puede usar para diagnosticar problemas de red, como retrasos, p\u00e9rdida de paquetes y rutas bloqueadas.

Tambi\u00e9n se puede usar para identificar la ubicaci\u00f3n de un nodo intermedio en una red.", + "DevDetail_Tab_Tools_Traceroute_Error": "Error: la direcci\u00f3n IP no es v\u00e1lida", "DevDetail_Tab_Tools_Traceroute_Start": "Iniciar Traceroute", "DevDetail_Tab_Tools_Traceroute_Title": "Traceroute", "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 Pi.Alert, 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.", - "DevDetail_Vendor_hover": "El proveedor debe ser detectado automáticamente. Puede sobrescribir o agregar su valor personalizado.", + "DevDetail_Tools_WOL_noti_text": "El comando de Wake-on-LAN en enviado a la direcci\u00f3n de escucha. Si el dispositivo no est\u00e1 en la misma subred/vlan que Pi.Alert, el dispositivo no responder\u00e1.", + "DevDetail_Type_hover": "El tipo de dispositivo. Si selecciona cualquiera de los dispositivos de la red predefinidos (por ejemplo: AP, Firewall, enrutador, conmutador...), aparecer\u00e1n en la configuraci\u00f3n del \u00e1rbol de redes como posibles nodos de la red principal.", + "DevDetail_Vendor_hover": "El proveedor debe ser detectado autom\u00e1ticamente. Puede sobrescribir o agregar su valor personalizado.", "DevDetail_WOL_Title": " Wake-on-LAN", "DevDetail_button_Delete": "Eliminar dispositivo", "DevDetail_button_DeleteEvents": "Eliminar eventos", - "DevDetail_button_DeleteEvents_Warning": "¿Desea eliminar todos los eventos de este dispositivo?

(se eliminarán el Historial de eventos y las Sesiones, y puede ayudar en el caso de notificaciones constantes)", + "DevDetail_button_DeleteEvents_Warning": "\u00bfDesea eliminar todos los eventos de este dispositivo?

(se eliminar\u00e1n el Historial de eventos y las Sesiones, y puede ayudar en el caso de notificaciones constantes)", "DevDetail_button_OverwriteIcons": "Sobreescribir iconos", "DevDetail_button_OverwriteIcons_Tooltip": "Sobreescribir los iconos de todos los dispositivos con el mismo tipo", - "DevDetail_button_OverwriteIcons_Warning": "¿Sobreescribir todos los iconos de todos los dispositivos con el mismo tipo que el dispositivo actual?", + "DevDetail_button_OverwriteIcons_Warning": "\u00bfSobreescribir todos los iconos de todos los dispositivos con el mismo tipo que el dispositivo actual?", "DevDetail_button_Reset": "Restablecer cambios", "DevDetail_button_Save": "Guardar", - "Device_MultiEdit": "Edición múltiple", - "Device_MultiEdit_Backup": "Por favor, primero haga una copia de seguridad de su base de datos o configuración de los dispositivos creando una copia de seguridad devices.csv a través de la función de exportación de CSV en la pestaña Copia de seguridad / restauración.", + "Device_MultiEdit": "Edici\u00f3n m\u00faltiple", + "Device_MultiEdit_Backup": "Por favor, primero haga una copia de seguridad de su base de datos o configuraci\u00f3n de los dispositivos creando una copia de seguridad devices.csv a trav\u00e9s de la funci\u00f3n de exportaci\u00f3n de CSV en la pesta\u00f1a Copia de seguridad / restauraci\u00f3n.", "Device_MultiEdit_Fields": "Editar campos:", "Device_MultiEdit_MassActions": "Acciones masivas:", - "Device_MultiEdit_Tooltip": "Cuidado. Al hacer clic se aplicará el valor de la izquierda a todos los dispositivos seleccionados anteriormente.", - "Device_Searchbox": "Búsqueda", + "Device_MultiEdit_Tooltip": "Cuidado. Al hacer clic se aplicar\u00e1 el valor de la izquierda a todos los dispositivos seleccionados anteriormente.", + "Device_Searchbox": "B\u00fasqueda", "Device_Shortcut_AllDevices": "Mis dispositivos", "Device_Shortcut_Archived": "Archivado(s)", "Device_Shortcut_Connected": "Conectado(s)", "Device_Shortcut_Devices": "Dispositivos", - "Device_Shortcut_DownAlerts": "Alerta(s) de caída(s)", + "Device_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)", "Device_Shortcut_Favorites": "Favorito(s)", "Device_Shortcut_NewDevices": "Nuevo(s)", "Device_Shortcut_OnlineChart": "Presencia del dispositivo a lo largo del tiempo", "Device_TableHead_Connected_Devices": "Conexiones", "Device_TableHead_Favorite": "Favorito", - "Device_TableHead_FirstSession": "1ra. sesión", + "Device_TableHead_FirstSession": "1ra. sesi\u00f3n", "Device_TableHead_Group": "Grupo", "Device_TableHead_Icon": "Icon", - "Device_TableHead_LastIP": "Última IP", - "Device_TableHead_LastIPOrder": "Última orden de IP", - "Device_TableHead_LastSession": "Última sesión", - "Device_TableHead_Location": "Ubicación", + "Device_TableHead_LastIP": "\u00daltima IP", + "Device_TableHead_LastIPOrder": "\u00daltima orden de IP", + "Device_TableHead_LastSession": "\u00daltima sesi\u00f3n", + "Device_TableHead_Location": "Ubicaci\u00f3n", "Device_TableHead_MAC": "MAC aleatoria", "Device_TableHead_MAC_full": "MAC completa", "Device_TableHead_Name": "Nombre", @@ -216,10 +216,10 @@ "Device_TableHead_Port": "Puerto", "Device_TableHead_RowID": "Row ID", "Device_TableHead_Rowid": "Row ID", - "Device_TableHead_Status": "Situación", + "Device_TableHead_Status": "Situaci\u00f3n", "Device_TableHead_Type": "Tipo", "Device_TableHead_Vendor": "Fabricante", - "Device_Table_Not_Network_Device": "No está configurado como dispositivo de red", + "Device_Table_Not_Network_Device": "No est\u00e1 configurado como dispositivo de red", "Device_Table_info": "Mostrando el INICIO y el FINAL de TODAS las entradas", "Device_Table_nav_next": "Siguiente", "Device_Table_nav_prev": "Anterior", @@ -228,58 +228,58 @@ "Device_Title": "Dispositivos", "Donations_Others": "Otros", "Donations_Platforms": "Plataforma de patrocinadores", - "Donations_Text": "¡Hola! 👋
Gracias por hacer clic en este elemento 😅 del menú

, estoy tratando de recolectar algunas donaciones para mejorar el software. Además, me ayudaría a no quemarme. El hecho de que me queme podría significar el fin del soporte para esta aplicación. Cualquier pequeño patrocinio (recurrente o no) me hace querer esforzarme más en esta aplicación. No quiero bloquear funciones (nuevos complementos) detrás de muros 🔐 de pago.
Si tuviera algunos ingresos recurrentes, podría acortar mi semana laboral y en el tiempo restante concentrarme completamente en PiAlert. Obtendrías más funcionalidad, una aplicación más pulida y menos errores.

Gracias por leer, agradezco cualquier apoyo ❤🙏

TL; DR: Al apoyarme, obtienes:

  • Actualizaciones periódicas para mantener tus datos y tu familia seguros 🔄
  • Menos errores 🐛🔫
  • Mejor y más funcionalidad➕
  • No me quemo 🔥🤯
  • Lanzamientos 💨menos apresurados
  • Mejores documentos📚
  • Soporte más rápido y mejor con problemas 🆘

📧Envíame un correo electrónico a jokob@duck.com si quieres ponerte en contacto o si debo añadir otras plataformas de patrocinio.
", + "Donations_Text": "\u00a1Hola! \ud83d\udc4b
Gracias por hacer clic en este elemento \ud83d\ude05 del men\u00fa

, estoy tratando de recolectar algunas donaciones para mejorar el software. Adem\u00e1s, me ayudar\u00eda a no quemarme. El hecho de que me queme podr\u00eda significar el fin del soporte para esta aplicaci\u00f3n. Cualquier peque\u00f1o patrocinio (recurrente o no) me hace querer esforzarme m\u00e1s en esta aplicaci\u00f3n. No quiero bloquear funciones (nuevos complementos) detr\u00e1s de muros \ud83d\udd10 de pago.
Si tuviera algunos ingresos recurrentes, podr\u00eda acortar mi semana laboral y en el tiempo restante concentrarme completamente en PiAlert. Obtendr\u00edas m\u00e1s funcionalidad, una aplicaci\u00f3n m\u00e1s pulida y menos errores.

Gracias por leer, agradezco cualquier apoyo \u2764\ud83d\ude4f

TL; DR: Al apoyarme, obtienes:

  • Actualizaciones peri\u00f3dicas para mantener tus datos y tu familia seguros \ud83d\udd04
  • Menos errores \ud83d\udc1b\ud83d\udd2b
  • Mejor y m\u00e1s funcionalidad\u2795
  • No me quemo \ud83d\udd25\ud83e\udd2f
  • Lanzamientos \ud83d\udca8menos apresurados
  • Mejores documentos\ud83d\udcda
  • Soporte m\u00e1s r\u00e1pido y mejor con problemas \ud83c\udd98

\ud83d\udce7Env\u00edame un correo electr\u00f3nico a jokob@duck.com si quieres ponerte en contacto o si debo a\u00f1adir otras plataformas de patrocinio.
", "Donations_Title": "Donaciones", - "ENABLE_PLUGINS_description": "Habilita la funcionalidad de los complementos. Cargar los complementos requiere más recursos de hardware, así que quizás quieras desactivarlo en hardware poco potente.", + "ENABLE_PLUGINS_description": "Habilita la funcionalidad de los complementos. Cargar los complementos requiere m\u00e1s recursos de hardware, as\u00ed que quiz\u00e1s quieras desactivarlo en hardware poco potente.", "ENABLE_PLUGINS_name": "Habilitar complementos", "Email_display_name": "Email", "Email_icon": "", "Events_Loading": "Cargando...", - "Events_Periodselect_All": "Toda la información", + "Events_Periodselect_All": "Toda la informaci\u00f3n", "Events_Periodselect_LastMonth": "El mes pasado", "Events_Periodselect_LastWeek": "La semana pasada", - "Events_Periodselect_LastYear": "El año pasado", + "Events_Periodselect_LastYear": "El a\u00f1o pasado", "Events_Periodselect_today": "Hoy", - "Events_Searchbox": "Búsqueda", + "Events_Searchbox": "B\u00fasqueda", "Events_Shortcut_AllEvents": "Todos los eventos", - "Events_Shortcut_DownAlerts": "Alerta(s) de caída(s)", + "Events_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)", "Events_Shortcut_Events": "Eventos", "Events_Shortcut_MissSessions": "Sesiones faltantes", "Events_Shortcut_NewDevices": "Nuevo(s)", "Events_Shortcut_Sessions": "Sesiones", "Events_Shortcut_VoidSessions": "Sesiones anuladas", - "Events_TableHead_AdditionalInfo": "Información adicional", - "Events_TableHead_Connection": "Conexión", + "Events_TableHead_AdditionalInfo": "Informaci\u00f3n adicional", + "Events_TableHead_Connection": "Conexi\u00f3n", "Events_TableHead_Date": "Fecha", "Events_TableHead_Device": "Dispositivo", - "Events_TableHead_Disconnection": "Desconexión", - "Events_TableHead_Duration": "Duración", - "Events_TableHead_DurationOrder": "Orden de duración", + "Events_TableHead_Disconnection": "Desconexi\u00f3n", + "Events_TableHead_Duration": "Duraci\u00f3n", + "Events_TableHead_DurationOrder": "Orden de duraci\u00f3n", "Events_TableHead_EventType": "Tipo de evento", - "Events_TableHead_IP": "Dirección IP", + "Events_TableHead_IP": "Direcci\u00f3n IP", "Events_TableHead_IPOrder": "Orden de IP", "Events_TableHead_Order": "Ordenar", "Events_TableHead_Owner": "Propietario", "Events_Table_info": "Mostrando el INICIO y el FINAL de TODAS las entradas", "Events_Table_nav_next": "Siguiente", "Events_Table_nav_prev": "Anterior", - "Events_Tablelenght": "Mostrando entradas del MENÚ", + "Events_Tablelenght": "Mostrando entradas del MEN\u00da", "Events_Tablelenght_all": "Todos", "Events_Title": "Eventos", - "Gen_Action": "Acción", - "Gen_AreYouSure": "¿Estás seguro?", + "Gen_Action": "Acci\u00f3n", + "Gen_AreYouSure": "\u00bfEst\u00e1s seguro?", "Gen_Backup": "Ejecutar copia de seguridad", "Gen_Cancel": "Cancelar", "Gen_Copy": "Ejecutar", - "Gen_DataUpdatedUITakesTime": "Correcto - La interfaz puede tardar en actualizarse si se está ejecutando un escaneo.", + "Gen_DataUpdatedUITakesTime": "Correcto - La interfaz puede tardar en actualizarse si se est\u00e1 ejecutando un escaneo.", "Gen_Delete": "Eliminar", "Gen_DeleteAll": "Eliminar todo", "Gen_Error": "Error", - "Gen_LockedDB": "Fallo - La base de datos puede estar bloqueada - Pulsa F1 -> Ajustes de desarrolladores -> Consola o prueba más tarde.", + "Gen_LockedDB": "Fallo - La base de datos puede estar bloqueada - Pulsa F1 -> Ajustes de desarrolladores -> Consola o prueba m\u00e1s tarde.", "Gen_Okay": "Aceptar", "Gen_Purge": "Purgar", - "Gen_ReadDocs": "Lee más en los documentos.", - "Gen_Restore": "Ejecutar restauración", + "Gen_ReadDocs": "Lee m\u00e1s en los documentos.", + "Gen_Restore": "Ejecutar restauraci\u00f3n", "Gen_Run": "Ejecutar", "Gen_Save": "Guardar", "Gen_Saved": "Guardado", @@ -291,174 +291,174 @@ "Gen_Work_In_Progress": "Trabajo en curso, un buen momento para hacer comentarios en https://github.com/jokob-sk/Pi.Alert/issues", "General_display_name": "General", "General_icon": "", - "HRS_TO_KEEP_NEWDEV_description": "Esta es una configuración de mantenimiento. Si está habilitado (0 está deshabilitado), los dispositivos marcados como Nuevo dispositivo se eliminarán si su Primera sesión el tiempo era anterior a las horas especificadas en esta configuración. Utilice esta configuración si desea eliminar automáticamente Nuevos dispositivos después de X horas.", + "HRS_TO_KEEP_NEWDEV_description": "Esta es una configuraci\u00f3n de mantenimiento. Si est\u00e1 habilitado (0 est\u00e1 deshabilitado), los dispositivos marcados como Nuevo dispositivo se eliminar\u00e1n si su Primera sesi\u00f3n el tiempo era anterior a las horas especificadas en esta configuraci\u00f3n. Utilice esta configuraci\u00f3n si desea eliminar autom\u00e1ticamente Nuevos dispositivos despu\u00e9s de X horas.", "HRS_TO_KEEP_NEWDEV_name": "Guardar nuevos dispositivos para", "HelpFAQ_Cat_Detail": "Detalles", - "HelpFAQ_Cat_Detail_300_head": "¿Qué significa? ", - "HelpFAQ_Cat_Detail_300_text_a": "significa un dispositivo de red (un dispositivo del tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,Adaptador LAN USB, Adaptador WIFI USB o Internet). Los tipos personalizados pueden añadirse mediante el ajuste NETWORK_DEVICE_TYPES.", - "HelpFAQ_Cat_Detail_300_text_b": "designa el número de puerto en el que el dispositivo actualmente editado está conectado a este dispositivo de red. Lea esta guía para obtener más información.", - "HelpFAQ_Cat_Detail_301_head_a": "¿Cuándo está escaneando ahora? En ", - "HelpFAQ_Cat_Detail_301_head_b": " dice 1min pero el gráfico muestra intervalos de 5min.", - "HelpFAQ_Cat_Detail_301_text": "El intervalo de tiempo entre los escaneos está definido por el \"Cronjob\", que está fijado en 5min por defecto. La designación \"1min\" se refiere a la duración prevista de la exploración. Dependiendo de la configuración de la red, este tiempo puede variar. Para editar el cronjob, puedes utilizar el siguiente comando en el terminal/consola crontab -ey cambiar el intervalo.", - "HelpFAQ_Cat_Detail_302_head_a": "¿Qué significa? ", - "HelpFAQ_Cat_Detail_302_head_b": "¿y por qué no puedo seleccionarlo?", - "HelpFAQ_Cat_Detail_302_text": "Algunos dispositivos modernos generan direcciones MAC aleatorias por razones de privacidad, que ya no pueden asociarse a ningún fabricante y que vuelven a cambiar con cada nueva conexión. Pi.Alert detecta si se trata de una dirección MAC aleatoria y activa este \"campo\" automáticamente. Para deshabilitar este comportamiento, debe buscar en su dispositivo cómo deshabilitar la aleatorización de direcciones MAC.", - "HelpFAQ_Cat_Detail_303_head": "¿Qué es Nmap y para qué sirve?", - "HelpFAQ_Cat_Detail_303_text": "Nmap es un escáner de red con múltiples capacidades.
Cuando aparece un nuevo dispositivo en su lista, tiene la posibilidad de obtener información más detallada sobre el dispositivo a través del escaneo de Nmap.", - "HelpFAQ_Cat_Device_200_head": "Tengo dispositivos en mi lista que no conozco. Después de borrarlos, siempre vuelven a aparecer.", - "HelpFAQ_Cat_Device_200_text": "Si utiliza Pi-hole, tenga en cuenta que Pi.Alert recupera información de Pi-hole. Ponga en pausa Pi.Alert, vaya a la página de configuración de Pi-hole y elimine la concesión DHCP si es necesario. Luego, también en Pi-hole, revise en Herramientas -> Red para ver si puede encontrar los hosts recurrentes allí. Si es así, elimínelos también allí. Ahora puede volver a iniciar Pi.Alert. Ahora el dispositivo(s) no debería aparecer más.", + "HelpFAQ_Cat_Detail_300_head": "\u00bfQu\u00e9 significa? ", + "HelpFAQ_Cat_Detail_300_text_a": "significa un dispositivo de red (un dispositivo del tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,Adaptador LAN USB, Adaptador WIFI USB o Internet). Los tipos personalizados pueden a\u00f1adirse mediante el ajuste NETWORK_DEVICE_TYPES.", + "HelpFAQ_Cat_Detail_300_text_b": "designa el n\u00famero de puerto en el que el dispositivo actualmente editado est\u00e1 conectado a este dispositivo de red. Lea esta gu\u00eda para obtener m\u00e1s informaci\u00f3n.", + "HelpFAQ_Cat_Detail_301_head_a": "\u00bfCu\u00e1ndo est\u00e1 escaneando ahora? En ", + "HelpFAQ_Cat_Detail_301_head_b": " dice 1min pero el gr\u00e1fico muestra intervalos de 5min.", + "HelpFAQ_Cat_Detail_301_text": "El intervalo de tiempo entre los escaneos est\u00e1 definido por el \"Cronjob\", que est\u00e1 fijado en 5min por defecto. La designaci\u00f3n \"1min\" se refiere a la duraci\u00f3n prevista de la exploraci\u00f3n. Dependiendo de la configuraci\u00f3n de la red, este tiempo puede variar. Para editar el cronjob, puedes utilizar el siguiente comando en el terminal/consola crontab -ey cambiar el intervalo.", + "HelpFAQ_Cat_Detail_302_head_a": "\u00bfQu\u00e9 significa? ", + "HelpFAQ_Cat_Detail_302_head_b": "\u00bfy por qu\u00e9 no puedo seleccionarlo?", + "HelpFAQ_Cat_Detail_302_text": "Algunos dispositivos modernos generan direcciones MAC aleatorias por razones de privacidad, que ya no pueden asociarse a ning\u00fan fabricante y que vuelven a cambiar con cada nueva conexi\u00f3n. Pi.Alert detecta si se trata de una direcci\u00f3n MAC aleatoria y activa este \"campo\" autom\u00e1ticamente. Para deshabilitar este comportamiento, debe buscar en su dispositivo c\u00f3mo deshabilitar la aleatorizaci\u00f3n de direcciones MAC.", + "HelpFAQ_Cat_Detail_303_head": "\u00bfQu\u00e9 es Nmap y para qu\u00e9 sirve?", + "HelpFAQ_Cat_Detail_303_text": "Nmap es un esc\u00e1ner de red con m\u00faltiples capacidades.
Cuando aparece un nuevo dispositivo en su lista, tiene la posibilidad de obtener informaci\u00f3n m\u00e1s detallada sobre el dispositivo a trav\u00e9s del escaneo de Nmap.", + "HelpFAQ_Cat_Device_200_head": "Tengo dispositivos en mi lista que no conozco. Despu\u00e9s de borrarlos, siempre vuelven a aparecer.", + "HelpFAQ_Cat_Device_200_text": "Si utiliza Pi-hole, tenga en cuenta que Pi.Alert recupera informaci\u00f3n de Pi-hole. Ponga en pausa Pi.Alert, vaya a la p\u00e1gina de configuraci\u00f3n de Pi-hole y elimine la concesi\u00f3n DHCP si es necesario. Luego, tambi\u00e9n en Pi-hole, revise en Herramientas -> Red para ver si puede encontrar los hosts recurrentes all\u00ed. Si es as\u00ed, elim\u00ednelos tambi\u00e9n all\u00ed. Ahora puede volver a iniciar Pi.Alert. Ahora el dispositivo(s) no deber\u00eda aparecer m\u00e1s.", "HelpFAQ_Cat_General": "General", "HelpFAQ_Cat_General_100_head": "El reloj en la parte superior derecha y el tiempo de los eventos/presencia no son correctos (diferencia de tiempo).", - "HelpFAQ_Cat_General_100_text_a": "En su PC, la siguiente zona horaria está configurada para el entorno PHP:", - "HelpFAQ_Cat_General_100_text_b": "Si esta no es la zona horaria en la que se encuentra, debe cambiar la zona horaria en el archivo de configuración de PHP. Puedes encontrarlo en este directorio:", - "HelpFAQ_Cat_General_100_text_c": "Busque en este archivo la entrada \"date.timezone\", elimine el \";\" inicial si es necesario e introduzca la zona horaria deseada. Puede encontrar una lista con las zonas horarias compatibles aquí (Link)", + "HelpFAQ_Cat_General_100_text_a": "En su PC, la siguiente zona horaria est\u00e1 configurada para el entorno PHP:", + "HelpFAQ_Cat_General_100_text_b": "Si esta no es la zona horaria en la que se encuentra, debe cambiar la zona horaria en el archivo de configuraci\u00f3n de PHP. Puedes encontrarlo en este directorio:", + "HelpFAQ_Cat_General_100_text_c": "Busque en este archivo la entrada \"date.timezone\", elimine el \";\" inicial si es necesario e introduzca la zona horaria deseada. Puede encontrar una lista con las zonas horarias compatibles aqu\u00ed (Link)", "HelpFAQ_Cat_General_101_head": "Mi red parece ralentizarse, el streaming se \"congela\".", - "HelpFAQ_Cat_General_101_text": "Es muy posible que los dispositivos de baja potencia alcancen sus límites de rendimiento con la forma en que Pi.Alert detecta nuevos dispositivos en la red. Esto se amplifica aún más, si estos dispositivos se comunican con la red a través de WLAN. Las soluciones aquí serían cambiar a una conexión por cable si es posible o, si el dispositivo sólo se va a utilizar durante un período de tiempo limitado, utilizar el arp scan. pausar el arp scan en la página de mantenimiento.", - "HelpFAQ_Cat_General_102_head": "Me aparece el mensaje de que la base de datos es de sólo de lectura.", - "HelpFAQ_Cat_General_102_text": "Compruebe en el directorio Pi.Alert si la carpeta de la base de datos (db) tiene asignados los permisos correctos:
drwxrwx--- 2 (nombre de usuario) www-data
Si el permiso no es correcto, puede establecerlo de nuevo con los siguientes comandos en la terminal o la consola:
sudo chgrp -R www-data ~/pialert/db
chmod -R 770 ~/pialert/db

Si la base de datos sigue siendo de sólo lectura, intente reinstalar o restaurar una copia de seguridad de la base de datos desde la página de mantenimiento.", - "HelpFAQ_Cat_General_102docker_head": "(🐳 Solo Docker) Problemas con la base de datos (errores de AJAX, solo lectura, no encontrado)", - "HelpFAQ_Cat_General_102docker_text": "Comprueba que has seguido las instrucciones del dockerfile (la información más actualizada).

  • Descarga la base de datos original desde GitHub.
  • Mapea el archivo pialert.db ( no carpeta) de arriba a /home/pi/pialert/db/pialert.db (puedes comprobar los ejemplos para más detalles).
  • Si aparecen problemas (errores de AJAX, no se puede escribir a la base de datos, etc,) asegúrate que los permisos están establecidos correctamente. También puedes comprobar los registros en /home/pi/pialert/front/log.
  • Para arreglar los problemas de los permisos, puedes probar a crear una copia de seguridad de la base de datos y después restaurarla desde la sección Mantenimiento > Copia de seguridad/Restaurar.
  • Si la base de datos está en modo solo lectura, lo puedes arreglar ejecutando el siguiente comando para establecer el propietario y grupo en el sistema host: docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db.
", - "HelpFAQ_Cat_General_103_head": "La página de inicio de sesión no aparece, incluso después de cambiar la contraseña.", - "HelpFAQ_Cat_General_103_text": "Además de la contraseña, el archivo de configuración debe contener ~/pialert/config/pialert.conf además el parámetro PIALERT_WEB_PROTECTION debe ajustarse a True.", - "HelpFAQ_Cat_Network_600_head": "¿Para qué sirve esta sección?", - "HelpFAQ_Cat_Network_600_text": "Esta página debería ofrecerle la posibilidad de asignar los dispositivos de su red. Para ello, puede crear uno o varios conmutadores, WLAN, routers, etc., proporcionarles un número de puerto si es necesario y asignarles dispositivos ya detectados. Esta asignación se realiza en la vista detallada del dispositivo a asignar. Así podrás determinar rápidamente a qué puerto está conectado un host y si está en línea. Lea esta guía para obtener más información.", - "HelpFAQ_Cat_Network_601_head": "¿Hay otros documentos?", - "HelpFAQ_Cat_Network_601_text": "¡Sí, los hay! Marque todos los documentos para más información.", + "HelpFAQ_Cat_General_101_text": "Es muy posible que los dispositivos de baja potencia alcancen sus l\u00edmites de rendimiento con la forma en que Pi.Alert detecta nuevos dispositivos en la red. Esto se amplifica a\u00fan m\u00e1s, si estos dispositivos se comunican con la red a trav\u00e9s de WLAN. Las soluciones aqu\u00ed ser\u00edan cambiar a una conexi\u00f3n por cable si es posible o, si el dispositivo s\u00f3lo se va a utilizar durante un per\u00edodo de tiempo limitado, utilizar el arp scan. pausar el arp scan en la p\u00e1gina de mantenimiento.", + "HelpFAQ_Cat_General_102_head": "Me aparece el mensaje de que la base de datos es de s\u00f3lo de lectura.", + "HelpFAQ_Cat_General_102_text": "Compruebe en el directorio Pi.Alert si la carpeta de la base de datos (db) tiene asignados los permisos correctos:
drwxrwx--- 2 (nombre de usuario) www-data
Si el permiso no es correcto, puede establecerlo de nuevo con los siguientes comandos en la terminal o la consola:
sudo chgrp -R www-data ~/pialert/db
chmod -R 770 ~/pialert/db

Si la base de datos sigue siendo de s\u00f3lo lectura, intente reinstalar o restaurar una copia de seguridad de la base de datos desde la p\u00e1gina de mantenimiento.", + "HelpFAQ_Cat_General_102docker_head": "(\ud83d\udc33 Solo Docker) Problemas con la base de datos (errores de AJAX, solo lectura, no encontrado)", + "HelpFAQ_Cat_General_102docker_text": "Comprueba que has seguido las instrucciones del dockerfile (la informaci\u00f3n m\u00e1s actualizada).

  • Descarga la base de datos original desde GitHub.
  • Mapea el archivo pialert.db (\u26a0 no carpeta) de arriba a /home/pi/pialert/db/pialert.db (puedes comprobar los ejemplos para m\u00e1s detalles).
  • Si aparecen problemas (errores de AJAX, no se puede escribir a la base de datos, etc,) aseg\u00farate que los permisos est\u00e1n establecidos correctamente. Tambi\u00e9n puedes comprobar los registros en /home/pi/pialert/front/log.
  • Para arreglar los problemas de los permisos, puedes probar a crear una copia de seguridad de la base de datos y despu\u00e9s restaurarla desde la secci\u00f3n Mantenimiento > Copia de seguridad/Restaurar.
  • Si la base de datos est\u00e1 en modo solo lectura, lo puedes arreglar ejecutando el siguiente comando para establecer el propietario y grupo en el sistema host: docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db.
", + "HelpFAQ_Cat_General_103_head": "La p\u00e1gina de inicio de sesi\u00f3n no aparece, incluso despu\u00e9s de cambiar la contrase\u00f1a.", + "HelpFAQ_Cat_General_103_text": "Adem\u00e1s de la contrase\u00f1a, el archivo de configuraci\u00f3n debe contener ~/pialert/config/pialert.conf adem\u00e1s el par\u00e1metro PIALERT_WEB_PROTECTION debe ajustarse a True.", + "HelpFAQ_Cat_Network_600_head": "\u00bfPara qu\u00e9 sirve esta secci\u00f3n?", + "HelpFAQ_Cat_Network_600_text": "Esta p\u00e1gina deber\u00eda ofrecerle la posibilidad de asignar los dispositivos de su red. Para ello, puede crear uno o varios conmutadores, WLAN, routers, etc., proporcionarles un n\u00famero de puerto si es necesario y asignarles dispositivos ya detectados. Esta asignaci\u00f3n se realiza en la vista detallada del dispositivo a asignar. As\u00ed podr\u00e1s determinar r\u00e1pidamente a qu\u00e9 puerto est\u00e1 conectado un host y si est\u00e1 en l\u00ednea. Lea esta gu\u00eda para obtener m\u00e1s informaci\u00f3n.", + "HelpFAQ_Cat_Network_601_head": "\u00bfHay otros documentos?", + "HelpFAQ_Cat_Network_601_text": "\u00a1S\u00ed, los hay! Marque todos los documentos para m\u00e1s informaci\u00f3n.", "HelpFAQ_Cat_Presence_400_head": "Los dispositivos se muestran con un marcador amarillo y la nota \"evento faltante\".", - "HelpFAQ_Cat_Presence_400_text": "Si esto ocurre, tiene la opción de borrar los eventos del dispositivo en cuestión (vista detallada). Otra posibilidad sería encender el dispositivo y esperar a que Pi.Alert detecte el dispositivo como \"en línea\" con el siguiente escaneo y luego simplemente apagarlo de nuevo Pi.Alert debería ahora anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.", - "HelpFAQ_Cat_Presence_401_head": "Un dispositivo se muestra como presente aunque esté \"Offline\".", - "HelpFAQ_Cat_Presence_401_text": "Si esto ocurre, tiene la posibilidad de borrar los eventos del dispositivo en cuestión (vista de detalles). Otra posibilidad sería encender el dispositivo y esperar hasta que Pi.Alert reconozca el dispositivo como \"en línea\" con el siguiente escaneo y, a continuación, simplemente apagar el dispositivo de nuevo. Ahora Pi.Alert debería anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.", + "HelpFAQ_Cat_Presence_400_text": "Si esto ocurre, tiene la opci\u00f3n de borrar los eventos del dispositivo en cuesti\u00f3n (vista detallada). Otra posibilidad ser\u00eda encender el dispositivo y esperar a que Pi.Alert detecte el dispositivo como \"en l\u00ednea\" con el siguiente escaneo y luego simplemente apagarlo de nuevo Pi.Alert deber\u00eda ahora anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.", + "HelpFAQ_Cat_Presence_401_head": "Un dispositivo se muestra como presente aunque est\u00e9 \"Offline\".", + "HelpFAQ_Cat_Presence_401_text": "Si esto ocurre, tiene la posibilidad de borrar los eventos del dispositivo en cuesti\u00f3n (vista de detalles). Otra posibilidad ser\u00eda encender el dispositivo y esperar hasta que Pi.Alert reconozca el dispositivo como \"en l\u00ednea\" con el siguiente escaneo y, a continuaci\u00f3n, simplemente apagar el dispositivo de nuevo. Ahora Pi.Alert deber\u00eda anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.", "HelpFAQ_Title": "Ayuda / FAQ", - "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_description": "Esto har\u00e1 que el registro tenga m\u00e1s informaci\u00f3n. Util para depurar que eventos se van guardando en la base de datos.", "LOG_LEVEL_name": "Imprimir registros adicionales", "Loading": "Cargando...", - "Login_Box": "Ingrese su contraseña", - "Login_Default_PWD": "La contraseña por defecto \"123456\" sigue activa.", - "Login_Psw-box": "Contraseña", - "Login_Psw_alert": "¡Alerta de Contraseña!", + "Login_Box": "Ingrese su contrase\u00f1a", + "Login_Default_PWD": "La contrase\u00f1a por defecto \"123456\" sigue activa.", + "Login_Psw-box": "Contrase\u00f1a", + "Login_Psw_alert": "\u00a1Alerta de Contrase\u00f1a!", "Login_Psw_folder": "en la carpeta config.", - "Login_Psw_new": "nueva_contraseña", - "Login_Psw_run": "Para cambiar contraseña ejecute:", + "Login_Psw_new": "nueva_contrase\u00f1a", + "Login_Psw_run": "Para cambiar contrase\u00f1a ejecute:", "Login_Remember": "Recordar", - "Login_Remember_small": "(válido por 7 días)", + "Login_Remember_small": "(v\u00e1lido por 7 d\u00edas)", "Login_Submit": "Ingresar", - "Login_Toggle_Alert_headline": "Alerta de Contraseña!", - "Login_Toggle_Info": "Información sobre la contraseña", - "Login_Toggle_Info_headline": "Información sobre la contraseña", + "Login_Toggle_Alert_headline": "Alerta de Contrase\u00f1a!", + "Login_Toggle_Info": "Informaci\u00f3n sobre la contrase\u00f1a", + "Login_Toggle_Info_headline": "Informaci\u00f3n sobre la contrase\u00f1a", "MQTT_BROKER_description": "URL del host MQTT (no incluya http:// o https://).", "MQTT_BROKER_name": "URL del broker MQTT", - "MQTT_DELAY_SEC_description": "Un pequeño truco: retrase la adición a la cola en caso de que el proceso se reinicie y los procesos de publicación anteriores se anulen (se necesitan ~2s para actualizar la configuración de un sensor en el intermediario). Probado con 2-3 segundos de retraso. Este retraso solo se aplica cuando se crean dispositivos (durante el primer bucle de notificación). No afecta los escaneos o notificaciones posteriores.", + "MQTT_DELAY_SEC_description": "Un peque\u00f1o truco: retrase la adici\u00f3n a la cola en caso de que el proceso se reinicie y los procesos de publicaci\u00f3n anteriores se anulen (se necesitan ~2s para actualizar la configuraci\u00f3n de un sensor en el intermediario). Probado con 2-3 segundos de retraso. Este retraso solo se aplica cuando se crean dispositivos (durante el primer bucle de notificaci\u00f3n). No afecta los escaneos o notificaciones posteriores.", "MQTT_DELAY_SEC_name": "Retraso de MQTT por dispositivo", - "MQTT_PASSWORD_description": "Contraseña utilizada para iniciar sesión en su instancia de agente de MQTT.", - "MQTT_PASSWORD_name": "Contraseña de MQTT", + "MQTT_PASSWORD_description": "Contrase\u00f1a utilizada para iniciar sesi\u00f3n en su instancia de agente de MQTT.", + "MQTT_PASSWORD_name": "Contrase\u00f1a de MQTT", "MQTT_PORT_description": "Puerto donde escucha el broker MQTT. Normalmente 1883.", "MQTT_PORT_name": "Puerto del broker MQTT", - "MQTT_QOS_description": "Configuración de calidad de servicio para el envío de mensajes MQTT. 0: baja calidad a 2: alta calidad. Cuanto mayor sea la calidad, mayor será el retraso.", + "MQTT_QOS_description": "Configuraci\u00f3n de calidad de servicio para el env\u00edo de mensajes MQTT. 0: baja calidad a 2: alta calidad. Cuanto mayor sea la calidad, mayor ser\u00e1 el retraso.", "MQTT_QOS_name": "Calidad de servicio MQTT", - "MQTT_USER_description": "Nombre de usuario utilizado para iniciar sesión en su instancia de agente de MQTT.", + "MQTT_USER_description": "Nombre de usuario utilizado para iniciar sesi\u00f3n en su instancia de agente de MQTT.", "MQTT_USER_name": "Usuario de MQTT", "MQTT_display_name": "MQTT", "MQTT_icon": "", - "Maintenance_Running_Version": "Versión instalada", - "Maintenance_Status": "Situación", + "Maintenance_Running_Version": "Versi\u00f3n instalada", + "Maintenance_Status": "Situaci\u00f3n", "Maintenance_Title": "Herramientas de mantenimiento", - "Maintenance_Tool_ExportCSV": "Exportación CSV", - "Maintenance_Tool_ExportCSV_noti": "Exportación 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 pialert url/php/server/devices.php?action=ExportCSV o activando el plugin Copia de seguridad CSV.", - "Maintenance_Tool_ImportCSV": "Importación CSV", - "Maintenance_Tool_ImportCSV_noti": "Importación CSV", - "Maintenance_Tool_ImportCSV_noti_text": "¿Está seguro de que quiere importar el archivo CSV? Esto sobrescribirá completamente los dispositivos de 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_ExportCSV": "Exportaci\u00f3n CSV", + "Maintenance_Tool_ExportCSV_noti": "Exportaci\u00f3n CSV", + "Maintenance_Tool_ExportCSV_noti_text": "\u00bfEst\u00e1 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\u00e9n puedes activarlo accediendo a esta URL your pialert url/php/server/devices.php?action=ExportCSV o activando el plugin Copia de seguridad CSV.", + "Maintenance_Tool_ImportCSV": "Importaci\u00f3n CSV", + "Maintenance_Tool_ImportCSV_noti": "Importaci\u00f3n CSV", + "Maintenance_Tool_ImportCSV_noti_text": "\u00bfEst\u00e1 seguro de que quiere importar el archivo CSV? Esto sobrescribir\u00e1 completamente los dispositivos de su base de datos.", + "Maintenance_Tool_ImportCSV_text": "Antes de usar esta funci\u00f3n, 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_arpscansw": "Activar arp-scan (on/off)", "Maintenance_Tool_arpscansw_noti": "Activar arp-scan on or off", "Maintenance_Tool_arpscansw_noti_text": "Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente.", "Maintenance_Tool_arpscansw_text": "Encender o desactivar el arp-scan. Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente. Los escaneos activos no se cancelan.", "Maintenance_Tool_backup": "Respaldar DB", "Maintenance_Tool_backup_noti": "Respaldar DB", - "Maintenance_Tool_backup_noti_text": "¿Estás seguro de que quieres exactos la copia de seguridad de DB? Asegúrese de que ningún escaneo se esté ejecutando actualmente.", - "Maintenance_Tool_backup_text": "Las copias de seguridad de la base de datos se encuentran en el directorio de la base de datos como una Zip-Archive, nombrada con la fecha de creación. No hay un número máximo de copias de seguridad.", + "Maintenance_Tool_backup_noti_text": "\u00bfEst\u00e1s seguro de que quieres exactos la copia de seguridad de DB? Aseg\u00farese de que ning\u00fan escaneo se est\u00e9 ejecutando actualmente.", + "Maintenance_Tool_backup_text": "Las copias de seguridad de la base de datos se encuentran en el directorio de la base de datos como una Zip-Archive, nombrada con la fecha de creaci\u00f3n. No hay un n\u00famero m\u00e1ximo de copias de seguridad.", "Maintenance_Tool_check_visible": "Desactivar para ocultar columna.", "Maintenance_Tool_darkmode": "Cambiar Modo (Dark/Light)", "Maintenance_Tool_darkmode_noti": "Cambiar Modo", - "Maintenance_Tool_darkmode_noti_text": "Después del cambio de tema, la página intenta volver a cargar para activar el cambio. Si es necesario, el caché debe ser eliminado.", - "Maintenance_Tool_darkmode_text": "Alternar entre el modo oscuro y el modo de luz. Si el interruptor no funciona correctamente, intente borrar el caché del navegador. El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.", + "Maintenance_Tool_darkmode_noti_text": "Despu\u00e9s del cambio de tema, la p\u00e1gina intenta volver a cargar para activar el cambio. Si es necesario, el cach\u00e9 debe ser eliminado.", + "Maintenance_Tool_darkmode_text": "Alternar entre el modo oscuro y el modo de luz. Si el interruptor no funciona correctamente, intente borrar el cach\u00e9 del navegador. El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.", "Maintenance_Tool_del_ActHistory": "Eliminar la actividad de la red", "Maintenance_Tool_del_ActHistory_noti": "Borrar la actividad de la red", - "Maintenance_Tool_del_ActHistory_noti_text": "¿Está seguro de restablecer la actividad de la red?", - "Maintenance_Tool_del_ActHistory_text": "El gráfico de actividad de la red se resetea. Esto no afecta a los eventos.", + "Maintenance_Tool_del_ActHistory_noti_text": "\u00bfEst\u00e1 seguro de restablecer la actividad de la red?", + "Maintenance_Tool_del_ActHistory_text": "El gr\u00e1fico de actividad de la red se resetea. Esto no afecta a los eventos.", "Maintenance_Tool_del_alldev": "Eliminar todos los dispositivos", "Maintenance_Tool_del_alldev_noti": "Eliminar dispositivos", - "Maintenance_Tool_del_alldev_noti_text": "¿Estás seguro de que quieres eliminar todos los dispositivos?", - "Maintenance_Tool_del_alldev_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos se eliminarán de la base de datos.", + "Maintenance_Tool_del_alldev_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los dispositivos?", + "Maintenance_Tool_del_alldev_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Todos los dispositivos se eliminar\u00e1n de la base de datos.", "Maintenance_Tool_del_allevents": "Eliminar todo (Restablecer historial)", - "Maintenance_Tool_del_allevents30": "Eliminar eventos antiguos (30 días)", + "Maintenance_Tool_del_allevents30": "Eliminar eventos antiguos (30 d\u00edas)", "Maintenance_Tool_del_allevents30_noti": "Eliminar eventos", - "Maintenance_Tool_del_allevents30_noti_text": "¿Está seguro de eliminar todos los eventos mayores a 30 días? Esto restablece la presencia de todos los dispositivos.", - "Maintenance_Tool_del_allevents30_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Se eliminarán todos los eventos mayores a 30 días en la base de datos. En ese momento se restablecerá la presencia de todos los dispositivos. Esto puede conducir a sesiones no válidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque están fuera de línea. Un escaneo mientras el dispositivo en cuestión está en línea resuelve el problema.", + "Maintenance_Tool_del_allevents30_noti_text": "\u00bfEst\u00e1 seguro de eliminar todos los eventos mayores a 30 d\u00edas? Esto restablece la presencia de todos los dispositivos.", + "Maintenance_Tool_del_allevents30_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Se eliminar\u00e1n todos los eventos mayores a 30 d\u00edas en la base de datos. En ese momento se restablecer\u00e1 la presencia de todos los dispositivos. Esto puede conducir a sesiones no v\u00e1lidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque est\u00e1n fuera de l\u00ednea. Un escaneo mientras el dispositivo en cuesti\u00f3n est\u00e1 en l\u00ednea resuelve el problema.", "Maintenance_Tool_del_allevents_noti": "Eliminar eventos", - "Maintenance_Tool_del_allevents_noti_text": "¿Estás seguro de que quieres eliminar todos los eventos? Esto restablece la presencia de todos los dispositivos.", - "Maintenance_Tool_del_allevents_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Se eliminarán todos los eventos en la base de datos. En ese momento se restablecerá la presencia de todos los dispositivos. Esto puede conducir a sesiones no válidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque están fuera de línea. Un escaneo mientras el dispositivo en cuestión está en línea resuelve el problema.", - "Maintenance_Tool_del_empty_macs": "Eliminar dispositivos con MACs vacíos", + "Maintenance_Tool_del_allevents_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los eventos? Esto restablece la presencia de todos los dispositivos.", + "Maintenance_Tool_del_allevents_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Se eliminar\u00e1n todos los eventos en la base de datos. En ese momento se restablecer\u00e1 la presencia de todos los dispositivos. Esto puede conducir a sesiones no v\u00e1lidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque est\u00e1n fuera de l\u00ednea. Un escaneo mientras el dispositivo en cuesti\u00f3n est\u00e1 en l\u00ednea resuelve el problema.", + "Maintenance_Tool_del_empty_macs": "Eliminar dispositivos con MACs vac\u00edos", "Maintenance_Tool_del_empty_macs_noti": "Eliminar dispositivos", - "Maintenance_Tool_del_empty_macs_noti_text": "¿Estás seguro de que quieres eliminar todos los dispositivos con direcciones MAC vacías?
(tal vez prefiera archivarlo)", - "Maintenance_Tool_del_empty_macs_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos sin Mac se eliminarán de la base de datos.", + "Maintenance_Tool_del_empty_macs_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los dispositivos con direcciones MAC vac\u00edas?
(tal vez prefiera archivarlo)", + "Maintenance_Tool_del_empty_macs_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Todos los dispositivos sin Mac se eliminar\u00e1n de la base de datos.", "Maintenance_Tool_del_selecteddev": "Borrar dispositivos seleccionados", - "Maintenance_Tool_del_selecteddev_text": "Antes de utilizar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Los dispositivos seleccionados se eliminarán de la base de datos.", + "Maintenance_Tool_del_selecteddev_text": "Antes de utilizar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Los dispositivos seleccionados se eliminar\u00e1n de la base de datos.", "Maintenance_Tool_del_unknowndev": "Eliminar dispositivos (desconocidos)", "Maintenance_Tool_del_unknowndev_noti": "Eliminar dispositivos (desconocidos)", - "Maintenance_Tool_del_unknowndev_noti_text": "¿Estás seguro de que quieres eliminar todos los dispositivos (desconocidos)?", - "Maintenance_Tool_del_unknowndev_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos nombrados (desconocidos) se eliminarán de la base de datos.", - "Maintenance_Tool_displayed_columns_text": "Cambia la visibilidad y el orden de las columnas en la página Dispositivos.", + "Maintenance_Tool_del_unknowndev_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los dispositivos (desconocidos)?", + "Maintenance_Tool_del_unknowndev_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Todos los dispositivos nombrados (desconocidos) se eliminar\u00e1n de la base de datos.", + "Maintenance_Tool_displayed_columns_text": "Cambia la visibilidad y el orden de las columnas en la p\u00e1gina Dispositivos.", "Maintenance_Tool_drag_me": "Coger para rearrastrar columnas.", "Maintenance_Tool_order_columns_text": "", "Maintenance_Tool_purgebackup": "Purgar Respaldos", "Maintenance_Tool_purgebackup_noti": "Purgar Respaldos", - "Maintenance_Tool_purgebackup_noti_text": "¿Está seguro de borrar todas las copias de seguridad excepto las 3 últimas?", - "Maintenance_Tool_purgebackup_text": "Todas las copias de seguridad serán eliminadas, excepto las 3 últimas.", + "Maintenance_Tool_purgebackup_noti_text": "\u00bfEst\u00e1 seguro de borrar todas las copias de seguridad excepto las 3 \u00faltimas?", + "Maintenance_Tool_purgebackup_text": "Todas las copias de seguridad ser\u00e1n eliminadas, excepto las 3 \u00faltimas.", "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_noti_text": "\u00bfEst\u00e1s seguro de que quieres hacer exactos la restauraci\u00f3n de DB? Aseg\u00farese de que ning\u00fan escaneo se est\u00e9 ejecutando actualmente.", + "Maintenance_Tool_restore_text": "La \u00faltima copia de seguridad se puede restaurar a trav\u00e9s del bot\u00f3n, pero las copias de seguridad anteriores solo se pueden restaurar manualmente. Despu\u00e9s de la restauraci\u00f3n, realice una verificaci\u00f3n de integridad en la base de datos por seguridad, en caso de que el DB estuviera actualmente en acceso de escritura cuando se cre\u00f3 la copia de seguridad.", "Maintenance_Tool_upgrade_database_noti": "Actualizar la base de datos", - "Maintenance_Tool_upgrade_database_noti_text": "¿Estás seguro de que quieres actualizar la base de datos?
(tal vez prefieras archivarla)", - "Maintenance_Tool_upgrade_database_text": "Este botón actualizará la base de datos para habilitar la actividad de la red en las últimas 12 horas. Haga una copia de seguridad de su base de datos en caso de problemas.", + "Maintenance_Tool_upgrade_database_noti_text": "\u00bfEst\u00e1s seguro de que quieres actualizar la base de datos?
(tal vez prefieras archivarla)", + "Maintenance_Tool_upgrade_database_text": "Este bot\u00f3n actualizar\u00e1 la base de datos para habilitar la actividad de la red en las \u00faltimas 12 horas. Haga una copia de seguridad de su base de datos en caso de problemas.", "Maintenance_Tools_Tab_BackupRestore": "Respaldo / Restaurar", "Maintenance_Tools_Tab_Logging": "Registros", "Maintenance_Tools_Tab_Settings": "Ajustes", "Maintenance_Tools_Tab_Tools": "Herramientas", "Maintenance_Tools_Tab_UISettings": "Ajustes de interfaz", - "Maintenance_arp_status": "Estado de la exploración", - "Maintenance_arp_status_off": "está actualmente deshabilitado", - "Maintenance_arp_status_on": "escaneo(s) actualmente en ejecución", + "Maintenance_arp_status": "Estado de la exploraci\u00f3n", + "Maintenance_arp_status_off": "est\u00e1 actualmente deshabilitado", + "Maintenance_arp_status_on": "escaneo(s) actualmente en ejecuci\u00f3n", "Maintenance_built_on": "Creada", - "Maintenance_current_version": "No hay actualizaciones disponibles. Comprueba en que se está trabajando.", + "Maintenance_current_version": "No hay actualizaciones disponibles. Comprueba en que se est\u00e1 trabajando.", "Maintenance_database_backup": "Copias de seguridad de BD", "Maintenance_database_backup_found": "copia(s) de seguridad encontrada(s)", "Maintenance_database_backup_total": "Uso total de disco", - "Maintenance_database_lastmod": "Última modificación", + "Maintenance_database_lastmod": "\u00daltima modificaci\u00f3n", "Maintenance_database_path": "Ruta de la base de datos", "Maintenance_database_rows": "Tabla (Filas)", - "Maintenance_database_size": "Tamaño de base de datos", + "Maintenance_database_size": "Tama\u00f1o de base de datos", "Maintenance_lang_selector_apply": "Aplicar", "Maintenance_lang_selector_empty": "Elija un idioma", "Maintenance_lang_selector_lable": "Seleccione su idioma", - "Maintenance_lang_selector_text": "El cambio se produce en el lado del cliente, por lo que sólo afecta al navegador actual.", - "Maintenance_new_version": "🆕 Una nueva versión está disponible. Comprueba las notas de lanzamiento.", + "Maintenance_lang_selector_text": "El cambio se produce en el lado del cliente, por lo que s\u00f3lo afecta al navegador actual.", + "Maintenance_new_version": "\ud83c\udd95 Una nueva versi\u00f3n est\u00e1 disponible. Comprueba las notas de lanzamiento.", "Maintenance_themeselector_apply": "Aplicar", "Maintenance_themeselector_empty": "Elige un tema", "Maintenance_themeselector_lable": "Seleccionar tema", "Maintenance_themeselector_text": "El cambio se produce en el lado del servidor, por lo que afecta a todos los dispositivos en uso.", - "Maintenance_version": "Actualizaciones de la aplicación", - "NETWORK_DEVICE_TYPES_description": "Qué tipos de dispositivos pueden usarse como dispositivos de red en la vista Red. El tipo de dispositivo debe coincidir exactamente con la configuración Tipo en un dispositivo específico en los Detalles del dispositivo. No elimine los tipos existentes, solo agregue nuevos.", + "Maintenance_version": "Actualizaciones de la aplicaci\u00f3n", + "NETWORK_DEVICE_TYPES_description": "Qu\u00e9 tipos de dispositivos pueden usarse como dispositivos de red en la vista Red. El tipo de dispositivo debe coincidir exactamente con la configuraci\u00f3n Tipo en un dispositivo espec\u00edfico en los Detalles del dispositivo. No elimine los tipos existentes, solo agregue nuevos.", "NETWORK_DEVICE_TYPES_name": "Tipos de dispositivos de red", - "NTFY_HOST_description": "URL de host NTFY que comienza con http:// o https://. Puede usar la instancia alojada en https://ntfy.sh simplemente ingresando https://ntfy. sh.", + "NTFY_HOST_description": "URL de host NTFY que comienza con http:// o https://. Puede usar la instancia alojada en https://ntfy.sh simplemente ingresando https://ntfy. sh.", "NTFY_HOST_name": "URL del host NTFY", - "NTFY_PASSWORD_description": "Ingrese la contraseña si necesita (host) una instancia con autenticación habilitada.", - "NTFY_PASSWORD_name": "Contraseña de NTFY", + "NTFY_PASSWORD_description": "Ingrese la contrase\u00f1a si necesita (host) una instancia con autenticaci\u00f3n habilitada.", + "NTFY_PASSWORD_name": "Contrase\u00f1a de NTFY", "NTFY_TOPIC_description": "Tu tema secreto.", "NTFY_TOPIC_name": "Tema de NTFY", - "NTFY_USER_description": "Ingrese usuario si necesita (alojar) una instancia con autenticación habilitada.", + "NTFY_USER_description": "Ingrese usuario si necesita (alojar) una instancia con autenticaci\u00f3n habilitada.", "NTFY_USER_name": "Usuario de NTFY", "NTFY_display_name": "NTFY", "NTFY_icon": "", @@ -469,24 +469,24 @@ "Navigation_Flows": "Flows", "Navigation_HelpFAQ": "Ayuda / FAQ", "Navigation_Maintenance": "Mantenimiento", - "Navigation_Monitoring": "Supervisión", + "Navigation_Monitoring": "Supervisi\u00f3n", "Navigation_Network": "Red", "Navigation_Plugins": "Plugins", "Navigation_Presence": "Historial", "Navigation_Report": "Reporte", - "Navigation_Settings": "Configuración", + "Navigation_Settings": "Configuraci\u00f3n", "Navigation_SystemInfo": "Info del sistema", "Navigation_Workflows": "Flujo de trabajo", "Network_Assign": "Conectar al nodo de red", "Network_Cant_Assign": "No se puede asignar el nodo principal de Internet como nodo secundario.", - "Network_Configuration_Error": "Error en la configuración", + "Network_Configuration_Error": "Error en la configuraci\u00f3n", "Network_Connected": "Dispositivos conectados", - "Network_ManageAdd": "Añadir dispositivo", + "Network_ManageAdd": "A\u00f1adir dispositivo", "Network_ManageAdd_Name": "Nombre del dispositivo", "Network_ManageAdd_Name_text": "Nombre sin caracteres especiales", "Network_ManageAdd_Port": "Recuento de puertos", "Network_ManageAdd_Port_text": "dejar en blanco para WiFi y Powerline", - "Network_ManageAdd_Submit": "Añadir dispositivo", + "Network_ManageAdd_Submit": "A\u00f1adir dispositivo", "Network_ManageAdd_Type": "Tipo de dispositivo", "Network_ManageAdd_Type_text": "-- Seleccionar tipo --", "Network_ManageAssign": "Asignar", @@ -505,26 +505,26 @@ "Network_ManageEdit_Submit": "Guardar los cambios", "Network_ManageEdit_Type": "Nuevo tipo de dispositivo", "Network_ManageEdit_Type_text": "-- Seleccione tipo --", - "Network_ManageLeaf": "Gestionar asignación", + "Network_ManageLeaf": "Gestionar asignaci\u00f3n", "Network_ManageUnassign": "Desasignar", - "Network_NoAssignedDevices": "Este nodo de red no tiene ningún dispositivo asignado (nodos hoja). Asigna uno desde abajo o ve a la pestaña Detalles de cualquier dispositivo en Dispositivos, y asígnalo a un Nodo (MAC) de red y Puerto allí.", + "Network_NoAssignedDevices": "Este nodo de red no tiene ning\u00fan dispositivo asignado (nodos hoja). Asigna uno desde abajo o ve a la pesta\u00f1a Detalles de cualquier dispositivo en Dispositivos, y as\u00edgnalo a un Nodo (MAC) de red y Puerto all\u00ed.", "Network_NoDevices": "No hay dispositivos que configurar", "Network_Node": "Nodo de red", "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\u00e1s documentaci\u00f3n en la gu\u00eda \u00bfC\u00f3mo configurar su p\u00e1gina de Red?", "Network_Root_Unconfigurable": "Root no configurable", "Network_Table_Hostname": "Nombre de host", - "Network_Table_IP": "Dirección IP", + "Network_Table_IP": "Direcci\u00f3n IP", "Network_Table_State": "Estado", - "Network_Title": "Descripción general de la red", + "Network_Title": "Descripci\u00f3n general de la red", "Network_UnassignedDevices": "Dispositivos sin asignar", - "PIALERT_WEB_PASSWORD_description": "Por defecto, la contraseña es 123456.Para cambiar la contraseña ejecute /home/pi/pialert/back/pialert-cli en el contenedor o utilice el SETPWD_RUN Establecer contraseña plugin.", - "PIALERT_WEB_PASSWORD_name": "Contraseña de inicio de sesión", - "PIALERT_WEB_PROTECTION_description": "Cuando está habilitado, se muestra un cuadro de diálogo de inicio de sesión. Lea detenidamente a continuación si se le bloquea el acceso a su instancia.", - "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!).", + "PIALERT_WEB_PASSWORD_description": "Por defecto, la contrase\u00f1a es 123456.Para cambiar la contrase\u00f1a ejecute /home/pi/pialert/back/pialert-cli en el contenedor o utilice el SETPWD_RUN Establecer contrase\u00f1a plugin.", + "PIALERT_WEB_PASSWORD_name": "Contrase\u00f1a de inicio de sesi\u00f3n", + "PIALERT_WEB_PROTECTION_description": "Cuando est\u00e1 habilitado, se muestra un cuadro de di\u00e1logo de inicio de sesi\u00f3n. Lea detenidamente a continuaci\u00f3n si se le bloquea el acceso a su instancia.", + "PIALERT_WEB_PROTECTION_name": "Habilitar inicio de sesi\u00f3n", + "PLUGINS_KEEP_HIST_description": "\u00bfCu\u00e1ntas entradas de los resultados del an\u00e1lisis del historial de complementos deben conservarse (globalmente, no espec\u00edfico del dispositivo!).", "PLUGINS_KEEP_HIST_name": "Historial de complementos", "PUSHSAFER_TOKEN_description": "Su clave secreta de la API de Pushsafer (token).", "PUSHSAFER_TOKEN_name": "Token de Pushsafer", @@ -536,75 +536,75 @@ "Plugins_Objects": "Objetos del Plugin", "Plugins_Out_of": "de", "Plugins_Unprocessed_Events": "Eventos sin procesar", - "Plugins_no_control": "No se ha encontrado ningún control para el formulario, para que muestre este valor.", - "Presence_CalHead_day": "día", + "Plugins_no_control": "No se ha encontrado ning\u00fan control para el formulario, para que muestre este valor.", + "Presence_CalHead_day": "d\u00eda", "Presence_CalHead_lang": "es-es", "Presence_CalHead_month": "mes", "Presence_CalHead_quarter": "trimestre", "Presence_CalHead_week": "semana", - "Presence_CalHead_year": "año", + "Presence_CalHead_year": "a\u00f1o", "Presence_CallHead_Devices": "Dispositivos", "Presence_Loading": "Cargando...", "Presence_Shortcut_AllDevices": "Mis dispositivos", "Presence_Shortcut_Archived": "Archivado(s)", "Presence_Shortcut_Connected": "Conectado(s)", "Presence_Shortcut_Devices": "Dispositivos", - "Presence_Shortcut_DownAlerts": "Alerta(s) de caída(s)", + "Presence_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)", "Presence_Shortcut_Favorites": "Favorito(s)", "Presence_Shortcut_NewDevices": "Nuevo(s)", "Presence_Title": "Historial por dispositivo", - "REPORT_APPRISE_description": "Habilitar el envío de notificaciones a través de Apprise.", + "REPORT_APPRISE_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de Apprise.", "REPORT_APPRISE_name": "Habilitar Apprise", - "REPORT_DASHBOARD_URL_description": "Esta URL se utiliza como base para generar enlaces en los correos electrónicos. Ingrese la URL completa que comienza con http://, incluido el número de puerto (sin barra inclinada al final /).", + "REPORT_DASHBOARD_URL_description": "Esta URL se utiliza como base para generar enlaces en los correos electr\u00f3nicos. Ingrese la URL completa que comienza con http://, incluido el n\u00famero de puerto (sin barra inclinada al final /).", "REPORT_DASHBOARD_URL_name": "URL de Pi.Alert", - "REPORT_ERROR": "La página que está buscando no está disponible temporalmente, inténtelo de nuevo después de unos segundos", - "REPORT_FROM_description": "Asunto del correo electrónico de notificación.", + "REPORT_ERROR": "La p\u00e1gina que est\u00e1 buscando no est\u00e1 disponible temporalmente, int\u00e9ntelo de nuevo despu\u00e9s de unos segundos", + "REPORT_FROM_description": "Asunto del correo electr\u00f3nico de notificaci\u00f3n.", "REPORT_FROM_name": "Asunto del email", - "REPORT_MAIL_description": "Si está activada, se envía un correo electrónico con una lista de los cambios a los que se ha suscrito. Por favor, rellene también todos los ajustes restantes relacionados con la configuración SMTP a continuación. Si tiene problemas, ajuste LOG_LEVEL a debug y compruebe el registro de errores.", + "REPORT_MAIL_description": "Si est\u00e1 activada, se env\u00eda un correo electr\u00f3nico con una lista de los cambios a los que se ha suscrito. Por favor, rellene tambi\u00e9n todos los ajustes restantes relacionados con la configuraci\u00f3n SMTP a continuaci\u00f3n. Si tiene problemas, ajuste LOG_LEVEL a debug y compruebe el registro de errores.", "REPORT_MAIL_name": "Habilitar email", - "REPORT_MQTT_description": "Habilitar el envío de notificaciones a través de MQTT a su Home Assistance.", + "REPORT_MQTT_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de MQTT a su Home Assistance.", "REPORT_MQTT_name": "Habilitar MQTT", - "REPORT_NTFY_description": "Habilitar el envío de notificaciones a través de NTFY.", + "REPORT_NTFY_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de NTFY.", "REPORT_NTFY_name": "Habilitar NTFY", - "REPORT_PUSHSAFER_description": "Habilitar el envío de notificaciones a través de Pushsafer.", + "REPORT_PUSHSAFER_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de Pushsafer.", "REPORT_PUSHSAFER_name": "Habilitar Pushsafer", "REPORT_TITLE": "Reporte", - "REPORT_TO_description": "Dirección de correo electrónico a la que se enviará la notificación.", + "REPORT_TO_description": "Direcci\u00f3n de correo electr\u00f3nico a la que se enviar\u00e1 la notificaci\u00f3n.", "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_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\u00eda de n8n aqu\u00ed para obtener comenz\u00f3. Si est\u00e1 habilitado, configure los ajustes relacionados a continuaci\u00f3n.", "REPORT_WEBHOOK_name": "Habilitar webhooks", - "RandomMAC_hover": "Autodetectado - indica si el dispositivo aleatoriza su dirección MAC.", - "SCAN_SUBNETS_description": "Escaneado Arp es una herramienta de línea de comandos que utiliza el protocolo ARP para descubrir e identificar hosts IP en la red local. Una alternativa al escaneo ARP es habilitar algunos otros escáneres de dispositivos. El tiempo de arp-scan depende del número de direcciones IP a comprobar, así que configúralo cuidadosamente con la máscara de red y la interfaz adecuadas. Consulte la documentación sobre subredes para obtener ayuda sobre la configuración de VLAN, qué VLAN son compatibles o cómo averiguar la máscara de red y su interfaz.", + "RandomMAC_hover": "Autodetectado - indica si el dispositivo aleatoriza su direcci\u00f3n MAC.", + "SCAN_SUBNETS_description": "Escaneado Arp es una herramienta de l\u00ednea de comandos que utiliza el protocolo ARP para descubrir e identificar hosts IP en la red local. Una alternativa al escaneo ARP es habilitar algunos otros esc\u00e1neres de dispositivos. El tiempo de arp-scan depende del n\u00famero de direcciones IP a comprobar, as\u00ed que config\u00faralo cuidadosamente con la m\u00e1scara de red y la interfaz adecuadas. Consulte la documentaci\u00f3n sobre subredes para obtener ayuda sobre la configuraci\u00f3n de VLAN, qu\u00e9 VLAN son compatibles o c\u00f3mo averiguar la m\u00e1scara de red y su interfaz.", "SCAN_SUBNETS_name": "Subredes para escanear", "SMTP_FORCE_SSL_description": "Forzar SSL al conectarse a su servidor SMTP", "SMTP_FORCE_SSL_name": "Forzar SSL", - "SMTP_PASS_description": "La contraseña del servidor SMTP.", - "SMTP_PASS_name": "Contraseña de SMTP", - "SMTP_PORT_description": "Número de puerto utilizado para la conexión SMTP. Establézcalo en 0 si no desea utilizar un puerto al conectarse al servidor SMTP.", + "SMTP_PASS_description": "La contrase\u00f1a del servidor SMTP.", + "SMTP_PASS_name": "Contrase\u00f1a de SMTP", + "SMTP_PORT_description": "N\u00famero de puerto utilizado para la conexi\u00f3n SMTP. Establ\u00e9zcalo en 0 si no desea utilizar un puerto al conectarse al servidor SMTP.", "SMTP_PORT_name": "Puerto del servidor SMTP", - "SMTP_SERVER_description": "La URL del host del servidor SMTP. Por ejemplo, smtp-relay.sendinblue.com. Para utilizar Gmail como servidor SMTP siga esta guía", + "SMTP_SERVER_description": "La URL del host del servidor SMTP. Por ejemplo, smtp-relay.sendinblue.com. Para utilizar Gmail como servidor SMTP siga esta gu\u00eda", "SMTP_SERVER_name": "URL del servidor SMTP", - "SMTP_SKIP_LOGIN_description": "No utilice la autenticación cuando se conecte al servidor SMTP.", - "SMTP_SKIP_LOGIN_name": "Omitir autenticación", + "SMTP_SKIP_LOGIN_description": "No utilice la autenticaci\u00f3n cuando se conecte al servidor SMTP.", + "SMTP_SKIP_LOGIN_name": "Omitir autenticaci\u00f3n", "SMTP_SKIP_TLS_description": "Deshabilite TLS cuando se conecte a su servidor SMTP.", "SMTP_SKIP_TLS_name": "No usar TLS", - "SMTP_USER_description": "El nombre de usuario utilizado para iniciar sesión en el servidor SMTP (a veces, una dirección de correo electrónico completa).", + "SMTP_USER_description": "El nombre de usuario utilizado para iniciar sesi\u00f3n en el servidor SMTP (a veces, una direcci\u00f3n de correo electr\u00f3nico completa).", "SMTP_USER_name": "Nombre de usuario SMTP", - "SYSTEM_TITLE": "Información del sistema", + "SYSTEM_TITLE": "Informaci\u00f3n del sistema", "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_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 .", + "Setting_Override_Description": "Habilitar esta opci\u00f3n anular\u00e1 un valor predeterminado proporcionado por la aplicaci\u00f3n con el valor especificado anteriormente.", + "Settings_Metadata_Toggle": "Mostrar/ocultar los metadatos de la configuraci\u00f3n.", + "Settings_Title": " Configuraci\u00f3n", + "Settings_device_Scanners_desync": "\u26a0 Los horarios del esc\u00e1ner de los dispositivos no est\u00e1n sincronizados.", + "Settings_device_Scanners_desync_popup": "Los horarios de esc\u00e1neres de dispositivos ( *_RUN_SCHD ) no son lo mismo. Esto resultar\u00e1 en notificaciones inconsistentes del dispositivo en l\u00ednea/fuera de l\u00ednea. A menos que sea as\u00ed, utilice el mismo horario para todos los habilitados. \ud83d\udd0dEsc\u00e1neres de dispositivos .", "Speedtest_Results": "Resultados de la prueba de velocidad", "Systeminfo_CPU": "CPU", - "Systeminfo_CPU_Cores": "Núcleos de CPU:", + "Systeminfo_CPU_Cores": "N\u00facleos de CPU:", "Systeminfo_CPU_Name": "Nombre de la CPU:", "Systeminfo_CPU_Speed": "Velocidad de la CPU:", "Systeminfo_CPU_Temp": "Temperatura de la CPU:", "Systeminfo_CPU_Vendor": "Proveedor de CPU:", - "Systeminfo_Client_Resolution": "Resolución del navegador:", + "Systeminfo_Client_Resolution": "Resoluci\u00f3n del navegador:", "Systeminfo_Client_User_Agent": "Agente de usuario:", "Systeminfo_General": "General", "Systeminfo_General_Date": "Fecha:", @@ -621,36 +621,40 @@ "Systeminfo_Motherboard_BIOS_Vendor": "Proveedor de BIOS:", "Systeminfo_Motherboard_Manufactured": "Fabricado por:", "Systeminfo_Motherboard_Name": "Nombre:", - "Systeminfo_Motherboard_Revision": "Revisión:", + "Systeminfo_Motherboard_Revision": "Revisi\u00f3n:", "Systeminfo_Network": "Red", - "Systeminfo_Network_Accept_Encoding": "Codificación aceptada:", + "Systeminfo_Network_Accept_Encoding": "Codificaci\u00f3n aceptada:", "Systeminfo_Network_Accept_Language": "Idioma aceptado:", - "Systeminfo_Network_Connection_Port": "Puerto de conexión:", + "Systeminfo_Network_Connection_Port": "Puerto de conexi\u00f3n:", "Systeminfo_Network_HTTP_Host": "Host HTTP:", "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": "", + "Systeminfo_Network_Hardware_Interface_Name": "", + "Systeminfo_Network_Hardware_Interface_RX": "", + "Systeminfo_Network_Hardware_Interface_TX": "", "Systeminfo_Network_IP": "IP Internet:", - "Systeminfo_Network_IP_Connection": "Conexión IP:", + "Systeminfo_Network_IP_Connection": "Conexi\u00f3n IP:", "Systeminfo_Network_IP_Server": "IP del servidor:", "Systeminfo_Network_MIME": "MIME:", - "Systeminfo_Network_Request_Method": "Método de solicitud:", + "Systeminfo_Network_Request_Method": "M\u00e9todo de solicitud:", "Systeminfo_Network_Request_Time": "Hora de solicitud:", "Systeminfo_Network_Request_URI": "URI de solicitud:", - "Systeminfo_Network_Secure_Connection": "Conexión segura:", + "Systeminfo_Network_Secure_Connection": "Conexi\u00f3n segura:", "Systeminfo_Network_Secure_Connection_String": "No (HTTP)", "Systeminfo_Network_Server_Name": "Nombre del servidor:", "Systeminfo_Network_Server_Name_String": "Nombre del servidor no encontrado", "Systeminfo_Network_Server_Query": "Consulta del servidor:", "Systeminfo_Network_Server_Query_String": "Sin cadena de consulta", - "Systeminfo_Network_Server_Version": "Versión del servidor:", + "Systeminfo_Network_Server_Version": "Versi\u00f3n del servidor:", "Systeminfo_Services": "Servicios", - "Systeminfo_Services_Description": "Descripción del servicio", + "Systeminfo_Services_Description": "Descripci\u00f3n del servicio", "Systeminfo_Services_Name": "Nombre del servicio", "Systeminfo_Storage": "Almacenamiento", "Systeminfo_Storage_Device": "Dispositivo:", "Systeminfo_Storage_Mount": "Punto de montaje:", - "Systeminfo_Storage_Size": "Tamaño:", + "Systeminfo_Storage_Size": "Tama\u00f1o:", "Systeminfo_Storage_Type": "Tipo:", "Systeminfo_Storage_Usage": "Uso de almacenamiento", "Systeminfo_Storage_Usage_Free": "Libre:", @@ -660,7 +664,7 @@ "Systeminfo_System": "Sistema", "Systeminfo_System_AVG": "Cargar promedio:", "Systeminfo_System_Architecture": "Arquitectura:", - "Systeminfo_System_Kernel": "Núcleo:", + "Systeminfo_System_Kernel": "N\u00facleo:", "Systeminfo_System_OSVersion": "Sistema Operativo:", "Systeminfo_System_Running_Processes": "Procesos corriendo:", "Systeminfo_System_System": "Sistema:", @@ -668,58 +672,58 @@ "Systeminfo_System_Uptime": "Tiempo de actividad:", "Systeminfo_This_Client": "Este cliente", "Systeminfo_USB_Devices": "Dispositivos USB", - "TIMEZONE_description": "La zona horaria para mostrar las estadísticas correctamente. Encuentra tu zona horaria aquí.", + "TIMEZONE_description": "La zona horaria para mostrar las estad\u00edsticas correctamente. Encuentra tu zona horaria aqu\u00ed.", "TIMEZONE_name": "Zona horaria", - "UI_LANG_description": "Seleccione el idioma preferido para la interfaz de usuario. Ayude a traducir o sugiera idiomas en el portal en línea de Weblate.", + "UI_LANG_description": "Seleccione el idioma preferido para la interfaz de usuario. Ayude a traducir o sugiera idiomas en el portal en l\u00ednea de Weblate.", "UI_LANG_name": "Idioma de interfaz", "UI_MY_DEVICES_description": "Dispositivos cuyos estados deben mostrarse en la vista por defecto Mis dispositivos. (CTRL + Click para seleccionar/deseleccionar)", "UI_MY_DEVICES_name": "Mostrar en Mis dispositivos", - "UI_NOT_RANDOM_MAC_description": "Prefijos Mac que no deberían marcarse como dispositivos aleatorios. Introduzca por ejemplo 52 para excluir los dispositivos que empiecen por 52:xx:xx:xx:xx para ser marcados como dispositivos con una dirección MAC aleatoria.", + "UI_NOT_RANDOM_MAC_description": "Prefijos Mac que no deber\u00edan marcarse como dispositivos aleatorios. Introduzca por ejemplo 52 para excluir los dispositivos que empiecen por 52:xx:xx:xx:xx para ser marcados como dispositivos con una direcci\u00f3n MAC aleatoria.", "UI_NOT_RANDOM_MAC_name": "No marcar como aleatoria", - "UI_PRESENCE_description": "Elige que estados del dispositivo deben mostrarse en la gráfica de Presencia del dispositivo a lo largo del tiempo de la página de Dispositivos. (CTRL + Clic para seleccionar / deseleccionar)", - "UI_PRESENCE_name": "Mostrar en el gráfico de presencia", - "WEBHOOK_PAYLOAD_description": "El formato de datos de carga de Webhook para el atributo body > attachments > text en el json de carga. Vea un ejemplo de la carga aquí. (por ejemplo: para discord use text)", + "UI_PRESENCE_description": "Elige que estados del dispositivo deben mostrarse en la gr\u00e1fica de Presencia del dispositivo a lo largo del tiempo de la p\u00e1gina de Dispositivos. (CTRL + Clic para seleccionar / deseleccionar)", + "UI_PRESENCE_name": "Mostrar en el gr\u00e1fico de presencia", + "WEBHOOK_PAYLOAD_description": "El formato de datos de carga de Webhook para el atributo body > attachments > text en el json de carga. Vea un ejemplo de la carga aqu\u00ed. (por ejemplo: para discord use text)", "WEBHOOK_PAYLOAD_name": "Tipo de carga", - "WEBHOOK_REQUEST_METHOD_description": "El método de solicitud HTTP que se utilizará para la llamada de webhook.", - "WEBHOOK_REQUEST_METHOD_name": "Método de solicitud", - "WEBHOOK_SIZE_description": "El tamaño máximo de la carga útil del webhook como número de caracteres en la cadena pasada. Si supera el límite, se truncará y se agregará un mensaje (text was truncated).", - "WEBHOOK_SIZE_name": "Tamaño máximo de carga útil", + "WEBHOOK_REQUEST_METHOD_description": "El m\u00e9todo de solicitud HTTP que se utilizar\u00e1 para la llamada de webhook.", + "WEBHOOK_REQUEST_METHOD_name": "M\u00e9todo de solicitud", + "WEBHOOK_SIZE_description": "El tama\u00f1o m\u00e1ximo de la carga \u00fatil del webhook como n\u00famero de caracteres en la cadena pasada. Si supera el l\u00edmite, se truncar\u00e1 y se agregar\u00e1 un mensaje (text was truncated).", + "WEBHOOK_SIZE_name": "Tama\u00f1o m\u00e1ximo de carga \u00fatil", "WEBHOOK_URL_description": "URL de destino comienza con http:// o https://.", "WEBHOOK_URL_name": "URL de destino", "Webhooks_display_name": "Webhooks", "Webhooks_icon": "", "Webhooks_settings_group": " Webhooks", "devices_old": "Volviendo a actualizar....", - "general_event_description": "El evento que has activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecución finalizó una vez que se vació la cola de ejecución de abajo (Compruebe el registro de errores si encuentra problemas).

Cola de ejecución:", + "general_event_description": "El evento que has activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecuci\u00f3n finaliz\u00f3 una vez que se vaci\u00f3 la cola de ejecuci\u00f3n de abajo (Compruebe el registro de errores si encuentra problemas).

Cola de ejecuci\u00f3n:", "general_event_title": "Ejecutar un evento ad-hoc", - "report_guid": "Guía de las notificaciones:", - "report_guid_missing": "No se encontró la notificación vinculada. Es posible que la notificación seleccionada se haya eliminado durante el mantenimiento especificado en el ajuste DBCLNP_NOTIFI_HIST. En su lugar se muestra la última notificación. La notificación que falta tiene el siguiente GUID:", + "report_guid": "Gu\u00eda de las notificaciones:", + "report_guid_missing": "No se encontr\u00f3 la notificaci\u00f3n vinculada. Es posible que la notificaci\u00f3n seleccionada se haya eliminado durante el mantenimiento especificado en el ajuste DBCLNP_NOTIFI_HIST. En su lugar se muestra la \u00faltima notificaci\u00f3n. La notificaci\u00f3n que falta tiene el siguiente GUID:", "report_select_format": "Selecciona el formato:", - "report_time": "Hora de la notificación:", + "report_time": "Hora de la notificaci\u00f3n:", "run_event_icon": "fa-play", "run_event_tooltip": "Activa el ajuste y guarda tus cambios antes de ejecutarlo.", "settings_core_icon": "fa-solid fa-gem", - "settings_core_label": "Núcleo", - "settings_device_scanners": "Los escáneres de los dispositivos se utilizan para descubrir dispositivos que escriben en la tabla de base de datos de CurrentScan.", + "settings_core_label": "N\u00facleo", + "settings_device_scanners": "Los esc\u00e1neres de los dispositivos se utilizan para descubrir dispositivos que escriben en la tabla de base de datos de CurrentScan.", "settings_device_scanners_icon": "fa-solid fa-magnifying-glass-plus", - "settings_device_scanners_label": "Escáneres de dispositivos", - "settings_enabled": "Configuración activada", + "settings_device_scanners_label": "Esc\u00e1neres de dispositivos", + "settings_enabled": "Configuraci\u00f3n activada", "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 pialert.conf", - "settings_imported_label": "Configuración importada", - "settings_missing": "Actualiza la página, no todos los ajustes se han cargado. Probablemente sea por una sobrecarga de la base de datos.", - "settings_missing_block": "No puedes guardar los ajustes sin establecer todas las claves. Actualiza la página. Problabmente esté causado por una sobrecarga de la base de datos.", + "settings_imported": "\u00daltima vez que los ajustes fueron importados desde el archivo pialert.conf", + "settings_imported_label": "Configuraci\u00f3n importada", + "settings_missing": "Actualiza la p\u00e1gina, no todos los ajustes se han cargado. Probablemente sea por una sobrecarga de la base de datos.", + "settings_missing_block": "No puedes guardar los ajustes sin establecer todas las claves. Actualiza la p\u00e1gina. Problabmente est\u00e9 causado por una sobrecarga de la base de datos.", "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": "Otros plugins de esc\u00e1ner no relacionados con dispositivos que est\u00e1n activados actualmente.", "settings_other_scanners_icon": "fa-solid fa-recycle", - "settings_other_scanners_label": "Otros escáneres", - "settings_publishers": "Puertas de enlace para las notificación habilitadas: editores, que enviarán una notificación según su configuración.", + "settings_other_scanners_label": "Otros esc\u00e1neres", + "settings_publishers": "Puertas de enlace para las notificaci\u00f3n habilitadas: editores, que enviar\u00e1n una notificaci\u00f3n seg\u00fan su configuraci\u00f3n.", "settings_publishers_icon": "fa-solid fa-comment-dots", "settings_publishers_label": "Editores", - "settings_saved": "
Configuración guardada en el archivo pialert.conf .

Una copia de seguridad con marca de tiempo del archivo anterior.

Recargando...
", + "settings_saved": "
Configuraci\u00f3n guardada en el archivo pialert.conf .

Una copia de seguridad con marca de tiempo del archivo anterior.

Recargando...
", "settings_system_icon": "fa-solid fa-gear", "settings_system_label": "Sistema", "test_event_icon": "fa-vial-circle-check", "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 b42fb5c9..b6567a1b 100755 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -1,26 +1,26 @@ { "API_CUSTOM_SQL_description": "", - "API_CUSTOM_SQL_name": "Point de terminaison personnalisé", + "API_CUSTOM_SQL_name": "Point de terminaison personnalis\u00e9", "API_display_name": "API", "API_icon": "", - "About_Design": "Conçu pour :", + "About_Design": "Con\u00e7u pour\u202f:", "About_Exit": "Quitter", "About_Title": "Open Source Network Guard", - "AppEvents_DateTimeCreated": "Journalisé", + "AppEvents_DateTimeCreated": "Journalis\u00e9", "AppEvents_Extra": "Extra", "AppEvents_GUID": "", "AppEvents_Helper1": "", "AppEvents_Helper2": "", "AppEvents_Helper3": "", - "AppEvents_ObjectForeignKey": "Clé étrangère", + "AppEvents_ObjectForeignKey": "Cl\u00e9 \u00e9trang\u00e8re", "AppEvents_ObjectIndex": "Index", - "AppEvents_ObjectIsArchived": "Est archivé (au moment de l'enregistrement)", + "AppEvents_ObjectIsArchived": "Est archiv\u00e9 (au moment de l'enregistrement)", "AppEvents_ObjectIsNew": "", - "AppEvents_ObjectPlugin": "Greffon lié", + "AppEvents_ObjectPlugin": "Greffon li\u00e9", "AppEvents_ObjectPrimaryID": "", "AppEvents_ObjectSecondaryID": "", "AppEvents_ObjectStatus": "Statut (au moment de l'enregistrement)", - "AppEvents_ObjectStatusColumn": "Colonne d'état", + "AppEvents_ObjectStatusColumn": "Colonne d'\u00e9tat", "AppEvents_ObjectType": "Type d'objet", "AppEvents_Plugin": "Greffon", "AppEvents_Type": "Type", @@ -28,7 +28,7 @@ "BackDevDetail_Actions_Not_Registered": "", "BackDevDetail_Actions_Title_Run": "", "BackDevDetail_Copy_Ask": "", - "BackDevDetail_Copy_Title": "Copier les détails", + "BackDevDetail_Copy_Title": "Copier les d\u00e9tails", "BackDevDetail_Tools_WOL_error": "", "BackDevDetail_Tools_WOL_okay": "", "BackDevices_Arpscan_disabled": "", @@ -38,44 +38,44 @@ "BackDevices_Backup_okay": "", "BackDevices_DBTools_DelDevError_a": "Erreur lors de la suppression de l'appareil", "BackDevices_DBTools_DelDevError_b": "Erreur lors de la suppression des appareils", - "BackDevices_DBTools_DelDev_a": "Appareil supprimé", - "BackDevices_DBTools_DelDev_b": "Appareils supprimés", - "BackDevices_DBTools_DelEvents": "Événements supprimés", - "BackDevices_DBTools_DelEventsError": "Erreur lors de la suppression des événements", - "BackDevices_DBTools_ImportCSV": "Les appareils du fichier CSV ont été importés avec succès.", - "BackDevices_DBTools_ImportCSVError": "Le fichier CSV n'a pas pu être importé. Assurez-vous que le format est correct.", + "BackDevices_DBTools_DelDev_a": "Appareil supprim\u00e9", + "BackDevices_DBTools_DelDev_b": "Appareils supprim\u00e9s", + "BackDevices_DBTools_DelEvents": "\u00c9v\u00e9nements supprim\u00e9s", + "BackDevices_DBTools_DelEventsError": "Erreur lors de la suppression des \u00e9v\u00e9nements", + "BackDevices_DBTools_ImportCSV": "Les appareils du fichier CSV ont \u00e9t\u00e9 import\u00e9s avec succ\u00e8s.", + "BackDevices_DBTools_ImportCSVError": "Le fichier CSV n'a pas pu \u00eatre import\u00e9. Assurez-vous que le format est correct.", "BackDevices_DBTools_ImportCSVMissing": "Le fichier CSV est introuvable sous /config/devices.csv.", - "BackDevices_DBTools_Purge": "Les sauvegardes les plus anciennes ont été supprimées", - "BackDevices_DBTools_UpdDev": "Appareil mis à jour avec succès", - "BackDevices_DBTools_UpdDevError": "Erreur lors de la mise à jour de l'appareil", - "BackDevices_DBTools_Upgrade": "Base de données mise à niveau avec succès", - "BackDevices_DBTools_UpgradeError": "La mise à niveau de la base de données a échoué", - "BackDevices_Device_UpdDevError": "Erreur de mise à jour des appareils, essayez plus tard. La base de données est probablement bloquée en raison d'une tâche en cours.", - "BackDevices_Restore_CopError": "La base de données originale n'a pas pu être sauvegardée.", - "BackDevices_Restore_Failed": "Échec de la restauration. Veuillez restaurer la sauvegarde manuellement.", - "BackDevices_Restore_okay": "Restauration exécutée avec succès.", - "BackDevices_darkmode_disabled": "Mode sombre désactivé", - "BackDevices_darkmode_enabled": "Mode sombre activé", + "BackDevices_DBTools_Purge": "Les sauvegardes les plus anciennes ont \u00e9t\u00e9 supprim\u00e9es", + "BackDevices_DBTools_UpdDev": "Appareil mis \u00e0 jour avec succ\u00e8s", + "BackDevices_DBTools_UpdDevError": "Erreur lors de la mise \u00e0 jour de l'appareil", + "BackDevices_DBTools_Upgrade": "Base de donn\u00e9es mise \u00e0 niveau avec succ\u00e8s", + "BackDevices_DBTools_UpgradeError": "La mise \u00e0 niveau de la base de donn\u00e9es a \u00e9chou\u00e9", + "BackDevices_Device_UpdDevError": "Erreur de mise \u00e0 jour des appareils, essayez plus tard. La base de donn\u00e9es est probablement bloqu\u00e9e en raison d'une t\u00e2che en cours.", + "BackDevices_Restore_CopError": "La base de donn\u00e9es originale n'a pas pu \u00eatre sauvegard\u00e9e.", + "BackDevices_Restore_Failed": "\u00c9chec de la restauration. Veuillez restaurer la sauvegarde manuellement.", + "BackDevices_Restore_okay": "Restauration ex\u00e9cut\u00e9e avec succ\u00e8s.", + "BackDevices_darkmode_disabled": "Mode sombre d\u00e9sactiv\u00e9", + "BackDevices_darkmode_enabled": "Mode sombre activ\u00e9", "DAYS_TO_KEEP_EVENTS_description": "", - "DAYS_TO_KEEP_EVENTS_name": "Supprimer les événements plus anciens que", + "DAYS_TO_KEEP_EVENTS_name": "Supprimer les \u00e9v\u00e9nements plus anciens que", "DevDetail_Copy_Device_Title": "", "DevDetail_Copy_Device_Tooltip": "", - "DevDetail_EveandAl_AlertAllEvents": "Alerter tous les événements", + "DevDetail_EveandAl_AlertAllEvents": "Alerter tous les \u00e9v\u00e9nements", "DevDetail_EveandAl_AlertDown": "", - "DevDetail_EveandAl_Archived": "Archivé", + "DevDetail_EveandAl_Archived": "Archiv\u00e9", "DevDetail_EveandAl_NewDevice": "", "DevDetail_EveandAl_NewDevice_Tooltip": "", - "DevDetail_EveandAl_RandomMAC": "MAC aléatoire", + "DevDetail_EveandAl_RandomMAC": "MAC al\u00e9atoire", "DevDetail_EveandAl_ScanCycle": "", "DevDetail_EveandAl_ScanCycle_a": "", "DevDetail_EveandAl_ScanCycle_z": "", "DevDetail_EveandAl_Skip": "", "DevDetail_EveandAl_Title": "", - "DevDetail_Events_CheckBox": "Masquer les événements de connexion", + "DevDetail_Events_CheckBox": "Masquer les \u00e9v\u00e9nements de connexion", "DevDetail_GoToNetworkNode": "", - "DevDetail_Icon": "Icône", + "DevDetail_Icon": "Ic\u00f4ne", "DevDetail_Icon_Descr": "", - "DevDetail_Loading": "Chargement …", + "DevDetail_Loading": "Chargement\u00a0\u2026", "DevDetail_MainInfo_Comments": "Observations", "DevDetail_MainInfo_Favorite": "Favori", "DevDetail_MainInfo_Group": "Groupe", @@ -83,8 +83,8 @@ "DevDetail_MainInfo_Name": "Nom", "DevDetail_MainInfo_Network": "", "DevDetail_MainInfo_Network_Port": " Port", - "DevDetail_MainInfo_Network_Title": " Réseau", - "DevDetail_MainInfo_Owner": "Propriétaire", + "DevDetail_MainInfo_Network_Title": " R\u00e9seau", + "DevDetail_MainInfo_Owner": "Propri\u00e9taire", "DevDetail_MainInfo_Title": " Informations principales", "DevDetail_MainInfo_Type": "Type", "DevDetail_MainInfo_Vendor": "Fabriquant", @@ -110,28 +110,28 @@ "DevDetail_Periodselect_today": "Aujourd'hui", "DevDetail_Run_Actions_Title": "", "DevDetail_Run_Actions_Tooltip": "", - "DevDetail_SessionInfo_FirstSession": "Première session", - "DevDetail_SessionInfo_LastIP": "Dernière IP", - "DevDetail_SessionInfo_LastSession": "Dernière session", + "DevDetail_SessionInfo_FirstSession": "Premi\u00e8re session", + "DevDetail_SessionInfo_LastIP": "Derni\u00e8re IP", + "DevDetail_SessionInfo_LastSession": "Derni\u00e8re session", "DevDetail_SessionInfo_StaticIP": "IP statique", - "DevDetail_SessionInfo_Status": "État", + "DevDetail_SessionInfo_Status": "\u00c9tat", "DevDetail_SessionInfo_Title": " Info de session", - "DevDetail_SessionTable_Additionalinfo": "Informations supplémentaires", + "DevDetail_SessionTable_Additionalinfo": "Informations suppl\u00e9mentaires", "DevDetail_SessionTable_Connection": "Connexion", - "DevDetail_SessionTable_Disconnection": "Déconnection", - "DevDetail_SessionTable_Duration": "Durée", + "DevDetail_SessionTable_Disconnection": "D\u00e9connection", + "DevDetail_SessionTable_Duration": "Dur\u00e9e", "DevDetail_SessionTable_IP": "IP", "DevDetail_SessionTable_Order": "", - "DevDetail_Shortcut_CurrentStatus": "État actuel", + "DevDetail_Shortcut_CurrentStatus": "\u00c9tat actuel", "DevDetail_Shortcut_DownAlerts": "Alertes de panne", - "DevDetail_Shortcut_Presence": "Présence", + "DevDetail_Shortcut_Presence": "Pr\u00e9sence", "DevDetail_Shortcut_Sessions": "Sessions", "DevDetail_Tab_Details": "", "DevDetail_Tab_Events": "", "DevDetail_Tab_EventsTableDate": "Date", - "DevDetail_Tab_EventsTableEvent": "Type d'événement", + "DevDetail_Tab_EventsTableEvent": "Type d'\u00e9v\u00e9nement", "DevDetail_Tab_EventsTableIP": "IP", - "DevDetail_Tab_EventsTableInfo": "Informations complémentaires", + "DevDetail_Tab_EventsTableInfo": "Informations compl\u00e9mentaires", "DevDetail_Tab_Nmap": "", "DevDetail_Tab_NmapEmpty": "", "DevDetail_Tab_NmapTableExtra": "Extra", @@ -139,7 +139,7 @@ "DevDetail_Tab_NmapTableIndex": "Index", "DevDetail_Tab_NmapTablePort": "Port", "DevDetail_Tab_NmapTableService": "Service", - "DevDetail_Tab_NmapTableState": "État", + "DevDetail_Tab_NmapTableState": "\u00c9tat", "DevDetail_Tab_NmapTableText": "", "DevDetail_Tab_NmapTableTime": "Heure", "DevDetail_Tab_Plugins": "", @@ -156,7 +156,7 @@ "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", "DevDetail_Tab_Tools_Speedtest_Description": "", "DevDetail_Tab_Tools_Speedtest_Start": "", - "DevDetail_Tab_Tools_Speedtest_Title": "Test de débit en ligne", + "DevDetail_Tab_Tools_Speedtest_Title": "Test de d\u00e9bit en ligne", "DevDetail_Tab_Tools_Traceroute_Description": "", "DevDetail_Tab_Tools_Traceroute_Error": "", "DevDetail_Tab_Tools_Traceroute_Start": "", @@ -168,7 +168,7 @@ "DevDetail_Vendor_hover": "", "DevDetail_WOL_Title": "", "DevDetail_button_Delete": "Supprimer l'appareil", - "DevDetail_button_DeleteEvents": "Supprimer les événements", + "DevDetail_button_DeleteEvents": "Supprimer les \u00e9v\u00e9nements", "DevDetail_button_DeleteEvents_Warning": "", "DevDetail_button_OverwriteIcons": "", "DevDetail_button_OverwriteIcons_Tooltip": "", @@ -182,37 +182,37 @@ "Device_MultiEdit_Tooltip": "", "Device_Searchbox": "Rechercher", "Device_Shortcut_AllDevices": "Tous les appareils", - "Device_Shortcut_Archived": "Archivé", - "Device_Shortcut_Connected": "Connecté", + "Device_Shortcut_Archived": "Archiv\u00e9", + "Device_Shortcut_Connected": "Connect\u00e9", "Device_Shortcut_Devices": "Appareils", "Device_Shortcut_DownAlerts": "", "Device_Shortcut_Favorites": "Favoris", "Device_Shortcut_NewDevices": "Nouveaux appareils", - "Device_Shortcut_OnlineChart": "Présence de l'appareil", + "Device_Shortcut_OnlineChart": "Pr\u00e9sence de l'appareil", "Device_TableHead_Connected_Devices": "Connexions", "Device_TableHead_Favorite": "Favori", - "Device_TableHead_FirstSession": "Première session", + "Device_TableHead_FirstSession": "Premi\u00e8re session", "Device_TableHead_Group": "Groupe", - "Device_TableHead_Icon": "Icône", + "Device_TableHead_Icon": "Ic\u00f4ne", "Device_TableHead_LastIP": "", "Device_TableHead_LastIPOrder": "", - "Device_TableHead_LastSession": "Dernière session", + "Device_TableHead_LastSession": "Derni\u00e8re session", "Device_TableHead_Location": "Emplacement", "Device_TableHead_MAC": "", "Device_TableHead_MAC_full": "Adresse MAC", "Device_TableHead_Name": "Nom", - "Device_TableHead_Owner": "Propriétaire", + "Device_TableHead_Owner": "Propri\u00e9taire", "Device_TableHead_Parent_MAC": "", "Device_TableHead_Port": "Port", "Device_TableHead_RowID": "", "Device_TableHead_Rowid": "", - "Device_TableHead_Status": "État", + "Device_TableHead_Status": "\u00c9tat", "Device_TableHead_Type": "Type", "Device_TableHead_Vendor": "Fabriquant", "Device_Table_Not_Network_Device": "", "Device_Table_info": "", "Device_Table_nav_next": "Suivant", - "Device_Table_nav_prev": "Précédent", + "Device_Table_nav_prev": "Pr\u00e9c\u00e9dent", "Device_Tablelenght": "", "Device_Tablelenght_all": "", "Device_Title": "Appareils", @@ -224,38 +224,38 @@ "ENABLE_PLUGINS_name": "", "Email_display_name": "Messagerie", "Email_icon": "", - "Events_Loading": "Chargement …", + "Events_Loading": "Chargement\u00a0\u2026", "Events_Periodselect_All": "Toutes les informations", "Events_Periodselect_LastMonth": "Le mois dernier", - "Events_Periodselect_LastWeek": "La semaine dernière", - "Events_Periodselect_LastYear": "L'année dernière", + "Events_Periodselect_LastWeek": "La semaine derni\u00e8re", + "Events_Periodselect_LastYear": "L'ann\u00e9e derni\u00e8re", "Events_Periodselect_today": "Aujourd'hui", "Events_Searchbox": "Rechercher", - "Events_Shortcut_AllEvents": "Tous les évènements", + "Events_Shortcut_AllEvents": "Tous les \u00e9v\u00e8nements", "Events_Shortcut_DownAlerts": "Alertes de panne", - "Events_Shortcut_Events": "Évènements", + "Events_Shortcut_Events": "\u00c9v\u00e8nements", "Events_Shortcut_MissSessions": "Sessions manquantes", "Events_Shortcut_NewDevices": "Nouveaux appareils", "Events_Shortcut_Sessions": "Sessions", - "Events_Shortcut_VoidSessions": "Sessions annulées", - "Events_TableHead_AdditionalInfo": "Informations complémentaires", + "Events_Shortcut_VoidSessions": "Sessions annul\u00e9es", + "Events_TableHead_AdditionalInfo": "Informations compl\u00e9mentaires", "Events_TableHead_Connection": "Connexion", "Events_TableHead_Date": "Date", "Events_TableHead_Device": "Dispositif", - "Events_TableHead_Disconnection": "Déconnexion", - "Events_TableHead_Duration": "Durée", - "Events_TableHead_DurationOrder": "Ordre de durée", - "Events_TableHead_EventType": "Type d'événement", + "Events_TableHead_Disconnection": "D\u00e9connexion", + "Events_TableHead_Duration": "Dur\u00e9e", + "Events_TableHead_DurationOrder": "Ordre de dur\u00e9e", + "Events_TableHead_EventType": "Type d'\u00e9v\u00e9nement", "Events_TableHead_IP": "IP", "Events_TableHead_IPOrder": "", "Events_TableHead_Order": "", - "Events_TableHead_Owner": "Propriétaire", + "Events_TableHead_Owner": "Propri\u00e9taire", "Events_Table_info": "", "Events_Table_nav_next": "Suivant", - "Events_Table_nav_prev": "Précédent", + "Events_Table_nav_prev": "Pr\u00e9c\u00e9dent", "Events_Tablelenght": "", "Events_Tablelenght_all": "", - "Events_Title": "Évènements", + "Events_Title": "\u00c9v\u00e8nements", "Gen_Action": "Action", "Gen_AreYouSure": "", "Gen_Backup": "", @@ -272,18 +272,18 @@ "Gen_Restore": "", "Gen_Run": "Lancer", "Gen_Save": "Enregistrer", - "Gen_Saved": "Enregistré", + "Gen_Saved": "Enregistr\u00e9", "Gen_Selected_Devices": "", "Gen_Switch": "Basculer", "Gen_Upd": "", "Gen_Upd_Fail": "", "Gen_Warning": "Avertissement", "Gen_Work_In_Progress": "", - "General_display_name": "Général", + "General_display_name": "G\u00e9n\u00e9ral", "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "", "HRS_TO_KEEP_NEWDEV_name": "", - "HelpFAQ_Cat_Detail": "Détails", + "HelpFAQ_Cat_Detail": "D\u00e9tails", "HelpFAQ_Cat_Detail_300_head": "", "HelpFAQ_Cat_Detail_300_text_a": "", "HelpFAQ_Cat_Detail_300_text_b": "", @@ -297,8 +297,8 @@ "HelpFAQ_Cat_Detail_303_text": "", "HelpFAQ_Cat_Device_200_head": "", "HelpFAQ_Cat_Device_200_text": "", - "HelpFAQ_Cat_General": "Général", - "HelpFAQ_Cat_General_100_head": "L'horloge en haut à droite et les heures des événements/présence ne sont pas correctes (décalage horaire).", + "HelpFAQ_Cat_General": "G\u00e9n\u00e9ral", + "HelpFAQ_Cat_General_100_head": "L'horloge en haut \u00e0 droite et les heures des \u00e9v\u00e9nements/pr\u00e9sence ne sont pas correctes (d\u00e9calage horaire).", "HelpFAQ_Cat_General_100_text_a": "", "HelpFAQ_Cat_General_100_text_b": "", "HelpFAQ_Cat_General_100_text_c": "", @@ -321,7 +321,7 @@ "HelpFAQ_Title": "Aide / FAQ", "LOG_LEVEL_description": "", "LOG_LEVEL_name": "", - "Loading": "Chargement …", + "Loading": "Chargement\u00a0\u2026", "Login_Box": "", "Login_Default_PWD": "", "Login_Psw-box": "Mot de passe", @@ -335,20 +335,20 @@ "Login_Toggle_Alert_headline": "", "Login_Toggle_Info": "", "Login_Toggle_Info_headline": "", - "Maintenance_Running_Version": "Version installée", - "Maintenance_Status": "État", + "Maintenance_Running_Version": "Version install\u00e9e", + "Maintenance_Status": "\u00c9tat", "Maintenance_Title": "Outils d'entretien", "Maintenance_Tool_ExportCSV": "Exportation CSV", "Maintenance_Tool_ExportCSV_noti": "Exportation CSV", - "Maintenance_Tool_ExportCSV_noti_text": "Êtes-vous sûr de vouloir générer un fichier CSV ?", + "Maintenance_Tool_ExportCSV_noti_text": "\u00cates-vous s\u00fbr de vouloir g\u00e9n\u00e9rer un fichier CSV\u202f?", "Maintenance_Tool_ExportCSV_text": "", "Maintenance_Tool_ImportCSV": "Importation CSV", "Maintenance_Tool_ImportCSV_noti": "Importation CSV", - "Maintenance_Tool_ImportCSV_noti_text": "Êtes-vous sûr de vouloir importer le fichier CSV ? Cela écrasera complètement les appareils de votre base de données.", + "Maintenance_Tool_ImportCSV_noti_text": "\u00cates-vous s\u00fbr de vouloir importer le fichier CSV\u202f? Cela \u00e9crasera compl\u00e8tement les appareils de votre base de donn\u00e9es.", "Maintenance_Tool_ImportCSV_text": "", - "Maintenance_Tool_arpscansw": "Basculer l'arp-Scan (activé/désactivé)", - "Maintenance_Tool_arpscansw_noti": "Activer ou désactiver l'arp-Scan", - "Maintenance_Tool_arpscansw_noti_text": "Une fois le scan désactivé, il reste désactivé jusqu'à ce qu'il soit réactivé.", + "Maintenance_Tool_arpscansw": "Basculer l'arp-Scan (activ\u00e9/d\u00e9sactiv\u00e9)", + "Maintenance_Tool_arpscansw_noti": "Activer ou d\u00e9sactiver l'arp-Scan", + "Maintenance_Tool_arpscansw_noti_text": "Une fois le scan d\u00e9sactiv\u00e9, il reste d\u00e9sactiv\u00e9 jusqu'\u00e0 ce qu'il soit r\u00e9activ\u00e9.", "Maintenance_Tool_arpscansw_text": "", "Maintenance_Tool_backup": "", "Maintenance_Tool_backup_noti": "", @@ -401,19 +401,19 @@ "Maintenance_Tool_upgrade_database_text": "", "Maintenance_Tools_Tab_BackupRestore": "", "Maintenance_Tools_Tab_Logging": "Journaux", - "Maintenance_Tools_Tab_Settings": "Paramètres", + "Maintenance_Tools_Tab_Settings": "Param\u00e8tres", "Maintenance_Tools_Tab_Tools": "Outils", - "Maintenance_Tools_Tab_UISettings": "Paramètres de l'interface", + "Maintenance_Tools_Tab_UISettings": "Param\u00e8tres de l'interface", "Maintenance_arp_status": "", - "Maintenance_arp_status_off": "est actuellement désactivé", + "Maintenance_arp_status_off": "est actuellement d\u00e9sactiv\u00e9", "Maintenance_arp_status_on": "", "Maintenance_built_on": "Construit sur", - "Maintenance_current_version": "Vous êtes à jour. Découvrez sur quoi je travaille.", - "Maintenance_database_backup": "Sauvegardes de base de données", - "Maintenance_database_backup_found": "des sauvegardes ont été trouvées", + "Maintenance_current_version": "Vous \u00eates \u00e0 jour. D\u00e9couvrez sur quoi je travaille.", + "Maintenance_database_backup": "Sauvegardes de base de donn\u00e9es", + "Maintenance_database_backup_found": "des sauvegardes ont \u00e9t\u00e9 trouv\u00e9es", "Maintenance_database_backup_total": "utilisation totale du disque", - "Maintenance_database_lastmod": "Dernière modification", - "Maintenance_database_path": "Chemin de la base de données", + "Maintenance_database_lastmod": "Derni\u00e8re modification", + "Maintenance_database_path": "Chemin de la base de donn\u00e9es", "Maintenance_database_rows": "", "Maintenance_database_size": "", "Maintenance_lang_selector_apply": "Appliquer", @@ -431,16 +431,16 @@ "Navigation_About": "", "Navigation_Devices": "Appareils", "Navigation_Donations": "Dons", - "Navigation_Events": "Évènements", + "Navigation_Events": "\u00c9v\u00e8nements", "Navigation_HelpFAQ": "Aide / FAQ", "Navigation_Maintenance": "", "Navigation_Monitoring": "", - "Navigation_Network": "Réseau", + "Navigation_Network": "R\u00e9seau", "Navigation_Plugins": "Greffons", - "Navigation_Presence": "Présence", + "Navigation_Presence": "Pr\u00e9sence", "Navigation_Report": "", - "Navigation_Settings": "Paramètres", - "Navigation_SystemInfo": "Infos système", + "Navigation_Settings": "Param\u00e8tres", + "Navigation_SystemInfo": "Infos syst\u00e8me", "Navigation_Workflows": "Flux de travail", "Network_Assign": "", "Network_Cant_Assign": "", @@ -480,9 +480,9 @@ "Network_Root": "", "Network_Root_Not_Configured": "", "Network_Root_Unconfigurable": "", - "Network_Table_Hostname": "Nom de hôte", + "Network_Table_Hostname": "Nom de h\u00f4te", "Network_Table_IP": "IP", - "Network_Table_State": "État", + "Network_Table_State": "\u00c9tat", "Network_Title": "", "Network_UnassignedDevices": "", "PIALERT_WEB_PASSWORD_description": "", @@ -496,19 +496,19 @@ "Plugins_History": "", "Plugins_Objects": "", "Plugins_Out_of": "", - "Plugins_Unprocessed_Events": "Événements non traités", + "Plugins_Unprocessed_Events": "\u00c9v\u00e9nements non trait\u00e9s", "Plugins_no_control": "", "Presence_CalHead_day": "jour", "Presence_CalHead_lang": "", "Presence_CalHead_month": "mois", "Presence_CalHead_quarter": "trimestre", "Presence_CalHead_week": "semaine", - "Presence_CalHead_year": "année", + "Presence_CalHead_year": "ann\u00e9e", "Presence_CallHead_Devices": "Appareils", - "Presence_Loading": "Chargement …", + "Presence_Loading": "Chargement\u00a0\u2026", "Presence_Shortcut_AllDevices": "", - "Presence_Shortcut_Archived": "Archivé", - "Presence_Shortcut_Connected": "Connecté", + "Presence_Shortcut_Archived": "Archiv\u00e9", + "Presence_Shortcut_Connected": "Connect\u00e9", "Presence_Shortcut_Devices": "Appareils", "Presence_Shortcut_DownAlerts": "", "Presence_Shortcut_Favorites": "Favoris", @@ -522,7 +522,7 @@ "REPORT_TITLE": "", "RandomMAC_hover": "", "SCAN_SUBNETS_description": "", - "SYSTEM_TITLE": "Informations système", + "SYSTEM_TITLE": "Informations syst\u00e8me", "Setting_Override": "", "Setting_Override_Description": "", "Settings_Metadata_Toggle": "", @@ -530,78 +530,82 @@ "Settings_device_Scanners_desync_popup": "", "Speedtest_Results": "", "Systeminfo_CPU": "Processeur", - "Systeminfo_CPU_Cores": "Cœurs de processeur :", - "Systeminfo_CPU_Name": "Nom du processeur :", - "Systeminfo_CPU_Speed": "Vitesse du CPU :", - "Systeminfo_CPU_Temp": "Température du processeur :", - "Systeminfo_CPU_Vendor": "Fabriquant du processeur :", - "Systeminfo_Client_Resolution": "Résolution du navigateur :", - "Systeminfo_Client_User_Agent": "Agent utilisateur :", - "Systeminfo_General": "Général", - "Systeminfo_General_Date": "Date :", - "Systeminfo_General_Date2": "Date 2 :", - "Systeminfo_General_Full_Date": "Date complète :", - "Systeminfo_General_TimeZone": "Fuseau horaire :", - "Systeminfo_Memory": "Mémoire", - "Systeminfo_Memory_Total_Memory": "Mémoire totale :", - "Systeminfo_Memory_Usage": "Utilisation de la mémoire:", - "Systeminfo_Memory_Usage_Percent": "% de la mémoire :", - "Systeminfo_Motherboard": "Carte mère", - "Systeminfo_Motherboard_BIOS": "BIOS :", - "Systeminfo_Motherboard_BIOS_Date": "Date du BIOS :", - "Systeminfo_Motherboard_BIOS_Vendor": "Fabriquant du BIOS :", - "Systeminfo_Motherboard_Manufactured": "Fabriqué par :", - "Systeminfo_Motherboard_Name": "Nom :", - "Systeminfo_Motherboard_Revision": "Révision :", - "Systeminfo_Network": "Réseau", - "Systeminfo_Network_Accept_Encoding": "Accepter l'encodage :", - "Systeminfo_Network_Accept_Language": "Accepter la langue :", - "Systeminfo_Network_Connection_Port": "Port de connexion :", - "Systeminfo_Network_HTTP_Host": "Hôte HTTP :", - "Systeminfo_Network_HTTP_Referer": "Référent HTTP :", - "Systeminfo_Network_HTTP_Referer_String": "Pas de référent HTTP", - "Systeminfo_Network_Hardware": "Matériel réseau", - "Systeminfo_Network_IP": "IP Internet :", - "Systeminfo_Network_IP_Connection": "Connexion IP :", - "Systeminfo_Network_IP_Server": "IP du serveur :", - "Systeminfo_Network_MIME": "MIME :", - "Systeminfo_Network_Request_Method": "Méthode de demande :", - "Systeminfo_Network_Request_Time": "Heure de la demande :", - "Systeminfo_Network_Request_URI": "URI de la demande :", - "Systeminfo_Network_Secure_Connection": "Connexion sécurisée :", + "Systeminfo_CPU_Cores": "C\u0153urs de processeur\u202f:", + "Systeminfo_CPU_Name": "Nom du processeur\u202f:", + "Systeminfo_CPU_Speed": "Vitesse du CPU\u202f:", + "Systeminfo_CPU_Temp": "Temp\u00e9rature du processeur\u202f:", + "Systeminfo_CPU_Vendor": "Fabriquant du processeur\u202f:", + "Systeminfo_Client_Resolution": "R\u00e9solution du navigateur\u202f:", + "Systeminfo_Client_User_Agent": "Agent utilisateur\u202f:", + "Systeminfo_General": "G\u00e9n\u00e9ral", + "Systeminfo_General_Date": "Date\u202f:", + "Systeminfo_General_Date2": "Date 2\u202f:", + "Systeminfo_General_Full_Date": "Date compl\u00e8te\u202f:", + "Systeminfo_General_TimeZone": "Fuseau horaire\u202f:", + "Systeminfo_Memory": "M\u00e9moire", + "Systeminfo_Memory_Total_Memory": "M\u00e9moire totale\u202f:", + "Systeminfo_Memory_Usage": "Utilisation de la m\u00e9moire:", + "Systeminfo_Memory_Usage_Percent": "% de la m\u00e9moire\u202f:", + "Systeminfo_Motherboard": "Carte m\u00e8re", + "Systeminfo_Motherboard_BIOS": "BIOS\u202f:", + "Systeminfo_Motherboard_BIOS_Date": "Date du BIOS\u202f:", + "Systeminfo_Motherboard_BIOS_Vendor": "Fabriquant du BIOS\u202f:", + "Systeminfo_Motherboard_Manufactured": "Fabriqu\u00e9 par\u202f:", + "Systeminfo_Motherboard_Name": "Nom\u202f:", + "Systeminfo_Motherboard_Revision": "R\u00e9vision\u202f:", + "Systeminfo_Network": "R\u00e9seau", + "Systeminfo_Network_Accept_Encoding": "Accepter l'encodage\u202f:", + "Systeminfo_Network_Accept_Language": "Accepter la langue\u202f:", + "Systeminfo_Network_Connection_Port": "Port de connexion\u202f:", + "Systeminfo_Network_HTTP_Host": "H\u00f4te HTTP\u202f:", + "Systeminfo_Network_HTTP_Referer": "R\u00e9f\u00e9rent HTTP\u202f:", + "Systeminfo_Network_HTTP_Referer_String": "Pas de r\u00e9f\u00e9rent HTTP", + "Systeminfo_Network_Hardware": "Mat\u00e9riel r\u00e9seau", + "Systeminfo_Network_Hardware_Interface_Mask": "", + "Systeminfo_Network_Hardware_Interface_Name": "", + "Systeminfo_Network_Hardware_Interface_RX": "", + "Systeminfo_Network_Hardware_Interface_TX": "", + "Systeminfo_Network_IP": "IP Internet\u202f:", + "Systeminfo_Network_IP_Connection": "Connexion IP\u202f:", + "Systeminfo_Network_IP_Server": "IP du serveur\u202f:", + "Systeminfo_Network_MIME": "MIME\u202f:", + "Systeminfo_Network_Request_Method": "M\u00e9thode de demande\u202f:", + "Systeminfo_Network_Request_Time": "Heure de la demande\u202f:", + "Systeminfo_Network_Request_URI": "URI de la demande\u202f:", + "Systeminfo_Network_Secure_Connection": "Connexion s\u00e9curis\u00e9e\u202f:", "Systeminfo_Network_Secure_Connection_String": "", - "Systeminfo_Network_Server_Name": "Nom du serveur :", + "Systeminfo_Network_Server_Name": "Nom du serveur\u202f:", "Systeminfo_Network_Server_Name_String": "Nom du serveur introuvable", - "Systeminfo_Network_Server_Query": "Requête du serveur :", - "Systeminfo_Network_Server_Query_String": "Aucune chaîne de requête", - "Systeminfo_Network_Server_Version": "Version du serveur :", + "Systeminfo_Network_Server_Query": "Requ\u00eate du serveur\u202f:", + "Systeminfo_Network_Server_Query_String": "Aucune cha\u00eene de requ\u00eate", + "Systeminfo_Network_Server_Version": "Version du serveur\u202f:", "Systeminfo_Services": "Services", "Systeminfo_Services_Description": "Description du service", "Systeminfo_Services_Name": "Nom du service", "Systeminfo_Storage": "Stockage", - "Systeminfo_Storage_Device": "Appareil :", - "Systeminfo_Storage_Mount": "Point de montage :", - "Systeminfo_Storage_Size": "Taille :", - "Systeminfo_Storage_Type": "Type :", + "Systeminfo_Storage_Device": "Appareil\u202f:", + "Systeminfo_Storage_Mount": "Point de montage\u202f:", + "Systeminfo_Storage_Size": "Taille\u202f:", + "Systeminfo_Storage_Type": "Type\u202f:", "Systeminfo_Storage_Usage": "", - "Systeminfo_Storage_Usage_Free": "Libre :", + "Systeminfo_Storage_Usage_Free": "Libre\u202f:", "Systeminfo_Storage_Usage_Mount": "", - "Systeminfo_Storage_Usage_Total": "Total :", - "Systeminfo_Storage_Usage_Used": "Utilisé :", - "Systeminfo_System": "Système", + "Systeminfo_Storage_Usage_Total": "Total\u202f:", + "Systeminfo_Storage_Usage_Used": "Utilis\u00e9\u202f:", + "Systeminfo_System": "Syst\u00e8me", "Systeminfo_System_AVG": "", - "Systeminfo_System_Architecture": "Architecture :", - "Systeminfo_System_Kernel": "Noyau :", + "Systeminfo_System_Architecture": "Architecture\u202f:", + "Systeminfo_System_Kernel": "Noyau\u202f:", "Systeminfo_System_OSVersion": "", - "Systeminfo_System_Running_Processes": "Processus en cours :", - "Systeminfo_System_System": "Système :", + "Systeminfo_System_Running_Processes": "Processus en cours\u202f:", + "Systeminfo_System_System": "Syst\u00e8me\u202f:", "Systeminfo_System_Uname": "", "Systeminfo_System_Uptime": "", "Systeminfo_This_Client": "", "Systeminfo_USB_Devices": "", "TIMEZONE_description": "", "TIMEZONE_name": "", - "UI_LANG_description": "Sélectionnez votre langue préféré de l’interface. Aidez à traduire ou suggérez des langues dans le portail en ligne de Weblate.", + "UI_LANG_description": "S\u00e9lectionnez votre langue pr\u00e9f\u00e9r\u00e9 de l\u2019interface. Aidez \u00e0 traduire ou sugg\u00e9rez des langues dans le portail en ligne de Weblate.", "UI_LANG_name": "", "UI_MY_DEVICES_description": "", "UI_MY_DEVICES_name": "", @@ -623,23 +627,23 @@ "settings_device_scanners": "", "settings_device_scanners_icon": "", "settings_device_scanners_label": "Scanners d'appareils", - "settings_enabled": "Paramètres activés", + "settings_enabled": "Param\u00e8tres activ\u00e9s", "settings_enabled_icon": "", - "settings_expand_all": "Tout développer", + "settings_expand_all": "Tout d\u00e9velopper", "settings_imported": "", - "settings_imported_label": "Paramètres importés", + "settings_imported_label": "Param\u00e8tres import\u00e9s", "settings_missing": "", "settings_missing_block": "", - "settings_old": "Importation des paramètres et réinitialisation...", + "settings_old": "Importation des param\u00e8tres et r\u00e9initialisation...", "settings_other_scanners": "", "settings_other_scanners_icon": "", "settings_other_scanners_label": "", "settings_publishers": "", "settings_publishers_icon": "", - "settings_publishers_label": "Éditeurs", + "settings_publishers_label": "\u00c9diteurs", "settings_saved": "", "settings_system_icon": "", - "settings_system_label": "Système", + "settings_system_label": "Syst\u00e8me", "test_event_icon": "", "test_event_tooltip": "" -} +} \ No newline at end of file diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json index 18db8cdc..ca906f14 100755 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -17,19 +17,19 @@ "AppEvents_ObjectIsArchived": "", "AppEvents_ObjectIsNew": "", "AppEvents_ObjectPlugin": "", - "AppEvents_ObjectPrimaryID": "Primær-ID", - "AppEvents_ObjectSecondaryID": "Sekundær-ID", - "AppEvents_ObjectStatus": "Status (ved loggføringstidspunkt)", + "AppEvents_ObjectPrimaryID": "Prim\u00e6r-ID", + "AppEvents_ObjectSecondaryID": "Sekund\u00e6r-ID", + "AppEvents_ObjectStatus": "Status (ved loggf\u00f8ringstidspunkt)", "AppEvents_ObjectStatusColumn": "Statuskolonne", "AppEvents_ObjectType": "Objekttype", "AppEvents_Plugin": "Programtillegg", "AppEvents_Type": "Type", - "BackDevDetail_Actions_Ask_Run": "Utfør handlingen?", + "BackDevDetail_Actions_Ask_Run": "Utf\u00f8r handlingen?", "BackDevDetail_Actions_Not_Registered": "", - "BackDevDetail_Actions_Title_Run": "Utfør handling", + "BackDevDetail_Actions_Title_Run": "Utf\u00f8r handling", "BackDevDetail_Copy_Ask": "", "BackDevDetail_Copy_Title": "Kopier detaljer", - "BackDevDetail_Tools_WOL_error": "Kommandoen ble IKKE kjørt.", + "BackDevDetail_Tools_WOL_error": "Kommandoen ble IKKE kj\u00f8rt.", "BackDevDetail_Tools_WOL_okay": "", "BackDevices_Arpscan_disabled": "", "BackDevices_Arpscan_enabled": "", @@ -561,6 +561,10 @@ "Systeminfo_Network_HTTP_Referer": "", "Systeminfo_Network_HTTP_Referer_String": "", "Systeminfo_Network_Hardware": "", + "Systeminfo_Network_Hardware_Interface_Mask": "", + "Systeminfo_Network_Hardware_Interface_Name": "", + "Systeminfo_Network_Hardware_Interface_RX": "", + "Systeminfo_Network_Hardware_Interface_TX": "", "Systeminfo_Network_IP": "", "Systeminfo_Network_IP_Connection": "", "Systeminfo_Network_IP_Server": "", @@ -642,4 +646,4 @@ "settings_system_label": "", "test_event_icon": "", "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 d49748d9..ae6cce20 100755 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -1,74 +1,74 @@ { - "API_CUSTOM_SQL_description": "Вы можете указать пользовательский SQL-запрос, который будет генерировать файл JSON, а затем выдать его через table_custom_endpoint.json file endpoint.", - "API_CUSTOM_SQL_name": "Пользовательская конечная точка", + "API_CUSTOM_SQL_description": "\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 SQL-\u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b JSON, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0434\u0430\u0442\u044c \u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 table_custom_endpoint.json file endpoint.", + "API_CUSTOM_SQL_name": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430", "API_display_name": "API", "API_icon": "", - "About_Design": "Разработан:", - "About_Exit": "Зарегистрироваться", - "About_Title": "Сетевая защита с открытым исходным кодом", - "AppEvents_DateTimeCreated": "Журнал", - "AppEvents_Extra": "Дополнительно", - "AppEvents_GUID": "GUID события приложения", - "AppEvents_Helper1": "Помощник 1", - "AppEvents_Helper2": "Помощник 2", - "AppEvents_Helper3": "Помощник 3", - "AppEvents_ObjectForeignKey": "Внешний ключ", - "AppEvents_ObjectIndex": "Индекс", - "AppEvents_ObjectIsArchived": "Архивировано (во время входа в систему)", - "AppEvents_ObjectIsNew": "Новый (во время входа в систему)", - "AppEvents_ObjectPlugin": "Связанный плагин", - "AppEvents_ObjectPrimaryID": "Первичный ID", - "AppEvents_ObjectSecondaryID": "Вторичный ID", - "AppEvents_ObjectStatus": "Состояние (во время входа в систему)", - "AppEvents_ObjectStatusColumn": "Колонка состояния", - "AppEvents_ObjectType": "Тип объекта", - "AppEvents_Plugin": "Плагин", - "AppEvents_Type": "Тип", - "BackDevDetail_Actions_Ask_Run": "Вы хотите выполнить действие?", - "BackDevDetail_Actions_Not_Registered": "Действие не зарегистрировано:· ", - "BackDevDetail_Actions_Title_Run": "Запустить действие", - "BackDevDetail_Copy_Ask": "Копировать данные с устройства из выпадающего списка (все на этой странице будет перезаписано)?", - "BackDevDetail_Copy_Title": "Копировать детали", - "BackDevDetail_Tools_WOL_error": "Команда НЕ была выполнена.", - "BackDevDetail_Tools_WOL_okay": "Команда была выполнена.", - "BackDevices_Arpscan_disabled": "Arp сканирование запрещено", - "BackDevices_Arpscan_enabled": "Arp сканирование разрешено", - "BackDevices_Backup_CopError": "Оригинальную базу данных не удалось сохранить.", - "BackDevices_Backup_Failed": "Резервное копирование выполнено частично. Архив не может быть создан или пуст.", - "BackDevices_Backup_okay": "Резервное копирование успешно выполнено с новым архивом", - "BackDevices_DBTools_DelDevError_a": "Ошибка удаления устройства", - "BackDevices_DBTools_DelDevError_b": "Ошибка удаления устройств", - "BackDevices_DBTools_DelDev_a": "Устройство удалено", - "BackDevices_DBTools_DelDev_b": "Устройства удалены", - "BackDevices_DBTools_DelEvents": "События удалены", - "BackDevices_DBTools_DelEventsError": "Ошибка удаления событий", - "BackDevices_DBTools_ImportCSV": "Устройства из файла CSV были успешно импортированы.", - "BackDevices_DBTools_ImportCSVError": "Не удалось импортировать файл CSV. Убедитесь, что формат правильный.", - "BackDevices_DBTools_ImportCSVMissing": "CSV-файл не найден в/config/devices.csv.", - "BackDevices_DBTools_Purge": "Самые старые резервные копии были удалены", - "BackDevices_DBTools_UpdDev": "Устройство успешно обновлено", - "BackDevices_DBTools_UpdDevError": "Ошибка обновления устройства", - "BackDevices_DBTools_Upgrade": "База данных успешно обновлена", - "BackDevices_DBTools_UpgradeError": "Обновление базы данных не удалось", - "BackDevices_Device_UpdDevError": "Ошибка обновления устройств. Повторите попытку позже. Вероятно, база данных заблокирована из-за текущей задачи.", - "BackDevices_Restore_CopError": "Исходную базу данных сохранить не удалось.", - "BackDevices_Restore_Failed": "Восстановление не удалось. Пожалуйста, восстановите резервную копию вручную.", - "BackDevices_Restore_okay": "Восстановление выполнено успешно.", - "BackDevices_darkmode_disabled": "Темный режим отключен", - "BackDevices_darkmode_enabled": "Темный режим включен", - "DAYS_TO_KEEP_EVENTS_description": "Это настройка обслуживания. Здесь указывается количество дней, в течение которых будут храниться записи о событиях. Все старые мероприятия будут периодически удаляться. Также применимо к истории событий плагина.", - "DAYS_TO_KEEP_EVENTS_name": "Удалить события старше", - "DevDetail_Copy_Device_Title": " Скопировать данные с устройства", - "DevDetail_Copy_Device_Tooltip": "Скопируйте данные с устройства из раскрывающегося списка. Все на этой странице будет перезаписано", - "DevDetail_EveandAl_AlertAllEvents": "Оповещение обо всех событиях", - "DevDetail_EveandAl_AlertDown": "Оповещение о доступности", - "DevDetail_EveandAl_Archived": "Архив", - "DevDetail_EveandAl_NewDevice": "Новое устройство", - "DevDetail_EveandAl_NewDevice_Tooltip": "Будет показывать статус «Новое» для устройства и включать его в списки, когда фильтр «Новые устройства» активен. Не влияет на уведомления.", - "DevDetail_EveandAl_RandomMAC": "Случайный MAC-адрес", - "DevDetail_EveandAl_ScanCycle": "Сканировать устройство", - "DevDetail_EveandAl_ScanCycle_a": "Сканировать Устройство", - "DevDetail_EveandAl_ScanCycle_z": "Не сканировать устройство", + "About_Design": "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d:", + "About_Exit": "\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f", + "About_Title": "\u0421\u0435\u0442\u0435\u0432\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c", + "AppEvents_DateTimeCreated": "\u0416\u0443\u0440\u043d\u0430\u043b", + "AppEvents_Extra": "\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e", + "AppEvents_GUID": "GUID \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", + "AppEvents_Helper1": "\u041f\u043e\u043c\u043e\u0449\u043d\u0438\u043a 1", + "AppEvents_Helper2": "\u041f\u043e\u043c\u043e\u0449\u043d\u0438\u043a 2", + "AppEvents_Helper3": "\u041f\u043e\u043c\u043e\u0449\u043d\u0438\u043a 3", + "AppEvents_ObjectForeignKey": "\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u043a\u043b\u044e\u0447", + "AppEvents_ObjectIndex": "\u0418\u043d\u0434\u0435\u043a\u0441", + "AppEvents_ObjectIsArchived": "\u0410\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e (\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443)", + "AppEvents_ObjectIsNew": "\u041d\u043e\u0432\u044b\u0439 (\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443)", + "AppEvents_ObjectPlugin": "\u0421\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d", + "AppEvents_ObjectPrimaryID": "\u041f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 ID", + "AppEvents_ObjectSecondaryID": "\u0412\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0439 ID", + "AppEvents_ObjectStatus": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443)", + "AppEvents_ObjectStatusColumn": "\u041a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f", + "AppEvents_ObjectType": "\u0422\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430", + "AppEvents_Plugin": "\u041f\u043b\u0430\u0433\u0438\u043d", + "AppEvents_Type": "\u0422\u0438\u043f", + "BackDevDetail_Actions_Ask_Run": "\u0412\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435?", + "BackDevDetail_Actions_Not_Registered": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e:\u00b7 ", + "BackDevDetail_Actions_Title_Run": "\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435", + "BackDevDetail_Copy_Ask": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 (\u0432\u0441\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e)?", + "BackDevDetail_Copy_Title": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u0438", + "BackDevDetail_Tools_WOL_error": "\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u041d\u0415 \u0431\u044b\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.", + "BackDevDetail_Tools_WOL_okay": "\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0431\u044b\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.", + "BackDevices_Arpscan_disabled": "Arp \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e", + "BackDevices_Arpscan_enabled": "Arp \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e", + "BackDevices_Backup_CopError": "\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c.", + "BackDevices_Backup_Failed": "\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e. \u0410\u0440\u0445\u0438\u0432 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d \u0438\u043b\u0438 \u043f\u0443\u0441\u0442.", + "BackDevices_Backup_okay": "\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0441 \u043d\u043e\u0432\u044b\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u043c", + "BackDevices_DBTools_DelDevError_a": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "BackDevices_DBTools_DelDevError_b": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432", + "BackDevices_DBTools_DelDev_a": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043e", + "BackDevices_DBTools_DelDev_b": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u044b", + "BackDevices_DBTools_DelEvents": "\u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u044b", + "BackDevices_DBTools_DelEventsError": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439", + "BackDevices_DBTools_ImportCSV": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 CSV \u0431\u044b\u043b\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b.", + "BackDevices_DBTools_ImportCSVError": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b CSV. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439.", + "BackDevices_DBTools_ImportCSVMissing": "CSV-\u0444\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0432/config/devices.csv.", + "BackDevices_DBTools_Purge": "\u0421\u0430\u043c\u044b\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u0431\u044b\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b", + "BackDevices_DBTools_UpdDev": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e", + "BackDevices_DBTools_UpdDevError": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "BackDevices_DBTools_Upgrade": "\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430", + "BackDevices_DBTools_UpgradeError": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c", + "BackDevices_Device_UpdDevError": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0437-\u0437\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.", + "BackDevices_Restore_CopError": "\u0418\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.", + "BackDevices_Restore_Failed": "\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0432\u0440\u0443\u0447\u043d\u0443\u044e.", + "BackDevices_Restore_okay": "\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e.", + "BackDevices_darkmode_disabled": "\u0422\u0435\u043c\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d", + "BackDevices_darkmode_enabled": "\u0422\u0435\u043c\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0432\u043a\u043b\u044e\u0447\u0435\u043d", + "DAYS_TO_KEEP_EVENTS_description": "\u042d\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043d\u0435\u0439, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445. \u0412\u0441\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c\u0441\u044f. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e \u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u0430.", + "DAYS_TO_KEEP_EVENTS_name": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0441\u0442\u0430\u0440\u0448\u0435", + "DevDetail_Copy_Device_Title": " \u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "DevDetail_Copy_Device_Tooltip": "\u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u0437 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u0441\u043f\u0438\u0441\u043a\u0430. \u0412\u0441\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e", + "DevDetail_EveandAl_AlertAllEvents": "\u041e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0431\u043e \u0432\u0441\u0435\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445", + "DevDetail_EveandAl_AlertDown": "\u041e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438", + "DevDetail_EveandAl_Archived": "\u0410\u0440\u0445\u0438\u0432", + "DevDetail_EveandAl_NewDevice": "\u041d\u043e\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", + "DevDetail_EveandAl_NewDevice_Tooltip": "\u0411\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u00ab\u041d\u043e\u0432\u043e\u0435\u00bb \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u043f\u0438\u0441\u043a\u0438, \u043a\u043e\u0433\u0434\u0430 \u0444\u0438\u043b\u044c\u0442\u0440 \u00ab\u041d\u043e\u0432\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u00bb \u0430\u043a\u0442\u0438\u0432\u0435\u043d. \u041d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f.", + "DevDetail_EveandAl_RandomMAC": "\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 MAC-\u0430\u0434\u0440\u0435\u0441", + "DevDetail_EveandAl_ScanCycle": "\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", + "DevDetail_EveandAl_ScanCycle_a": "\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", + "DevDetail_EveandAl_ScanCycle_z": "\u041d\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", "DevDetail_EveandAl_Skip": "", "DevDetail_EveandAl_Title": "", "DevDetail_Events_CheckBox": "", @@ -561,6 +561,10 @@ "Systeminfo_Network_HTTP_Referer": "", "Systeminfo_Network_HTTP_Referer_String": "", "Systeminfo_Network_Hardware": "", + "Systeminfo_Network_Hardware_Interface_Mask": "", + "Systeminfo_Network_Hardware_Interface_Name": "", + "Systeminfo_Network_Hardware_Interface_RX": "", + "Systeminfo_Network_Hardware_Interface_TX": "", "Systeminfo_Network_IP": "", "Systeminfo_Network_IP_Connection": "", "Systeminfo_Network_IP_Server": "", @@ -642,4 +646,4 @@ "settings_system_label": "", "test_event_icon": "", "test_event_tooltip": "" -} +} \ No newline at end of file diff --git a/front/plugins/nslookup_scan/nslookup.py b/front/plugins/nslookup_scan/nslookup.py index 9f6853fe..962218da 100755 --- a/front/plugins/nslookup_scan/nslookup.py +++ b/front/plugins/nslookup_scan/nslookup.py @@ -117,7 +117,7 @@ def execute_nslookup (ip, timeout): except subprocess.CalledProcessError as e: # An error occurred, handle it - if "NXDOMAIN" in e.output.decode(): + if "NXDOMAIN" in e.output: mylog('verbose', [f'[{pluginName}]', f"No PTR record found for IP: {ip}"]) else: mylog('verbose', [f'[{pluginName}]', e.output]) diff --git a/front/systeminfo.php b/front/systeminfo.php index 883dd6ba..4714a5c2 100755 --- a/front/systeminfo.php +++ b/front/systeminfo.php @@ -153,6 +153,55 @@ echo '
'; +// Network Hardware ---------------------------------------------------------- +echo '
+
+

' . lang('Systeminfo_Network_Hardware') . '

+
+
+ + + + + + + + + + '; + +for ($x = 0; $x < sizeof($net_interfaces); $x++) { + $interface_name = str_replace(':', '', $net_interfaces[$x]); + $interface_ip_temp = exec('ip addr show ' . $interface_name . ' | grep "inet "'); + $interface_ip_arr = explode(' ', trim($interface_ip_temp)); + + if (!isset($interface_ip_arr[1])) { + $interface_ip_arr[1] = '--'; + } + + if ($net_interfaces_rx[$x] == 0) { + $temp_rx = 0; + } else { + $temp_rx = number_format(round(($net_interfaces_rx[$x] / 1024 / 1024), 2), 2, ',', '.'); + } + if ($net_interfaces_tx[$x] == 0) { + $temp_tx = 0; + } else { + $temp_tx = number_format(round(($net_interfaces_tx[$x] / 1024 / 1024), 2), 2, ',', '.'); + } + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; +} + +echo ' +
' . lang('Systeminfo_Network_Hardware_Interface_Name') . '' . lang('Systeminfo_Network_Hardware_Interface_Mask') . '' . lang('Systeminfo_Network_Hardware_Interface_RX') . '' . lang('Systeminfo_Network_Hardware_Interface_TX') . '
' . $interface_name . '' . $interface_ip_arr[1] . '' . $temp_rx . ' MB' . $temp_tx . ' MB
+
+
'; + // Client ---------------------------------------------------------- echo '
@@ -455,32 +504,8 @@ echo '
'; -// Network Hardware ---------------------------------------------------------- -echo '
-
-

' . lang('Systeminfo_Network_Hardware') . '

-
-
'; -for ($x = 0; $x < sizeof($net_interfaces); $x++) { - $interface_name = str_replace(':', '', $net_interfaces[$x]); - $interface_ip_temp = exec('ip addr show ' . $interface_name . ' | grep "inet "'); - $interface_ip_arr = explode(' ', trim($interface_ip_temp)); - if (!isset($interface_ip_arr[1])) {$interface_ip_arr[1] = '--';} - - if ($net_interfaces_rx[$x] == 0) {$temp_rx = 0;} else { $temp_rx = number_format(round(($net_interfaces_rx[$x] / 1024 / 1024), 2), 2, ',', '.');} - if ($net_interfaces_tx[$x] == 0) {$temp_tx = 0;} else { $temp_tx = number_format(round(($net_interfaces_tx[$x] / 1024 / 1024), 2), 2, ',', '.');} - echo '
'; - echo '
' . $interface_name . '
'; - echo '
' . $interface_ip_arr[1] . '
'; - echo '
RX:
' . $temp_rx . ' MB
'; - echo '
TX:
' . $temp_tx . ' MB
'; - echo '
'; - -} -echo '
-
'; // Services ---------------------------------------------------------- echo '
@@ -553,3 +578,25 @@ echo '
'; + + + + + + + + + + + +