Compare commits
1 Commits
remember-s
...
tyiu/libre
| Author | SHA1 | Date | |
|---|---|---|---|
|
94504a116d
|
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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: "")
|
||||||
|
|||||||
Reference in New Issue
Block a user