Compare commits

...

1 Commits

Author SHA1 Message Date
94504a116d Fix crash with LibreTranslate server setting selection and remove delisted vern server
Broken after the settings refactor

Changelog-Fixed: Fix crash with LibreTranslate server setting selection and remove delisted vern server
2023-04-22 11:45:06 +02:00
2 changed files with 13 additions and 5 deletions

View File

@@ -7,7 +7,7 @@
import Foundation import Foundation
enum LibreTranslateServer: String, CaseIterable, Identifiable { enum LibreTranslateServer: String, CaseIterable, Identifiable, StringCodable {
var id: String { self.rawValue } var id: String { self.rawValue }
struct Model: Identifiable, Hashable { struct Model: Identifiable, Hashable {
@@ -17,9 +17,19 @@ enum LibreTranslateServer: String, CaseIterable, Identifiable {
var url: String? var url: String?
} }
func to_string() -> String {
return rawValue
}
init?(from string: String) {
guard let libreTranslateServer = LibreTranslateServer(rawValue: string) else {
return nil
}
self = libreTranslateServer
}
case argosopentech case argosopentech
case terraprint case terraprint
case vern
case custom case custom
var model: Model { var model: Model {
@@ -28,8 +38,6 @@ enum LibreTranslateServer: String, CaseIterable, Identifiable {
return .init(tag: self.rawValue, displayName: "translate.argosopentech.com", url: "https://translate.argosopentech.com") return .init(tag: self.rawValue, displayName: "translate.argosopentech.com", url: "https://translate.argosopentech.com")
case .terraprint: case .terraprint:
return .init(tag: self.rawValue, displayName: "translate.terraprint.co", url: "https://translate.terraprint.co") return .init(tag: self.rawValue, displayName: "translate.terraprint.co", url: "https://translate.terraprint.co")
case .vern:
return .init(tag: self.rawValue, displayName: "lt.vern.cc", url: "https://lt.vern.cc")
case .custom: case .custom:
return .init(tag: self.rawValue, displayName: NSLocalizedString("Custom", comment: "Dropdown option for selecting a custom translation server."), url: nil) return .init(tag: self.rawValue, displayName: NSLocalizedString("Custom", comment: "Dropdown option for selecting a custom translation server."), url: nil)
} }

View File

@@ -157,7 +157,7 @@ class UserSettingsStore: ObservableObject {
} }
} }
@Setting(key: "libretranslate_server", default_value: .vern) @StringSetting(key: "libretranslate_server", default_value: .terraprint)
var libretranslate_server: LibreTranslateServer var libretranslate_server: LibreTranslateServer
@Setting(key: "libretranslate_url", default_value: "") @Setting(key: "libretranslate_url", default_value: "")