feat: added bootable disks to the Dashboard

This commit is contained in:
Serhiy Mytrovtsiy
2025-08-15 16:42:12 +02:00
parent c44bc7e750
commit 7d49169122
43 changed files with 184 additions and 6 deletions

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 خيوط";
"Number of e-cores" = "%0 نوى كفاءة";
"Number of p-cores" = "%0 نوى أداء";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "تم تثبيت أحدث إصدار من الإحصاءات";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 нишки";
"Number of e-cores" = "%0 ефикасни ядра";
"Number of p-cores" = "%0 производителни ядра";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Имате най-новата версия на Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 fils";
"Number of e-cores" = "%0 nuclis d'eficiència";
"Number of p-cores" = "%0 nuclis de rendiment";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "L'última versió d'Stats està instal·lada";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 vláken";
"Number of e-cores" = "%0 efektivních jader";
"Number of p-cores" = "%0 výkonných jader";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Byla nainstalována nejnovější verze Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 tråde";
"Number of e-cores" = "%0 efficiency kerner";
"Number of p-cores" = "%0 performance kerner";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Den nyeste udgave af Stats er installeret";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 Threads";
"Number of e-cores" = "%0 Effizienz-Kerne";
"Number of p-cores" = "%0 Per­for­mance-Kerne";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Die neueste Version von Stats ist installiert";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 πυρήνες απόδοσης";
"Number of p-cores" = "%0 πυρήνες επίδοσης";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Η τελευταία έκδοση του Stats είναι εγκατεστημένη";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "The latest version of Stats is installed";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "The latest version of Stats is installed";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "The latest version of Stats is installed";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "Número de hilos";
"Number of e-cores" = "Número de núcleos de eficiencia";
"Number of p-cores" = "Número de núcleos de rendimiento";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "La última versión de Stats está instalada";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 lõimed";
"Number of e-cores" = "%0 tõhusatuumad";
"Number of p-cores" = "%0 jõudlustuumad";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Uusim versioon on installitud";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 ترد‌ها";
"Number of e-cores" = "%0 هسته‌های کم‌مصرف";
"Number of p-cores" = "%0 هسته‌های پرقدرت";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "آخرین نسخه‌ی Stats نصب شده است";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 säiettä";
"Number of e-cores" = "%0 e-ydintä";
"Number of p-cores" = "%0 p-ydintä";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Stats on päivitetty viimeisimpään versioon";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 cœurs à haute effica­cité éner­gétique";
"Number of p-cores" = "%0 cœurs de perfor­mance";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "La dernière version de Stats est installée";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 טרדים";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "מותקנת Stats הגרסא האחרונה של";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 थ्रेड्स";
"Number of e-cores" = "%0 दक्षता कोर";
"Number of p-cores" = "%0 प्रदर्शन कोर";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "आँकड़े का नवीनतम संस्करण स्थापित है";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "Broj komponenti procesa: %0";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Instalirana je najnovija verzija programa Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 szál";
"Number of e-cores" = "%0 energiatakarékos mag";
"Number of p-cores" = "%0 teljesítményre optimalizált mag";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "A Stats legújabb verziója van telepítve";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 thread";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Versi terbaru dari Stats telah dipasang";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 thread";
"Number of e-cores" = "%0 efficiency core";
"Number of p-cores" = "%0 performance core";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "L'ultima versione di Stats è installata";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 スレッド";
"Number of e-cores" = "%0 高効率コア";
"Number of p-cores" = "%0 高性能コア";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "最新の Stats がインストールされています";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 스레드";
"Number of e-cores" = "%0 효율 코어";
"Number of p-cores" = "%0 성능 코어";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "최신 버전의 Stats가 설치되어 있습니다";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 tråder";
"Number of e-cores" = "%0 effektivitetskjerner";
"Number of p-cores" = "%0 ytelseskjerner";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Du har den nyeste versjonen av Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "De laatste versie van Stats is geïnstalleerd.";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 wątków";
"Number of e-cores" = "%0 rdzeni energooszczędnych";
"Number of p-cores" = "%0 rdzeni wydajnościowych";
"Disks" = "Dyski";
// Update
"The latest version of Stats installed" = "Najnowsza wersja Stats zainstalowana";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 núcleos de eficiência";
"Number of p-cores" = "%0 núcleos de desempenho";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "A versão mais recente do Stats está instalada";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "A versão mais recente do Stats instalada";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 threads";
"Number of e-cores" = "%0 efficiency cores";
"Number of p-cores" = "%0 performance cores";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Cea mai recentă versiune de Stats instalată";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 потоков";
"Number of e-cores" = "%0 энергоэффективных ядер";
"Number of p-cores" = "%0 производительных ядер";
"Disks" = "Диски";
// Update
"The latest version of Stats installed" = "Установлена последняя версия";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 vlákien";
"Number of e-cores" = "%0 efektívnych jadier";
"Number of p-cores" = "%0 výkonných jadier";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Bola nainštalovaná najnovšia verzia Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 niti";
"Number of e-cores" = "%0 učinkovitih jeder";
"Number of p-cores" = "%0 performančnih jeder";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Nameščena je najnovejša različica programa Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 trådar";
"Number of e-cores" = "%0 effektivitetskärnor";
"Number of p-cores" = "%0 prestandakärnor";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Den senaste versionen av Stats är installerad";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 thread";
"Number of e-cores" = "%0 cores ประสิทธิภาพ";
"Number of p-cores" = "%0 cores ประสิทธิผล";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "เวอร์ชันล่าสุดของ Stats ได้รับการติดตั้งแล้ว";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 iş parçacığı";
"Number of e-cores" = "%0 verimlilik çekirdeği";
"Number of p-cores" = "%0 performans çekirdeği";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Stats'ın son sürümü kurulu";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 потоків";
"Number of e-cores" = "%0 енергоефективних ядер";
"Number of p-cores" = "%0 високопродуктивних ядер";
"Disks" = "Диски";
// Update
"The latest version of Stats installed" = "Встановлено останню версію";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 luồng";
"Number of e-cores" = "%0 nhân tiết kiệm";
"Number of p-cores" = "%0 nhân hiệu năng";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "Phiên bản Stats mới nhất đã được cài đặt";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 线程";
"Number of e-cores" = "%0 能效核心";
"Number of p-cores" = "%0 性能核心";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "已安装最新版 Stats";

View File

@@ -177,6 +177,7 @@
"Number of threads" = "%0 執行緒";
"Number of e-cores" = "%0 個節能核心";
"Number of p-cores" = "%0 個效能核心";
"Disks" = "Disks";
// Update
"The latest version of Stats installed" = "已安裝最新版本";

View File

@@ -141,6 +141,23 @@ class Dashboard: NSStackView {
}
return value
}
private var disksValue: String {
guard let disks = SystemKit.shared.device.info.disk else {
return localizedString("Unknown")
}
var value = ""
for i in 0..<disks.count {
var row = disks[i].name != nil ? disks[i].name! : localizedString("Unknown")
if let size = disks[i].size {
let value = ByteCountFormatter.string(fromByteCount: size, countStyle: .file)
row += " (\(value))"
}
value += "\(row)\(i == disks.count-1 ? "" : "\n")"
}
return value
}
private var uptimeValue: String {
let form = DateComponentsFormatter()
form.maximumUnitCount = 2
@@ -176,7 +193,8 @@ class Dashboard: NSStackView {
scrollView.stackView.addArrangedSubview(PreferencesSection([
PreferencesRow(localizedString("Processor"), "", component: textView(self.processorValue)),
PreferencesRow(localizedString("Memory"), component: textView(self.memoryValue)),
PreferencesRow(localizedString("Graphics"), component: textView(self.graphicsValue))
PreferencesRow(localizedString("Graphics"), component: textView(self.graphicsValue)),
PreferencesRow(localizedString("Disks"), component: textView(self.disksValue))
]))
scrollView.stackView.addArrangedSubview(PreferencesSection([