From 1ab1d5ffe42d101e0b2c5211f3a36184febd9597 Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Tue, 1 Sep 2020 19:04:41 +0200 Subject: [PATCH] - fix crash when Chinese (Simplified) language of macos (macos build number error) - add Chinese and Turkish translation contributors to README --- README.md | 4 ++-- StatsKit/SystemKit.swift | 17 +++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9623a223..2cbdb687 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,8 @@ Stats is an application that allows you to monitor your macOS system. - Polski - Український - Русский -- 中文(简体) -- Türkçe +- 中文(简体)(thanks to [chenguokai](https://github.com/chenguokai)) +- Türkçe (thanks to [yusufozgul](https://github.com/yusufozgul)) You can help by adding a new language. diff --git a/StatsKit/SystemKit.swift b/StatsKit/SystemKit.swift index 7b4fd03c..47acb6a9 100644 --- a/StatsKit/SystemKit.swift +++ b/StatsKit/SystemKit.swift @@ -69,7 +69,7 @@ public struct info_s { } public struct device_s { - public var model: model_s = model_s(name: "Unknown", year: 2020, type: .unknown) + public var model: model_s = model_s(name: LocalizedString("Unknown"), year: 2020, type: .unknown) public var os: os_s? = nil public var info: info_s? = info_s() } @@ -87,13 +87,18 @@ public class SystemKit { os_log(.error, log: self.log, "unknown device %s", modelName) } } - + let procInfo = ProcessInfo() let systemVersion = procInfo.operatingSystemVersion - let build = procInfo.operatingSystemVersionString.split(separator: "(")[1].replacingOccurrences(of: "Build ", with: "").replacingOccurrences(of: ")", with: "") - - self.device.os = os_s(name: osDict[systemVersion.minorVersion] ?? "Unknown", version: systemVersion, build: build) - + + var build = LocalizedString("Unknown") + let buildArr = procInfo.operatingSystemVersionString.split(separator: "(") + if buildArr.indices.contains(1) { + build = buildArr[1].replacingOccurrences(of: "Build ", with: "").replacingOccurrences(of: ")", with: "") + } + + self.device.os = os_s(name: osDict[systemVersion.minorVersion] ?? LocalizedString("Unknown"), version: systemVersion, build: build) + self.device.info?.cpu = self.getCPUInfo() self.device.info?.ram = self.getRamInfo() self.device.info?.gpu = self.getGPUInfo()