- Device ID:
+ {t('devices.deviceId')}:
{selectedDevice.id}
- Name:
- {selectedDevice.name || 'Unnamed'}
+ {t('devices.name')}:
+ {selectedDevice.name || t('devices.unnamed')}
- Status:
+ {t('devices.status')}:
- {selectedDevice.stats?.status || 'Unknown'}
+ {selectedDevice.stats?.status ? t(`devices.${selectedDevice.stats.status}`) : t('devices.unknown')}
- Approved:
+ {t('devices.approved')}:
- {selectedDevice.is_approved ? 'Yes' : 'Pending'}
+ {selectedDevice.is_approved ? t('devices.yes') : t('devices.pending')}
{selectedDevice.location_description && (
- Location:
+ {t('devices.location')}:
{selectedDevice.location_description}
)}
{(selectedDevice.geo_lat && selectedDevice.geo_lon) && (
- Coordinates:
+ {t('devices.coordinates')}:
{selectedDevice.geo_lat}, {selectedDevice.geo_lon}
)}
{selectedDevice.last_heartbeat && (
- Last Heartbeat:
+ {t('devices.lastHeartbeat')}:
{format(new Date(selectedDevice.last_heartbeat), 'MMM dd, yyyy HH:mm')}
)}
{selectedDevice.firmware_version && (
- Firmware:
+ {t('devices.firmware')}:
{selectedDevice.firmware_version}
)}
{selectedDevice.stats && (
-
Detections (24h):
+
{t('devices.detections24h')}:
0 ? 'text-red-600' : 'text-green-600'
}`}>
@@ -506,7 +506,7 @@ const Devices = () => {
{selectedDevice.created_at && (
- Created:
+ {t('alerts.created')}:
{format(new Date(selectedDevice.created_at), 'MMM dd, yyyy HH:mm')}
)}
@@ -521,7 +521,7 @@ const Devices = () => {
}}
className="flex-1 bg-green-100 text-green-700 py-2 px-3 rounded hover:bg-green-200 transition-colors text-sm font-medium"
>
- ✓ Approve
+ ✓ {t('devices.approve')}
)}
diff --git a/client/src/utils/tempTranslations.js b/client/src/utils/tempTranslations.js
index e05a9a8..327e034 100644
--- a/client/src/utils/tempTranslations.js
+++ b/client/src/utils/tempTranslations.js
@@ -141,7 +141,13 @@ const translations = {
signalStrong: 'Strong',
signalGood: 'Good',
signalWeak: 'Weak',
- signalLost: 'Lost'
+ signalLost: 'Lost',
+ deviceDetails: 'Device Details',
+ unnamed: 'Unnamed',
+ yes: 'Yes',
+ lastHeartbeat: 'Last Heartbeat',
+ approve: 'Approve',
+ close: 'Close'
},
alerts: {
title: 'Alert Management',
@@ -283,7 +289,31 @@ const translations = {
showAllDevices: 'Show All Devices',
showDetections: 'Show Detections',
filterByTime: 'Filter by Time',
- realTimeUpdates: 'Real-time Updates'
+ realTimeUpdates: 'Real-time Updates',
+ deviceStatus: 'Device Status',
+ connectionStatus: 'Connection Status',
+ lastHeartbeat: 'Last Heartbeat',
+ recentDetections: 'Recent Detections',
+ systemStatus: 'System Status',
+ emergencyAlert: 'Emergency Alert',
+ criticalThreat: 'Critical Threat',
+ immediateAction: 'Immediate Action Required',
+ multipleContacts: 'Multiple Contacts',
+ noDevicesFound: 'No devices found',
+ mapLegend: 'Map Legend',
+ deviceDetecting: 'Device Detecting',
+ droneDetectionRings: 'Drone Detection Rings',
+ ringsDescription: 'Rings show estimated detection range based on RSSI',
+ orlanMilitary: 'Orlan/Military (Always Critical)',
+ closeRange: 'Close Range (>-60dBm)',
+ mediumRange: 'Medium Range (-60 to -70dBm)',
+ farRange: 'Far Range (<-70dBm)',
+ multipleDrones: 'Multiple Drones at Same Detector',
+ differentColors: 'Different colors to distinguish drones',
+ differentPatterns: 'Different dash patterns',
+ droneLabels: 'Drone ID labels shown',
+ positionOffsets: 'Slight position offsets for visibility',
+ ringSize: 'Ring size = estimated distance from detector'
},
app: {
title: 'UAM-ILS Drone Detection System',
@@ -482,7 +512,13 @@ const translations = {
signalStrong: 'Stark',
signalGood: 'Bra',
signalWeak: 'Svag',
- signalLost: 'Förlorad'
+ signalLost: 'Förlorad',
+ deviceDetails: 'Enhetsdetaljer',
+ unnamed: 'Namnlös',
+ yes: 'Ja',
+ lastHeartbeat: 'Senaste pulsslag',
+ approve: 'Godkänn',
+ close: 'Stäng'
},
alerts: {
title: 'Larmhantering',
@@ -624,7 +660,31 @@ const translations = {
showAllDevices: 'Visa alla enheter',
showDetections: 'Visa detekteringar',
filterByTime: 'Filtrera efter tid',
- realTimeUpdates: 'Realtidsuppdateringar'
+ realTimeUpdates: 'Realtidsuppdateringar',
+ deviceStatus: 'Enhetsstatus',
+ connectionStatus: 'Anslutningsstatus',
+ lastHeartbeat: 'Senaste pulsslag',
+ recentDetections: 'Senaste detekteringar',
+ systemStatus: 'Systemstatus',
+ emergencyAlert: 'Nödlarm',
+ criticalThreat: 'Kritiskt hot',
+ immediateAction: 'Omedelbar åtgärd krävs',
+ multipleContacts: 'Flera kontakter',
+ noDevicesFound: 'Inga enheter hittades',
+ mapLegend: 'Kartteckenförklaring',
+ deviceDetecting: 'Enhet detekterar',
+ droneDetectionRings: 'Drönardetekteringsringar',
+ ringsDescription: 'Ringar visar uppskattad detekteringsräckvidd baserat på RSSI',
+ orlanMilitary: 'Orlan/Militär (Alltid kritisk)',
+ closeRange: 'Närområde (>-60dBm)',
+ mediumRange: 'Medelområde (-60 till -70dBm)',
+ farRange: 'Långdistans (<-70dBm)',
+ multipleDrones: 'Flera drönare vid samma detektor',
+ differentColors: 'Olika färger för att skilja drönare åt',
+ differentPatterns: 'Olika streckmönster',
+ droneLabels: 'Drönar-ID-etiketter visas',
+ positionOffsets: 'Lätta positionsförskjutningar för synlighet',
+ ringSize: 'Ringstorlek = uppskattad distans från detektor'
},
app: {
title: 'UAM-ILS Drönardetekteringssystem',