perf(extensions): load store summaries and check updates asynchronously (#1583)

This commit is contained in:
Levi authored and GitHub committed 2026-10-14 20:08:41 +08:00
1 parent b86c2c18e7
commit 12860bb207
41 files changed
+1567 -257

No files matched your search

+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "هل أنت متأكد أنك تريد إلغاء تثبيت \"{name}\"؟",
"uninstall": "إلغاء التثبيت",
"unableLoadExtensions": "غير قادر على تمديد الشحنات",
"unableLoadExtensionDetails": "تعذّر تحميل تفاصيل الإضافة",
"filters": "عوامل التصفية",
"allTasks": "جميع المهام",
"searchDownloads": "ابحثوا عن التحميلات",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "إذا قمت بتكوين رمز API، فيجب تمرير معلومات المصادقة عند ربط الوكيل",
"useMcpApiTokenTemplate": "التبديل إلى إعدادات المصادقة",
"mcpRequiresTcp": "تتوفر إرشادات ربط الوكيل عندما يكون بروتوكول API هو TCP.",
"emptyTaskCreateHint": "اضغط على {action} لبدء التنزيل"
"emptyTaskCreateHint": "اضغط على {action} لبدء التنزيل",
"emptyStateRetryHint": "اضغط على {action} لإعادة المحاولة"
}
+3 -1
View File
@@ -334,6 +334,7 @@
"removeExtensionConfirm": "“{name}” uzantısını sistemdən silmək istədiyinizə əminsiniz?",
"uninstall": "Sistemdən sil",
"unableLoadExtensions": "Uzantıları yükləmək mümkün olmadı",
"unableLoadExtensionDetails": "Əlavənin təfərrüatlarını yükləmək mümkün olmadı",
"filters": "Süzgəclər",
"allTasks": "Bütün Tapşırıqlar",
"searchDownloads": "Endirmələri axtar…",
@@ -636,5 +637,6 @@
"useMcpApiTokenTemplate": "Doğrulamalı konfiqurasiyaya keç",
"webApiConfigReadOnlyHelp": "Veb versiyası API parametrlərinin onlayn dəyişdirilməsini dəstəkləmir. Server başlanğıc seçimlərini və ya konfiqurasiya faylını yeniləyin, sonra dəyişikliklərin qüvvəyə minməsi üçün xidməti yenidən başladın.",
"mcpRequiresTcp": "Agent əlaqə təlimatları API protokolu TCP olduqda mövcuddur.",
"emptyTaskCreateHint": "Endirməyə başlamaq üçün {action} düyməsinə klikləyin"
"emptyTaskCreateHint": "Endirməyə başlamaq üçün {action} düyməsinə klikləyin",
"emptyStateRetryHint": "Yenidən cəhd etmək üçün {action} düyməsinə klikləyin"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Esteu segur que voleu desinstal·lar “{name}”?",
"uninstall": "Desinstal· la",
"unableLoadExtensions": "No s' han pogut carregar les extensions",
"unableLoadExtensionDetails": "No s’han pogut carregar els detalls de l’extensió",
"filters": "Filtres",
"allTasks": "Totes les tasques",
"searchDownloads": "Cerca baixades...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Si heu configurat un token d’API, cal proporcionar la informació d’autenticació en connectar l’agent",
"useMcpApiTokenTemplate": "Canvia a la configuració autenticada",
"mcpRequiresTcp": "Les instruccions de connexió d’agents estan disponibles quan el protocol de l’API és TCP.",
"emptyTaskCreateHint": "Fes clic a {action} per començar a baixar"
"emptyTaskCreateHint": "Fes clic a {action} per començar a baixar",
"emptyStateRetryHint": "Fes clic a {action} per tornar-ho a provar"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Sind Sie sicher, dass Sie „{name}“ deinstallieren möchten?",
"uninstall": "Deinstallation",
"unableLoadExtensions": "Erweiterungen können nicht geladen werden",
"unableLoadExtensionDetails": "Erweiterungsdetails konnten nicht geladen werden",
"filters": "Filter",
"allTasks": "Alle Aufgaben",
"searchDownloads": "Downloads suchen…",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Wenn du ein API-Token konfiguriert hast, müssen beim Verbinden des Agents Authentifizierungsinformationen übermittelt werden",
"useMcpApiTokenTemplate": "Zur authentifizierten Konfiguration wechseln",
"mcpRequiresTcp": "Anweisungen zur Agent-Verbindung sind verfügbar, wenn das API-Protokoll TCP ist.",
"emptyTaskCreateHint": "Klicke auf {action}, um den Download zu starten"
"emptyTaskCreateHint": "Klicke auf {action}, um den Download zu starten",
"emptyStateRetryHint": "Klicke auf {action}, um es erneut zu versuchen"
}
+10
View File
@@ -344,6 +344,7 @@
"removeExtensionConfirm": "Are you sure you want to uninstall “{name}”?",
"uninstall": "Uninstall",
"unableLoadExtensions": "Unable to load extensions",
"unableLoadExtensionDetails": "Unable to load extension details",
"filters": "Filters",
"allTasks": "All Tasks",
"searchDownloads": "Search downloads…",
@@ -654,5 +655,14 @@
"type": "String"
}
}
},
"emptyStateRetryHint": "Click {action} to retry",
"@emptyStateRetryHint": {
"description": "Empty-state guidance; action is replaced with an inline icon button.",
"placeholders": {
"action": {
"type": "String"
}
}
}
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "¿Está seguro de que desea desinstalar “{name}”?",
"uninstall": "Desinstalación",
"unableLoadExtensions": "No se puede cargar extensiones",
"unableLoadExtensionDetails": "No se pudieron cargar los detalles de la extensión",
"filters": "Filtros",
"allTasks": "Todas las tareas",
"searchDownloads": "Búsqueda descargas...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Si has configurado un token de API, debes proporcionar la información de autenticación al conectar el agente",
"useMcpApiTokenTemplate": "Cambiar a la configuración autenticada",
"mcpRequiresTcp": "Las instrucciones de conexión de agentes están disponibles cuando el protocolo de la API es TCP.",
"emptyTaskCreateHint": "Haz clic en {action} para empezar a descargar"
"emptyTaskCreateHint": "Haz clic en {action} para empezar a descargar",
"emptyStateRetryHint": "Haz clic en {action} para reintentar"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "آیا مطمئن هستید که می خواهید \"{name}\" را حذف نصب کنید؟",
"uninstall": "حذف نصب",
"unableLoadExtensions": "افزونه‌ها بارگیری نشدند",
"unableLoadExtensionDetails": "بارگیری جزئیات افزونه ناموفق بود",
"filters": "فیلترها",
"allTasks": "همه وظایف",
"searchDownloads": "جستجوی دانلودها",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "اگر توکن API را پیکربندی کرده‌اید، هنگام اتصال عامل باید اطلاعات احراز هویت را ارسال کنید",
"useMcpApiTokenTemplate": "تغییر به پیکربندی احراز هویت",
"mcpRequiresTcp": "راهنمای اتصال عامل زمانی در دسترس است که پروتکل API روی TCP باشد.",
"emptyTaskCreateHint": "برای شروع دانلود روی {action} کلیک کنید"
"emptyTaskCreateHint": "برای شروع دانلود روی {action} کلیک کنید",
"emptyStateRetryHint": "برای تلاش مجدد روی {action} کلیک کنید"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Etes-vous sûr de vouloir désinstaller « {name} » ?",
"uninstall": "Désinstaller",
"unableLoadExtensions": "Impossible de charger les extensions",
"unableLoadExtensionDetails": "Impossible de charger les détails de l’extension",
"filters": "Filtres",
"allTasks": "Toutes les tâches",
"searchDownloads": "Recherche de téléchargements...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Si vous avez configuré un jeton API, les informations d’authentification doivent être transmises lors de la connexion de l’agent",
"useMcpApiTokenTemplate": "Passer à la configuration authentifiée",
"mcpRequiresTcp": "Les instructions de connexion des agents sont disponibles lorsque le protocole de l’API est TCP.",
"emptyTaskCreateHint": "Cliquez sur {action} pour commencer le téléchargement"
"emptyTaskCreateHint": "Cliquez sur {action} pour commencer le téléchargement",
"emptyStateRetryHint": "Cliquez sur {action} pour réessayer"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Biztos, hogy el kívánja távolítani a „{name}” programot?",
"uninstall": "Eltávolítás",
"unableLoadExtensions": "Nem lehet betölteni a bővítményeket",
"unableLoadExtensionDetails": "Nem sikerült betölteni a bővítmény részleteit",
"filters": "szűrők",
"allTasks": "Minden feladat",
"searchDownloads": "Letöltések keresése…",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Ha API-tokent állítottál be, az ügynök csatlakoztatásakor meg kell adni a hitelesítési adatokat",
"useMcpApiTokenTemplate": "Váltás hitelesített konfigurációra",
"mcpRequiresTcp": "Az ügynökcsatlakoztatási útmutató akkor érhető el, ha az API protokollja TCP.",
"emptyTaskCreateHint": "Kattints a {action} gombra a letöltés indításához"
"emptyTaskCreateHint": "Kattints a {action} gombra a letöltés indításához",
"emptyStateRetryHint": "Kattints a {action} gombra az újrapróbálkozáshoz"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Apakah Anda yakin ingin menghapus instalasi “{name}”?",
"uninstall": "Batalkan",
"unableLoadExtensions": "Tidak dapat memuat ekstensi",
"unableLoadExtensionDetails": "Tidak dapat memuat detail ekstensi",
"filters": "Filter",
"allTasks": "Semua Tugas",
"searchDownloads": "Cari pengunduhan...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Jika Anda telah mengatur token API, informasi autentikasi harus disertakan saat menghubungkan agen",
"useMcpApiTokenTemplate": "Beralih ke konfigurasi terautentikasi",
"mcpRequiresTcp": "Petunjuk koneksi agen tersedia saat protokol API menggunakan TCP.",
"emptyTaskCreateHint": "Klik {action} untuk mulai mengunduh"
"emptyTaskCreateHint": "Klik {action} untuk mulai mengunduh",
"emptyStateRetryHint": "Klik {action} untuk mencoba lagi"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Sei sicuro di voler disinstallare “{name}”?",
"uninstall": "Disinstallare",
"unableLoadExtensions": "Incapace di caricare le estensioni",
"unableLoadExtensionDetails": "Impossibile caricare i dettagli dell’estensione",
"filters": "Filtri",
"allTasks": "Tutte le attività",
"searchDownloads": "Cerca downloads...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Se hai configurato un token API, devi fornire le informazioni di autenticazione quando colleghi l’agente",
"useMcpApiTokenTemplate": "Passa alla configurazione autenticata",
"mcpRequiresTcp": "Le istruzioni per connettere gli agenti sono disponibili quando il protocollo API è TCP.",
"emptyTaskCreateHint": "Fai clic su {action} per iniziare il download"
"emptyTaskCreateHint": "Fai clic su {action} per iniziare il download",
"emptyStateRetryHint": "Fai clic su {action} per riprovare"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "「{name}」をアンインストールしたいですか?",
"uninstall": "アンインストール",
"unableLoadExtensions": "拡張機能を読み込むことができない",
"unableLoadExtensionDetails": "拡張機能の詳細を読み込めませんでした",
"filters": "フィルター",
"allTasks": "すべてのタスク",
"searchDownloads": "ダウンロード検索...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "API トークンを設定している場合、エージェント接続時に認証情報を渡す必要があります",
"useMcpApiTokenTemplate": "認証付き設定に切り替える",
"mcpRequiresTcp": "API プロトコルが TCP の場合にエージェント接続手順を利用できます。",
"emptyTaskCreateHint": "{action}をクリックしてダウンロードを開始"
"emptyTaskCreateHint": "{action}をクリックしてダウンロードを開始",
"emptyStateRetryHint": "{action}をクリックして再試行"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "당신은 \"{name}\"을 제거하고 싶지 않습니까?",
"uninstall": "Uninstaller를 제거",
"unableLoadExtensions": "확장을 로드할 수 없습니다",
"unableLoadExtensionDetails": "확장 프로그램 세부 정보를 불러올 수 없습니다",
"filters": "필터링",
"allTasks": "모든 작업",
"searchDownloads": "다운로드 수...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "API 토큰을 설정한 경우 에이전트 연결 시 인증 정보를 전달해야 합니다",
"useMcpApiTokenTemplate": "인증 구성으로 전환",
"mcpRequiresTcp": "API 프로토콜이 TCP일 때 에이전트 연결 안내를 사용할 수 있습니다.",
"emptyTaskCreateHint": "{action}을 눌러 다운로드 시작"
"emptyTaskCreateHint": "{action}을 눌러 다운로드 시작",
"emptyStateRetryHint": "{action}을 눌러 다시 시도"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Jesteś pewien, że chcesz odblokować \"{name}\"?",
"uninstall": "Odinstaluj",
"unableLoadExtensions": "Nie można wczytać rozszerzeń",
"unableLoadExtensionDetails": "Nie można wczytać szczegółów rozszerzenia",
"filters": "Filtry",
"allTasks": "Wszystkie zadania",
"searchDownloads": "Wyszukaj pliki do pobrania...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Jeśli skonfigurowano token API, podczas łączenia agenta należy przekazać dane uwierzytelniające",
"useMcpApiTokenTemplate": "Przełącz na konfigurację z uwierzytelnianiem",
"mcpRequiresTcp": "Instrukcje łączenia agentów są dostępne, gdy protokół API to TCP.",
"emptyTaskCreateHint": "Kliknij {action}, aby rozpocząć pobieranie"
"emptyTaskCreateHint": "Kliknij {action}, aby rozpocząć pobieranie",
"emptyStateRetryHint": "Kliknij {action}, aby spróbować ponownie"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Tem certeza de que deseja desinstalar “{name}”?",
"uninstall": "Desinstalar",
"unableLoadExtensions": "Não foi possível carregar extensões",
"unableLoadExtensionDetails": "Não foi possível carregar os detalhes da extensão",
"filters": "Filtros",
"allTasks": "Todas as Tarefas",
"searchDownloads": "Procurar downloads...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Se configurou um token de API, é necessário fornecer as informações de autenticação ao ligar o agente",
"useMcpApiTokenTemplate": "Mudar para a configuração autenticada",
"mcpRequiresTcp": "As instruções de conexão de agentes estão disponíveis quando o protocolo da API é TCP.",
"emptyTaskCreateHint": "Clique em {action} para começar a baixar"
"emptyTaskCreateHint": "Clique em {action} para começar a baixar",
"emptyStateRetryHint": "Clique em {action} para tentar novamente"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Вы уверены, что хотите удалить «{name}»?",
"uninstall": "Удалить",
"unableLoadExtensions": "Невозможно загрузить расширения",
"unableLoadExtensionDetails": "Не удалось загрузить сведения о расширении",
"filters": "Фильтры",
"allTasks": "Все задачи",
"searchDownloads": "Поисковые загрузки...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Если настроен API-токен, при подключении агента необходимо передать данные аутентификации",
"useMcpApiTokenTemplate": "Переключиться на конфигурацию с аутентификацией",
"mcpRequiresTcp": "Инструкции по подключению агентов доступны, когда протокол API — TCP.",
"emptyTaskCreateHint": "Нажмите {action}, чтобы начать загрузку"
"emptyTaskCreateHint": "Нажмите {action}, чтобы начать загрузку",
"emptyStateRetryHint": "Нажмите {action}, чтобы повторить попытку"
}
+3 -1
View File
@@ -343,6 +343,7 @@
"removeExtensionConfirm": "Naozaj chcete odinštalovať „{name}“?",
"uninstall": "Odinštalovať",
"unableLoadExtensions": "Nepodarilo sa načítať rozšírenia",
"unableLoadExtensionDetails": "Nepodarilo sa načítať podrobnosti rozšírenia",
"filters": "Filtre",
"allTasks": "Všetky úlohy",
"searchDownloads": "Hľadať sťahovania…",
@@ -653,5 +654,6 @@
"type": "String"
}
}
}
},
"emptyStateRetryHint": "Kliknutím na {action} skúsite znova"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "\"{name}\" ஐ நிச்சயமாக நிறுவல் நீக்க விரும்புகிறீர்களா?",
"uninstall": "நீக்குக",
"unableLoadExtensions": "நீட்டிப்புகளை ஏற்ற முடியவில்லை",
"unableLoadExtensionDetails": "நீட்டிப்பின் விவரங்களை ஏற்ற முடியவில்லை",
"filters": "வடிக்கட்டிகள்",
"allTasks": "அனைத்து பணிகளையும் நகலெடு",
"searchDownloads": "பதிவிறக்கங்களைத் தேடுங்கள்...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "API டோக்கனை அமைத்திருந்தால், முகவரை இணைக்கும்போது அங்கீகாரத் தகவலை அனுப்ப வேண்டும்",
"useMcpApiTokenTemplate": "அங்கீகார உள்ளமைவுக்கு மாறு",
"mcpRequiresTcp": "API நெறிமுறை TCP ஆக இருக்கும்போது முகவர் இணைப்பு வழிமுறைகள் கிடைக்கும்.",
"emptyTaskCreateHint": "பதிவிறக்கத்தைத் தொடங்க {action} ஐ அழுத்தவும்"
"emptyTaskCreateHint": "பதிவிறக்கத்தைத் தொடங்க {action} ஐ அழுத்தவும்",
"emptyStateRetryHint": "மீண்டும் முயற்சிக்க {action} ஐ அழுத்தவும்"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "“{name}” yüklememek istediğinizden emin misiniz?",
"uninstall": "Kaldır",
"unableLoadExtensions": "uzatmaları yükleyemez",
"unableLoadExtensionDetails": "Eklenti ayrıntıları yüklenemedi",
"filters": "Filtreler",
"allTasks": "Tüm Görevler",
"searchDownloads": "Arama indirs...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Bir API anahtarı yapılandırdıysanız, ajan bağlanırken kimlik doğrulama bilgileri iletilmelidir",
"useMcpApiTokenTemplate": "Kimlik doğrulamalı yapılandırmaya geç",
"mcpRequiresTcp": "Ajan bağlantı yönergeleri API protokolü TCP olduğunda kullanılabilir.",
"emptyTaskCreateHint": "İndirmeye başlamak için {action} düğmesine tıklayın"
"emptyTaskCreateHint": "İndirmeye başlamak için {action} düğmesine tıklayın",
"emptyStateRetryHint": "Yeniden denemek için {action} düğmesine tıklayın"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Ви впевнені, що ви хочете видалити \"{name}\"?",
"uninstall": "Видаляє",
"unableLoadExtensions": "Неможливо до розширення навантаження",
"unableLoadExtensionDetails": "Не вдалося завантажити відомості про розширення",
"filters": "Фільтри",
"allTasks": "Всі завдання",
"searchDownloads": "Пошук завантажень...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Якщо налаштовано API-токен, під час підключення агента потрібно передати дані автентифікації",
"useMcpApiTokenTemplate": "Перейти до конфігурації з автентифікацією",
"mcpRequiresTcp": "Інструкції з підключення агентів доступні, коли протокол API — TCP.",
"emptyTaskCreateHint": "Натисніть {action}, щоб почати завантаження"
"emptyTaskCreateHint": "Натисніть {action}, щоб почати завантаження",
"emptyStateRetryHint": "Натисніть {action}, щоб спробувати ще раз"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "Bạn có chắc muốn gỡ bỏ cài đặt “{name} chiếc xe không?",
"uninstall": "Hủy cài đặt",
"unableLoadExtensions": "Không thể nạp phần mở rộng",
"unableLoadExtensionDetails": "Không thể tải thông tin chi tiết tiện ích mở rộng",
"filters": "Lọc",
"allTasks": "Mọi tác vụ",
"searchDownloads": "Tải về...",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "Nếu đã cấu hình API Token, bạn cần truyền thông tin xác thực khi kết nối tác nhân",
"useMcpApiTokenTemplate": "Chuyển sang cấu hình có xác thực",
"mcpRequiresTcp": "Hướng dẫn kết nối tác nhân khả dụng khi giao thức API là TCP.",
"emptyTaskCreateHint": "Nhấn {action} để bắt đầu tải xuống"
"emptyTaskCreateHint": "Nhấn {action} để bắt đầu tải xuống",
"emptyStateRetryHint": "Nhấn {action} để thử lại"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "确定要卸载“{name}”吗?",
"uninstall": "卸载",
"unableLoadExtensions": "无法加载扩展",
"unableLoadExtensionDetails": "扩展详情加载失败",
"filters": "筛选",
"allTasks": "全部任务",
"searchDownloads": "搜索下载任务…",
@@ -452,5 +453,6 @@
"useMcpApiTokenTemplate": "切换为认证配置",
"webApiConfigReadOnlyHelp": "Web 版本不支持在线修改 API 配置。请修改服务端启动参数或配置文件,并重启服务后使配置生效。",
"mcpRequiresTcp": "API 通讯协议为 TCP 时才能使用 Agent 接入指引。",
"emptyTaskCreateHint": "点击{action}开始下载"
"emptyTaskCreateHint": "点击{action}开始下载",
"emptyStateRetryHint": "点击{action}重新加载"
}
+3 -1
View File
@@ -320,6 +320,7 @@
"removeExtensionConfirm": "確定要解除安裝「{name}」嗎?",
"uninstall": "解除安裝",
"unableLoadExtensions": "無法載入擴充套件",
"unableLoadExtensionDetails": "擴充功能詳情載入失敗",
"filters": "篩選",
"allTasks": "所有任務",
"searchDownloads": "搜尋下載任務…",
@@ -452,5 +453,6 @@
"webMcpApiTokenHint": "若已設定 API Token,接入 Agent 時需要傳遞認證資訊",
"useMcpApiTokenTemplate": "切換為認證設定",
"mcpRequiresTcp": "API 通訊協定為 TCP 時才能使用 Agent 接入指引。",
"emptyTaskCreateHint": "點擊{action}開始下載"
"emptyTaskCreateHint": "點擊{action}開始下載",
"emptyStateRetryHint": "點擊{action}重新載入"
}