Compare commits

...

2 Commits

Author SHA1 Message Date
8e852ed742 Remove language filtering from Universe feed because language detection can be inaccurate
Changelog-Removed: Removed language filtering from Universe feed because language detection can be inaccurate

Signed-off-by: Terry Yiu <git@tyiu.xyz>
2025-01-19 13:21:31 -05:00
7b4fc79030 Translate notes even if they are in a preferred language but not the current language as that is what users expect
Changelog-Fixed: Translate notes even if they are in a preferred language but not the current language as that is what users expect

Signed-off-by: Terry Yiu <git@tyiu.xyz>
2025-01-19 13:07:51 -05:00
4 changed files with 4 additions and 23 deletions

View File

@@ -186,9 +186,6 @@ class UserSettingsStore: ObservableObject {
@Setting(key: "show_music_statuses", default_value: true) @Setting(key: "show_music_statuses", default_value: true)
var show_music_statuses: Bool var show_music_statuses: Bool
@Setting(key: "show_only_preferred_languages", default_value: false)
var show_only_preferred_languages: Bool
@Setting(key: "multiple_events_per_pubkey", default_value: false) @Setting(key: "multiple_events_per_pubkey", default_value: false)
var multiple_events_per_pubkey: Bool var multiple_events_per_pubkey: Bool

View File

@@ -259,11 +259,10 @@ func should_translate(event: NostrEvent, our_keypair: Keypair, note_lang: String
} }
if let note_lang { if let note_lang {
let preferredLanguages = Set(Locale.preferredLanguages.map { localeToLanguage($0) }) let currentLanguage = localeToLanguage(Locale.current.identifier)
// Don't translate if its in our preferred languages // Don't translate if the note is in our current language
guard !preferredLanguages.contains(note_lang) else { guard currentLanguage != note_lang else {
// if its the same, give up and don't retry
return false return false
} }
} }

View File

@@ -20,8 +20,6 @@ struct SearchHomeView: View {
return ContentFilters(filters: filters).filter return ContentFilters(filters: filters).filter
} }
let preferredLanguages = Set(Locale.preferredLanguages.map { localeToLanguage($0) })
var SearchInput: some View { var SearchInput: some View {
HStack { HStack {
HStack{ HStack{
@@ -64,17 +62,7 @@ struct SearchHomeView: View {
return false return false
} }
if damus_state.settings.show_only_preferred_languages == false { return true
return true
}
// If we can't determine the note's language with 50%+ confidence, lean on the side of caution and show it anyway.
let note_lang = damus_state.events.get_cache_data(ev.id).translations_model.note_language
guard let note_lang else {
return true
}
return preferredLanguages.contains(note_lang)
}, },
content: { content: {
AnyView(VStack { AnyView(VStack {

View File

@@ -16,9 +16,6 @@ struct TranslationSettingsView: View {
var body: some View { var body: some View {
Form { Form {
Section(NSLocalizedString("Translations", comment: "Section title for selecting the translation service.")) { Section(NSLocalizedString("Translations", comment: "Section title for selecting the translation service.")) {
Toggle(NSLocalizedString("Show only preferred languages on Universe feed", comment: "Toggle to show notes that are only in the device's preferred languages on the Universe feed and hide notes that are in other languages."), isOn: $settings.show_only_preferred_languages)
.toggleStyle(.switch)
Picker(NSLocalizedString("Service", comment: "Prompt selection of translation service provider."), selection: $settings.translation_service) { Picker(NSLocalizedString("Service", comment: "Prompt selection of translation service provider."), selection: $settings.translation_service) {
ForEach(TranslationService.allCases.filter({ damus_state.purple.enable_purple ? true : $0 != .purple }), id: \.self) { server in ForEach(TranslationService.allCases.filter({ damus_state.purple.enable_purple ? true : $0 != .purple }), id: \.self) { server in
Text(server.model.displayName) Text(server.model.displayName)