Skip to content

Commit 1c450e0

Browse files
dbfxclaude
andcommitted
chore: improved locale translations and driver-manager IPC refinements
- Updated history.json translations across all locales (translation quality improvements, proper CVE Scan label translations) - Driver manager IPC handler refinements Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 68a786b commit 1c450e0

31 files changed

+439
-395
lines changed

src/main/ipc/driver-manager.ipc.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,16 @@ export async function scanDriverUpdates(
406406
$criteria = "IsInstalled=0 AND Type='Driver'"
407407
$result = $searcher.Search($criteria)
408408
409-
# Cache WMI driver table once (expensive query)
410-
$wmiDrivers = @(Get-WmiObject Win32_PnPSignedDriver | Select-Object HardWareID, DriverVersion, DriverDate)
409+
# Cache installed driver table once (expensive query)
410+
# Use Get-CimInstance (works on PS 5.1+/7+), fall back to Get-WmiObject
411+
$wmiDrivers = @()
412+
try {
413+
$wmiDrivers = @(Get-CimInstance Win32_PnPSignedDriver | Select-Object HardWareID, DriverVersion, DriverDate)
414+
} catch {
415+
try {
416+
$wmiDrivers = @(Get-WmiObject Win32_PnPSignedDriver | Select-Object HardWareID, DriverVersion, DriverDate)
417+
} catch {}
418+
}
411419
412420
foreach ($update in $result.Updates) {
413421
$driver = $update.DriverModel
@@ -427,15 +435,21 @@ export async function scanDriverUpdates(
427435
$verStr = $update.DriverVerDate.ToString('yyyy-MM-dd')
428436
}
429437
430-
# Look up current installed version from cached WMI data
438+
# Look up current installed version from cached driver data
431439
$currentVer = ''
432440
$currentDate = ''
433-
if ($hwId) {
441+
if ($hwId -and $wmiDrivers.Count -gt 0) {
434442
$installed = $wmiDrivers | Where-Object { $_.HardWareID -eq $hwId } | Select-Object -First 1
435443
if ($installed) {
436444
$currentVer = $installed.DriverVersion
437445
if ($installed.DriverDate) {
438-
try { $currentDate = ([Management.ManagementDateTimeConverter]::ToDateTime($installed.DriverDate)).ToString('yyyy-MM-dd') } catch {}
446+
try {
447+
if ($installed.DriverDate -is [datetime]) {
448+
$currentDate = $installed.DriverDate.ToString('yyyy-MM-dd')
449+
} else {
450+
$currentDate = ([Management.ManagementDateTimeConverter]::ToDateTime($installed.DriverDate)).ToString('yyyy-MM-dd')
451+
}
452+
} catch {}
439453
}
440454
}
441455
}
@@ -506,6 +520,7 @@ export async function scanDriverUpdates(
506520
}
507521
} catch (err: any) {
508522
console.error('Driver update scan failed:', err?.message || err)
523+
if (err?.stderr) console.error('PowerShell stderr:', err.stderr)
509524
}
510525

511526
return {

src/renderer/src/locales/.checksums.json

Lines changed: 117 additions & 88 deletions
Large diffs are not rendered by default.

src/renderer/src/locales/ar/history.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
"pageTitle": "سجل الفحص",
33
"pageDescription": "اعرض النتائج التفصيلية لعمليات الفحص والتنظيف السابقة",
44
"viewOverview": "نظرة عامة",
5-
"viewTimeline": "الخط الزمني",
5+
"viewTimeline": "الجدول الزمني",
66
"viewCloud": "السحابة",
77
"clearButton": "مسح",
88
"emptyStateTitle": "لا يوجد سجل بعد",
9-
"emptyStateDescription": "شغّل فحصًا من صفحات Cleaner أو Registry أو Debloater. ستظهر النتائج هنا.",
9+
"emptyStateDescription": "قم بتشغيل فحص من صفحات Cleaner أو Registry أو Debloater. ستظهر النتائج هنا.",
1010
"confirmClearCloudTitle": "مسح سجل السحابة",
1111
"confirmClearScanTitle": "مسح سجل الفحص",
1212
"confirmClearCloudDescription": "سيؤدي هذا إلى حذف جميع إدخالات سجل إجراءات السحابة نهائيًا. لا يمكن التراجع عن هذا الإجراء.",
@@ -23,7 +23,7 @@
2323
"startup": "إدارة بدء التشغيل",
2424
"services": "إدارة الخدمات",
2525
"softwareUpdate": "تحديث البرامج",
26-
"cveScan": "CVE Scan"
26+
"cveScan": "فحص CVE"
2727
},
2828
"overview": {
2929
"totalScans": "إجمالي عمليات الفحص",
@@ -67,21 +67,21 @@
6767
},
6868
"detail": {
6969
"scheduledBadge": "مجدول",
70-
"statFound": "تم العثور عليه",
71-
"statProcessed": "تمت معالجته",
72-
"statSkipped": "تم تخطيه",
70+
"statFound": "تم العثور على",
71+
"statProcessed": "تمت المعالجة",
72+
"statSkipped": "تم التخطي",
7373
"statSpaceSaved": "المساحة الموفرة",
7474
"errorCount": "{{count}} خطأ",
7575
"errorCountPlural": "{{count}} أخطاء",
7676
"categoriesLabel": "الفئات",
77-
"itemsSuffix": "عنصر"
77+
"itemsSuffix": "عناصر"
7878
},
7979
"cloud": {
8080
"emptyStateTitle": "لا توجد إجراءات سحابية بعد",
81-
"emptyStateDescription": "عند استلام أوامر من لوحة التحكم السحابية، ستظهر هنا.",
81+
"emptyStateDescription": "عند استلام الأوامر من لوحة التحكم السحابية، ستظهر هنا.",
8282
"totalCommands": "إجمالي الأوامر",
83-
"succeeded": "نجح",
84-
"failed": "فشل",
83+
"succeeded": "ناجحة",
84+
"failed": "فاشلة",
8585
"avgDuration": "متوسط المدة",
8686
"columnStatus": "الحالة",
8787
"columnCommand": "الأمر",
@@ -128,7 +128,7 @@
128128
"debloaterRemove": "إزالة Debloater",
129129
"serviceScan": "فحص الخدمات",
130130
"serviceApply": "تطبيق الخدمات",
131-
"malwareQuarantine": "الحجر الصحي",
131+
"malwareQuarantine": "الحجر",
132132
"malwareDelete": "حذف البرامج الضارة",
133133
"registryScan": "فحص السجل",
134134
"registryFix": "إصلاح السجل"

src/renderer/src/locales/cs/history.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"pageTitle": "Historie kontrol",
3-
"pageDescription": "Zobrazit podrobné výsledky předchozích kontrol a čištění",
3+
"pageDescription": "Zobrazte podrobné výsledky předchozích kontrol a čištění",
44
"viewOverview": "Přehled",
55
"viewTimeline": "Časová osa",
66
"viewCloud": "Cloud",
@@ -19,11 +19,11 @@
1919
"network": "Vyčištění sítě",
2020
"drivers": "Vyčištění ovladačů",
2121
"malware": "Kontrola malwaru",
22-
"privacy": "Štít soukromí",
22+
"privacy": "Ochrana soukromí",
2323
"startup": "Správce po spuštění",
2424
"services": "Správce služeb",
2525
"softwareUpdate": "Aktualizace softwaru",
26-
"cveScan": "CVE Scan"
26+
"cveScan": "Kontrola CVE"
2727
},
2828
"overview": {
2929
"totalScans": "Celkem kontrol",
@@ -77,8 +77,8 @@
7777
"itemsSuffix": "položek"
7878
},
7979
"cloud": {
80-
"emptyStateTitle": "Zatím žádné akce v cloudu",
81-
"emptyStateDescription": "Když budou přijaty příkazy z cloudového panelu, zobrazí se zde.",
80+
"emptyStateTitle": "Zatím žádné cloudové akce",
81+
"emptyStateDescription": "Jakmile budou přijaty příkazy z cloudového dashboardu, zobrazí se zde.",
8282
"totalCommands": "Celkem příkazů",
8383
"succeeded": "Úspěšné",
8484
"failed": "Neúspěšné",
@@ -100,12 +100,12 @@
100100
},
101101
"cloudCommandLabels": {
102102
"scan": "Kontrola",
103-
"clean": "Vyčištění",
103+
"clean": "Vyčistit",
104104
"softwareUpdateCheck": "Kontrola aktualizací",
105105
"softwareUpdateRun": "Aktualizace softwaru",
106106
"getStatus": "Stav",
107107
"getSystemInfo": "Informace o systému",
108-
"getHealthReport": "Zpráva o stavu",
108+
"getHealthReport": "Přehled stavu",
109109
"ping": "Ping",
110110
"shutdown": "Vypnutí",
111111
"restart": "Restartovat",
@@ -115,7 +115,7 @@
115115
"runDism": "Oprava DISM",
116116
"getNetworkConfig": "Konfigurace sítě",
117117
"getEventLog": "Protokol událostí",
118-
"getInstalledApps": "Přehled aplikací",
118+
"getInstalledApps": "Přehled nainstalovaných aplikací",
119119
"driverUpdateScan": "Kontrola ovladačů",
120120
"driverUpdateInstall": "Instalace ovladačů",
121121
"driverClean": "Vyčištění ovladačů",

src/renderer/src/locales/da/history.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@
99
"emptyStateDescription": "Kør en scanning fra siderne Cleaner, Registry eller Debloater. Resultaterne vises her.",
1010
"confirmClearCloudTitle": "Ryd Cloud-historik",
1111
"confirmClearScanTitle": "Ryd scanningshistorik",
12-
"confirmClearCloudDescription": "Dette vil permanent slette alle historikposter for Cloud-handlinger. Denne handling kan ikke fortrydes.",
13-
"confirmClearScanDescription": "Dette vil permanent slette alle poster i scanningshistorikken. Denne handling kan ikke fortrydes.",
12+
"confirmClearCloudDescription": "Dette sletter permanent alle poster i handlingshistorikken for cloud. Denne handling kan ikke fortrydes.",
13+
"confirmClearScanDescription": "Dette sletter permanent alle poster i scanningshistorikken. Denne handling kan ikke fortrydes.",
1414
"confirmClearLabel": "Ryd alle",
1515
"typeLabels": {
1616
"cleaner": "Systemoprydning",
1717
"registry": "Registreringsdatabase-rettelse",
1818
"debloater": "Debloater",
1919
"network": "Netværksoprydning",
2020
"drivers": "Driveroprydning",
21-
"malware": "Malwarescanning",
22-
"privacy": "Privatlivsbeskyttelse",
21+
"malware": "Malware-scanning",
22+
"privacy": "Beskyttelse af personlige oplysninger",
2323
"startup": "Startprogramstyring",
2424
"services": "Tjenestestyring",
2525
"softwareUpdate": "Softwareopdatering",
26-
"cveScan": "CVE Scan"
26+
"cveScan": "CVE-scanning"
2727
},
2828
"overview": {
2929
"totalScans": "Samlet antal scanninger",
@@ -34,7 +34,7 @@
3434
"needTwoScansForChart": "Der kræves mindst 2 scanninger til trenddiagrammet",
3535
"scanTypeDistribution": "Fordeling af scanningstyper",
3636
"noData": "Ingen data",
37-
"topCategoriesBySpace": "Største kategorier efter pladsforbrug",
37+
"topCategoriesBySpace": "Største kategorier efter plads",
3838
"noCategoryData": "Ingen kategoridata",
3939
"weeklyActivity": "Ugentlig aktivitet",
4040
"needTwoWeeksData": "Der kræves mindst 2 ugers data",
@@ -50,7 +50,7 @@
5050
"filterNetwork": "Netværk",
5151
"filterDrivers": "Drivere",
5252
"filterMalware": "Malware",
53-
"filterPrivacy": "Privatliv",
53+
"filterPrivacy": "Personlige oplysninger",
5454
"filterStartup": "Start",
5555
"filterServices": "Tjenester",
5656
"filterUpdates": "Opdateringer",
@@ -61,7 +61,7 @@
6161
"columnSpace": "Plads",
6262
"columnDuration": "Varighed",
6363
"columnStatus": "Status",
64-
"scheduledBadge": "Planlagt",
64+
"scheduledBadge": "Planl.",
6565
"noEntriesMatchFilter": "Ingen poster matcher dette filter",
6666
"dateAt": "kl."
6767
},
@@ -77,8 +77,8 @@
7777
"itemsSuffix": "elementer"
7878
},
7979
"cloud": {
80-
"emptyStateTitle": "Ingen Cloud-handlinger endnu",
81-
"emptyStateDescription": "Når kommandoer modtages fra Cloud-dashboardet, vises de her.",
80+
"emptyStateTitle": "Ingen cloud-handlinger endnu",
81+
"emptyStateDescription": "Når kommandoer modtages fra cloud-dashboardet, vises de her.",
8282
"totalCommands": "Samlet antal kommandoer",
8383
"succeeded": "Gennemført",
8484
"failed": "Mislykket",
@@ -122,8 +122,8 @@
122122
"startupList": "Liste over startprogrammer",
123123
"startupToggle": "Skift startprogram",
124124
"diskHealth": "Disktilstand",
125-
"privacyScan": "Privatlivsscanning",
126-
"privacyApply": "Anvend privatlivsindstillinger",
125+
"privacyScan": "Scanning af personlige oplysninger",
126+
"privacyApply": "Anvend beskyttelse af personlige oplysninger",
127127
"debloaterScan": "Debloater-scanning",
128128
"debloaterRemove": "Fjern Debloater",
129129
"serviceScan": "Tjenestescanning",

src/renderer/src/locales/de/history.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
{
2-
"pageTitle": "Scan-Verlauf",
3-
"pageDescription": "Detaillierte Ergebnisse früherer Scans und Bereinigungen anzeigen",
2+
"pageTitle": "Scanverlauf",
3+
"pageDescription": "Detaillierte Ergebnisse vergangener Scans und Bereinigungen anzeigen",
44
"viewOverview": "Übersicht",
55
"viewTimeline": "Zeitachse",
66
"viewCloud": "Cloud",
77
"clearButton": "Löschen",
88
"emptyStateTitle": "Noch kein Verlauf",
99
"emptyStateDescription": "Führen Sie einen Scan auf den Seiten „Cleaner“, „Registry“ oder „Debloater“ aus. Die Ergebnisse werden hier angezeigt.",
1010
"confirmClearCloudTitle": "Cloud-Verlauf löschen",
11-
"confirmClearScanTitle": "Scan-Verlauf löschen",
11+
"confirmClearScanTitle": "Scanverlauf löschen",
1212
"confirmClearCloudDescription": "Dadurch werden alle Einträge im Cloud-Aktionsverlauf dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
13-
"confirmClearScanDescription": "Dadurch werden alle Einträge im Scan-Verlauf dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
14-
"confirmClearLabel": "Alle löschen",
13+
"confirmClearScanDescription": "Dadurch werden alle Einträge im Scanverlauf dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
14+
"confirmClearLabel": "Alles löschen",
1515
"typeLabels": {
1616
"cleaner": "Systembereinigung",
1717
"registry": "Registry-Reparatur",
@@ -23,16 +23,16 @@
2323
"startup": "Autostart-Manager",
2424
"services": "Dienst-Manager",
2525
"softwareUpdate": "Software-Update",
26-
"cveScan": "CVE Scan"
26+
"cveScan": "CVE-Scan"
2727
},
2828
"overview": {
2929
"totalScans": "Scans insgesamt",
3030
"spaceRecovered": "Freigegebener Speicherplatz",
3131
"itemsProcessed": "Verarbeitete Elemente",
3232
"avgDuration": "Durchschn. Dauer",
3333
"spaceRecoveredOverTime": "Freigegebener Speicherplatz im Zeitverlauf",
34-
"needTwoScansForChart": "Mindestens 2 Scans für das Trenddiagramm erforderlich",
35-
"scanTypeDistribution": "Verteilung der Scan-Typen",
34+
"needTwoScansForChart": "Mindestens 2 Scans für ein Trenddiagramm erforderlich",
35+
"scanTypeDistribution": "Verteilung der Scantypen",
3636
"noData": "Keine Daten",
3737
"topCategoriesBySpace": "Top-Kategorien nach Speicherplatz",
3838
"noCategoryData": "Keine Kategoriedaten",
@@ -70,7 +70,7 @@
7070
"statFound": "Gefunden",
7171
"statProcessed": "Verarbeitet",
7272
"statSkipped": "Übersprungen",
73-
"statSpaceSaved": "Freigegebener Speicherplatz",
73+
"statSpaceSaved": "Gesparter Speicherplatz",
7474
"errorCount": "{{count}} Fehler",
7575
"errorCountPlural": "{{count}} Fehler",
7676
"categoriesLabel": "Kategorien",
@@ -101,7 +101,7 @@
101101
"cloudCommandLabels": {
102102
"scan": "Scan",
103103
"clean": "Bereinigen",
104-
"softwareUpdateCheck": "Update-Prüfung",
104+
"softwareUpdateCheck": "Updateprüfung",
105105
"softwareUpdateRun": "Software-Update",
106106
"getStatus": "Status",
107107
"getSystemInfo": "Systeminformationen",
@@ -116,17 +116,17 @@
116116
"getNetworkConfig": "Netzwerkkonfiguration",
117117
"getEventLog": "Ereignisprotokoll",
118118
"getInstalledApps": "App-Inventar",
119-
"driverUpdateScan": "Treiber-Scan",
119+
"driverUpdateScan": "Treiberscan",
120120
"driverUpdateInstall": "Treiberinstallation",
121121
"driverClean": "Treiberbereinigung",
122-
"startupList": "Autostart-Liste",
122+
"startupList": "Autostartliste",
123123
"startupToggle": "Autostart umschalten",
124124
"diskHealth": "Datenträgerzustand",
125-
"privacyScan": "Datenschutz-Scan",
126-
"privacyApply": "Datenschutz anwenden",
125+
"privacyScan": "Datenschutzscan",
126+
"privacyApply": "Datenschutzeinstellungen anwenden",
127127
"debloaterScan": "Debloater-Scan",
128128
"debloaterRemove": "Debloater entfernen",
129-
"serviceScan": "Dienst-Scan",
129+
"serviceScan": "Dienstscan",
130130
"serviceApply": "Dienste anwenden",
131131
"malwareQuarantine": "Quarantäne",
132132
"malwareDelete": "Malware löschen",

src/renderer/src/locales/el/history.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"startup": "Διαχείριση εκκίνησης",
2424
"services": "Διαχείριση υπηρεσιών",
2525
"softwareUpdate": "Ενημέρωση λογισμικού",
26-
"cveScan": "CVE Scan"
26+
"cveScan": "Σάρωση CVE"
2727
},
2828
"overview": {
2929
"totalScans": "Συνολικές σαρώσεις",
@@ -105,7 +105,7 @@
105105
"softwareUpdateRun": "Ενημέρωση λογισμικού",
106106
"getStatus": "Κατάσταση",
107107
"getSystemInfo": "Πληροφορίες συστήματος",
108-
"getHealthReport": "Αναφορά κατάστασης",
108+
"getHealthReport": "Αναφορά υγείας",
109109
"ping": "Ping",
110110
"shutdown": "Τερματισμός λειτουργίας",
111111
"restart": "Επανεκκίνηση",
@@ -115,13 +115,13 @@
115115
"runDism": "Επιδιόρθωση DISM",
116116
"getNetworkConfig": "Ρυθμίσεις δικτύου",
117117
"getEventLog": "Αρχείο καταγραφής συμβάντων",
118-
"getInstalledApps": "Κατάλογος εφαρμογών",
118+
"getInstalledApps": "Απογραφή εφαρμογών",
119119
"driverUpdateScan": "Σάρωση προγραμμάτων οδήγησης",
120120
"driverUpdateInstall": "Εγκατάσταση προγράμματος οδήγησης",
121121
"driverClean": "Καθαρισμός προγραμμάτων οδήγησης",
122122
"startupList": "Λίστα εκκίνησης",
123123
"startupToggle": "Εναλλαγή εκκίνησης",
124-
"diskHealth": "Κατάσταση δίσκου",
124+
"diskHealth": "Υγεία δίσκου",
125125
"privacyScan": "Σάρωση απορρήτου",
126126
"privacyApply": "Εφαρμογή απορρήτου",
127127
"debloaterScan": "Σάρωση Debloater",

0 commit comments

Comments
 (0)