diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json
index 92266035..58742e33 100644
--- a/apps/readest-app/public/locales/ar/translation.json
+++ b/apps/readest-app/public/locales/ar/translation.json
@@ -928,5 +928,8 @@
"Second (00-59)": "الثانية (00-59)",
"Show Source": "إظهار المصدر",
"No content to preview": "لا يوجد محتوى للمعاينة",
- "Export": "تصدير"
+ "Export": "تصدير",
+ "Set Timeout": "تعيين المهلة",
+ "Select Voice": "اختر الصوت",
+ "Toggle Sticky Bottom TTS Bar": "تبديل شريط TTS الثابت"
}
diff --git a/apps/readest-app/public/locales/bn/translation.json b/apps/readest-app/public/locales/bn/translation.json
index e442e25c..3cf0fe1a 100644
--- a/apps/readest-app/public/locales/bn/translation.json
+++ b/apps/readest-app/public/locales/bn/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "সেকেন্ড (00-59)",
"Show Source": "উৎস দেখান",
"No content to preview": "প্রিভিউ করার জন্য কোনো কন্টেন্ট নেই",
- "Export": "রপ্তানি"
+ "Export": "রপ্তানি",
+ "Set Timeout": "টাইমআউট সেট করুন",
+ "Select Voice": "ভয়েস নির্বাচন করুন",
+ "Toggle Sticky Bottom TTS Bar": "স্থির TTS বার টগল করুন"
}
diff --git a/apps/readest-app/public/locales/bo/translation.json b/apps/readest-app/public/locales/bo/translation.json
index 782a221f..0d05e868 100644
--- a/apps/readest-app/public/locales/bo/translation.json
+++ b/apps/readest-app/public/locales/bo/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "སྐར་ཆ། (00-59)",
"Show Source": "འབྱུང་ཁུངས་མངོན་པ།",
"No content to preview": "སྔོན་ལྟ་བྱེད་པའི་དོན་རྐྱེན་མེད།",
- "Export": "ཕྱིར་འདོན།"
+ "Export": "ཕྱིར་འདོན།",
+ "Set Timeout": "དུས་ཚོད་སྒྲིག་པ།",
+ "Select Voice": "སྐད་གདངས་འདེམས།",
+ "Toggle Sticky Bottom TTS Bar": "TTS སྡོམ་ཐིག་བརྗེ་བ།"
}
diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json
index 359b5fb7..54e9e941 100644
--- a/apps/readest-app/public/locales/de/translation.json
+++ b/apps/readest-app/public/locales/de/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "Sekunde (00-59)",
"Show Source": "Quelle anzeigen",
"No content to preview": "Kein Inhalt zur Vorschau",
- "Export": "Exportieren"
+ "Export": "Exportieren",
+ "Set Timeout": "Zeitlimit festlegen",
+ "Select Voice": "Stimme auswählen",
+ "Toggle Sticky Bottom TTS Bar": "Fixierte TTS-Leiste umschalten"
}
diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json
index f45bc8d6..1b5e6294 100644
--- a/apps/readest-app/public/locales/el/translation.json
+++ b/apps/readest-app/public/locales/el/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "Δευτερόλεπτο (00-59)",
"Show Source": "Εμφάνιση πηγής",
"No content to preview": "Δεν υπάρχει περιεχόμενο για προεπισκόπηση",
- "Export": "Εξαγωγή"
+ "Export": "Εξαγωγή",
+ "Set Timeout": "Ορισμός χρονικού ορίου",
+ "Select Voice": "Επιλογή φωνής",
+ "Toggle Sticky Bottom TTS Bar": "Εναλλαγή καρφιτσωμένης μπάρας TTS"
}
diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json
index c3edc676..2b11d9aa 100644
--- a/apps/readest-app/public/locales/es/translation.json
+++ b/apps/readest-app/public/locales/es/translation.json
@@ -898,5 +898,8 @@
"Second (00-59)": "Segundo (00-59)",
"Show Source": "Mostrar fuente",
"No content to preview": "Sin contenido para previsualizar",
- "Export": "Exportar"
+ "Export": "Exportar",
+ "Set Timeout": "Establecer tiempo límite",
+ "Select Voice": "Seleccionar voz",
+ "Toggle Sticky Bottom TTS Bar": "Alternar barra TTS fija"
}
diff --git a/apps/readest-app/public/locales/fa/translation.json b/apps/readest-app/public/locales/fa/translation.json
index cbb9b69e..cfa030c7 100644
--- a/apps/readest-app/public/locales/fa/translation.json
+++ b/apps/readest-app/public/locales/fa/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "ثانیه (۰۰-۵۹)",
"Show Source": "نمایش منبع",
"No content to preview": "محتوایی برای پیشنمایش وجود ندارد",
- "Export": "خروجی"
+ "Export": "خروجی",
+ "Set Timeout": "تنظیم مهلت زمانی",
+ "Select Voice": "انتخاب صدا",
+ "Toggle Sticky Bottom TTS Bar": "تغییر نوار TTS ثابت"
}
diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json
index 720c2ef8..fa1fefd4 100644
--- a/apps/readest-app/public/locales/fr/translation.json
+++ b/apps/readest-app/public/locales/fr/translation.json
@@ -898,5 +898,8 @@
"Second (00-59)": "Seconde (00-59)",
"Show Source": "Afficher la source",
"No content to preview": "Aucun contenu à prévisualiser",
- "Export": "Exporter"
+ "Export": "Exporter",
+ "Set Timeout": "Définir le délai",
+ "Select Voice": "Sélectionner la voix",
+ "Toggle Sticky Bottom TTS Bar": "Basculer la barre TTS fixée"
}
diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json
index 6c1a69fe..b5822029 100644
--- a/apps/readest-app/public/locales/hi/translation.json
+++ b/apps/readest-app/public/locales/hi/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "सेकंड (00-59)",
"Show Source": "स्रोत दिखाएं",
"No content to preview": "पूर्वावलोकन के लिए कोई सामग्री नहीं",
- "Export": "निर्यात करें"
+ "Export": "निर्यात करें",
+ "Set Timeout": "टाइमआउट सेट करें",
+ "Select Voice": "आवाज़ चुनें",
+ "Toggle Sticky Bottom TTS Bar": "स्थिर TTS बार टॉगल करें"
}
diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json
index 3f18788a..1b27f6fa 100644
--- a/apps/readest-app/public/locales/id/translation.json
+++ b/apps/readest-app/public/locales/id/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "Detik (00-59)",
"Show Source": "Tampilkan Sumber",
"No content to preview": "Tidak ada konten untuk dipratinjau",
- "Export": "Ekspor"
+ "Export": "Ekspor",
+ "Set Timeout": "Atur batas waktu",
+ "Select Voice": "Pilih suara",
+ "Toggle Sticky Bottom TTS Bar": "Alihkan bilah TTS tetap"
}
diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json
index e02fd1c0..ede2784b 100644
--- a/apps/readest-app/public/locales/it/translation.json
+++ b/apps/readest-app/public/locales/it/translation.json
@@ -898,5 +898,8 @@
"Second (00-59)": "Secondo (00-59)",
"Show Source": "Mostra sorgente",
"No content to preview": "Nessun contenuto da visualizzare",
- "Export": "Esporta"
+ "Export": "Esporta",
+ "Set Timeout": "Imposta timeout",
+ "Select Voice": "Seleziona voce",
+ "Toggle Sticky Bottom TTS Bar": "Attiva/disattiva barra TTS fissa"
}
diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json
index cae689ab..fc5bc9e2 100644
--- a/apps/readest-app/public/locales/ja/translation.json
+++ b/apps/readest-app/public/locales/ja/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "秒(00-59)",
"Show Source": "ソース表示",
"No content to preview": "プレビューするコンテンツがありません",
- "Export": "エクスポート"
+ "Export": "エクスポート",
+ "Set Timeout": "タイムアウト設定",
+ "Select Voice": "音声選択",
+ "Toggle Sticky Bottom TTS Bar": "TTSバー固定切替"
}
diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json
index 67cd04ba..dc4c7a02 100644
--- a/apps/readest-app/public/locales/ko/translation.json
+++ b/apps/readest-app/public/locales/ko/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "초 (00-59)",
"Show Source": "소스 표시",
"No content to preview": "미리 볼 내용 없음",
- "Export": "내보내기"
+ "Export": "내보내기",
+ "Set Timeout": "시간 제한 설정",
+ "Select Voice": "음성 선택",
+ "Toggle Sticky Bottom TTS Bar": "고정 TTS 바 전환"
}
diff --git a/apps/readest-app/public/locales/ms/translation.json b/apps/readest-app/public/locales/ms/translation.json
index 4a729232..43cf2295 100644
--- a/apps/readest-app/public/locales/ms/translation.json
+++ b/apps/readest-app/public/locales/ms/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "Saat (00-59)",
"Show Source": "Tunjukkan Sumber",
"No content to preview": "Tiada kandungan untuk pratonton",
- "Export": "Eksport"
+ "Export": "Eksport",
+ "Set Timeout": "Tetapkan masa tamat",
+ "Select Voice": "Pilih suara",
+ "Toggle Sticky Bottom TTS Bar": "Togol bar TTS melekit"
}
diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json
index 248f2343..45321f5c 100644
--- a/apps/readest-app/public/locales/nl/translation.json
+++ b/apps/readest-app/public/locales/nl/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "Seconde (00-59)",
"Show Source": "Bron tonen",
"No content to preview": "Geen inhoud om te bekijken",
- "Export": "Exporteren"
+ "Export": "Exporteren",
+ "Set Timeout": "Time-out instellen",
+ "Select Voice": "Stem selecteren",
+ "Toggle Sticky Bottom TTS Bar": "Vaste TTS-balk schakelen"
}
diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json
index f7a431c0..7b629796 100644
--- a/apps/readest-app/public/locales/pl/translation.json
+++ b/apps/readest-app/public/locales/pl/translation.json
@@ -908,5 +908,8 @@
"Second (00-59)": "Sekunda (00-59)",
"Show Source": "Pokaż źródło",
"No content to preview": "Brak treści do podglądu",
- "Export": "Eksportuj"
+ "Export": "Eksportuj",
+ "Set Timeout": "Ustaw limit czasu",
+ "Select Voice": "Wybierz głos",
+ "Toggle Sticky Bottom TTS Bar": "Przełącz przypiętą dolną belkę TTS"
}
diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json
index 06006802..a70dc955 100644
--- a/apps/readest-app/public/locales/pt/translation.json
+++ b/apps/readest-app/public/locales/pt/translation.json
@@ -898,5 +898,8 @@
"Second (00-59)": "Segundo (00-59)",
"Show Source": "Mostrar fonte",
"No content to preview": "Sem conteúdo para visualizar",
- "Export": "Exportar"
+ "Export": "Exportar",
+ "Set Timeout": "Definir tempo limite",
+ "Select Voice": "Selecionar voz",
+ "Toggle Sticky Bottom TTS Bar": "Alternar barra TTS fixada"
}
diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json
index 836bc73e..8c04cfdb 100644
--- a/apps/readest-app/public/locales/ru/translation.json
+++ b/apps/readest-app/public/locales/ru/translation.json
@@ -908,5 +908,8 @@
"Second (00-59)": "Секунда (00-59)",
"Show Source": "Показать источник",
"No content to preview": "Нет содержимого для просмотра",
- "Export": "Экспортировать"
+ "Export": "Экспортировать",
+ "Set Timeout": "Установить тайм-аут",
+ "Select Voice": "Выбрать голос",
+ "Toggle Sticky Bottom TTS Bar": "Переключить закреплённую панель TTS"
}
diff --git a/apps/readest-app/public/locales/si/translation.json b/apps/readest-app/public/locales/si/translation.json
index 700409c6..901d4899 100644
--- a/apps/readest-app/public/locales/si/translation.json
+++ b/apps/readest-app/public/locales/si/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "තත්පර (00-59)",
"Show Source": "මූලාශ්රය පෙන්වන්න",
"No content to preview": "පෙරදසුන සඳහා අන්තර්ගතයක් නැත",
- "Export": "අපනයනය කරන්න"
+ "Export": "අපනයනය කරන්න",
+ "Set Timeout": "කාල සීමාව සකසන්න",
+ "Select Voice": "හඬ තෝරන්න",
+ "Toggle Sticky Bottom TTS Bar": "ඇලවූ TTS තීරුව මාරු කරන්න"
}
diff --git a/apps/readest-app/public/locales/sv/translation.json b/apps/readest-app/public/locales/sv/translation.json
index 903b1d73..35440aa1 100644
--- a/apps/readest-app/public/locales/sv/translation.json
+++ b/apps/readest-app/public/locales/sv/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "Sekund (00-59)",
"Show Source": "Visa källa",
"No content to preview": "Inget innehåll att förhandsgranska",
- "Export": "Exportera"
+ "Export": "Exportera",
+ "Set Timeout": "Ställ in timeout",
+ "Select Voice": "Välj röst",
+ "Toggle Sticky Bottom TTS Bar": "Växla fast TTS-fält"
}
diff --git a/apps/readest-app/public/locales/ta/translation.json b/apps/readest-app/public/locales/ta/translation.json
index 73d047bb..509f8f51 100644
--- a/apps/readest-app/public/locales/ta/translation.json
+++ b/apps/readest-app/public/locales/ta/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "விநாடி (00-59)",
"Show Source": "மூலத்தைக் காட்டு",
"No content to preview": "முன்னோட்டத்திற்கு உள்ளடக்கம் இல்லை",
- "Export": "ஏற்றுமதி"
+ "Export": "ஏற்றுமதி",
+ "Set Timeout": "நேர வரம்பை அமைக்கவும்",
+ "Select Voice": "குரலைத் தேர்ந்தெடுக்கவும்",
+ "Toggle Sticky Bottom TTS Bar": "நிலையான TTS பட்டியை மாற்றவும்"
}
diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json
index 925731ed..e9abd279 100644
--- a/apps/readest-app/public/locales/th/translation.json
+++ b/apps/readest-app/public/locales/th/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "วินาที (00-59)",
"Show Source": "แสดงซอร์ส",
"No content to preview": "ไม่มีเนื้อหาให้แสดงตัวอย่าง",
- "Export": "ส่งออก"
+ "Export": "ส่งออก",
+ "Set Timeout": "ตั้งค่าหมดเวลา",
+ "Select Voice": "เลือกเสียง",
+ "Toggle Sticky Bottom TTS Bar": "สลับแถบ TTS แบบติด"
}
diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json
index 22cb1a4c..95e29766 100644
--- a/apps/readest-app/public/locales/tr/translation.json
+++ b/apps/readest-app/public/locales/tr/translation.json
@@ -888,5 +888,8 @@
"Second (00-59)": "Saniye (00-59)",
"Show Source": "Kaynağı Göster",
"No content to preview": "Önizlenecek içerik yok",
- "Export": "Dışa Aktar"
+ "Export": "Dışa Aktar",
+ "Set Timeout": "Zaman aşımını ayarla",
+ "Select Voice": "Ses seç",
+ "Toggle Sticky Bottom TTS Bar": "Sabit TTS çubuğunu değiştir"
}
diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json
index 7400a3a6..5feb92b4 100644
--- a/apps/readest-app/public/locales/uk/translation.json
+++ b/apps/readest-app/public/locales/uk/translation.json
@@ -908,5 +908,8 @@
"Second (00-59)": "Секунда (00-59)",
"Show Source": "Показати джерело",
"No content to preview": "Немає вмісту для перегляду",
- "Export": "Експортувати"
+ "Export": "Експортувати",
+ "Set Timeout": "Встановити тайм-аут",
+ "Select Voice": "Вибрати голос",
+ "Toggle Sticky Bottom TTS Bar": "Перемкнути закріплену панель TTS"
}
diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json
index af8e1a73..bad412af 100644
--- a/apps/readest-app/public/locales/vi/translation.json
+++ b/apps/readest-app/public/locales/vi/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "Giây (00-59)",
"Show Source": "Hiển thị nguồn",
"No content to preview": "Không có nội dung để xem trước",
- "Export": "Xuất"
+ "Export": "Xuất",
+ "Set Timeout": "Đặt thời gian chờ",
+ "Select Voice": "Chọn giọng nói",
+ "Toggle Sticky Bottom TTS Bar": "Bật/tắt thanh TTS cố định"
}
diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json
index 250e72e7..cfb700fd 100644
--- a/apps/readest-app/public/locales/zh-CN/translation.json
+++ b/apps/readest-app/public/locales/zh-CN/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "秒(00-59)",
"Show Source": "显示源码",
"No content to preview": "无内容可预览",
- "Export": "导出"
+ "Export": "导出",
+ "Set Timeout": "设置超时",
+ "Select Voice": "选择语音",
+ "Toggle Sticky Bottom TTS Bar": "切换固定TTS栏"
}
diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json
index 30e0db74..58475abf 100644
--- a/apps/readest-app/public/locales/zh-TW/translation.json
+++ b/apps/readest-app/public/locales/zh-TW/translation.json
@@ -878,5 +878,8 @@
"Second (00-59)": "秒(00-59)",
"Show Source": "顯示原始碼",
"No content to preview": "無內容可預覽",
- "Export": "匯出"
+ "Export": "匯出",
+ "Set Timeout": "設定逾時",
+ "Select Voice": "選擇語音",
+ "Toggle Sticky Bottom TTS Bar": "切換固定TTS欄"
}
diff --git a/apps/readest-app/src/app/reader/components/tts/TTSPanel.tsx b/apps/readest-app/src/app/reader/components/tts/TTSPanel.tsx
index fd9ae300..fbbf95c5 100644
--- a/apps/readest-app/src/app/reader/components/tts/TTSPanel.tsx
+++ b/apps/readest-app/src/app/reader/components/tts/TTSPanel.tsx
@@ -267,6 +267,8 @@ const TTSPanel = ({
tabIndex={0}
className='flex flex-col items-center justify-center rounded-full p-1 transition-transform duration-200 hover:scale-105'
onClick={(e) => e.currentTarget.focus()}
+ title={_('Set Timeout')}
+ aria-label={_('Set Timeout')}
>