From 4571a6bc221e53d8282759afd31a89d506910d85 Mon Sep 17 00:00:00 2001 From: Lev Poznyakov Date: Sat, 11 Apr 2026 02:26:39 +0400 Subject: [PATCH 1/3] showSwiftgramSubMenu --- Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift | 4 ++++ Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift | 5 +++++ .../TelegramUI/Sources/ChatInterfaceStateContextMenus.swift | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift b/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift index da487fa1c9..993d92a481 100644 --- a/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift +++ b/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift @@ -86,6 +86,7 @@ private enum SGBoolSetting: String { case stickerTimestamp case hideRecordingButton case hideTabBar + case showSwiftgramSubMenu case showDC case showCreationDate case showRegDate @@ -260,6 +261,7 @@ private func SGControllerEntries(presentationData: PresentationData, callListSet entries.append(.toggle(id: id.count, section: .videoNotes, settingName: .startTelescopeWithRearCam, value: SGSimpleSettings.shared.startTelescopeWithRearCam, text: i18n("Settings.VideoNotes.StartWithRearCam", lang), enabled: true)) entries.append(.header(id: id.count, section: .contextMenu, text: i18n("Settings.ContextMenu", lang), badge: nil)) + entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .showSwiftgramSubMenu, value: SGSimpleSettings.shared.showSwiftgramSubMenu, text: i18n("Settings.ShowSwiftgramSubMenu", lang), enabled: true)) entries.append(.notice(id: id.count, section: .contextMenu, text: i18n("Settings.ContextMenu.Notice", lang))) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowSaveToCloud, value: SGSimpleSettings.shared.contextShowSaveToCloud, text: i18n("ContextMenu.SaveToCloud", lang), enabled: true)) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowHideForwardName, value: SGSimpleSettings.shared.contextShowHideForwardName, text: strings.Conversation_ForwardOptions_HideSendersNames, enabled: true)) @@ -470,6 +472,8 @@ public func sgSettingsController(context: AccountContext/*, focusOnItemTag: Int? SGSimpleSettings.shared.hideTabBar = value simplePromise.set(true) // Trigger update for 'enabled' field of other toggles askForRestart?() + case .showSwiftgramSubMenu: + SGSimpleSettings.shared.showSwiftgramSubMenu = value case .showDC: SGSimpleSettings.shared.showDC = value case .showCreationDate: diff --git a/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift b/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift index 2db47deb51..748ba7aece 100644 --- a/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift +++ b/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift @@ -136,6 +136,7 @@ public class SGSimpleSettings { case stickerTimestamp case hideRecordingButton case hideTabBar + case showSwiftgramSubMenu case showDC case showCreationDate case showRegDate @@ -294,6 +295,7 @@ public class SGSimpleSettings { Keys.stickerTimestamp.rawValue: true, Keys.hideRecordingButton.rawValue: false, Keys.hideTabBar.rawValue: false, + Keys.showSwiftgramSubMenu.rawValue: true, Keys.showDC.rawValue: false, Keys.showCreationDate.rawValue: true, Keys.showRegDate.rawValue: true, @@ -479,6 +481,9 @@ public class SGSimpleSettings { @UserDefault(key: Keys.hideTabBar.rawValue) public var hideTabBar: Bool + @UserDefault(key: Keys.showSwiftgramSubMenu.rawValue) + public var showSwiftgramSubMenu: Bool + @UserDefault(key: Keys.showProfileId.rawValue) public var showProfileId: Bool diff --git a/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift b/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift index e08bd41e18..fd7abb281b 100644 --- a/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift +++ b/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift @@ -2299,7 +2299,7 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState } // MARK: Swiftgram - if !sgActions.isEmpty { + if SGSimpleSettings.shared.showSwiftgramSubMenu && !sgActions.isEmpty { if !actions.isEmpty { if let sgActionsIndex = sgActionsIndex { actions.insert(.separator, at: sgActionsIndex) From a05a736784548a02dcef2b0d08b729f664fd5c4d Mon Sep 17 00:00:00 2001 From: Lev Poznyakov Date: Sat, 11 Apr 2026 02:26:51 +0400 Subject: [PATCH 2/3] ai translations --- Swiftgram/SGStrings/Strings/af.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ar.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ca.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/cs.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/da.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/de.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/el.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/en.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/es.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/fa.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/fi.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/fr.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/he.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/hi.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/hu.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/id.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/it.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ja.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/km.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ko.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ku.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/nl.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/no.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/pl.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/pt.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ro.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/ru.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/si.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/sk.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/sr.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/sv.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/tr.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/uk.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/uz.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/vi.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/zh-hans.lproj/SGLocalizable.strings | 1 + Swiftgram/SGStrings/Strings/zh-hant.lproj/SGLocalizable.strings | 1 + 37 files changed, 37 insertions(+) diff --git a/Swiftgram/SGStrings/Strings/af.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/af.lproj/SGLocalizable.strings index 5acfe970d5..b6d6f2d4d4 100644 --- a/Swiftgram/SGStrings/Strings/af.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/af.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksimum"; "Settings.ShowProfileID" = "Wys profiel ID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\"-subkieslys"; "Settings.ShowDC" = "Wys Data Sentrum"; "Settings.ShowCreationDate" = "Wys Geskep Datum van Geselskap"; "Settings.ShowCreationDate.Notice" = "Die skeppingsdatum mag onbekend wees vir sommige gesprekke."; diff --git a/Swiftgram/SGStrings/Strings/ar.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ar.lproj/SGLocalizable.strings index 41f1168454..d6c711e831 100644 --- a/Swiftgram/SGStrings/Strings/ar.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ar.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "الحد الاقصى"; "Settings.ShowProfileID" = "إظهار معرف الملف الشخصي ID"; +"Settings.ShowSwiftgramSubMenu" = "القائمة الفرعية \"Swiftgram\""; "Settings.ShowDC" = "إظهار مركز البيانات"; "Settings.ShowCreationDate" = "إظهار تاريخ إنشاء المحادثة"; "Settings.ShowCreationDate.Notice" = "قد يكون تاريخ الإنشاء مفقوداً لبضع المحادثات."; diff --git a/Swiftgram/SGStrings/Strings/ca.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ca.lproj/SGLocalizable.strings index a48c45fa92..513d895b93 100644 --- a/Swiftgram/SGStrings/Strings/ca.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ca.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Màxim"; "Settings.ShowProfileID" = "Mostrar ID de perfil"; +"Settings.ShowSwiftgramSubMenu" = "Submenú \"Swiftgram\""; "Settings.ShowDC" = "Mostrar Data Center"; "Settings.ShowCreationDate" = "Mostrar Data de Creació de Xat"; "Settings.ShowCreationDate.Notice" = "La data de creació pot ser desconeguda per alguns xats."; diff --git a/Swiftgram/SGStrings/Strings/cs.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/cs.lproj/SGLocalizable.strings index 05cf6ed482..4238bd62ab 100644 --- a/Swiftgram/SGStrings/Strings/cs.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/cs.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maximální"; "Settings.ShowProfileID" = "Zobrazit ID profilu"; +"Settings.ShowSwiftgramSubMenu" = "Podnabídka „Swiftgram“"; "Settings.ShowDC" = "Zobrazit Data Center"; "Settings.ShowCreationDate" = "Zobrazit datum vytvoření chatu"; "Settings.ShowCreationDate.Notice" = "Datum vytvoření chatu může být neznámé pro některé chaty."; diff --git a/Swiftgram/SGStrings/Strings/da.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/da.lproj/SGLocalizable.strings index cb0c4174db..8a45dbe26d 100644 --- a/Swiftgram/SGStrings/Strings/da.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/da.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksimum"; "Settings.ShowProfileID" = "Profil-ID anzeigen"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\"-undermenu"; "Settings.ShowDC" = "Vis Datacenter"; "Settings.ShowCreationDate" = "Vis Chattens Oprettelsesdato"; "Settings.ShowCreationDate.Notice" = "Oprettelsesdatoen kan være ukendt for nogle chats."; diff --git a/Swiftgram/SGStrings/Strings/de.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/de.lproj/SGLocalizable.strings index 726e485dcf..9050e8998b 100644 --- a/Swiftgram/SGStrings/Strings/de.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/de.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maximum"; "Settings.ShowProfileID" = "Profil-ID anzeigen"; +"Settings.ShowSwiftgramSubMenu" = "Untermenü „Swiftgram“"; "Settings.ShowDC" = "Data Center anzeigen"; "Settings.ShowCreationDate" = "Chat-Erstellungsdatum anzeigen"; "Settings.ShowCreationDate.Notice" = "Das Erstellungsdatum kann für einige Chats unbekannt sein."; diff --git a/Swiftgram/SGStrings/Strings/el.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/el.lproj/SGLocalizable.strings index 010c2fd7ed..c4fef43509 100644 --- a/Swiftgram/SGStrings/Strings/el.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/el.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Μέγιστο"; "Settings.ShowProfileID" = "Εμφάνιση Αναγνωριστικού Προφίλ"; +"Settings.ShowSwiftgramSubMenu" = "Υπομενού \"Swiftgram\""; "Settings.ShowDC" = "Εμφάνιση Κέντρου Δεδομένων"; "Settings.ShowCreationDate" = "Εμφάνιση Ημερομηνίας Δημιουργίας Συνομιλίας"; "Settings.ShowCreationDate.Notice" = "Η ημερομηνία δημιουργίας μπορεί να είναι άγνωστη για μερικές συνομιλίες."; diff --git a/Swiftgram/SGStrings/Strings/en.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/en.lproj/SGLocalizable.strings index 0383460b65..0ca9d021dd 100644 --- a/Swiftgram/SGStrings/Strings/en.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/en.lproj/SGLocalizable.strings @@ -85,6 +85,7 @@ "Settings.DownloadsBoost.maximum" = "Maximum"; "Settings.ShowProfileID" = "Show Profile ID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" sub-menu"; "Settings.ShowDC" = "Show Data Center"; "Settings.ShowCreationDate" = "Show Chat Creation Date"; "Settings.ShowCreationDate.Notice" = "The creation date may be unknown for some chats."; diff --git a/Swiftgram/SGStrings/Strings/es.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/es.lproj/SGLocalizable.strings index 4fcb6aee08..eb2887a65d 100644 --- a/Swiftgram/SGStrings/Strings/es.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/es.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Máximo"; "Settings.ShowProfileID" = "Mostrar ID del perfil"; +"Settings.ShowSwiftgramSubMenu" = "Submenú \"Swiftgram\""; "Settings.ShowDC" = "Mostrar Centro de Datos"; "Settings.ShowCreationDate" = "Mostrar fecha de creación del chat"; "Settings.ShowCreationDate.Notice" = "La fecha de creación puede ser desconocida para algunos chats."; diff --git a/Swiftgram/SGStrings/Strings/fa.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/fa.lproj/SGLocalizable.strings index 1581d63536..f50e7825f7 100644 --- a/Swiftgram/SGStrings/Strings/fa.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/fa.lproj/SGLocalizable.strings @@ -5,5 +5,6 @@ "Settings.HidePhoneInSettingsUI" = "پنهان کردن شماره موبایل در تنظیمات"; "Settings.HidePhoneInSettingsUI.Notice" = "شماره شما فقط در رابط کاربری پنهان خواهد شد. برای پنهان کردن آن از دید دیگران ، لطفاً از تنظیمات حریم خصوصی استفاده کنید."; "Settings.ShowProfileID" = "نمایش ایدی پروفایل"; +"Settings.ShowSwiftgramSubMenu" = "زیرمنوی «Swiftgram»"; "Settings.Translation.QuickTranslateButton" = "دکمه ترجمه سریع"; "ContextMenu.SaveToCloud" = "ذخیره در فضای ابری"; diff --git a/Swiftgram/SGStrings/Strings/fi.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/fi.lproj/SGLocalizable.strings index 3e7ea96fbf..4dd5057ed7 100644 --- a/Swiftgram/SGStrings/Strings/fi.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/fi.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksimi"; "Settings.ShowProfileID" = "Näytä profiilin ID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\"-alivalikko"; "Settings.ShowDC" = "Näytä tietokeskus"; "Settings.ShowCreationDate" = "Näytä keskustelun luontipäivä"; "Settings.ShowCreationDate.Notice" = "Keskustelun luontipäivä voi olla tuntematon joillekin keskusteluille."; diff --git a/Swiftgram/SGStrings/Strings/fr.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/fr.lproj/SGLocalizable.strings index adc9a1b3d3..0cbe0e0854 100644 --- a/Swiftgram/SGStrings/Strings/fr.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/fr.lproj/SGLocalizable.strings @@ -61,6 +61,7 @@ "Settings.DownloadsBoost.maximum" = "Maximum"; "Settings.ShowProfileID" = "Afficher l'identifiant du profil"; +"Settings.ShowSwiftgramSubMenu" = "Sous-menu « Swiftgram »"; "Settings.ShowDC" = "Afficher le centre de données"; "Settings.ShowCreationDate" = "Afficher la date de création du chat"; "Settings.ShowCreationDate.Notice" = "La date de création peut être inconnue pour certains chats."; diff --git a/Swiftgram/SGStrings/Strings/he.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/he.lproj/SGLocalizable.strings index eb4562b7c8..54581eacbe 100644 --- a/Swiftgram/SGStrings/Strings/he.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/he.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "מרבי"; "Settings.ShowProfileID" = "הצג מזהה פרופיל"; +"Settings.ShowSwiftgramSubMenu" = "תת-תפריט \"Swiftgram\""; "Settings.ShowDC" = "הצג מרכז מידע"; "Settings.ShowCreationDate" = "הצג תאריך יצירת צ'אט"; "Settings.ShowCreationDate.Notice" = "ייתכן שתאריך היצירה אינו ידוע עבור חלק מהצ'אטים."; diff --git a/Swiftgram/SGStrings/Strings/hi.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/hi.lproj/SGLocalizable.strings index 6adc148a1d..1e55ed0ceb 100644 --- a/Swiftgram/SGStrings/Strings/hi.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/hi.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "अधिकतम"; "Settings.ShowProfileID" = "प्रोफ़ाइल ID दिखाएं"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" उप-मेनू"; "Settings.ShowDC" = "डेटा सेंटर दिखाएं"; "Settings.ShowCreationDate" = "चैट निर्माण तिथि दिखाएं"; "Settings.ShowCreationDate.Notice" = "कुछ चैट के लिए निर्माण तिथि अज्ञात हो सकती है।"; diff --git a/Swiftgram/SGStrings/Strings/hu.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/hu.lproj/SGLocalizable.strings index d357bb69b6..082269c563 100644 --- a/Swiftgram/SGStrings/Strings/hu.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/hu.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maximális"; "Settings.ShowProfileID" = "Profil azonosító megjelenítése"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" almenü"; "Settings.ShowDC" = "Adatközpont megjelenítése"; "Settings.ShowCreationDate" = "Beszélgetés létrehozásának dátumának megjelenítése"; "Settings.ShowCreationDate.Notice" = "A beszélgetés létrehozásának dátuma ismeretlen lehet néhány csevegésnél."; diff --git a/Swiftgram/SGStrings/Strings/id.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/id.lproj/SGLocalizable.strings index 44ba7a11a2..555b55a744 100644 --- a/Swiftgram/SGStrings/Strings/id.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/id.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksimal"; "Settings.ShowProfileID" = "Tampilkan ID Profil"; +"Settings.ShowSwiftgramSubMenu" = "Submenu \"Swiftgram\""; "Settings.ShowDC" = "Tampilkan Pusat Data"; "Settings.ShowCreationDate" = "Tampilkan Tanggal Pembuatan Obrolan"; "Settings.ShowCreationDate.Notice" = "Tanggal pembuatan mungkin tidak diketahui untuk beberapa obrolan."; diff --git a/Swiftgram/SGStrings/Strings/it.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/it.lproj/SGLocalizable.strings index ca32eafb8c..db306c8fa2 100644 --- a/Swiftgram/SGStrings/Strings/it.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/it.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Massimo"; "Settings.ShowProfileID" = "Mostra l'ID del profilo"; +"Settings.ShowSwiftgramSubMenu" = "Sottomenu \"Swiftgram\""; "Settings.ShowDC" = "Mostra Data Center"; "Settings.ShowCreationDate" = "Mostra data di creazione della chat"; "Settings.ShowCreationDate.Notice" = "La data di creazione potrebbe essere sconosciuta per alcune chat."; diff --git a/Swiftgram/SGStrings/Strings/ja.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ja.lproj/SGLocalizable.strings index afe45d6566..638b6cbc6e 100644 --- a/Swiftgram/SGStrings/Strings/ja.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ja.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "最大"; "Settings.ShowProfileID" = "プロフィールIDを表示"; +"Settings.ShowSwiftgramSubMenu" = "「Swiftgram」サブメニュー"; "Settings.ShowDC" = "データセンターを表示"; "Settings.ShowCreationDate" = "チャットの作成日を表示"; "Settings.ShowCreationDate.Notice" = "作成日が不明なチャットがあります。"; diff --git a/Swiftgram/SGStrings/Strings/km.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/km.lproj/SGLocalizable.strings index 928cf393a6..09ebe12a68 100644 --- a/Swiftgram/SGStrings/Strings/km.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/km.lproj/SGLocalizable.strings @@ -1,4 +1,5 @@ "Settings.Tabs.Header" = "ថេប"; +"Settings.ShowSwiftgramSubMenu" = "ម៉ឺនុយរង \"Swiftgram\""; "Settings.Tabs.ShowContacts" = "បង្ហាញថេបទំនាក់ទំនង"; "Settings.VideoNotes.Header" = "រង្វង់វីដេអូ"; "Settings.VideoNotes.StartWithRearCam" = "ចាប់ផ្ដើមជាមួយកាមេរ៉ាក្រោយ"; diff --git a/Swiftgram/SGStrings/Strings/ko.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ko.lproj/SGLocalizable.strings index 501a5f64b4..174631069c 100644 --- a/Swiftgram/SGStrings/Strings/ko.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ko.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "최대"; "Settings.ShowProfileID" = "프로필 ID 표시"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" 하위 메뉴"; "Settings.ShowDC" = "데이터센터보기"; "Settings.ShowCreationDate" = "채팅 생성 날짜 표시"; "Settings.ShowCreationDate.Notice" = "몇몇 채팅에 대해서는 생성 날짜를 알 수 없을 수 있습니다."; diff --git a/Swiftgram/SGStrings/Strings/ku.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ku.lproj/SGLocalizable.strings index 62ac20a89c..5d9a245b9c 100644 --- a/Swiftgram/SGStrings/Strings/ku.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ku.lproj/SGLocalizable.strings @@ -1,4 +1,5 @@ "Settings.Tabs.Header" = "تابەکان"; +"Settings.ShowSwiftgramSubMenu" = "ژێرپێڕستی \"Swiftgram\""; "Settings.Tabs.ShowContacts" = "نیشاندانی تابی کۆنتاکتەکان"; "Settings.VideoNotes.Header" = "ڤیدیۆ بازنەییەکان"; "Settings.VideoNotes.StartWithRearCam" = "دەستپێکردن بە کامێرای پشتەوە"; diff --git a/Swiftgram/SGStrings/Strings/nl.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/nl.lproj/SGLocalizable.strings index d80e6ca49e..61862be5b7 100644 --- a/Swiftgram/SGStrings/Strings/nl.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/nl.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maximaal"; "Settings.ShowProfileID" = "Toon profiel ID"; +"Settings.ShowSwiftgramSubMenu" = "Submenu \"Swiftgram\""; "Settings.ShowDC" = "Toon datacentrum"; "Settings.ShowCreationDate" = "Toon Chat Aanmaakdatum"; "Settings.ShowCreationDate.Notice" = "De aanmaakdatum kan onbekend zijn voor sommige chatten."; diff --git a/Swiftgram/SGStrings/Strings/no.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/no.lproj/SGLocalizable.strings index 5fd16d5c62..7cc241aaf8 100644 --- a/Swiftgram/SGStrings/Strings/no.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/no.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksimum"; "Settings.ShowProfileID" = "Vis profil-ID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\"-undermeny"; "Settings.ShowDC" = "Vis datasenter"; "Settings.ShowCreationDate" = "Vis chat opprettet dato"; "Settings.ShowCreationDate.Notice" = "Opprettelsesdatoen kan være ukjent for noen chat."; diff --git a/Swiftgram/SGStrings/Strings/pl.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/pl.lproj/SGLocalizable.strings index 9efb5c2247..bdc5e8c941 100644 --- a/Swiftgram/SGStrings/Strings/pl.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/pl.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksymalne"; "Settings.ShowProfileID" = "Pokaż ID"; +"Settings.ShowSwiftgramSubMenu" = "Podmenu „Swiftgram”"; "Settings.ShowDC" = "Pokaż centrum danych"; "Settings.ShowCreationDate" = "Pokaż datę utworzenia czatu"; "Settings.ShowCreationDate.Notice" = "Dla niektórych czatów data utworzenia może być nieznana."; diff --git a/Swiftgram/SGStrings/Strings/pt.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/pt.lproj/SGLocalizable.strings index a45973f988..52ad05023e 100644 --- a/Swiftgram/SGStrings/Strings/pt.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/pt.lproj/SGLocalizable.strings @@ -80,6 +80,7 @@ "Settings.DownloadsBoost.maximum" = "Máximo"; "Settings.ShowProfileID" = "Mostrar perfil"; +"Settings.ShowSwiftgramSubMenu" = "Submenu \"Swiftgram\""; "Settings.ShowDC" = "Mostrar Centro de Dados"; "Settings.ShowCreationDate" = "Mostrar data de criação do chat"; "Settings.ShowCreationDate.Notice" = "A data de criação pode ser desconhecida para alguns chats."; diff --git a/Swiftgram/SGStrings/Strings/ro.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ro.lproj/SGLocalizable.strings index ccb2ad1e46..9d712303c9 100644 --- a/Swiftgram/SGStrings/Strings/ro.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ro.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maxim"; "Settings.ShowProfileID" = "Arată ID-ul profilului"; +"Settings.ShowSwiftgramSubMenu" = "Submeniul „Swiftgram”"; "Settings.ShowDC" = "Arată Centrul de date"; "Settings.ShowCreationDate" = "Arată data creării chat-ului"; "Settings.ShowCreationDate.Notice" = "Data creării poate fi necunoscută pentru unele conversații."; diff --git a/Swiftgram/SGStrings/Strings/ru.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/ru.lproj/SGLocalizable.strings index 0488ecf5f3..fe2c0fceb1 100644 --- a/Swiftgram/SGStrings/Strings/ru.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/ru.lproj/SGLocalizable.strings @@ -80,6 +80,7 @@ "Settings.DownloadsBoost.maximum" = "Максимум"; "Settings.ShowProfileID" = "ID профилей"; +"Settings.ShowSwiftgramSubMenu" = "Подменю \"Swiftgram\""; "Settings.ShowDC" = "Показать дата-центр (DC)"; "Settings.ShowCreationDate" = "Показать дату создания чата"; "Settings.ShowCreationDate.Notice" = "Дата создания может быть неизвестна для некоторых чатов."; diff --git a/Swiftgram/SGStrings/Strings/si.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/si.lproj/SGLocalizable.strings index 869c70ba7e..b9ee9848b6 100644 --- a/Swiftgram/SGStrings/Strings/si.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/si.lproj/SGLocalizable.strings @@ -1,2 +1,3 @@ "Settings.Tabs.Header" = "පටිති"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" උප මෙනුව"; "ContextMenu.SaveToCloud" = "මේඝයට සුරකින්න"; diff --git a/Swiftgram/SGStrings/Strings/sk.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/sk.lproj/SGLocalizable.strings index 77376339e3..a599f0623e 100644 --- a/Swiftgram/SGStrings/Strings/sk.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/sk.lproj/SGLocalizable.strings @@ -1,4 +1,5 @@ "Settings.Tabs.Header" = "ZÁLOŽKY"; +"Settings.ShowSwiftgramSubMenu" = "Podponuka „Swiftgram“"; "Settings.Tabs.ShowContacts" = "Zobraziť kontakty"; "Settings.Tabs.ShowNames" = "Zobraziť názvy záložiek"; "ContextMenu.SaveToCloud" = "Uložiť na Cloud"; diff --git a/Swiftgram/SGStrings/Strings/sr.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/sr.lproj/SGLocalizable.strings index c71efa9f16..b0e58ba95c 100644 --- a/Swiftgram/SGStrings/Strings/sr.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/sr.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Максимално"; "Settings.ShowProfileID" = "Прикажи идентификациони број профила"; +"Settings.ShowSwiftgramSubMenu" = "Подмени „Swiftgram“"; "Settings.ShowDC" = "Прикажи центар података"; "Settings.ShowCreationDate" = "Прикажи датум креирања чата"; "Settings.ShowCreationDate.Notice" = "Можда није познат датум креирања за неке разговоре."; diff --git a/Swiftgram/SGStrings/Strings/sv.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/sv.lproj/SGLocalizable.strings index de9ed08295..3f6e64383f 100644 --- a/Swiftgram/SGStrings/Strings/sv.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/sv.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maximal"; "Settings.ShowProfileID" = "Visa profil-ID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\"-undermeny"; "Settings.ShowDC" = "Visa datacenter"; "Settings.ShowCreationDate" = "Visa datum för att skapa chatt"; "Settings.ShowCreationDate.Notice" = "Skapandedatumet kan vara okänt för vissa chattar."; diff --git a/Swiftgram/SGStrings/Strings/tr.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/tr.lproj/SGLocalizable.strings index 7f1b643ec7..914d177c61 100644 --- a/Swiftgram/SGStrings/Strings/tr.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/tr.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "En fazla"; "Settings.ShowProfileID" = "Profil ID'sini Göster"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" alt menüsü"; "Settings.ShowDC" = "Veri Merkezini Göster"; "Settings.ShowCreationDate" = "Sohbet Oluşturma Tarihini Göster"; "Settings.ShowCreationDate.Notice" = "Bazı sohbetler için oluşturma tarihi bilinmeyebilir."; diff --git a/Swiftgram/SGStrings/Strings/uk.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/uk.lproj/SGLocalizable.strings index 405fcfb869..7edb7116a9 100644 --- a/Swiftgram/SGStrings/Strings/uk.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/uk.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Максимальне"; "Settings.ShowProfileID" = "Показувати ID профілю"; +"Settings.ShowSwiftgramSubMenu" = "Підменю \"Swiftgram\""; "Settings.ShowDC" = "Показувати дата-центр"; "Settings.ShowCreationDate" = "Показувати дату створення чату"; "Settings.ShowCreationDate.Notice" = "Дата створення може бути невідома для деяких чатів."; diff --git a/Swiftgram/SGStrings/Strings/uz.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/uz.lproj/SGLocalizable.strings index cfab47bc31..bb4c38149e 100644 --- a/Swiftgram/SGStrings/Strings/uz.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/uz.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Maksimum"; "Settings.ShowProfileID" = "Profil Id'ni ko'rsatish"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" quyi menyusi"; "Settings.ShowDC" = "Ma'lumotlar bazasini ko'rsatish"; "Settings.ShowCreationDate" = "Suxbat yaratilgan sanani ko'rsatish"; "Settings.ShowCreationDate.Notice" = "Ba'zi sahifalarning yaratilish sanasi ma'lum emas."; diff --git a/Swiftgram/SGStrings/Strings/vi.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/vi.lproj/SGLocalizable.strings index 8878463be8..cfefccbd91 100644 --- a/Swiftgram/SGStrings/Strings/vi.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/vi.lproj/SGLocalizable.strings @@ -62,6 +62,7 @@ "Settings.DownloadsBoost.maximum" = "Tối đa"; "Settings.ShowProfileID" = "Hiện ID hồ sơ"; +"Settings.ShowSwiftgramSubMenu" = "Menu con \"Swiftgram\""; "Settings.ShowDC" = "Hiển thị Trung tâm Dữ liệu"; "Settings.ShowCreationDate" = "Hiển thị Ngày Tạo Chat"; "Settings.ShowCreationDate.Notice" = "Ngày tạo có thể không biết được đối với một số cuộc trò chuyện."; diff --git a/Swiftgram/SGStrings/Strings/zh-hans.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/zh-hans.lproj/SGLocalizable.strings index 460aabbfaa..b5e4f98f07 100644 --- a/Swiftgram/SGStrings/Strings/zh-hans.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/zh-hans.lproj/SGLocalizable.strings @@ -66,6 +66,7 @@ "Settings.DownloadsBoost.maximum" = "最大"; "Settings.ShowProfileID" = "显示用户 UID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" 子菜单"; "Settings.ShowDC" = "显示数据中心"; "Settings.ShowCreationDate" = "显示群组或频道的创建日期"; "Settings.ShowCreationDate.Notice" = "某些群组或频道可能缺少创建日期"; diff --git a/Swiftgram/SGStrings/Strings/zh-hant.lproj/SGLocalizable.strings b/Swiftgram/SGStrings/Strings/zh-hant.lproj/SGLocalizable.strings index cc3963ac1f..101a901b30 100644 --- a/Swiftgram/SGStrings/Strings/zh-hant.lproj/SGLocalizable.strings +++ b/Swiftgram/SGStrings/Strings/zh-hant.lproj/SGLocalizable.strings @@ -66,6 +66,7 @@ "Settings.DownloadsBoost.maximum" = "最大"; "Settings.ShowProfileID" = "顯示用戶 UID"; +"Settings.ShowSwiftgramSubMenu" = "\"Swiftgram\" 子選單"; "Settings.ShowDC" = "顯示資料中心 (DC)"; "Settings.ShowCreationDate" = "顯示對話建立日期"; "Settings.ShowCreationDate.Notice" = "某些對話可能會缺少建立日期"; From 7588b6c4cdae0249ee25a516b382323c4a3b0bc5 Mon Sep 17 00:00:00 2001 From: Lev Poznyakov Date: Mon, 15 Jun 2026 00:37:29 +0400 Subject: [PATCH 3/3] contextShowEdit --- Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift | 4 ++++ Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift | 5 +++++ .../TelegramUI/Sources/ChatInterfaceStateContextMenus.swift | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift b/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift index 993d92a481..0c16cebd18 100644 --- a/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift +++ b/Swiftgram/SGSettingsUI/Sources/SGSettingsController.swift @@ -72,6 +72,7 @@ private enum SGBoolSetting: String { case contextShowRestrict case contextShowReport case contextShowReply + case contextShowEdit case contextShowPin case contextShowSaveMedia case contextShowMessageReplies @@ -269,6 +270,7 @@ private func SGControllerEntries(presentationData: PresentationData, callListSet entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowRestrict, value: SGSimpleSettings.shared.contextShowRestrict, text: strings.Conversation_ContextMenuBan, enabled: true)) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowReport, value: SGSimpleSettings.shared.contextShowReport, text: strings.Conversation_ContextMenuReport, enabled: true)) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowReply, value: SGSimpleSettings.shared.contextShowReply, text: strings.Conversation_ContextMenuReply, enabled: true)) + entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowEdit, value: SGSimpleSettings.shared.contextShowEdit, text: strings.Conversation_MessageDialogEdit, enabled: true)) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowPin, value: SGSimpleSettings.shared.contextShowPin, text: strings.Conversation_Pin, enabled: true)) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowSaveMedia, value: SGSimpleSettings.shared.contextShowSaveMedia, text: strings.Conversation_SaveToFiles, enabled: true)) entries.append(.toggle(id: id.count, section: .contextMenu, settingName: .contextShowMessageReplies, value: SGSimpleSettings.shared.contextShowMessageReplies, text: strings.Conversation_ContextViewThread, enabled: true)) @@ -456,6 +458,8 @@ public func sgSettingsController(context: AccountContext/*, focusOnItemTag: Int? SGSimpleSettings.shared.contextShowReport = value case .contextShowReply: SGSimpleSettings.shared.contextShowReply = value + case .contextShowEdit: + SGSimpleSettings.shared.contextShowEdit = value case .contextShowPin: SGSimpleSettings.shared.contextShowPin = value case .contextShowSaveMedia: diff --git a/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift b/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift index 748ba7aece..148367c8ff 100644 --- a/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift +++ b/Swiftgram/SGSimpleSettings/Sources/SimpleSettings.swift @@ -120,6 +120,7 @@ public class SGSimpleSettings { case contextShowHideForwardName case contextShowReport case contextShowReply + case contextShowEdit case contextShowPin case contextShowSaveMedia case contextShowMessageReplies @@ -279,6 +280,7 @@ public class SGSimpleSettings { Keys.contextShowHideForwardName.rawValue: true, Keys.contextShowReport.rawValue: true, Keys.contextShowReply.rawValue: true, + Keys.contextShowEdit.rawValue: true, Keys.contextShowPin.rawValue: true, Keys.contextShowSaveMedia.rawValue: true, Keys.contextShowMessageReplies.rawValue: true, @@ -433,6 +435,9 @@ public class SGSimpleSettings { @UserDefault(key: Keys.contextShowReply.rawValue) public var contextShowReply: Bool + @UserDefault(key: Keys.contextShowEdit.rawValue) + public var contextShowEdit: Bool + @UserDefault(key: Keys.contextShowPin.rawValue) public var contextShowPin: Bool diff --git a/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift b/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift index fd7abb281b..5afb42522f 100644 --- a/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift +++ b/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift @@ -1624,6 +1624,7 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState }) } }))) + if !SGSimpleSettings.shared.contextShowEdit { sgActions.append(actions.removeLast()) } } if let message = messages.first, message.id.namespace == Namespaces.Message.Cloud, let channel = message.peers[message.id.peerId] as? TelegramChannel, channel.isMonoForum { @@ -2544,7 +2545,7 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState } if message.id.namespace == Namespaces.Message.QuickReplyCloud { - if data.canEdit { + if data.canEdit && SGSimpleSettings.shared.contextShowEdit { actions.append(.action(ContextMenuActionItem(text: chatPresentationInterfaceState.strings.Conversation_MessageDialogEdit, icon: { theme in return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Edit"), color: theme.actionSheet.primaryTextColor) }, action: { c, f in