Add translate.nostr.wine to available translation services
Closes: https://github.com/damus-io/damus/pull/1113 Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
@@ -32,6 +32,7 @@ enum TranslationService: String, CaseIterable, Identifiable, StringCodable {
|
||||
case libretranslate
|
||||
case deepl
|
||||
case nokyctranslate
|
||||
case winetranslate
|
||||
|
||||
var model: Model {
|
||||
switch self {
|
||||
@@ -43,6 +44,8 @@ enum TranslationService: String, CaseIterable, Identifiable, StringCodable {
|
||||
return .init(tag: self.rawValue, displayName: NSLocalizedString("DeepL (Proprietary, Higher Accuracy)", comment: "Dropdown option for selecting DeepL as the translation service."))
|
||||
case .nokyctranslate:
|
||||
return .init(tag: self.rawValue, displayName: NSLocalizedString("NoKYCTranslate.com (Prepay with BTC)", comment: "Dropdown option for selecting NoKYCTranslate.com as the translation service."))
|
||||
case .winetranslate:
|
||||
return .init(tag: self.rawValue, displayName: NSLocalizedString("translate.nostr.wine (DeepL, Pay with BTC)", comment: "Dropdown option for selecting translate.nostr.wine as the translation service."))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,6 +244,15 @@ class UserSettingsStore: ObservableObject {
|
||||
internal_nokyctranslate_api_key = newValue == "" ? nil : newValue
|
||||
}
|
||||
}
|
||||
|
||||
var winetranslate_api_key: String {
|
||||
get {
|
||||
return internal_winetranslate_api_key ?? ""
|
||||
}
|
||||
set {
|
||||
internal_winetranslate_api_key = newValue == "" ? nil : newValue
|
||||
}
|
||||
}
|
||||
|
||||
// These internal keys are necessary because entries in the keychain need to be Optional,
|
||||
// but the translation view needs non-Optional String in order to use them as Bindings.
|
||||
@@ -252,6 +261,9 @@ class UserSettingsStore: ObservableObject {
|
||||
|
||||
@KeychainStorage(account: "nokyctranslate_apikey")
|
||||
var internal_nokyctranslate_api_key: String?
|
||||
|
||||
@KeychainStorage(account: "winetranslate_apikey")
|
||||
var internal_winetranslate_api_key: String?
|
||||
|
||||
@KeychainStorage(account: "libretranslate_apikey")
|
||||
var internal_libretranslate_api_key: String?
|
||||
@@ -269,6 +281,8 @@ class UserSettingsStore: ObservableObject {
|
||||
return internal_deepl_api_key != nil
|
||||
case .nokyctranslate:
|
||||
return internal_nokyctranslate_api_key != nil
|
||||
case .winetranslate:
|
||||
return internal_winetranslate_api_key != nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user