-
+
+
'>
'>
-
@@ -733,15 +734,29 @@ function main () {
}
});
- // Show device icon as it changes
+ // Show device icon as it changes
$('#txtIcon').on('change input', function() {
- $('#txtIconFA').html(atob($(this).val()))
+ updateIconPreview()
});
-
+
}
+// -----------------------------------------------------------------------------
+function updateIconPreview () {
+ // update icon
+ iconInput = $('#txtIcon')
+
+ value = iconInput.val()
+
+ iconInput.on('change input', function() {
+ $('#txtIconFA').html(atob(value))
+ });
+
+ $('#txtIconFA').html(atob(value))
+
+}
// -----------------------------------------------------------------------------
function initializeTabs () {
@@ -1127,6 +1142,10 @@ function initializeCalendar () {
if (isLoading) {
showSpinner()
} else {
+ setTimeout(() => {
+ updateIconPreview()
+ }, 100);
+
hideSpinner()
}
}
@@ -1292,7 +1311,7 @@ function getDeviceData (readAllData=false) {
$('#txtOwner').val (deviceData['dev_Owner']);
$('#txtDeviceType').val (deviceData['dev_DeviceType']);
$('#txtVendor').val (deviceData['dev_Vendor']);
- $('#txtIcon').val (initDefault(deviceData['dev_Icon'], 'laptop'));
+ $('#txtIcon').val (initDefault(deviceData['dev_Icon'], 'PGkgY2xhc3M9ImZhIGZhLWxhcHRvcCI')); // base64 laptop icon
$('#txtIcon').trigger('change')
if (deviceData['dev_Favorite'] == 1) {$('#chkFavorite').iCheck('check');} else {$('#chkFavorite').iCheck('uncheck');}
@@ -1431,7 +1450,7 @@ function setDeviceData (direction='', refreshCallback='') {
+ '&owner=' + $('#txtOwner').val()
+ '&type=' + $('#txtDeviceType').val()
+ '&vendor=' + $('#txtVendor').val()
- + '&icon=' + $('#txtIcon').val()
+ + '&icon=' + encodeURIComponent($('#txtIcon').val())
+ '&favorite=' + ($('#chkFavorite')[0].checked * 1)
+ '&group=' + $('#txtGroup').val()
+ '&location=' + $('#txtLocation').val()
@@ -1612,6 +1631,42 @@ function overwriteIconType () {
$('#panDetails :input').attr('disabled', true);
}
+// -----------------------------------------------------------------------------
+// Add a new Icon
+function askAddIcon () {
+ // Check MAC
+ if (mac == '') {
+ return;
+ }
+
+ // Add new icon as base64 string
+ showModalInput ('= lang('DevDetail_button_AddIcon');?>', '= lang('DevDetail_button_AddIcon_Help');?>',
+ '= lang('Gen_Cancel');?>', '= lang('Gen_Okay');?>', 'addAsBase64');
+}
+
+// -----------------------------------------------------------------------------
+function addAsBase64 () {
+ // Check MAC
+ if (mac == '') {
+ return;
+ }
+
+ var iconHtml = $('#modal-input-textarea').val();
+
+ console.log(iconHtml);
+
+ iconHtmlBase64 = btoa(iconHtml.replace(/"/g, "'"));
+
+ console.log(iconHtmlBase64);
+
+ $('#txtIcon').val(iconHtmlBase64);
+
+ updateIconPreview()
+
+}
+
+
+
// -----------------------------------------------------------------------------
function askDeleteDevice () {
// Check MAC
diff --git a/front/js/pialert_common.js b/front/js/pialert_common.js
index 7daf48a2..43e16d19 100755
--- a/front/js/pialert_common.js
+++ b/front/js/pialert_common.js
@@ -201,7 +201,7 @@ function cacheStrings()
if(!getCache('completedCalls').includes('cacheStrings'))
{
// handle core strings and translations
- var allLanguages = ["en_us", "es_es", "de_de", "fr_fr", "ru_ru", "nb_no"]; // needs to be same as in lang.php
+ var allLanguages = ["en_us", "es_es", "de_de", "fr_fr", "it_it", "ru_ru", "nb_no"]; // needs to be same as in lang.php
allLanguages.forEach(function (language_code) {
$.get(`php/templates/language/${language_code}.json?nocache=${Date.now()}`, function (res) {
@@ -254,6 +254,9 @@ function getString (key) {
case 'Norwegian':
lang_code = 'nb_no';
break;
+ case 'Italian':
+ lang_code = 'it_it';
+ break;
case 'Russian':
lang_code = 'ru_ru';
break;
@@ -340,6 +343,23 @@ function showModalWarning (title, message, btnCancel=getString('Gen_Cancel'), bt
$('#modal-warning').modal('show');
}
+// -----------------------------------------------------------------------------
+function showModalInput (title, message, btnCancel=getString('Gen_Cancel'), btnOK=getString('Gen_Okay'), callbackFunction=null) {
+ // set captions
+ $('#modal-input-title').html (title);
+ $('#modal-input-message').html (message);
+ $('#modal-input-cancel').html (btnCancel);
+ $('#modal-input-OK').html (btnOK);
+
+ if ( callbackFunction != null)
+ {
+ modalCallbackFunction = callbackFunction;
+ }
+
+ // Show modal
+ $('#modal-input').modal('show');
+}
+
// -----------------------------------------------------------------------------
function modalDefaultOK () {
// Hide modal
@@ -351,6 +371,17 @@ function modalDefaultOK () {
}, 100);
}
+// -----------------------------------------------------------------------------
+function modalDefaultInput () {
+ // Hide modal
+ $('#modal-input').modal('hide');
+
+ // timer to execute function
+ window.setTimeout( function() {
+ window[modalCallbackFunction]();
+ }, 100);
+}
+
// -----------------------------------------------------------------------------
function modalWarningOK () {
// Hide modal
@@ -404,6 +435,15 @@ function jsonSyntaxHighlight(json) {
});
}
+function isValidBase64(str) {
+ // Base64 characters set
+ var base64CharacterSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+ // Remove all valid characters from the string
+ var invalidCharacters = str.replace(new RegExp('[' + base64CharacterSet + ']', 'g'), '');
+ // If there are any characters left, the string is invalid
+ return invalidCharacters === '';
+}
+
// -----------------------------------------------------------------------------
// General utilities
diff --git a/front/network.php b/front/network.php
index b64b91e4..75912889 100755
--- a/front/network.php
+++ b/front/network.php
@@ -50,8 +50,9 @@
$decoded_icon = base64_decode($icon);
$idFromMac = str_replace(":", "_", $node_mac);
$str_tab_header = '
+
' // _id is added so it doesn't conflict with AdminLTE tab behavior
- .$decoded_icon.$node_name.' ' .$str_port.$node_badge.
+ .''.$decoded_icon.'
'.$node_name.' ' .$str_port.$node_badge.
'
';
diff --git a/front/php/server/devices.php b/front/php/server/devices.php
index d181bad8..378b4084 100755
--- a/front/php/server/devices.php
+++ b/front/php/server/devices.php
@@ -645,7 +645,7 @@ function getDevicesList() {
$row['dev_Name'],
$row['dev_Owner'],
handleNull($row['dev_DeviceType']),
- handleNull($row['dev_Icon'], "
"),
+ handleNull($row['dev_Icon'], "PGkgY2xhc3M9J2ZhIGZhLWxhcHRvcCc+PC9pPg=="), // laptop icon
$row['dev_Favorite'],
$row['dev_Group'],
// ----
diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json
index 7373a706..9c8af415 100755
--- a/front/php/templates/language/de_de.json
+++ b/front/php/templates/language/de_de.json
@@ -179,6 +179,9 @@
"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_AddIcon": "",
+ "DevDetail_button_AddIcon_Help": "",
+ "DevDetail_button_AddIcon_Tooltip": "",
"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)",
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json
index f32d3016..ad017cdf 100755
--- a/front/php/templates/language/en_us.json
+++ b/front/php/templates/language/en_us.json
@@ -167,6 +167,9 @@
"DevDetail_Type_hover": "The Type of the device. 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_AddIcon": "Add new Icon",
+ "DevDetail_button_AddIcon_Help": "Paste in an SVG html tag or Font Awesome icon. Read the
Icons docs for details.",
+ "DevDetail_button_AddIcon_Tooltip": "Add a new Icon to this device that is not yet available in the dropdown.",
"DevDetail_button_Delete": "Delete Device",
"DevDetail_button_DeleteEvents": "Delete Events",
"DevDetail_button_DeleteEvents_Warning": "Are you sure you want to delete all Events of this device?
(this will clear the
Events history and the
Sessions and might help with constant (persistent) notifications)",
diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json
index c7195a68..cf2c6e19 100755
--- a/front/php/templates/language/es_es.json
+++ b/front/php/templates/language/es_es.json
@@ -177,6 +177,9 @@
"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_AddIcon": "",
+ "DevDetail_button_AddIcon_Help": "",
+ "DevDetail_button_AddIcon_Tooltip": "",
"DevDetail_button_Delete": "Eliminar dispositivo",
"DevDetail_button_DeleteEvents": "Eliminar eventos",
"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)",
diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json
index 91d6abc1..1fcbd2b3 100755
--- a/front/php/templates/language/fr_fr.json
+++ b/front/php/templates/language/fr_fr.json
@@ -167,6 +167,9 @@
"DevDetail_Type_hover": "",
"DevDetail_Vendor_hover": "",
"DevDetail_WOL_Title": "",
+ "DevDetail_button_AddIcon": "",
+ "DevDetail_button_AddIcon_Help": "",
+ "DevDetail_button_AddIcon_Tooltip": "",
"DevDetail_button_Delete": "Supprimer l'appareil",
"DevDetail_button_DeleteEvents": "Supprimer les \u00e9v\u00e9nements",
"DevDetail_button_DeleteEvents_Warning": "",
diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json
new file mode 100755
index 00000000..ae6894da
--- /dev/null
+++ b/front/php/templates/language/it_it.json
@@ -0,0 +1,657 @@
+{
+ "API_CUSTOM_SQL_description": "",
+ "API_CUSTOM_SQL_name": "",
+ "API_display_name": "",
+ "API_icon": "",
+ "About_Design": "",
+ "About_Exit": "",
+ "About_Title": "",
+ "AppEvents_DateTimeCreated": "",
+ "AppEvents_Extra": "",
+ "AppEvents_GUID": "",
+ "AppEvents_Helper1": "",
+ "AppEvents_Helper2": "",
+ "AppEvents_Helper3": "",
+ "AppEvents_ObjectForeignKey": "",
+ "AppEvents_ObjectIndex": "",
+ "AppEvents_ObjectIsArchived": "",
+ "AppEvents_ObjectIsNew": "",
+ "AppEvents_ObjectPlugin": "",
+ "AppEvents_ObjectPrimaryID": "",
+ "AppEvents_ObjectSecondaryID": "",
+ "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": "",
+ "BackDevices_Arpscan_enabled": "",
+ "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": "",
+ "BackDevices_DBTools_ImportCSVError": "",
+ "BackDevices_DBTools_ImportCSVMissing": "",
+ "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": "",
+ "DevDetail_EveandAl_ScanCycle": "",
+ "DevDetail_EveandAl_ScanCycle_a": "",
+ "DevDetail_EveandAl_ScanCycle_z": "",
+ "DevDetail_EveandAl_Skip": "",
+ "DevDetail_EveandAl_Title": "",
+ "DevDetail_Events_CheckBox": "",
+ "DevDetail_GoToNetworkNode": "",
+ "DevDetail_Icon": "",
+ "DevDetail_Icon_Descr": "",
+ "DevDetail_Loading": "",
+ "DevDetail_MainInfo_Comments": "",
+ "DevDetail_MainInfo_Favorite": "",
+ "DevDetail_MainInfo_Group": "",
+ "DevDetail_MainInfo_Location": "",
+ "DevDetail_MainInfo_Name": "",
+ "DevDetail_MainInfo_Network": "",
+ "DevDetail_MainInfo_Network_Port": "",
+ "DevDetail_MainInfo_Network_Title": "",
+ "DevDetail_MainInfo_Owner": "",
+ "DevDetail_MainInfo_Title": "",
+ "DevDetail_MainInfo_Type": "",
+ "DevDetail_MainInfo_Vendor": "",
+ "DevDetail_MainInfo_mac": "",
+ "DevDetail_Network_Node_hover": "",
+ "DevDetail_Network_Port_hover": "",
+ "DevDetail_Nmap_Scans": "",
+ "DevDetail_Nmap_Scans_desc": "",
+ "DevDetail_Nmap_buttonDefault": "",
+ "DevDetail_Nmap_buttonDefault_text": "",
+ "DevDetail_Nmap_buttonDetail": "",
+ "DevDetail_Nmap_buttonDetail_text": "",
+ "DevDetail_Nmap_buttonFast": "",
+ "DevDetail_Nmap_buttonFast_text": "",
+ "DevDetail_Nmap_buttonSkipDiscovery": "",
+ "DevDetail_Nmap_buttonSkipDiscovery_text": "",
+ "DevDetail_Nmap_resultsLink": "",
+ "DevDetail_Owner_hover": "",
+ "DevDetail_Periodselect_All": "",
+ "DevDetail_Periodselect_LastMonth": "",
+ "DevDetail_Periodselect_LastWeek": "",
+ "DevDetail_Periodselect_LastYear": "",
+ "DevDetail_Periodselect_today": "",
+ "DevDetail_Run_Actions_Title": "",
+ "DevDetail_Run_Actions_Tooltip": "",
+ "DevDetail_SessionInfo_FirstSession": "",
+ "DevDetail_SessionInfo_LastIP": "",
+ "DevDetail_SessionInfo_LastSession": "",
+ "DevDetail_SessionInfo_StaticIP": "",
+ "DevDetail_SessionInfo_Status": "",
+ "DevDetail_SessionInfo_Title": "",
+ "DevDetail_SessionTable_Additionalinfo": "",
+ "DevDetail_SessionTable_Connection": "",
+ "DevDetail_SessionTable_Disconnection": "",
+ "DevDetail_SessionTable_Duration": "",
+ "DevDetail_SessionTable_IP": "",
+ "DevDetail_SessionTable_Order": "",
+ "DevDetail_Shortcut_CurrentStatus": "",
+ "DevDetail_Shortcut_DownAlerts": "",
+ "DevDetail_Shortcut_Presence": "",
+ "DevDetail_Shortcut_Sessions": "",
+ "DevDetail_Tab_Details": "",
+ "DevDetail_Tab_Events": "",
+ "DevDetail_Tab_EventsTableDate": "",
+ "DevDetail_Tab_EventsTableEvent": "",
+ "DevDetail_Tab_EventsTableIP": "",
+ "DevDetail_Tab_EventsTableInfo": "",
+ "DevDetail_Tab_Nmap": "",
+ "DevDetail_Tab_NmapEmpty": "",
+ "DevDetail_Tab_NmapTableExtra": "",
+ "DevDetail_Tab_NmapTableHeader": "",
+ "DevDetail_Tab_NmapTableIndex": "",
+ "DevDetail_Tab_NmapTablePort": "",
+ "DevDetail_Tab_NmapTableService": "",
+ "DevDetail_Tab_NmapTableState": "",
+ "DevDetail_Tab_NmapTableText": "",
+ "DevDetail_Tab_NmapTableTime": "",
+ "DevDetail_Tab_Plugins": "",
+ "DevDetail_Tab_Presence": "",
+ "DevDetail_Tab_Sessions": "",
+ "DevDetail_Tab_Tools": "",
+ "DevDetail_Tab_Tools_Internet_Info_Description": "",
+ "DevDetail_Tab_Tools_Internet_Info_Error": "",
+ "DevDetail_Tab_Tools_Internet_Info_Start": "",
+ "DevDetail_Tab_Tools_Internet_Info_Title": "",
+ "DevDetail_Tab_Tools_Nslookup_Description": "",
+ "DevDetail_Tab_Tools_Nslookup_Error": "",
+ "DevDetail_Tab_Tools_Nslookup_Start": "",
+ "DevDetail_Tab_Tools_Nslookup_Title": "",
+ "DevDetail_Tab_Tools_Speedtest_Description": "",
+ "DevDetail_Tab_Tools_Speedtest_Start": "",
+ "DevDetail_Tab_Tools_Speedtest_Title": "",
+ "DevDetail_Tab_Tools_Traceroute_Description": "",
+ "DevDetail_Tab_Tools_Traceroute_Error": "",
+ "DevDetail_Tab_Tools_Traceroute_Start": "",
+ "DevDetail_Tab_Tools_Traceroute_Title": "",
+ "DevDetail_Tools_WOL": "",
+ "DevDetail_Tools_WOL_noti": "",
+ "DevDetail_Tools_WOL_noti_text": "",
+ "DevDetail_Type_hover": "",
+ "DevDetail_Vendor_hover": "",
+ "DevDetail_WOL_Title": "",
+ "DevDetail_button_AddIcon": "",
+ "DevDetail_button_AddIcon_Help": "",
+ "DevDetail_button_AddIcon_Tooltip": "",
+ "DevDetail_button_Delete": "",
+ "DevDetail_button_DeleteEvents": "",
+ "DevDetail_button_DeleteEvents_Warning": "",
+ "DevDetail_button_OverwriteIcons": "",
+ "DevDetail_button_OverwriteIcons_Tooltip": "",
+ "DevDetail_button_OverwriteIcons_Warning": "",
+ "DevDetail_button_Reset": "",
+ "DevDetail_button_Save": "",
+ "Device_MultiEdit": "",
+ "Device_MultiEdit_Backup": "",
+ "Device_MultiEdit_Fields": "",
+ "Device_MultiEdit_MassActions": "",
+ "Device_MultiEdit_Tooltip": "",
+ "Device_Searchbox": "",
+ "Device_Shortcut_AllDevices": "",
+ "Device_Shortcut_Archived": "",
+ "Device_Shortcut_Connected": "",
+ "Device_Shortcut_Devices": "",
+ "Device_Shortcut_DownAlerts": "",
+ "Device_Shortcut_Favorites": "",
+ "Device_Shortcut_NewDevices": "",
+ "Device_Shortcut_OnlineChart": "",
+ "Device_TableHead_Connected_Devices": "",
+ "Device_TableHead_Favorite": "",
+ "Device_TableHead_FirstSession": "",
+ "Device_TableHead_Group": "",
+ "Device_TableHead_Icon": "",
+ "Device_TableHead_LastIP": "",
+ "Device_TableHead_LastIPOrder": "",
+ "Device_TableHead_LastSession": "",
+ "Device_TableHead_Location": "",
+ "Device_TableHead_MAC": "",
+ "Device_TableHead_MAC_full": "",
+ "Device_TableHead_Name": "",
+ "Device_TableHead_Owner": "",
+ "Device_TableHead_Parent_MAC": "",
+ "Device_TableHead_Port": "",
+ "Device_TableHead_RowID": "",
+ "Device_TableHead_Rowid": "",
+ "Device_TableHead_Status": "",
+ "Device_TableHead_Type": "",
+ "Device_TableHead_Vendor": "",
+ "Device_Table_Not_Network_Device": "",
+ "Device_Table_info": "",
+ "Device_Table_nav_next": "",
+ "Device_Table_nav_prev": "",
+ "Device_Tablelenght": "",
+ "Device_Tablelenght_all": "",
+ "Device_Title": "",
+ "Donations_Others": "",
+ "Donations_Platforms": "",
+ "Donations_Text": "",
+ "Donations_Title": "",
+ "ENABLE_PLUGINS_description": "",
+ "ENABLE_PLUGINS_name": "",
+ "Email_display_name": "",
+ "Email_icon": "",
+ "Events_Loading": "",
+ "Events_Periodselect_All": "",
+ "Events_Periodselect_LastMonth": "",
+ "Events_Periodselect_LastWeek": "",
+ "Events_Periodselect_LastYear": "",
+ "Events_Periodselect_today": "",
+ "Events_Searchbox": "",
+ "Events_Shortcut_AllEvents": "",
+ "Events_Shortcut_DownAlerts": "",
+ "Events_Shortcut_Events": "",
+ "Events_Shortcut_MissSessions": "",
+ "Events_Shortcut_NewDevices": "",
+ "Events_Shortcut_Sessions": "",
+ "Events_Shortcut_VoidSessions": "",
+ "Events_TableHead_AdditionalInfo": "",
+ "Events_TableHead_Connection": "",
+ "Events_TableHead_Date": "",
+ "Events_TableHead_Device": "",
+ "Events_TableHead_Disconnection": "",
+ "Events_TableHead_Duration": "",
+ "Events_TableHead_DurationOrder": "",
+ "Events_TableHead_EventType": "",
+ "Events_TableHead_IP": "",
+ "Events_TableHead_IPOrder": "",
+ "Events_TableHead_Order": "",
+ "Events_TableHead_Owner": "",
+ "Events_Table_info": "",
+ "Events_Table_nav_next": "",
+ "Events_Table_nav_prev": "",
+ "Events_Tablelenght": "",
+ "Events_Tablelenght_all": "",
+ "Events_Title": "",
+ "Gen_Action": "",
+ "Gen_AreYouSure": "",
+ "Gen_Backup": "",
+ "Gen_Cancel": "",
+ "Gen_Copy": "",
+ "Gen_DataUpdatedUITakesTime": "",
+ "Gen_Delete": "",
+ "Gen_DeleteAll": "",
+ "Gen_Error": "",
+ "Gen_LockedDB": "",
+ "Gen_Okay": "",
+ "Gen_Purge": "",
+ "Gen_ReadDocs": "",
+ "Gen_Restore": "",
+ "Gen_Run": "",
+ "Gen_Save": "",
+ "Gen_Saved": "",
+ "Gen_Selected_Devices": "",
+ "Gen_Switch": "",
+ "Gen_Upd": "",
+ "Gen_Upd_Fail": "",
+ "Gen_Warning": "",
+ "Gen_Work_In_Progress": "",
+ "General_display_name": "",
+ "General_icon": "",
+ "HRS_TO_KEEP_NEWDEV_description": "",
+ "HRS_TO_KEEP_NEWDEV_name": "",
+ "HelpFAQ_Cat_Detail": "",
+ "HelpFAQ_Cat_Detail_300_head": "",
+ "HelpFAQ_Cat_Detail_300_text_a": "",
+ "HelpFAQ_Cat_Detail_300_text_b": "",
+ "HelpFAQ_Cat_Detail_301_head_a": "",
+ "HelpFAQ_Cat_Detail_301_head_b": "",
+ "HelpFAQ_Cat_Detail_301_text": "",
+ "HelpFAQ_Cat_Detail_302_head_a": "",
+ "HelpFAQ_Cat_Detail_302_head_b": "",
+ "HelpFAQ_Cat_Detail_302_text": "",
+ "HelpFAQ_Cat_Detail_303_head": "",
+ "HelpFAQ_Cat_Detail_303_text": "",
+ "HelpFAQ_Cat_Device_200_head": "",
+ "HelpFAQ_Cat_Device_200_text": "",
+ "HelpFAQ_Cat_General": "",
+ "HelpFAQ_Cat_General_100_head": "",
+ "HelpFAQ_Cat_General_100_text_a": "",
+ "HelpFAQ_Cat_General_100_text_b": "",
+ "HelpFAQ_Cat_General_100_text_c": "",
+ "HelpFAQ_Cat_General_101_head": "",
+ "HelpFAQ_Cat_General_101_text": "",
+ "HelpFAQ_Cat_General_102_head": "",
+ "HelpFAQ_Cat_General_102_text": "",
+ "HelpFAQ_Cat_General_102docker_head": "",
+ "HelpFAQ_Cat_General_102docker_text": "",
+ "HelpFAQ_Cat_General_103_head": "",
+ "HelpFAQ_Cat_General_103_text": "",
+ "HelpFAQ_Cat_Network_600_head": "",
+ "HelpFAQ_Cat_Network_600_text": "",
+ "HelpFAQ_Cat_Network_601_head": "",
+ "HelpFAQ_Cat_Network_601_text": "",
+ "HelpFAQ_Cat_Presence_400_head": "",
+ "HelpFAQ_Cat_Presence_400_text": "",
+ "HelpFAQ_Cat_Presence_401_head": "",
+ "HelpFAQ_Cat_Presence_401_text": "",
+ "HelpFAQ_Title": "",
+ "LOG_LEVEL_description": "",
+ "LOG_LEVEL_name": "",
+ "Loading": "",
+ "Login_Box": "",
+ "Login_Default_PWD": "",
+ "Login_Psw-box": "",
+ "Login_Psw_alert": "",
+ "Login_Psw_folder": "",
+ "Login_Psw_new": "",
+ "Login_Psw_run": "",
+ "Login_Remember": "",
+ "Login_Remember_small": "",
+ "Login_Submit": "",
+ "Login_Toggle_Alert_headline": "",
+ "Login_Toggle_Info": "",
+ "Login_Toggle_Info_headline": "",
+ "Maintenance_Running_Version": "",
+ "Maintenance_Status": "",
+ "Maintenance_Title": "",
+ "Maintenance_Tool_ExportCSV": "",
+ "Maintenance_Tool_ExportCSV_noti": "",
+ "Maintenance_Tool_ExportCSV_noti_text": "",
+ "Maintenance_Tool_ExportCSV_text": "",
+ "Maintenance_Tool_ImportCSV": "",
+ "Maintenance_Tool_ImportCSV_noti": "",
+ "Maintenance_Tool_ImportCSV_noti_text": "",
+ "Maintenance_Tool_ImportCSV_text": "",
+ "Maintenance_Tool_arpscansw": "",
+ "Maintenance_Tool_arpscansw_noti": "",
+ "Maintenance_Tool_arpscansw_noti_text": "",
+ "Maintenance_Tool_arpscansw_text": "",
+ "Maintenance_Tool_backup": "",
+ "Maintenance_Tool_backup_noti": "",
+ "Maintenance_Tool_backup_noti_text": "",
+ "Maintenance_Tool_backup_text": "",
+ "Maintenance_Tool_check_visible": "",
+ "Maintenance_Tool_darkmode": "",
+ "Maintenance_Tool_darkmode_noti": "",
+ "Maintenance_Tool_darkmode_noti_text": "",
+ "Maintenance_Tool_darkmode_text": "",
+ "Maintenance_Tool_del_ActHistory": "",
+ "Maintenance_Tool_del_ActHistory_noti": "",
+ "Maintenance_Tool_del_ActHistory_noti_text": "",
+ "Maintenance_Tool_del_ActHistory_text": "",
+ "Maintenance_Tool_del_alldev": "",
+ "Maintenance_Tool_del_alldev_noti": "",
+ "Maintenance_Tool_del_alldev_noti_text": "",
+ "Maintenance_Tool_del_alldev_text": "",
+ "Maintenance_Tool_del_allevents": "",
+ "Maintenance_Tool_del_allevents30": "",
+ "Maintenance_Tool_del_allevents30_noti": "",
+ "Maintenance_Tool_del_allevents30_noti_text": "",
+ "Maintenance_Tool_del_allevents30_text": "",
+ "Maintenance_Tool_del_allevents_noti": "",
+ "Maintenance_Tool_del_allevents_noti_text": "",
+ "Maintenance_Tool_del_allevents_text": "",
+ "Maintenance_Tool_del_empty_macs": "",
+ "Maintenance_Tool_del_empty_macs_noti": "",
+ "Maintenance_Tool_del_empty_macs_noti_text": "",
+ "Maintenance_Tool_del_empty_macs_text": "",
+ "Maintenance_Tool_del_selecteddev": "",
+ "Maintenance_Tool_del_selecteddev_text": "",
+ "Maintenance_Tool_del_unknowndev": "",
+ "Maintenance_Tool_del_unknowndev_noti": "",
+ "Maintenance_Tool_del_unknowndev_noti_text": "",
+ "Maintenance_Tool_del_unknowndev_text": "",
+ "Maintenance_Tool_displayed_columns_text": "",
+ "Maintenance_Tool_drag_me": "",
+ "Maintenance_Tool_order_columns_text": "",
+ "Maintenance_Tool_purgebackup": "",
+ "Maintenance_Tool_purgebackup_noti": "",
+ "Maintenance_Tool_purgebackup_noti_text": "",
+ "Maintenance_Tool_purgebackup_text": "",
+ "Maintenance_Tool_restore": "",
+ "Maintenance_Tool_restore_noti": "",
+ "Maintenance_Tool_restore_noti_text": "",
+ "Maintenance_Tool_restore_text": "",
+ "Maintenance_Tool_upgrade_database_noti": "",
+ "Maintenance_Tool_upgrade_database_noti_text": "",
+ "Maintenance_Tool_upgrade_database_text": "",
+ "Maintenance_Tools_Tab_BackupRestore": "",
+ "Maintenance_Tools_Tab_Logging": "",
+ "Maintenance_Tools_Tab_Settings": "",
+ "Maintenance_Tools_Tab_Tools": "",
+ "Maintenance_Tools_Tab_UISettings": "",
+ "Maintenance_arp_status": "",
+ "Maintenance_arp_status_off": "",
+ "Maintenance_arp_status_on": "",
+ "Maintenance_built_on": "",
+ "Maintenance_current_version": "",
+ "Maintenance_database_backup": "",
+ "Maintenance_database_backup_found": "",
+ "Maintenance_database_backup_total": "",
+ "Maintenance_database_lastmod": "",
+ "Maintenance_database_path": "",
+ "Maintenance_database_rows": "",
+ "Maintenance_database_size": "",
+ "Maintenance_lang_selector_apply": "",
+ "Maintenance_lang_selector_empty": "",
+ "Maintenance_lang_selector_lable": "",
+ "Maintenance_lang_selector_text": "",
+ "Maintenance_new_version": "",
+ "Maintenance_themeselector_apply": "",
+ "Maintenance_themeselector_empty": "",
+ "Maintenance_themeselector_lable": "",
+ "Maintenance_themeselector_text": "",
+ "Maintenance_version": "",
+ "NETWORK_DEVICE_TYPES_description": "",
+ "NETWORK_DEVICE_TYPES_name": "",
+ "Navigation_About": "",
+ "Navigation_Devices": "",
+ "Navigation_Donations": "",
+ "Navigation_Events": "",
+ "Navigation_HelpFAQ": "",
+ "Navigation_Integrations": "",
+ "Navigation_Maintenance": "",
+ "Navigation_Monitoring": "",
+ "Navigation_Network": "",
+ "Navigation_Plugins": "",
+ "Navigation_Presence": "",
+ "Navigation_Report": "",
+ "Navigation_Settings": "",
+ "Navigation_SystemInfo": "",
+ "Navigation_Workflows": "",
+ "Network_Assign": "",
+ "Network_Cant_Assign": "",
+ "Network_Configuration_Error": "",
+ "Network_Connected": "",
+ "Network_ManageAdd": "",
+ "Network_ManageAdd_Name": "",
+ "Network_ManageAdd_Name_text": "",
+ "Network_ManageAdd_Port": "",
+ "Network_ManageAdd_Port_text": "",
+ "Network_ManageAdd_Submit": "",
+ "Network_ManageAdd_Type": "",
+ "Network_ManageAdd_Type_text": "",
+ "Network_ManageAssign": "",
+ "Network_ManageDel": "",
+ "Network_ManageDel_Name": "",
+ "Network_ManageDel_Name_text": "",
+ "Network_ManageDel_Submit": "",
+ "Network_ManageDevices": "",
+ "Network_ManageEdit": "",
+ "Network_ManageEdit_ID": "",
+ "Network_ManageEdit_ID_text": "",
+ "Network_ManageEdit_Name": "",
+ "Network_ManageEdit_Name_text": "",
+ "Network_ManageEdit_Port": "",
+ "Network_ManageEdit_Port_text": "",
+ "Network_ManageEdit_Submit": "",
+ "Network_ManageEdit_Type": "",
+ "Network_ManageEdit_Type_text": "",
+ "Network_ManageLeaf": "",
+ "Network_ManageUnassign": "",
+ "Network_NoAssignedDevices": "",
+ "Network_NoDevices": "",
+ "Network_Node": "",
+ "Network_Node_Name": "",
+ "Network_Parent": "",
+ "Network_Root": "",
+ "Network_Root_Not_Configured": "",
+ "Network_Root_Unconfigurable": "",
+ "Network_Table_Hostname": "",
+ "Network_Table_IP": "",
+ "Network_Table_State": "",
+ "Network_Title": "",
+ "Network_UnassignedDevices": "",
+ "PIALERT_WEB_PASSWORD_description": "",
+ "PIALERT_WEB_PASSWORD_name": "",
+ "PIALERT_WEB_PROTECTION_description": "",
+ "PIALERT_WEB_PROTECTION_name": "",
+ "PLUGINS_KEEP_HIST_description": "",
+ "PLUGINS_KEEP_HIST_name": "",
+ "Plugins_DeleteAll": "",
+ "Plugins_Filters_Mac": "",
+ "Plugins_History": "",
+ "Plugins_Objects": "",
+ "Plugins_Out_of": "",
+ "Plugins_Unprocessed_Events": "",
+ "Plugins_no_control": "",
+ "Presence_CalHead_day": "",
+ "Presence_CalHead_lang": "",
+ "Presence_CalHead_month": "",
+ "Presence_CalHead_quarter": "",
+ "Presence_CalHead_week": "",
+ "Presence_CalHead_year": "",
+ "Presence_CallHead_Devices": "",
+ "Presence_Loading": "",
+ "Presence_Shortcut_AllDevices": "",
+ "Presence_Shortcut_Archived": "",
+ "Presence_Shortcut_Connected": "",
+ "Presence_Shortcut_Devices": "",
+ "Presence_Shortcut_DownAlerts": "",
+ "Presence_Shortcut_Favorites": "",
+ "Presence_Shortcut_NewDevices": "",
+ "Presence_Title": "",
+ "REPORT_DASHBOARD_URL_description": "",
+ "REPORT_DASHBOARD_URL_name": "",
+ "REPORT_ERROR": "",
+ "REPORT_MAIL_description": "",
+ "REPORT_MAIL_name": "",
+ "REPORT_TITLE": "",
+ "RandomMAC_hover": "",
+ "SCAN_SUBNETS_description": "",
+ "SYSTEM_TITLE": "",
+ "Setting_Override": "",
+ "Setting_Override_Description": "",
+ "Settings_Metadata_Toggle": "",
+ "Settings_device_Scanners_desync": "",
+ "Settings_device_Scanners_desync_popup": "",
+ "Speedtest_Results": "",
+ "Systeminfo_CPU": "",
+ "Systeminfo_CPU_Cores": "",
+ "Systeminfo_CPU_Name": "",
+ "Systeminfo_CPU_Speed": "",
+ "Systeminfo_CPU_Temp": "",
+ "Systeminfo_CPU_Vendor": "",
+ "Systeminfo_Client_Resolution": "",
+ "Systeminfo_Client_User_Agent": "",
+ "Systeminfo_General": "",
+ "Systeminfo_General_Date": "",
+ "Systeminfo_General_Date2": "",
+ "Systeminfo_General_Full_Date": "",
+ "Systeminfo_General_TimeZone": "",
+ "Systeminfo_Memory": "",
+ "Systeminfo_Memory_Total_Memory": "",
+ "Systeminfo_Memory_Usage": "",
+ "Systeminfo_Memory_Usage_Percent": "",
+ "Systeminfo_Motherboard": "",
+ "Systeminfo_Motherboard_BIOS": "",
+ "Systeminfo_Motherboard_BIOS_Date": "",
+ "Systeminfo_Motherboard_BIOS_Vendor": "",
+ "Systeminfo_Motherboard_Manufactured": "",
+ "Systeminfo_Motherboard_Name": "",
+ "Systeminfo_Motherboard_Revision": "",
+ "Systeminfo_Network": "",
+ "Systeminfo_Network_Accept_Encoding": "",
+ "Systeminfo_Network_Accept_Language": "",
+ "Systeminfo_Network_Connection_Port": "",
+ "Systeminfo_Network_HTTP_Host": "",
+ "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": "",
+ "Systeminfo_Network_MIME": "",
+ "Systeminfo_Network_Request_Method": "",
+ "Systeminfo_Network_Request_Time": "",
+ "Systeminfo_Network_Request_URI": "",
+ "Systeminfo_Network_Secure_Connection": "",
+ "Systeminfo_Network_Secure_Connection_String": "",
+ "Systeminfo_Network_Server_Name": "",
+ "Systeminfo_Network_Server_Name_String": "",
+ "Systeminfo_Network_Server_Query": "",
+ "Systeminfo_Network_Server_Query_String": "",
+ "Systeminfo_Network_Server_Version": "",
+ "Systeminfo_Services": "",
+ "Systeminfo_Services_Description": "",
+ "Systeminfo_Services_Name": "",
+ "Systeminfo_Storage": "",
+ "Systeminfo_Storage_Device": "",
+ "Systeminfo_Storage_Mount": "",
+ "Systeminfo_Storage_Size": "",
+ "Systeminfo_Storage_Type": "",
+ "Systeminfo_Storage_Usage": "",
+ "Systeminfo_Storage_Usage_Free": "",
+ "Systeminfo_Storage_Usage_Mount": "",
+ "Systeminfo_Storage_Usage_Total": "",
+ "Systeminfo_Storage_Usage_Used": "",
+ "Systeminfo_System": "",
+ "Systeminfo_System_AVG": "",
+ "Systeminfo_System_Architecture": "",
+ "Systeminfo_System_Kernel": "",
+ "Systeminfo_System_OSVersion": "",
+ "Systeminfo_System_Running_Processes": "",
+ "Systeminfo_System_System": "",
+ "Systeminfo_System_Uname": "",
+ "Systeminfo_System_Uptime": "",
+ "Systeminfo_This_Client": "",
+ "Systeminfo_USB_Devices": "",
+ "TIMEZONE_description": "",
+ "TIMEZONE_name": "",
+ "UI_DEV_SECTIONS_description": "",
+ "UI_DEV_SECTIONS_name": "",
+ "UI_LANG_description": "",
+ "UI_LANG_name": "",
+ "UI_MY_DEVICES_description": "",
+ "UI_MY_DEVICES_name": "",
+ "UI_NOT_RANDOM_MAC_description": "",
+ "UI_NOT_RANDOM_MAC_name": "",
+ "UI_PRESENCE_description": "",
+ "UI_PRESENCE_name": "",
+ "UI_REFRESH_description": "",
+ "UI_REFRESH_name": "",
+ "devices_old": "",
+ "general_event_description": "",
+ "general_event_title": "",
+ "report_guid": "",
+ "report_guid_missing": "",
+ "report_select_format": "",
+ "report_time": "",
+ "run_event_icon": "",
+ "run_event_tooltip": "",
+ "settings_core_icon": "",
+ "settings_core_label": "",
+ "settings_device_scanners": "",
+ "settings_device_scanners_icon": "",
+ "settings_device_scanners_label": "",
+ "settings_enabled": "",
+ "settings_enabled_icon": "",
+ "settings_expand_all": "",
+ "settings_imported": "",
+ "settings_imported_label": "",
+ "settings_missing": "",
+ "settings_missing_block": "",
+ "settings_old": "",
+ "settings_other_scanners": "",
+ "settings_other_scanners_icon": "",
+ "settings_other_scanners_label": "",
+ "settings_publishers": "",
+ "settings_publishers_icon": "",
+ "settings_publishers_label": "",
+ "settings_saved": "",
+ "settings_system_icon": "",
+ "settings_system_label": "",
+ "test_event_icon": "",
+ "test_event_tooltip": ""
+}
\ No newline at end of file
diff --git a/front/php/templates/language/lang.php b/front/php/templates/language/lang.php
index 29141900..1c26d3c9 100755
--- a/front/php/templates/language/lang.php
+++ b/front/php/templates/language/lang.php
@@ -5,7 +5,7 @@
// ###################################
$defaultLang = "en_us";
-$allLanguages = ["en_us","es_es","de_de", "nb_no", "ru_ru", "fr_fr"];
+$allLanguages = ["en_us","es_es","de_de", "nb_no", "ru_ru", "fr_fr", "it_it"];
global $db;
@@ -14,6 +14,7 @@ switch($result){
case 'Spanish': $pia_lang_selected = 'es_es'; break;
case 'German': $pia_lang_selected = 'de_de'; break;
case 'Norwegian': $pia_lang_selected = 'nb_no'; break;
+ case 'Italian': $pia_lang_selected = 'it_it'; break;
case 'Russian': $pia_lang_selected = 'ru_ru'; break;
case 'French': $pia_lang_selected = 'fr_fr'; break;
default: $pia_lang_selected = 'en_us'; break;
diff --git a/front/php/templates/language/merge_translations.py b/front/php/templates/language/merge_translations.py
index 0c0245e4..e2ec660c 100755
--- a/front/php/templates/language/merge_translations.py
+++ b/front/php/templates/language/merge_translations.py
@@ -32,6 +32,6 @@ def merge_translations(main_file, other_files):
if __name__ == "__main__":
current_path = os.path.dirname(os.path.abspath(__file__))
- json_files = ["en_us.json", "de_de.json", "es_es.json", "fr_fr.json", "nb_no.json", "ru_ru.json"]
+ json_files = ["en_us.json", "de_de.json", "es_es.json", "fr_fr.json", "nb_no.json", "ru_ru.json", "it_it.json"]
file_paths = [os.path.join(current_path, file) for file in json_files]
merge_translations(file_paths[0], file_paths[1:])
diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json
index d5bed891..b70623ba 100755
--- a/front/php/templates/language/nb_no.json
+++ b/front/php/templates/language/nb_no.json
@@ -167,6 +167,9 @@
"DevDetail_Type_hover": "",
"DevDetail_Vendor_hover": "",
"DevDetail_WOL_Title": "",
+ "DevDetail_button_AddIcon": "",
+ "DevDetail_button_AddIcon_Help": "",
+ "DevDetail_button_AddIcon_Tooltip": "",
"DevDetail_button_Delete": "",
"DevDetail_button_DeleteEvents": "",
"DevDetail_button_DeleteEvents_Warning": "",
diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json
index ab63181f..66db4be4 100755
--- a/front/php/templates/language/ru_ru.json
+++ b/front/php/templates/language/ru_ru.json
@@ -167,6 +167,9 @@
"DevDetail_Type_hover": "\u0422\u0438\u043f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435 \u043b\u044e\u0431\u043e\u0435 \u0438\u0437 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440, \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440...), \u043e\u043d\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u044f\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u0435\u0440\u0435\u0432\u0430 \u0441\u0435\u0442\u0438 \u043a\u0430\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0443\u0437\u043b\u044b.",
"DevDetail_Vendor_hover": "\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.",
"DevDetail_WOL_Title": "
Wake-on-LAN",
+ "DevDetail_button_AddIcon": "",
+ "DevDetail_button_AddIcon_Help": "",
+ "DevDetail_button_AddIcon_Tooltip": "",
"DevDetail_button_Delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e",
"DevDetail_button_DeleteEvents": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f",
"DevDetail_button_DeleteEvents_Warning": "\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435?
(\u044d\u0442\u043e \u043e\u0447\u0438\u0441\u0442\u0438\u0442
\u0418\u0441\u0442\u043e\u0440\u0438\u044e \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0438
\u0421\u0435\u0430\u043d\u0441\u044b \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0441 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c\u0438 (\u043d\u0430\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c\u0438) \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u043c\u0438)",
diff --git a/front/php/templates/notification.php b/front/php/templates/notification.php
index 9728287d..d999815a 100755
--- a/front/php/templates/notification.php
+++ b/front/php/templates/notification.php
@@ -94,6 +94,29 @@