feat(downloads): add adaptive mirror reliability

This commit is contained in:
NimBold
2026-08-09 04:06:05 +03:30
parent c3755ce886
commit 3b7c454ec7
23 changed files with 1381 additions and 76 deletions
+6
View File
@@ -843,6 +843,12 @@ const common = {
parallelDownloadsDescription: 'Max simultaneous active files',
automaticRetries: 'Automatic retries:',
automaticRetriesDescription: 'If a connection fails',
minimumNormalDownloadSpeed: 'Minimum normal-download speed (KiB/s):',
minimumNormalDownloadSpeedDescription: 'Retry HTTP, FTP, and SFTP transfers that remain below this speed. Use 0 to disable.',
retryNotFoundErrors: 'Retry temporary not-found errors',
retryNotFoundErrorsDescription: 'Treat HTTP/FTP resource-not-found responses as retryable within the automatic retry limit. Off by default.',
adaptiveMirrorSelection: 'Adaptive mirror selection',
adaptiveMirrorSelectionDescription: 'Use recent transfer performance to choose among multiple mirrors. Server statistics remain private on this device.',
systemNotification: 'Show system notification when download completes',
systemNotificationDescription: 'Uses your operating system notification settings',
completionChime: 'Play in-app completion chime',
+6
View File
@@ -843,6 +843,12 @@ const fa = {
parallelDownloadsDescription: 'حداکثر فایل‌های فعال همزمان',
automaticRetries: 'تلاش‌های مجدد خودکار:',
automaticRetriesDescription: 'اگر اتصالی ناموفق باشد',
minimumNormalDownloadSpeed: 'حداقل سرعت دانلود عادی (KiB/s):',
minimumNormalDownloadSpeedDescription: 'دانلودهای HTTP،‏ FTP و SFTP که سرعتشان پایین‌تر از این مقدار می‌ماند دوباره تلاش می‌شوند. برای غیرفعال‌کردن ۰ را وارد کنید.',
retryNotFoundErrors: 'تلاش دوباره برای خطای موقت «پیدا نشد»',
retryNotFoundErrorsDescription: 'پاسخ‌های «منبع پیدا نشد» در HTTP/FTP را تا سقف تلاش‌های خودکار دوباره امتحان می‌کند. به‌طور پیش‌فرض خاموش است.',
adaptiveMirrorSelection: 'انتخاب هوشمند میرور',
adaptiveMirrorSelectionDescription: 'برای انتخاب بین چند میرور از عملکرد دانلودهای اخیر استفاده می‌کند. آمار سرورها فقط روی همین دستگاه نگه‌داری می‌شود.',
systemNotification: 'نمایش اعلان سیستم هنگام تکمیل دانلود',
systemNotificationDescription: 'از تنظیمات اعلان سیستم‌عامل شما استفاده می‌کند',
completionChime: 'پخش صدای تکمیل درون برنامه‌ای',
+6
View File
@@ -843,6 +843,12 @@ const he = {
parallelDownloadsDescription: 'מקסימום קבצים פעילים בו-זמנית',
automaticRetries: 'ניסיונות חוזרים אוטומטיים:',
automaticRetriesDescription: 'אם חיבור נכשל',
minimumNormalDownloadSpeed: 'מהירות מזערית להורדה רגילה (KiB/s):',
minimumNormalDownloadSpeedDescription: 'ניסיון חוזר להורדות HTTP,‏ FTP ו-SFTP שנשארות מתחת למהירות זו. 0 משבית את האפשרות.',
retryNotFoundErrors: 'ניסיון חוזר לשגיאות זמניות של משאב שלא נמצא',
retryNotFoundErrorsDescription: 'מתייחס לתשובות HTTP/FTP של משאב שלא נמצא כניתנות לניסיון חוזר, עד למגבלת הניסיונות האוטומטיים. כבוי כברירת מחדל.',
adaptiveMirrorSelection: 'בחירה מסתגלת של שרת מראה',
adaptiveMirrorSelectionDescription: 'משתמש בביצועי העברות אחרונות כדי לבחור בין כמה שרתי מראה. סטטיסטיקת השרתים נשמרת באופן פרטי במכשיר זה.',
systemNotification: 'הצג התראת מערכת כאשר ההורדה מסתיימת',
systemNotificationDescription: 'משתמש בהגדרות ההתראות של מערכת ההפעלה שלך',
completionChime: 'השמע צליל סיום בתוך האפליקציה',
+6
View File
@@ -843,6 +843,12 @@ const ru = {
parallelDownloadsDescription: 'Максимальное число одновременно активных файлов',
automaticRetries: 'Автоматические повторы:',
automaticRetriesDescription: 'При сбое соединения',
minimumNormalDownloadSpeed: 'Минимальная скорость обычной загрузки (КиБ/с):',
minimumNormalDownloadSpeedDescription: 'Повторять HTTP-, FTP- и SFTP-загрузки, если скорость остаётся ниже указанной. Значение 0 отключает эту функцию.',
retryNotFoundErrors: 'Повторять временные ошибки «не найдено»',
retryNotFoundErrorsDescription: 'Считать ответы HTTP/FTP «ресурс не найден» повторяемыми в пределах лимита автоматических попыток. По умолчанию выключено.',
adaptiveMirrorSelection: 'Адаптивный выбор зеркала',
adaptiveMirrorSelectionDescription: 'Выбирать из нескольких зеркал по недавней скорости. Статистика серверов хранится конфиденциально на этом устройстве.',
systemNotification: 'Показывать системное уведомление по завершении загрузки',
systemNotificationDescription: 'Использует настройки уведомлений вашей операционной системы',
completionChime: 'Воспроизводить звуковой сигнал завершения в приложении',
+6
View File
@@ -843,6 +843,12 @@ const uk = {
parallelDownloadsDescription: 'Макс. одночасних активних файлів',
automaticRetries: 'Автоматичні повторні спроби:',
automaticRetriesDescription: 'Якщо з\'єднання перерветься',
minimumNormalDownloadSpeed: 'Мінімальна швидкість звичайного завантаження (КіБ/с):',
minimumNormalDownloadSpeedDescription: 'Повторювати HTTP-, FTP- і SFTP-завантаження, якщо швидкість залишається нижчою за вказану. Значення 0 вимикає цю функцію.',
retryNotFoundErrors: 'Повторювати тимчасові помилки «не знайдено»',
retryNotFoundErrorsDescription: 'Вважати відповіді HTTP/FTP «ресурс не знайдено» придатними до повтору в межах ліміту автоматичних спроб. Типово вимкнено.',
adaptiveMirrorSelection: 'Адаптивний вибір дзеркала',
adaptiveMirrorSelectionDescription: 'Вибирати з кількох дзеркал за нещодавньою швидкістю. Статистика серверів приватно зберігається на цьому пристрої.',
systemNotification: 'Показувати системне сповіщення по завершенні завантаження',
systemNotificationDescription: 'Використовує налаштування сповіщень вашої операційної системи',
completionChime: 'Відтворювати звуковий сигнал по завершенні в програмі',
+6
View File
@@ -843,6 +843,12 @@ const zhCN = {
parallelDownloadsDescription: '最大同时活动文件数',
automaticRetries: '自动重试:',
automaticRetriesDescription: '如果连接失败',
minimumNormalDownloadSpeed: '普通下载最低速度(KiB/s):',
minimumNormalDownloadSpeedDescription: 'HTTP、FTP 或 SFTP 下载持续低于此速度时重试。设为 0 可关闭。',
retryNotFoundErrors: '重试临时“未找到”错误',
retryNotFoundErrorsDescription: '在自动重试次数限制内,将 HTTP/FTP 的“资源未找到”响应视为可重试错误。默认关闭。',
adaptiveMirrorSelection: '自适应镜像选择',
adaptiveMirrorSelectionDescription: '根据近期传输性能在多个镜像之间选择。服务器统计信息仅私密保存在此设备上。',
systemNotification: '下载完成时显示系统通知',
systemNotificationDescription: '使用操作系统的通知设置',
completionChime: '播放应用内完成提示音',