diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 1a98b2a4..d46ff7e1 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -1191,5 +1191,9 @@ "Scroll Half Page Down": "تمرير نصف صفحة لأسفل", "Scroll Half Page Up": "تمرير نصف صفحة لأعلى", "Save Note": "حفظ الملاحظة", - "Single Section Scroll": "التمرير بقسم واحد" + "Single Section Scroll": "التمرير بقسم واحد", + "General": "عام", + "Text to Speech": "تحويل النص إلى كلام", + "Zoom": "تكبير", + "Window": "نافذة" } diff --git a/apps/readest-app/public/locales/bn/translation.json b/apps/readest-app/public/locales/bn/translation.json index b11eed13..c243d936 100644 --- a/apps/readest-app/public/locales/bn/translation.json +++ b/apps/readest-app/public/locales/bn/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "অর্ধেক পৃষ্ঠা নিচে স্ক্রল করুন", "Scroll Half Page Up": "অর্ধেক পৃষ্ঠা উপরে স্ক্রল করুন", "Save Note": "নোট সংরক্ষণ করুন", - "Single Section Scroll": "একক অধ্যায় স্ক্রল" + "Single Section Scroll": "একক অধ্যায় স্ক্রল", + "General": "সাধারণ", + "Text to Speech": "পাঠ থেকে বাক্য", + "Zoom": "জুম", + "Window": "উইন্ডো" } diff --git a/apps/readest-app/public/locales/bo/translation.json b/apps/readest-app/public/locales/bo/translation.json index e4c8ad4c..b42262b3 100644 --- a/apps/readest-app/public/locales/bo/translation.json +++ b/apps/readest-app/public/locales/bo/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "ཤོག་ངོས་ཕྱེད་ཀ་འོག་ཏུ།", "Scroll Half Page Up": "ཤོག་ངོས་ཕྱེད་ཀ་གོང་དུ།", "Save Note": "ཟིན་བྲིས་ཉར་བ།", - "Single Section Scroll": "དོན་ཚན་གཅིག་འགུལ་བ།" + "Single Section Scroll": "དོན་ཚན་གཅིག་འགུལ་བ།", + "General": "སྤྱིར་བཏང་།", + "Text to Speech": "ཡི་གེ་ནས་སྒྲ།", + "Zoom": "ཆེ་རུ་གཏོང་།", + "Window": "སྒེའུ་ཁུང་།" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index 6ddb8459..f8bf9ce5 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "Halbe Seite nach unten scrollen", "Scroll Half Page Up": "Halbe Seite nach oben scrollen", "Save Note": "Notiz speichern", - "Single Section Scroll": "Einzelabschnitt-Scrollen" + "Single Section Scroll": "Einzelabschnitt-Scrollen", + "General": "Allgemein", + "Text to Speech": "Sprachausgabe", + "Zoom": "Zoom", + "Window": "Fenster" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index 3e627597..f47da888 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "Κύλιση μισής σελίδας κάτω", "Scroll Half Page Up": "Κύλιση μισής σελίδας πάνω", "Save Note": "Αποθήκευση σημείωσης", - "Single Section Scroll": "Κύλιση μεμονωμένης ενότητας" + "Single Section Scroll": "Κύλιση μεμονωμένης ενότητας", + "General": "Γενικά", + "Text to Speech": "Κείμενο σε ομιλία", + "Zoom": "Ζουμ", + "Window": "Παράθυρο" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index e2369eb0..90f3c615 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -1152,5 +1152,9 @@ "Scroll Half Page Down": "Desplazar media página abajo", "Scroll Half Page Up": "Desplazar media página arriba", "Save Note": "Guardar nota", - "Single Section Scroll": "Desplazamiento por sección" + "Single Section Scroll": "Desplazamiento por sección", + "General": "General", + "Text to Speech": "Texto a voz", + "Zoom": "Zoom", + "Window": "Ventana" } diff --git a/apps/readest-app/public/locales/fa/translation.json b/apps/readest-app/public/locales/fa/translation.json index 1e2bfd74..fe27a3cf 100644 --- a/apps/readest-app/public/locales/fa/translation.json +++ b/apps/readest-app/public/locales/fa/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "پیمایش نیم صفحه پایین", "Scroll Half Page Up": "پیمایش نیم صفحه بالا", "Save Note": "ذخیره یادداشت", - "Single Section Scroll": "پیمایش تک‌بخشی" + "Single Section Scroll": "پیمایش تک‌بخشی", + "General": "عمومی", + "Text to Speech": "تبدیل متن به گفتار", + "Zoom": "بزرگ‌نمایی", + "Window": "پنجره" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index b4e63b43..f91a6731 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -1152,5 +1152,9 @@ "Scroll Half Page Down": "Défiler d'une demi-page vers le bas", "Scroll Half Page Up": "Défiler d'une demi-page vers le haut", "Save Note": "Enregistrer la note", - "Single Section Scroll": "Défilement par section" + "Single Section Scroll": "Défilement par section", + "General": "Général", + "Text to Speech": "Synthèse vocale", + "Zoom": "Zoom", + "Window": "Fenêtre" } diff --git a/apps/readest-app/public/locales/he/translation.json b/apps/readest-app/public/locales/he/translation.json index bd452a02..e5b6b851 100644 --- a/apps/readest-app/public/locales/he/translation.json +++ b/apps/readest-app/public/locales/he/translation.json @@ -1152,5 +1152,9 @@ "Scroll Half Page Down": "גלול חצי עמוד למטה", "Scroll Half Page Up": "גלול חצי עמוד למעלה", "Save Note": "שמור הערה", - "Single Section Scroll": "גלילת קטע בודד" + "Single Section Scroll": "גלילת קטע בודד", + "General": "כללי", + "Text to Speech": "טקסט לדיבור", + "Zoom": "זום", + "Window": "חלון" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index 68603bd0..9666f2c9 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "आधा पृष्ठ नीचे स्क्रॉल करें", "Scroll Half Page Up": "आधा पृष्ठ ऊपर स्क्रॉल करें", "Save Note": "नोट सहेजें", - "Single Section Scroll": "एकल अनुभाग स्क्रॉल" + "Single Section Scroll": "एकल अनुभाग स्क्रॉल", + "General": "सामान्य", + "Text to Speech": "पाठ से वाक्", + "Zoom": "ज़ूम", + "Window": "विंडो" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index bbb7e8f7..d9d85e1b 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "Gulir setengah halaman ke bawah", "Scroll Half Page Up": "Gulir setengah halaman ke atas", "Save Note": "Simpan catatan", - "Single Section Scroll": "Gulir Satu Bagian" + "Single Section Scroll": "Gulir Satu Bagian", + "General": "Umum", + "Text to Speech": "Teks ke Suara", + "Zoom": "Zoom", + "Window": "Jendela" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index 747c87db..c6967e5a 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -1152,5 +1152,9 @@ "Scroll Half Page Down": "Scorri mezza pagina in basso", "Scroll Half Page Up": "Scorri mezza pagina in alto", "Save Note": "Salva nota", - "Single Section Scroll": "Scorrimento a sezione singola" + "Single Section Scroll": "Scorrimento a sezione singola", + "General": "Generale", + "Text to Speech": "Sintesi vocale", + "Zoom": "Zoom", + "Window": "Finestra" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index c8c3f792..90a15d1c 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "半ページ下にスクロール", "Scroll Half Page Up": "半ページ上にスクロール", "Save Note": "メモを保存", - "Single Section Scroll": "単一セクションスクロール" + "Single Section Scroll": "単一セクションスクロール", + "General": "一般", + "Text to Speech": "テキスト読み上げ", + "Zoom": "ズーム", + "Window": "ウィンドウ" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index f339656a..24f588f9 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "반 페이지 아래로 스크롤", "Scroll Half Page Up": "반 페이지 위로 스크롤", "Save Note": "메모 저장", - "Single Section Scroll": "단일 섹션 스크롤" + "Single Section Scroll": "단일 섹션 스크롤", + "General": "일반", + "Text to Speech": "텍스트 음성 변환", + "Zoom": "확대/축소", + "Window": "창" } diff --git a/apps/readest-app/public/locales/ms/translation.json b/apps/readest-app/public/locales/ms/translation.json index 62e6a298..9c5e6cf3 100644 --- a/apps/readest-app/public/locales/ms/translation.json +++ b/apps/readest-app/public/locales/ms/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "Tatal separuh halaman ke bawah", "Scroll Half Page Up": "Tatal separuh halaman ke atas", "Save Note": "Simpan nota", - "Single Section Scroll": "Tatal Satu Bahagian" + "Single Section Scroll": "Tatal Satu Bahagian", + "General": "Umum", + "Text to Speech": "Teks ke Pertuturan", + "Zoom": "Zum", + "Window": "Tetingkap" } diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json index afec4818..17885700 100644 --- a/apps/readest-app/public/locales/nl/translation.json +++ b/apps/readest-app/public/locales/nl/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "Halve pagina naar beneden scrollen", "Scroll Half Page Up": "Halve pagina naar boven scrollen", "Save Note": "Notitie opslaan", - "Single Section Scroll": "Scrollen per sectie" + "Single Section Scroll": "Scrollen per sectie", + "General": "Algemeen", + "Text to Speech": "Tekst naar spraak", + "Zoom": "Zoom", + "Window": "Venster" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index 935c041f..3bc53d87 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -1165,5 +1165,9 @@ "Scroll Half Page Down": "Przewiń o pół strony w dół", "Scroll Half Page Up": "Przewiń o pół strony w górę", "Save Note": "Zapisz notatkę", - "Single Section Scroll": "Przewijanie pojedynczej sekcji" + "Single Section Scroll": "Przewijanie pojedynczej sekcji", + "General": "Ogólne", + "Text to Speech": "Tekst na mowę", + "Zoom": "Powiększenie", + "Window": "Okno" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index f55c3a84..d17b3ed0 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -1152,5 +1152,9 @@ "Scroll Half Page Down": "Rolar meia página para baixo", "Scroll Half Page Up": "Rolar meia página para cima", "Save Note": "Salvar nota", - "Single Section Scroll": "Rolagem por seção" + "Single Section Scroll": "Rolagem por seção", + "General": "Geral", + "Text to Speech": "Texto para fala", + "Zoom": "Zoom", + "Window": "Janela" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index 7c6db245..718de2e0 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -1165,5 +1165,9 @@ "Scroll Half Page Down": "Прокрутить на полстраницы вниз", "Scroll Half Page Up": "Прокрутить на полстраницы вверх", "Save Note": "Сохранить заметку", - "Single Section Scroll": "Прокрутка одного раздела" + "Single Section Scroll": "Прокрутка одного раздела", + "General": "Общие", + "Text to Speech": "Озвучивание", + "Zoom": "Масштаб", + "Window": "Окно" } diff --git a/apps/readest-app/public/locales/si/translation.json b/apps/readest-app/public/locales/si/translation.json index 72d1eacf..62f3bbe1 100644 --- a/apps/readest-app/public/locales/si/translation.json +++ b/apps/readest-app/public/locales/si/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "අඩ පිටුවක් පහළට අනුචලනය", "Scroll Half Page Up": "අඩ පිටුවක් ඉහළට අනුචලනය", "Save Note": "සටහන සුරකින්න", - "Single Section Scroll": "තනි කොටස අනුචලනය" + "Single Section Scroll": "තනි කොටස අනුචලනය", + "General": "සාමාන්‍ය", + "Text to Speech": "පෙළ කථනය", + "Zoom": "විශාලනය", + "Window": "කවුළුව" } diff --git a/apps/readest-app/public/locales/sl/translation.json b/apps/readest-app/public/locales/sl/translation.json index 8a3e4978..90806240 100644 --- a/apps/readest-app/public/locales/sl/translation.json +++ b/apps/readest-app/public/locales/sl/translation.json @@ -1165,5 +1165,9 @@ "Scroll Half Page Down": "Drsi pol strani navzdol", "Scroll Half Page Up": "Drsi pol strani navzgor", "Save Note": "Shrani opombo", - "Single Section Scroll": "Drsenje posameznega razdelka" + "Single Section Scroll": "Drsenje posameznega razdelka", + "General": "Splošno", + "Text to Speech": "Besedilo v govor", + "Zoom": "Povečava", + "Window": "Okno" } diff --git a/apps/readest-app/public/locales/sv/translation.json b/apps/readest-app/public/locales/sv/translation.json index 246ca76c..c1250318 100644 --- a/apps/readest-app/public/locales/sv/translation.json +++ b/apps/readest-app/public/locales/sv/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "Rulla en halv sida nedåt", "Scroll Half Page Up": "Rulla en halv sida uppåt", "Save Note": "Spara anteckning", - "Single Section Scroll": "Rullning per avsnitt" + "Single Section Scroll": "Rullning per avsnitt", + "General": "Allmänt", + "Text to Speech": "Text till tal", + "Zoom": "Zoom", + "Window": "Fönster" } diff --git a/apps/readest-app/public/locales/ta/translation.json b/apps/readest-app/public/locales/ta/translation.json index 66d3cfb1..910a3c1e 100644 --- a/apps/readest-app/public/locales/ta/translation.json +++ b/apps/readest-app/public/locales/ta/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "அரை பக்கம் கீழே உருட்டுக", "Scroll Half Page Up": "அரை பக்கம் மேலே உருட்டுக", "Save Note": "குறிப்பைச் சேமிக்கவும்", - "Single Section Scroll": "ஒற்றைப் பகுதி உருட்டல்" + "Single Section Scroll": "ஒற்றைப் பகுதி உருட்டல்", + "General": "பொது", + "Text to Speech": "உரையிலிருந்து பேச்சு", + "Zoom": "பெரிதாக்கு", + "Window": "சாளரம்" } diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json index 27325513..63e9d17f 100644 --- a/apps/readest-app/public/locales/th/translation.json +++ b/apps/readest-app/public/locales/th/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "เลื่อนลงครึ่งหน้า", "Scroll Half Page Up": "เลื่อนขึ้นครึ่งหน้า", "Save Note": "บันทึกโน้ต", - "Single Section Scroll": "เลื่อนทีละส่วน" + "Single Section Scroll": "เลื่อนทีละส่วน", + "General": "ทั่วไป", + "Text to Speech": "อ่านออกเสียง", + "Zoom": "ซูม", + "Window": "หน้าต่าง" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index e0baa566..e3f72ba3 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -1139,5 +1139,9 @@ "Scroll Half Page Down": "Yarım sayfa aşağı kaydır", "Scroll Half Page Up": "Yarım sayfa yukarı kaydır", "Save Note": "Notu kaydet", - "Single Section Scroll": "Tek Bölüm Kaydırma" + "Single Section Scroll": "Tek Bölüm Kaydırma", + "General": "Genel", + "Text to Speech": "Metinden konuşmaya", + "Zoom": "Yakınlaştırma", + "Window": "Pencere" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index 5ade1d9c..facbba6b 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -1165,5 +1165,9 @@ "Scroll Half Page Down": "Прокрутити на півсторінки вниз", "Scroll Half Page Up": "Прокрутити на півсторінки вгору", "Save Note": "Зберегти нотатку", - "Single Section Scroll": "Прокрутка одного розділу" + "Single Section Scroll": "Прокрутка одного розділу", + "General": "Загальне", + "Text to Speech": "Озвучення", + "Zoom": "Масштаб", + "Window": "Вікно" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index 79ec8d18..0cb7c219 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "Cuộn xuống nửa trang", "Scroll Half Page Up": "Cuộn lên nửa trang", "Save Note": "Lưu ghi chú", - "Single Section Scroll": "Cuộn từng phần" + "Single Section Scroll": "Cuộn từng phần", + "General": "Chung", + "Text to Speech": "Chuyển văn bản thành giọng nói", + "Zoom": "Thu phóng", + "Window": "Cửa sổ" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index b5a7d31b..9e7d69c0 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "向下滚动半页", "Scroll Half Page Up": "向上滚动半页", "Save Note": "保存笔记", - "Single Section Scroll": "单章节滚动" + "Single Section Scroll": "单章节滚动", + "General": "常规", + "Text to Speech": "文字转语音", + "Zoom": "缩放", + "Window": "窗口" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index 2df29747..4b67cef1 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -1126,5 +1126,9 @@ "Scroll Half Page Down": "向下捲動半頁", "Scroll Half Page Up": "向上捲動半頁", "Save Note": "儲存筆記", - "Single Section Scroll": "單章節捲動" + "Single Section Scroll": "單章節捲動", + "General": "一般", + "Text to Speech": "文字轉語音", + "Zoom": "縮放", + "Window": "視窗" } diff --git a/apps/readest-app/src/__tests__/helpers/shortcuts.test.ts b/apps/readest-app/src/__tests__/helpers/shortcuts.test.ts index d7c917f8..f2c969c0 100644 --- a/apps/readest-app/src/__tests__/helpers/shortcuts.test.ts +++ b/apps/readest-app/src/__tests__/helpers/shortcuts.test.ts @@ -56,6 +56,41 @@ describe('TTS navigation shortcuts', () => { }); }); +describe('No identical keybinding lists across actions (#3675)', () => { + // Pre-existing pairs where two actions intentionally share the exact + // same key list — both handlers guard on runtime context. + // TODO: consider giving these distinct bindings to avoid the same + // class of bug as #3675. + const KNOWN_PAIRS: ReadonlySet = new Set([ + 'onSearchSelection,onShowSearchBar', // ctrl+f / cmd+f + 'onCloseWindow,onWikipediaSelection', // ctrl+w / cmd+w + ]); + + it('should not have two actions with exactly the same key list', async () => { + const shortcuts = await getDefaults(); + const keyListToActions = new Map(); + for (const [name, entry] of Object.entries(shortcuts)) { + const id = [...entry.keys].sort().join(',').toLowerCase(); + const actions = keyListToActions.get(id) ?? []; + actions.push(name); + keyListToActions.set(id, actions); + } + const duplicates: string[] = []; + for (const [keys, actions] of keyListToActions) { + if (actions.length > 1) { + const pairId = [...actions].sort().join(','); + if (!KNOWN_PAIRS.has(pairId)) { + duplicates.push(`[${keys}] is shared by: ${actions.join(', ')}`); + } + } + } + expect( + duplicates, + `Actions with identical keybinding lists:\n${duplicates.join('\n')}`, + ).toEqual([]); + }); +}); + describe('getShortcutsForDisplay', () => { it('returns sections in the correct order', async () => { const mod = await getModule(); diff --git a/apps/readest-app/src/helpers/shortcuts.ts b/apps/readest-app/src/helpers/shortcuts.ts index b2e61c6d..0433c5f1 100644 --- a/apps/readest-app/src/helpers/shortcuts.ts +++ b/apps/readest-app/src/helpers/shortcuts.ts @@ -39,7 +39,7 @@ const DEFAULT_SHORTCUTS = { section: 'General', }, onToggleBookmark: { - keys: ['ctrl+d', 'cmd+d'], + keys: ['ctrl+b', 'cmd+b'], description: _('Toggle Bookmark'), section: 'General', }, @@ -270,12 +270,12 @@ export type ShortcutConfig = { }; export const SHORTCUT_SECTIONS = [ - 'General', - 'Navigation', - 'Text to Speech', - 'Selection', - 'Zoom', - 'Window', + _('General'), + _('Navigation'), + _('Text to Speech'), + _('Selection'), + _('Zoom'), + _('Window'), ] as const; type ShortcutDisplayItem = {