From 609d2cee8ce58bc14c83669976827acbbf5231c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 24 Jul 2026 00:21:43 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=E2=9E=95=20Option=20to=20include=20subfold?= =?UTF-8?q?ers=20for=20the=20folder=20filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Options.vue | 3 +++ src/composables/useStatsData.js | 12 ++++++++- src/definitions.js | 1 + src/options/IncludeSubfoldersOption.vue | 35 +++++++++++++++++++++++++ src/utils.js | 15 +++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 src/options/IncludeSubfoldersOption.vue diff --git a/src/Options.vue b/src/Options.vue index 4f40fa0..b58b1be 100644 --- a/src/Options.vue +++ b/src/Options.vue @@ -28,6 +28,8 @@ + + @@ -95,6 +97,7 @@ import LiveCountUpOption from '@/options/LiveCountUpOption.vue'; import AutoRefreshOption from '@/options/AutoRefreshOption.vue'; import StartOfWeekOption from '@/options/StartOfWeekOption.vue'; import AddressesOption from '@/options/AddressesOption.vue'; +import IncludeSubfoldersOption from '@/options/IncludeSubfoldersOption.vue'; import AccountsOption from '@/options/AccountsOption.vue'; import SelfMessagesOption from '@/options/SelfMessagesOption.vue'; import MaxListCountOption from '@/options/MaxListCountOption.vue'; diff --git a/src/composables/useStatsData.js b/src/composables/useStatsData.js index 9c86cd0..cd5dd08 100644 --- a/src/composables/useStatsData.js +++ b/src/composables/useStatsData.js @@ -7,6 +7,7 @@ import { useI18n } from 'vue-i18n'; import { accentColors, defaultColors, defaultOptions } from '@/definitions.js'; import { filterActiveAccounts, + flattenSubfolders, queryMessages, setTheme, sortAndLimitObject, @@ -124,6 +125,9 @@ export function useStatsData() { .split(',') .map((x) => x.trim()); } + if (n.includeSubfolders != o.includeSubfolders) { + options.includeSubfolders = n.includeSubfolders; + } if (JSON.stringify(n.accounts) != JSON.stringify(o.accounts)) { options.accounts = n.accounts; } @@ -170,6 +174,7 @@ export function useStatsData() { .split(',') .map((x) => x.trim()) : defaultOptions.addresses; + options.includeSubfolders = result.options.includeSubfolders ?? defaultOptions.includeSubfolders; options.accounts = result.options.accounts ?? defaultOptions.accounts; options.accountColors = result.options.accountColors ?? defaultOptions.accountColors; options.selfMessages = result.options.selfMessages ?? defaultOptions.selfMessages; @@ -260,7 +265,12 @@ export function useStatsData() { ? a.identities.map((i) => i.email.toLowerCase()) : options.addresses; // get all folders and subfolders from given account or selected folder of active account (filter field) - const foldersList = active.folder ? [JSON.parse(JSON.stringify(active.folder))] : await traverseAccount(a); + const foldersList = active.folder + ? [ + JSON.parse(JSON.stringify(active.folder)), + ...(options.includeSubfolders ? flattenSubfolders(active.folder) : []), + ] + : await traverseAccount(a); // build folder list for filter selection, if not already present if (!folders.value.length) { folders.value = foldersList; diff --git a/src/definitions.js b/src/definitions.js index 248c60c..0af4749 100644 --- a/src/definitions.js +++ b/src/definitions.js @@ -16,6 +16,7 @@ const defaultOptions = { autoRefreshInterval: 30, startOfWeek: localStartOfWeek(), addresses: '', + includeSubfolders: false, accounts: [], accountColors: {}, selfMessages: 'none', diff --git a/src/options/IncludeSubfoldersOption.vue b/src/options/IncludeSubfoldersOption.vue new file mode 100644 index 0000000..9cb1bd4 --- /dev/null +++ b/src/options/IncludeSubfoldersOption.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/utils.js b/src/utils.js index 07394b4..a3ce3c6 100644 --- a/src/utils.js +++ b/src/utils.js @@ -163,6 +163,20 @@ const traverseAccount = async (account) => { return foldersList; }; +// flatten all subfolders of a given folder into a single array +const flattenSubfolders = (folder) => { + const list = []; + function traverse(folders) { + if (!folders?.length) return; + folders.forEach((f) => { + list.push(f); + traverse(f.subFolders); + }); + } + traverse(folder.subFolders); + return list; +}; + // extract an email address from a given string const extractEmailAddress = (s) => { if (s.lastIndexOf('<') >= 0 && s.lastIndexOf('>') >= 0) { @@ -358,6 +372,7 @@ export { contactInvolved, extractEmailAddress, filterActiveAccounts, + flattenSubfolders, formatBytes, formatDate, formatFolder, From d668c5ed82e24d16da4be844639f7486051a1595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 24 Jul 2026 00:29:26 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=8C=90=20Update=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/_locales/ca/messages.json | 4 ++++ public/_locales/cs/messages.json | 4 ++++ public/_locales/de/messages.json | 4 ++++ public/_locales/en/messages.json | 4 ++++ public/_locales/es/messages.json | 4 ++++ public/_locales/fi/messages.json | 4 ++++ public/_locales/fr/messages.json | 4 ++++ public/_locales/gl/messages.json | 4 ++++ public/_locales/hi/messages.json | 4 ++++ public/_locales/hu/messages.json | 4 ++++ public/_locales/id/messages.json | 4 ++++ public/_locales/it/messages.json | 4 ++++ public/_locales/ja/messages.json | 4 ++++ public/_locales/nl/messages.json | 4 ++++ public/_locales/pl/messages.json | 4 ++++ public/_locales/pt-BR/messages.json | 4 ++++ public/_locales/pt/messages.json | 4 ++++ public/_locales/ru/messages.json | 4 ++++ public/_locales/sk/messages.json | 4 ++++ public/_locales/sv/messages.json | 4 ++++ public/_locales/th/messages.json | 4 ++++ public/_locales/tr/messages.json | 4 ++++ public/_locales/uk/messages.json | 4 ++++ public/_locales/uz/messages.json | 4 ++++ public/_locales/zh-Hans-CN/messages.json | 4 ++++ public/_locales/zh-Hant-TW/messages.json | 4 ++++ 26 files changed, 104 insertions(+) diff --git a/public/_locales/ca/messages.json b/public/_locales/ca/messages.json index 812efba..2584d02 100644 --- a/public/_locales/ca/messages.json +++ b/public/_locales/ca/messages.json @@ -44,6 +44,10 @@ "stats": "Gràfics i dades", "storage": "Emmagatzematge i memòria cau" }, + "includeSubfolders": { + "description": "En filtrar missatges d'una carpeta, s'inclouran els missatges de les subcarpetes.", + "label": "Incloure subcarpetes" + }, "liveCountUp": { "description": "Mostra el progrés en directe dels números calculats quan es processen les dades estadístiques", "info": "Habilitar això pot augmentar el temps de processament", diff --git a/public/_locales/cs/messages.json b/public/_locales/cs/messages.json index 1f75c28..b7fe2f2 100644 --- a/public/_locales/cs/messages.json +++ b/public/_locales/cs/messages.json @@ -44,6 +44,10 @@ "stats": "Grafy a data", "storage": "Úložiště a mezipaměť" }, + "includeSubfolders": { + "description": "Při filtrování zpráv ve složce budou zahrnuty i zprávy z podsložek.", + "label": "Zahrnout podsložky" + }, "liveCountUp": { "description": "Zobrazit aktuální průběh vypočítaných čísel při zpracování statistických dat", "info": "Tato aktivace může prodloužit dobu zpracování", diff --git a/public/_locales/de/messages.json b/public/_locales/de/messages.json index 0788f46..b0fa578 100644 --- a/public/_locales/de/messages.json +++ b/public/_locales/de/messages.json @@ -44,6 +44,10 @@ "stats": "Diagramme & Daten", "storage": "Speicher & Cache" }, + "includeSubfolders": { + "description": "Beim Filtern von Nachrichten eines Ordners werden auch Nachrichten aus Unterordnern einbezogen.", + "label": "Unterordner einbeziehen" + }, "liveCountUp": { "description": "Live-Fortschritt der berechneten Zahlen bei der Berechnung von Statistikdaten anzeigen", "info": "Das Aktivieren dieser Option kann eine erhöhte Berechnungsdauer zur Folge haben", diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json index dfa9bb3..a5ad234 100644 --- a/public/_locales/en/messages.json +++ b/public/_locales/en/messages.json @@ -40,6 +40,10 @@ "stats": "Charts & Data", "storage": "Storage & Cache" }, + "includeSubfolders": { + "description": "When filtering messages of a folder, messages of subfolders will be included.", + "label": "Include Subfolders" + }, "liveCountUp": { "description": "Show live progress of calculated numbers when processing stats data", "info": "Enabling this may increase processing time", diff --git a/public/_locales/es/messages.json b/public/_locales/es/messages.json index 35c75c2..c24e98e 100644 --- a/public/_locales/es/messages.json +++ b/public/_locales/es/messages.json @@ -44,6 +44,10 @@ "stats": "Gráficos y Datos", "storage": "Almacenamiento y Caché" }, + "includeSubfolders": { + "description": "Al filtrar mensajes de una carpeta, se incluirán los mensajes de las subcarpetas.", + "label": "Incluir subcarpetas" + }, "liveCountUp": { "description": "Mostrar el progreso en directo de los números calculados al procesar datos de estadísticas", "info": "Habilitar esto puede aumentar el tiempo de procesamiento", diff --git a/public/_locales/fi/messages.json b/public/_locales/fi/messages.json index dbe821d..1ad2a4e 100644 --- a/public/_locales/fi/messages.json +++ b/public/_locales/fi/messages.json @@ -44,6 +44,10 @@ "stats": "Kaaviot ja tiedot", "storage": "Tallennus ja välimuisti" }, + "includeSubfolders": { + "description": "Kun viestejä suodatetaan kansion mukaan, myös alikansioiden viestit sisällytetään mukaan.", + "label": "Sisällytä alikansiot" + }, "liveCountUp": { "description": "Näytä laskutoimitusten eteneminen reaaliajassa tilastotietoja käsiteltäessä.", "info": "Tämän toiminnon ottaminen käyttöön voi pidentää käsittelyaikaa", diff --git a/public/_locales/fr/messages.json b/public/_locales/fr/messages.json index d449fe0..ce67c5f 100644 --- a/public/_locales/fr/messages.json +++ b/public/_locales/fr/messages.json @@ -44,6 +44,10 @@ "stats": "Graphiques et Données", "storage": "Stockage et Cache" }, + "includeSubfolders": { + "description": "Lors du filtrage des messages d'un dossier, les messages des sous-dossiers seront inclus.", + "label": "Inclure les sous-dossiers" + }, "liveCountUp": { "description": "Afficher la progression en direct des nombres calculés lors du traitement des données statistiques", "info": "Activer cette option peut augmenter le temps de traitement", diff --git a/public/_locales/gl/messages.json b/public/_locales/gl/messages.json index 0302186..f5ad863 100644 --- a/public/_locales/gl/messages.json +++ b/public/_locales/gl/messages.json @@ -44,6 +44,10 @@ "stats": "Gráficos e datos", "storage": "Almacenamento e caché" }, + "includeSubfolders": { + "description": "Ao filtrar mensaxes dun cartafol, tamén se incluirán as mensaxes dos seus subcartafoles.", + "label": "Incluír subcartafoles" + }, "liveCountUp": { "description": "Mostra o progreso en directo dos números calculados ao procesar os datos das estatísticas", "info": "Activar isto pode aumentar o tempo de procesamento", diff --git a/public/_locales/hi/messages.json b/public/_locales/hi/messages.json index e679fc4..b865b92 100644 --- a/public/_locales/hi/messages.json +++ b/public/_locales/hi/messages.json @@ -44,6 +44,10 @@ "stats": "चार्ट और डेटा", "storage": "भंडारण और कैश" }, + "includeSubfolders": { + "description": "किसी फ़ोल्डर के संदेशों को फ़िल्टर करते समय, उप-फ़ोल्डर के संदेशों को भी शामिल किया जाएगा।", + "label": "उप-फ़ोल्डर शामिल करें" + }, "liveCountUp": { "description": "आँकड़ों के डेटा को संसाधित करते समय परिकलित संख्याओं की लाइव प्रगति दिखाएं", "info": "इसे सक्षम करने से प्रसंस्करण समय बढ़ सकता है", diff --git a/public/_locales/hu/messages.json b/public/_locales/hu/messages.json index e2fe1d7..10f06c9 100644 --- a/public/_locales/hu/messages.json +++ b/public/_locales/hu/messages.json @@ -44,6 +44,10 @@ "stats": "Ábrázolások és adatok", "storage": "Tárolás és gyorsítótár" }, + "includeSubfolders": { + "description": "Ha egy mappa üzeneteit szűrjük, az almappák üzenetei is bekerülnek.", + "label": "Almappák belefoglalása" + }, "liveCountUp": { "description": "A kiszámított számok élő előrehaladásának megjelenítése statisztikai adatok feldolgozásakor", "info": "Ennek engedélyezése növelheti a feldolgozási időt", diff --git a/public/_locales/id/messages.json b/public/_locales/id/messages.json index 2d28b53..e78aa69 100644 --- a/public/_locales/id/messages.json +++ b/public/_locales/id/messages.json @@ -44,6 +44,10 @@ "stats": "Grafik & Data", "storage": "Penyimpanan & Cache" }, + "includeSubfolders": { + "description": "Saat memfilter pesan dari sebuah folder, pesan dari subfolder juga akan disertakan.", + "label": "Sertakan Subfolder" + }, "liveCountUp": { "description": "Tampilkan kemajuan langsung dari angka yang dihitung saat memproses data statistik", "info": "Mengaktifkan ini dapat meningkatkan waktu pemrosesan", diff --git a/public/_locales/it/messages.json b/public/_locales/it/messages.json index d1a7593..a75eba4 100644 --- a/public/_locales/it/messages.json +++ b/public/_locales/it/messages.json @@ -44,6 +44,10 @@ "stats": "Grafici e Dati", "storage": "Archiviazione e Cache" }, + "includeSubfolders": { + "description": "Quando si filtrano i messaggi di una cartella, verranno inclusi anche i messaggi delle sottocartelle.", + "label": "Includi sottocartelle" + }, "liveCountUp": { "description": "Mostra i progressi in tempo reale dei numeri calcolati durante l'elaborazione dei dati", "info": "L'attivazione di questa opzione può aumentare il tempo", diff --git a/public/_locales/ja/messages.json b/public/_locales/ja/messages.json index 4f87dee..b290c28 100644 --- a/public/_locales/ja/messages.json +++ b/public/_locales/ja/messages.json @@ -44,6 +44,10 @@ "stats": "チャートとデータ", "storage": "ストレージとキャッシュ" }, + "includeSubfolders": { + "description": "フォルダーのメッセージをフィルタリングする際、サブフォルダーのメッセージも含まれます。", + "label": "サブフォルダーを含める" + }, "liveCountUp": { "description": "統計データの処理時に計算された数値の進捗をライブで表示", "info": "これを有効にすると、処理時間が長くなる場合があります", diff --git a/public/_locales/nl/messages.json b/public/_locales/nl/messages.json index 2b2ba6d..8a58570 100644 --- a/public/_locales/nl/messages.json +++ b/public/_locales/nl/messages.json @@ -44,6 +44,10 @@ "stats": "Diagrammen en gegevens", "storage": "Opslag en cache" }, + "includeSubfolders": { + "description": "Bij het filteren van berichten van een map worden ook berichten uit submappen opgenomen.", + "label": "Submappen opnemen" + }, "liveCountUp": { "description": "Live-voortgang van berekende getallen weergeven bij het verwerken van statistische gegevens", "info": "Dit inschakelen kan de verwerkingstijd verlengen", diff --git a/public/_locales/pl/messages.json b/public/_locales/pl/messages.json index fdda3a0..f2697ab 100644 --- a/public/_locales/pl/messages.json +++ b/public/_locales/pl/messages.json @@ -44,6 +44,10 @@ "stats": "Wykresy & Dane", "storage": "Pamięć masowa & Podręczna" }, + "includeSubfolders": { + "description": "Podczas filtrowania wiadomości z folderu uwzględnione zostaną również wiadomości z podfolderów.", + "label": "Uwzględnij podfoldery" + }, "liveCountUp": { "description": "Pokaż na żywo postęp obliczonych liczb podczas przetwarzania danych statystycznych", "info": "Włączenie tego może wydłużyć czas przetwarzania", diff --git a/public/_locales/pt-BR/messages.json b/public/_locales/pt-BR/messages.json index 9e1ceab..dcde943 100644 --- a/public/_locales/pt-BR/messages.json +++ b/public/_locales/pt-BR/messages.json @@ -44,6 +44,10 @@ "stats": "Gráficos e Dados", "storage": "Armazenamento e Cache" }, + "includeSubfolders": { + "description": "Ao filtrar mensagens de uma pasta, as mensagens das subpastas também serão incluídas.", + "label": "Incluir subpastas" + }, "liveCountUp": { "description": "Mostre o progresso ao vivo de números calculados ao processar dados de estatísticas", "info": "Ativar isso pode aumentar o tempo de processamento", diff --git a/public/_locales/pt/messages.json b/public/_locales/pt/messages.json index 8d5239c..6877e9c 100644 --- a/public/_locales/pt/messages.json +++ b/public/_locales/pt/messages.json @@ -44,6 +44,10 @@ "stats": "Gráficos e Dados", "storage": "Armazenamento e Cache" }, + "includeSubfolders": { + "description": "Ao filtrar mensagens de uma pasta, as mensagens das subpastas serão incluídas.", + "label": "Incluir subpastas" + }, "liveCountUp": { "description": "Mostrar o progresso ao vivo dos números calculados ao processar dados estatísticos", "info": "Ativar isso pode aumentar o tempo de processamento", diff --git a/public/_locales/ru/messages.json b/public/_locales/ru/messages.json index 746ee29..9f1b8ee 100644 --- a/public/_locales/ru/messages.json +++ b/public/_locales/ru/messages.json @@ -44,6 +44,10 @@ "stats": "Графики & Данные", "storage": "Данные & Кэш" }, + "includeSubfolders": { + "description": "При фильтрации сообщений по папке будут также включены сообщения из подпапок.", + "label": "Включить подпапки" + }, "liveCountUp": { "description": "Показывать ход вычисления чисел в реальном времени при обработке статистических данных", "info": "Включение этого параметра может увеличить время обработки", diff --git a/public/_locales/sk/messages.json b/public/_locales/sk/messages.json index ccfd981..32120ff 100644 --- a/public/_locales/sk/messages.json +++ b/public/_locales/sk/messages.json @@ -44,6 +44,10 @@ "stats": "Grafy a údaje", "storage": "Ukladanie a vyrovnávacia pamäť" }, + "includeSubfolders": { + "description": "Pri filtrovaní správ v priečinku budú zahrnuté aj správy z podpriečinkov.", + "label": "Zahrnúť podpriečinky" + }, "liveCountUp": { "description": "Zobraziť aktuálny stav vypočítaných čísel pri spracovaní údajov štatistík", "info": "Povolenie tejto funkcie môže predĺžiť čas spracovania", diff --git a/public/_locales/sv/messages.json b/public/_locales/sv/messages.json index a863578..88c86ce 100644 --- a/public/_locales/sv/messages.json +++ b/public/_locales/sv/messages.json @@ -44,6 +44,10 @@ "stats": "Diagram & Data", "storage": "Lagring & Cache" }, + "includeSubfolders": { + "description": "Vid filtrering av meddelanden i en mapp inkluderas även meddelanden i undermappar.", + "label": "Inkludera undermappar" + }, "liveCountUp": { "description": "Visa direktförlopp för beräknade tal vid bearbetning av statistikdata", "info": "Aktivering av detta kan öka bearbetningstiden", diff --git a/public/_locales/th/messages.json b/public/_locales/th/messages.json index 5337fec..279bf90 100644 --- a/public/_locales/th/messages.json +++ b/public/_locales/th/messages.json @@ -44,6 +44,10 @@ "stats": "แผนภูมิและข้อมูล", "storage": "ที่เก็บข้อมูลและแคช" }, + "includeSubfolders": { + "description": "เมื่อกรองข้อความของโฟลเดอร์ ข้อความในโฟลเดอร์ย่อยจะถูกรวมด้วย", + "label": "รวมโฟลเดอร์ย่อย" + }, "liveCountUp": { "description": "แสดงความคืบหน้าของตัวเลขที่คำนวณได้เมื่อประมวลผลข้อมูลสถิติ", "info": "การเปิดใช้งานนี้อาจเพิ่มเวลาในการประมวลผล", diff --git a/public/_locales/tr/messages.json b/public/_locales/tr/messages.json index 614d6fc..1c12dc5 100644 --- a/public/_locales/tr/messages.json +++ b/public/_locales/tr/messages.json @@ -44,6 +44,10 @@ "stats": "Grafikler ve Veriler", "storage": "Depolama ve Önbellek" }, + "includeSubfolders": { + "description": "Bir klasörün mesajları filtrelenirken, alt klasörlerdeki mesajlar da dahil edilecektir.", + "label": "Alt Klasörleri Dahil Et" + }, "liveCountUp": { "description": "İstatistik verilerini işlerken hesaplanan sayıların canlı ilerlemesini göster", "info": "Bunu etkinleştirmek işlem süresini artırabilir", diff --git a/public/_locales/uk/messages.json b/public/_locales/uk/messages.json index 646f530..9044c15 100644 --- a/public/_locales/uk/messages.json +++ b/public/_locales/uk/messages.json @@ -44,6 +44,10 @@ "stats": "Графіки й дані", "storage": "Сховище та кеш" }, + "includeSubfolders": { + "description": "Під час фільтрування повідомлень теки повідомлення з підтек також будуть включені.", + "label": "Включити підтеки" + }, "liveCountUp": { "description": "Показувати прогрес обчислення в реальному часі під час обробки даних статистики", "info": "Увімкнення цього параметра може збільшити час обробки", diff --git a/public/_locales/uz/messages.json b/public/_locales/uz/messages.json index 3a3bed0..eef8b0a 100644 --- a/public/_locales/uz/messages.json +++ b/public/_locales/uz/messages.json @@ -44,6 +44,10 @@ "stats": "Жадваллар Ва Маълумотлар", "storage": "Сақлаш Ва Кеш" }, + "includeSubfolders": { + "description": "Жилд хабарларини фильтрлашда, ички папкалар хабарлари ҳам киритилади.", + "label": "Ички папкаларни киритиш" + }, "liveCountUp": { "description": "Статистик маълумотларни қайта ишлашда ҳисобланган рақамларнинг жонли ўсишини кўрсатиш", "info": "Буни ёқиш ишлов бериш вақтини ошириши мумкин", diff --git a/public/_locales/zh-Hans-CN/messages.json b/public/_locales/zh-Hans-CN/messages.json index a79dfb2..b8e68a8 100644 --- a/public/_locales/zh-Hans-CN/messages.json +++ b/public/_locales/zh-Hans-CN/messages.json @@ -44,6 +44,10 @@ "stats": "图表与资料", "storage": "存储与缓存" }, + "includeSubfolders": { + "description": "筛选文件夹邮件时,将包含子文件夹中的邮件。", + "label": "包含子文件夹" + }, "liveCountUp": { "description": "处理统计数据时显示计算数字的实时进度", "info": "启用此选项可能会增加处理时间", diff --git a/public/_locales/zh-Hant-TW/messages.json b/public/_locales/zh-Hant-TW/messages.json index 281342b..3239c3b 100644 --- a/public/_locales/zh-Hant-TW/messages.json +++ b/public/_locales/zh-Hant-TW/messages.json @@ -44,6 +44,10 @@ "stats": "圖表和資料", "storage": "儲存和快取" }, + "includeSubfolders": { + "description": "篩選文件夾郵件時,也會包含子文件夾中的郵件。", + "label": "包含子文件夾" + }, "liveCountUp": { "description": "在處理統計數據時顯示計算數字的實時進度", "info": "啟用此選項可能會增加處理時間",