From c170226525c342cbc018c603ff18c71c0b3762c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?The=20Hermit=E2=84=A2?= Date: Sun, 5 Jul 2026 22:54:19 +0800 Subject: [PATCH 1/2] Add zh-TW localization --- FluentCleaner/Strings/zh-TW/Resources.resw | 318 +++++++++++++++++++++ 1 file changed, 318 insertions(+) create mode 100644 FluentCleaner/Strings/zh-TW/Resources.resw diff --git a/FluentCleaner/Strings/zh-TW/Resources.resw b/FluentCleaner/Strings/zh-TW/Resources.resw new file mode 100644 index 0000000..40d6ed4 --- /dev/null +++ b/FluentCleaner/Strings/zh-TW/Resources.resw @@ -0,0 +1,318 @@ + + + text/microsoft-resx + 2.0 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 翻譯:雲林散人 + + + 清理工具 + 終端機 + 自訂 + 搜索 + 頁面操作 + + 喜歡 FluentCleaner 嗎? + 如果這款應用程式為你節省了時間,不妨支持開發者。 + PayPal 捐贈 + Ko-fi 贊助 + GitHub 點亮星標 + 稍後再說 + 此頁面暫無可用操作 + + + 程式啟動時將自動加載 Winapp2.ini 檔案。 + 分類操作 + 全選 + 取消全選 + 選擇預設項 + 掃描該分類 + 清理該分類 + 條目操作 + 掃描 + 清理 + AI 解讀 + 在清理頁面右鍵任意條目 → AI 解讀。由 Groq (llama-3.3-70b) 提供支持,完全免費、無需付費。僅在你主動操作時才會傳送數據。需要自行填寫 API 金鑰。 + 掃描結果 + 返回掃描結果 + 立即刪除這些檔案 + 排除此檔案 + 排除此資料夾 + 開始掃描 + 取消 + 執行清理 + + + 全選 + 取消全選 + 選擇預設項 + 全部展開 + 全部摺疊 + 按大小遞減 ↓ + 按大小遞增 ↑ + 重新整理 + + + 檔案 + 登錄檔 + + + 個檔案 + 項登錄檔內容 + 檔案 + 登錄檔項目 + 清理完成。 + + + 偵測到瀏覽器正在執行 + 仍繼續清理 + 取消 + 請關閉以下程式以獲得完整清理效果:\n{0}\n\n瀏覽器開啟時會鎖定快取與歷程記錄檔案,相关内容將被跳過清理。 + 清理風險提示 + 繼續 + 取消 + 你選中的 Winapp2 清理條目包含以下風險警告: + AI 分析中… + 關閉 + + + 正在加載 Winapp2.ini... + 共找到 {0} 個符合條目。 + 未找到符合條目。 + 正在解析資料庫... + 分析完成 — 在 {1} 個條目中識別到 {0} 款應用程式。 + 未選中任何項目。 + 正在掃描... + 掃描完成 — {0} 個檔案,{1} 條登錄檔項目(共 {2}) + 掃描已取消。 + 正在清理... + 清理完成 — 釋放 {0} 空間 · {1} 項因檔案佔用已跳過 + 清理完成 — 刪除 {0} 個項目 · 釋放 {1} 空間。 + 清理已取消 — 目前已釋放 {0} 空間。 + 清理已取消。 + {0}:{1} 個檔案,{2} 條登錄檔項目 + {0}:無需要清理的内容。 + {0}:刪除 {1} 個項目 · 釋放 {2} 空間。 + 正在掃描 {0}... + {0} 掃描完畢 — 共 {1} 個條目。 + 正在清理 {0}... + {0}:刪除 {1} 個項目 · 釋放 {2} 空間。 + 正在掃描 {0}... + 已排除檔案:{0} + 已排除資料夾:{0} + + + 已刪除:{0} + 登錄檔項目:{0} + + + 設定 + + FluentCleaner 是開源的。 + 這款軟體耗費了大量開發精力,如果它对你有所說明,若願意表达支持,捐贈將是对開發者莫大的鼓勵。♥ + 支持本項目 + 通過 PayPal 捐贈 + 通過 Ko-fi 贊助 + 外觀設定 + 應用程式主題 + 自訂 FluentCleaner 在裝置上的顯示樣式。 + 跟隨系統 + 淺色模式 + 深色模式 + 語言 + 自訂介面顯示語言,修改後需要重新啟動軟體才會生效。 + 跟隨系統 + 清理資料庫 + 選擇要載入的清理條目清單,用於掃描與垃圾清理。 + Winapp2 + 更新 + Winapp3 + 實驗性功能 + — 清理規則更激進,請自行承擔使用風險。 + 下載 + 更新 + Winappx + 預裝軟體清理 + — 終端機解除安裝預裝應用程式專用 AppX 清理條目。 + 下載 + 更新 + 自訂資料庫路徑(.ini 檔案) + 瀏覽… + 套用 + 移除自訂資料庫 + 需要重新啟動軟體 + 請重新啟動 FluentCleaner,以載入更新後的資料庫。 + 清理後執行任務 + 每行一條命令,每次清理完成後按順序自動執行。 + 全局排除項 + 清單内路徑永遠不會被清理,優先級高於所有資料庫規則。 + 清理記錄 + 記錄垃圾檔案隨時間累積的佔用數據。 + 清理歷程記錄 + 清空記錄 + AI 條目解讀 + 手動啟用 + 预覽版功能 + 有建議?前往討論區 → + 儲存 + 測試金鑰 + 取得金鑰 + 設定備份 + 將設定匯出/匯入為 JSON 檔案;將 settings.json 放在程式同目錄即可開啟可攜模式。 + 匯出 + 匯入 + 📦 已啟用可攜模式 — 設定檔存放於程式同目錄 + 关於 + © 2026 A Belim app creation + + GitHub + 回報問題 + 應用程式圖示由 naderi 設計 + 常見問題 + 內測版 + + + 尚未下載 Winapp3,點擊下載按鈕取得。 + 尚未下載 Winappx,點擊下載按鈕取得。 + 暫無清理記錄 + 共 {0} 次清理 · 累計釋放 {1} 空間 + {0}個清理項 + 未找到檔案:{0} + 自訂路徑已儲存。 + 下載 + 正在下載 {0}… + {0} 下載完成 — 大小 {1} KB + 下載失敗:{0} + 未下載 + {0} 條規則 • {1} KB • {2} + 有新版本可用 — {0} + FluentCleaner 新版本已就緒,可下載更新。 + 目前已是最新版本 + {0} 為目前最新版本。 + ⬆ 發現更新 — {0} + 檢查更新 + ⚠ 請先填寫 API 金鑰。 + 正在測試連線… + 設定已匯出至 {0} + 匯出失敗:{0} + 已從 {0} 匯入設定 + 匯入失敗:{0} + + + 自訂清理規則 + 暫無自訂清理規則。 + 新建清理規則,創建後會自動顯示在此處。 + 編輯 + 刪除 + 執行 + + 新增清理規則 + 執行 + + + 共 {0} 套規則 · {1} 套已啟用 + {0} 條執行指令碼 + 新建自訂清理規則 + 打開自訂規則資料夾 + 前往 Reddit 提問交流 + Neowin 論壇 + Deskmodder.de 論壇 + 在 GitHub 分享清理規則 + 切換啟用狀態失敗:{0} + 確定刪除「{0}」嗎? + 此操作會永久移除該自訂清理規則。 + 刪除 + 取消 + 正在執行 {0}... + {0}:無法讀取指令碼檔案 — {1} + {0}:執行完成。 + {0}:執行失敗(退出代碼 {1})。 + 未解析到任何清理條目 + 1條清理項 · {0} + {0} 條清理項 · {1} + 已啟用 + 已停用 + + + 儲存 + 取消 + Winapp2 清理條目 (.ini) + PowerShell 指令碼 (.ps1) + 名稱 + 自訂清理規則 + AI 自動產生 - 描述需要清理的內容(產生效果僅供參考) + 產生 + 内容 + 加載範本 + 新建自訂清理規則 + 編輯 — {0} + 產生中… + + + 尚未設定 API 金鑰。請前往設定 → AI 條目解讀頁面填寫 Groq 金鑰(可在 console.groq.com 免費取得)。 + Groq API 請求錯誤:{0} + 未收到服務返回數據。 + 無法連線至 Groq API:{0} + 尚未設定 API 金鑰,請前往設定 → AI 條目解讀。 + + + clean firefox · analyze chrome · help + FluentCleaner 終端機已就緒。 + 已啟用資料庫:{0} 個 — 共偵測 {1} 條清理規則 + 輸入 help 查看全部可用命令。 + FluentCleaner {0} + 未知命令「{0}」,輸入 help 查看說明。 + 未偵測到磁碟分割區。 + 使用格式:theme dark | light | system + 主題已切換為「{0}」。 + 使用格式:backdrop mica | acrylic + 視窗材質已切換為「{0}」。 + 未找到符合「{0}」的清理條目。 + {0}:{1} 個項目 · 釋放 {2} 空間 + 執行完成 — 刪除 {0} 項 · 釋放 {1} 空間。 + 無需要清理的内容。 + {0}:{1} 個檔案 · {2} 條登錄檔項目 · 合計 {3} + 總計掃描到:{0} 項垃圾。 + 未掃描到垃圾檔案。 + — 共 {0} 條清理條目。 + — 共 {0} 個分類。 + 使用格式:appx list | appx scan | appx remove <名稱> | appx remove all + 正在列出所有已安裝的 AppX 應用程式套件... + 未偵測到任何應用程式套件。 + — 已安裝 {0} 個應用程式套件。執行 appx remove <名稱> 即可解除安裝。 + 正在掃描預裝垃圾應用程式套件... + 未發現預裝垃圾應用程式,系统乾淨。 + — 找到 {0} 個預裝應用程式套件。可執行 appx remove <名稱> 或 appx remove all 批次解除安裝。 + 使用格式:appx remove <名稱> | appx remove all + 正在檢索可解除安裝應用程式套件... + 無待解除安裝的應用程式。 + 正在解除安裝 {0}... + 成功 已解除安裝 {0}。 + 失敗 {0} — 解除安裝出錯(應用程式不存在或需要系統管理員權限)。 + 操作完成 — 共解除安裝 {0} 個應用程式套件。 + 未解除安裝任何應用程式。 + Winappx 資料庫已停用,請前往設定頁面啟用。 + 找不到 Winappx.ini 檔案,請在設定頁面下載該資料庫。 + + \ No newline at end of file From 24101a3a2d6e270e333a35a268bbd9f30b130cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?The=20Hermit=E2=84=A2?= Date: Sun, 5 Jul 2026 23:06:00 +0800 Subject: [PATCH 2/2] docs: add Chinese translations --- README.md | 3 + README_zh_CN.md | 250 ++++++++++++++++++++++++++++++++++++++++ README_zh_TW.md | 250 ++++++++++++++++++++++++++++++++++++++++ Winapp2-Format_zh_TW.md | 135 ++++++++++++++++++++++ 4 files changed, 638 insertions(+) create mode 100644 README_zh_CN.md create mode 100644 README_zh_TW.md create mode 100644 Winapp2-Format_zh_TW.md diff --git a/README.md b/README.md index 6573f27..b1f87ae 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # FluentCleaner + +**English** | [简体中文](README_zh_CN.md) | [繁體中文](README_zh_TW.md) + ### modern, transparent, no spyware, no scareware, no dark patterns, no upsell garbage, no fake registry magic diff --git a/README_zh_CN.md b/README_zh_CN.md new file mode 100644 index 0000000..fe658b5 --- /dev/null +++ b/README_zh_CN.md @@ -0,0 +1,250 @@ +# FluentCleaner + +[English](README.md) | **简体中文** | [繁體中文](README_zh_TW.md) + +### 现代、透明、无间谍软件、无恐吓软件、无暗黑模式、无强行推销垃圾、无伪注册表魔法 + + +FluentCleaner + + +_我做了一个自己的清理工具,灵感来自 2006 年左右那个老 CCleaner,只是把它改成了今天本该有的样子。现代化(基于 WinUI 3 构建)、简洁,并且专注于真正值得清理的内容,而不是那些常见的乱七八糟的东西。_ + +我做这个,是因为你迟早会注意到一种规律。 + +那些曾经真的很好用的东西……会慢慢变差。小开发者做出一个很棒的东西,公司把它买走,优化到面目全非,然后你突然发现,一个简单工具怎么就变成了“这到底发生了什么?”的故事。CCleaner 基本已经是教科书案例了,大家都知道,没必要再写一整段。 + +有意思的是,CrapCleaner 之所以还能撑下来,很大程度上其实是靠它周围的社区,尤其是类似 [winapp2.ini](https://github.com/moscadotto/winapp2) 这样的签名库。这个生态系统对工具的贡献,比大多数官方决策都大。 + +我懒得把所有清理器都原生重写一遍,所以干脆为那种格式写了一个解析器。结果发现它很快。是真的……意外地快。比我记忆里老 Piriform 实现还快(不知道当年为什么那么慢,可能是专有格式、过度工程化,或者只是历史原因。反正现在也不重要了)。 + +UI 是用 WinUI 3 做的,就是微软那个“漂亮但慢”的框架。结果不知怎么,它居然还是能跑得比原版快。真有意思。 + +现在的公司并不是真的在比谁能把东西做得更好。它们比的是谁能在不彻底搞崩的前提下塞进更多噪音。一路下来,“好工具”就变成了“人们怀念的东西”。 + +CCleaner 曾经很棒。现在它更多像是一个警示案例。 + +总之,我不是想修复整个行业。只是想要一个不烂的东西。也许我以后会腻,也许它会演变成别的东西,然后我们像往常一样又回到原点。 + +目前我就把它叫做 **FluentCleaner**。 + +它本来甚至没打算公开,但很多真诚友善的人希望我发布,所以我大概会发布。 +这里先放一个预览版,让你感受一下方向。我之后可能会通过捐赠来维持开发,到时候再说。 + +如果你喜欢,那很好。如果不喜欢,也完全没问题。 + +## FAQ + +
+这能让我的电脑变快吗? + +说实话?看情况,这不是在敷衍。 + +在一台现代系统、剩余空间充足的电脑上,你大概率不会感受到明显的速度提升。 +但微软自己也说过,存储空间不足可能会拖慢系统,甚至阻止 Windows 更新([来源](https://support.microsoft.com/en-us/windows/free-up-drive-space-in-windows-85529ccb-c365-490d-b548-831022bc9b32)),所以如果你的硬盘快满了,清理比你想的更重要。 + +除了速度以外,定期清理也有一些很实际的理由: +- 回收过去几个月里悄悄被吃掉的磁盘空间 +- 排查由缓存损坏导致的应用问题 +- 缩小备份体积 +- 隐私,比如浏览器数据、最近打开文件列表、卸载应用后的残留痕迹 +- 保持 Windows 更新顺利运行 +- 或者只是因为一个整洁的系统让人感觉更好。这也成立。 + +微软建议每月做一次这类清理。存储感知可以自动完成。 +FluentCleaner 只是让你更精确地控制到底清理什么。 + +
+ + + +
+winapp2.ini 到底是什么? + +它是一个由社区维护的 Windows 应用清理规则数据库, +经过 15 年以上积累,包含数千条条目。它会告诉 FluentCleaner 每个应用到底要清理什么:哪些临时文件夹、哪些缓存路径、哪些注册表项。 +不靠猜,不用覆盖整个磁盘的粗暴通配符。 +每个条目都是明确的、可检查的、可审计的。这就是它的意义。 + +
+ +
+ +flavors 是什么? + +winapp2.ini 会根据你使用的工具提供不同变体。 +FluentCleaner 使用原版 CCleaner flavor,也就是当年那个工具还值得用时所使用的同一种变体。 + +
+ + + +
+安全吗? + +它的安全性取决于你启用了什么。你不先选择,它什么都不会运行。 +winapp2.ini 条目只会处理自己被明确指定的目标, +不会搞那种宽泛的“删除 temp 里的所有东西”的胡来操作。 +话虽如此:它确实会删除文件。如果某些东西看起来重要,请先备份。 + +
+ +
+为什么用 WinUI 3? + +因为现在是 2026 年了,Windows 工具不该看起来像 2009 年做出来的。 +而且 Fluent Design 字面上就在名字里。挺合适。 + +
+ +
+CCleaner 7 移除了 winapp2.ini 支持,这对 FluentCleaner 意味着什么? + +没有任何影响。FluentCleaner 有自己的解析器,完全独立于 CCleaner。 +CCleaner 移除支持这件事,说实话也是我做这个工具的动机之一。 + +
+ +
+我能使用自定义 winapp2 数据库吗? + +可以。FluentCleaner 不会锁定到某一个来源。 + +像 BBleachBit 这样的工具(主要是 Linux 清理工具,其实我是通过这个项目才发现它的, +但它的 UI 糟到让我立刻又退回来了),以及其他工具,都有自己的 winapp2.ini flavor, +也就是针对各自需求略作修改的版本。你可以拿其中任意一个 +(或者自己构建一个),然后直接接入 FluentCleaner。 + +只需要把文件放到系统中的某个位置,然后进入: +**Settings > Database > Custom**,指向你的文件。就这样。 + +winapp2 项目的官方数据库在这里: +https://github.com/MoscaDotTo/Winapp2,它由社区维护, +定期更新,覆盖数千个应用。如果你想要比默认规则更多的覆盖范围,这是一个很好的起点。 + +
+ +
+我在哪里可以关注开发进展? + +我会在 **[x/twitter](https://x.com/builtbybel)** 上发布 insider 内容、早期构建版本,以及偶尔吐槽一下 WinUI。如果你想在正式发布前知道接下来会有什么,那里就是地方。 + +问题反馈和功能请求照常在 GitHub 上提交。 + +
+ +
+我可以在没有 UI 的情况下运行 FluentCleaner / 从任务计划程序运行它吗? + +可以。 + +```powershell +FluentCleaner.exe /AUTO +``` + +使用你当前保存的选择执行静默清理,并立即退出。 +没有窗口、提示或交互。 + +```powershell +FluentCleaner.exe /AUTO /SHUTDOWN +``` + +行为相同,但会在清理完成后关闭 Windows。 +单独使用 `/SHUTDOWN` 不会做任何事。 + +### 日志 + +每次自动运行都会向以下位置追加一份详细日志: + +```txt +%AppData%\FluentCleaner\auto.log +``` + +日志包含: +- 时间戳 +- 按条目分组的每一个已删除路径 +- 总清理大小 + +### 计划任务 + +要自动执行清理: + +1. 打开 **Windows 任务计划程序** +2. 创建一个新任务 +3. 添加 `FluentCleaner.exe` +4. 使用 `/AUTO` 作为参数 + +不需要内置的计划任务 UI。 + +
+ +
+支持哪些 Windows 版本? + +FluentCleaner 官方支持: + +- Windows 10 2004(Build 19041)及更高版本 +- Windows 11 + +不要求 Windows 11。 +虽然使用了 WinUI 3,但这个应用有意保持与现代 Windows 10 系统的兼容。 + +
+ +
+我可以支持开发吗? + +可以,如果你愿意的话 😄 + +FluentCleaner 是一个单人项目,不是什么拥有投资人和市场部门的千万级公司。 + +如果你想从资金上支持开发,可以在这里: +[PayPal](https://www.paypal.com/donate/?hosted_button_id=99X8UQJQP96WN) + + +
+ + ## 优化器迷思 + +
+为什么 FluentCleaner 没有 X? + +
+安全文件删除(DoD 7 遍、Gutmann 35 遍……) + +简短回答:它看起来很厉害,但没有实际意义。 + +安全覆写在 90 年代是有意义的,当时 HDD 是主流,取证恢复确实是现实问题。今天: + +- **SSD** 使用磨损均衡和 TRIM。控制器决定数据位实际落到哪里,不是你的软件决定。你可以把一个文件覆写 35 次,但控制器可能每次都写到不同的 NAND 块。Gutmann 本人也在自己论文的附录说明过这一点。 +- **FluentCleaner 删除的文件** 是浏览器缓存、临时文件和日志条目。如果有人在取证恢复你的 Discord 缓存,那你要担心的问题已经比清理器的删除方式大多了。 + +普通文件删除在这里就是正确做法。其他东西都是安全剧场。 + +
+ +
+注册表清理器 + +这是有意不做的,值得解释一下。 + +这个前提听起来很合理:孤立键会不断积累,Windows 会变慢,清理能改善。实际情况是: + +- Windows 按需加载注册表键。一万个孤立的卸载程序条目,对启动时间或性能没有可测量影响。这类东西已经被反复基准测试到烂了。 +- 风险/收益完全倒挂。注册表清理器如果删错键,可能破坏应用,极端情况下甚至破坏操作系统。收益是安慰剂。坏处是系统坏掉。 + +CCleaner 有这个功能,是因为它是一个听起来很技术的卖点。FluentCleaner 没有它,是因为把一个为了好看而不是为了好用的功能做进去,是不诚实的。 + +如果你真的需要清理坏掉的卸载程序残留;[Autoruns](https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns) 或有针对性的手动编辑才是正确工具,而不是批量清理器。 + +
+ + +
+总体理念 + +FluentCleaner 只处理明确属于垃圾的内容:缓存文件、临时数据、残留日志。它刻意避开功能膨胀——正是这种膨胀让 CCleaner 从一个专注的工具变成了每次启动都推销 VPN 的臃肿软件。 + +更少的功能。诚实的功能。 + +
diff --git a/README_zh_TW.md b/README_zh_TW.md new file mode 100644 index 0000000..07b9018 --- /dev/null +++ b/README_zh_TW.md @@ -0,0 +1,250 @@ +# FluentCleaner + +[English](README.md) | [简体中文](README_zh_CN.md) | **繁體中文** + +### 現代化、透明、沒有間諜軟體、沒有恐嚇軟體、沒有暗黑設計、沒有強迫推銷垃圾、沒有假的登錄檔魔法 + + +FluentCleaner + + +_我做了一個自己的清理工具,靈感來自 2006 年左右那個老 CCleaner,只是把它改成今天本來就該有的樣子。現代化(以 WinUI 3 建置)、簡潔,並且專注於真正值得清理的內容,而不是那些常見的亂七八糟東西。_ + +我做這個,是因為你遲早會注意到一種模式。 + +那些曾經真的很好用的東西……會慢慢變差。小開發者做出一個很棒的東西,公司把它買走,最佳化到面目全非,然後你突然發現,一個簡單工具怎麼就變成了「這到底發生了什麼?」的故事。CCleaner 基本上已經是教科書案例了,大家都知道,沒必要再寫一整段。 + +有趣的是,CrapCleaner 之所以還能撐下來,很大程度其實是靠它周圍的社群,尤其是像 [winapp2.ini](https://github.com/moscadotto/winapp2) 這樣的簽章庫。這個生態系對工具的貢獻,比大多數官方決策都大。 + +我懶得把所有清理器都原生重寫一遍,所以乾脆為那種格式寫了一個解析器。結果發現它很快。是真的……意外地快。比我記憶裡老 Piriform 的實作還快(不知道當年為什麼那麼慢,可能是專有格式、過度工程化,或只是歷史因素。反正現在也不重要了)。 + +UI 是用 WinUI 3 做的,就是微軟那個「漂亮但慢」的框架。結果不知怎麼,它居然還是能跑得比原版快。真有意思。 + +現在的公司並不是真的在比誰能把東西做得更好。它們比的是誰能在不徹底搞壞的前提下塞進更多噪音。一路下來,「好工具」就變成了「人們懷念的東西」。 + +CCleaner 曾經很棒。現在它更像是一個警示案例。 + +總之,我不是想修復整個產業。只是想要一個不爛的東西。也許我以後會膩,也許它會演變成別的東西,然後我們像往常一樣又回到原點。 + +目前我就把它叫做 **FluentCleaner**。 + +它本來甚至沒打算公開,但很多真誠友善的人希望我釋出,所以我大概會釋出。 +這裡先放一個預覽版,讓你感受一下方向。我之後可能會透過捐款來維持開發,到時候再說。 + +如果你喜歡,那很好。如果不喜歡,也完全沒問題。 + +## FAQ + +
+這能讓我的電腦變快嗎? + +老實說?看情況,這不是在敷衍。 + +在一台現代系統、剩餘空間充足的電腦上,你大概不會感受到明顯的速度提升。 +但微軟自己也說過,儲存空間不足可能會拖慢系統,甚至阻止 Windows 更新([來源](https://support.microsoft.com/en-us/windows/free-up-drive-space-in-windows-85529ccb-c365-490d-b548-831022bc9b32)),所以如果你的硬碟快滿了,清理比你想的更重要。 + +除了速度以外,定期清理也有一些很實際的理由: +- 回收過去幾個月裡悄悄被吃掉的磁碟空間 +- 排查由快取損壞導致的應用程式問題 +- 縮小備份體積 +- 隱私,例如瀏覽器資料、最近開啟檔案清單、解除安裝應用程式後的殘留痕跡 +- 保持 Windows 更新順利執行 +- 或者只是因為一個整潔的系統讓人感覺更好。這也成立。 + +微軟建議每月做一次這類清理。儲存空間感知器可以自動完成。 +FluentCleaner 只是讓你更精確地控制到底清理什麼。 + +
+ +
+ +
+winapp2.ini 到底是什麼? + +它是一個由社群維護的 Windows 應用程式清理規則資料庫, +經過 15 年以上累積,包含數千個項目。它會告訴 FluentCleaner 每個應用程式到底要清理什麼:哪些暫存資料夾、哪些快取路徑、哪些登錄檔機碼。 +不靠猜,不用掃過整個磁碟的粗暴萬用字元。 +每個項目都是明確的、可檢查的、可稽核的。這就是它的重點。 + +
+ +
+ +flavors 是什麼? + +winapp2.ini 會根據你使用的工具提供不同變體。 +FluentCleaner 使用原版 CCleaner flavor,也就是當年那個工具還值得用時所使用的同一種變體。 + +
+ + + +
+安全嗎? + +它的安全性取決於你啟用了什麼。你不先選擇,它什麼都不會執行。 +winapp2.ini 項目只會處理自己被明確指定的目標, +不會搞那種寬泛的「刪除 temp 裡所有東西」的亂來操作。 +話雖如此:它確實會刪除檔案。如果某些東西看起來重要,請先備份。 + +
+ +
+為什麼用 WinUI 3? + +因為現在是 2026 年了,Windows 工具不該看起來像 2009 年做出來的。 +而且 Fluent Design 字面上就在名字裡。挺合適。 + +
+ +
+CCleaner 7 移除了 winapp2.ini 支援,這對 FluentCleaner 代表什麼? + +沒有任何影響。FluentCleaner 有自己的解析器,完全獨立於 CCleaner。 +CCleaner 移除支援這件事,老實說也是我做這個工具的動機之一。 + +
+ +
+我能使用自訂 winapp2 資料庫嗎? + +可以。FluentCleaner 不會鎖定到某一個來源。 + +像 BBleachBit 這樣的工具(主要是 Linux 清理工具,其實我是透過這個專案才發現它的, +但它的 UI 糟到讓我立刻又退回來了),以及其他工具,都有自己的 winapp2.ini flavor, +也就是針對各自需求略作修改的版本。你可以拿其中任意一個 +(或自己建置一個),然後直接接入 FluentCleaner。 + +只需要把檔案放到系統中的某個位置,然後進入: +**Settings > Database > Custom**,指向你的檔案。就這樣。 + +winapp2 專案的官方資料庫在這裡: +https://github.com/MoscaDotTo/Winapp2,它由社群維護, +定期更新,涵蓋數千個應用程式。如果你想要比預設規則更多的涵蓋範圍,這是一個很好的起點。 + +
+ +
+我在哪裡可以追蹤開發進度? + +我會在 **[x/twitter](https://x.com/builtbybel)** 上發布 insider 內容、早期建置版本,以及偶爾吐槽一下 WinUI。如果你想在正式發布前知道接下來會有什麼,那裡就是地方。 + +問題回報和功能請求照常在 GitHub 上提交。 + +
+ +
+我可以在沒有 UI 的情況下執行 FluentCleaner / 從工作排程器執行它嗎? + +可以。 + +```powershell +FluentCleaner.exe /AUTO +``` + +使用你目前儲存的選擇執行靜默清理,並立即結束。 +沒有視窗、提示或互動。 + +```powershell +FluentCleaner.exe /AUTO /SHUTDOWN +``` + +行為相同,但會在清理完成後關閉 Windows。 +單獨使用 `/SHUTDOWN` 不會做任何事。 + +### 記錄 + +每次自動執行都會向以下位置附加一份詳細記錄: + +```txt +%AppData%\FluentCleaner\auto.log +``` + +記錄包含: +- 時間戳記 +- 按項目分組的每一個已刪除路徑 +- 總清理大小 + +### 排程 + +要自動執行清理: + +1. 開啟 **Windows 工作排程器** +2. 建立一個新工作 +3. 加入 `FluentCleaner.exe` +4. 使用 `/AUTO` 作為參數 + +不需要內建的排程 UI。 + +
+ +
+支援哪些 Windows 版本? + +FluentCleaner 官方支援: + +- Windows 10 2004(Build 19041)及更高版本 +- Windows 11 + +不要求 Windows 11。 +雖然使用了 WinUI 3,但這個應用程式有意保持與現代 Windows 10 系統的相容性。 + +
+ +
+我可以支持開發嗎? + +可以,如果你願意的話 😄 + +FluentCleaner 是一個單人專案,不是什麼擁有投資人和市場部門的千萬級公司。 + +如果你想從資金上支持開發,可以在這裡: +[PayPal](https://www.paypal.com/donate/?hosted_button_id=99X8UQJQP96WN) + + +
+ + ## 最佳化工具迷思 + +
+為什麼 FluentCleaner 沒有 X? + +
+安全檔案刪除(DoD 7 次、Gutmann 35 次……) + +簡短回答:它看起來很厲害,但沒有實際意義。 + +安全覆寫在 90 年代是有意義的,當時 HDD 是主流,鑑識還原確實是現實問題。今天: + +- **SSD** 使用耗損平均和 TRIM。控制器決定資料位元實際落到哪裡,不是你的軟體決定。你可以把一個檔案覆寫 35 次,但控制器可能每次都寫到不同的 NAND 區塊。Gutmann 本人也在自己論文的補充說明中提過這一點。 +- **FluentCleaner 刪除的檔案** 是瀏覽器快取、暫存檔和記錄項目。如果有人在鑑識還原你的 Discord 快取,那你要擔心的問題已經比清理器的刪除方式大多了。 + +普通檔案刪除在這裡就是正確做法。其他東西都是安全劇場。 + +
+ +
+登錄檔清理器 + +這是有意不做的,值得解釋一下。 + +這個前提聽起來很合理:孤立機碼會不斷累積,Windows 會變慢,清理能改善。實際情況是: + +- Windows 按需載入登錄檔機碼。一萬個孤立的解除安裝程式項目,對開機時間或效能沒有可測量影響。這類東西已經被反覆跑分到爛了。 +- 風險/收益完全倒掛。登錄檔清理器如果刪錯機碼,可能破壞應用程式,極端情況下甚至破壞作業系統。收益是安慰劑。壞處是系統壞掉。 + +CCleaner 有這個功能,是因為它是一個聽起來很技術的賣點。FluentCleaner 沒有它,是因為把一個為了好看而不是為了好用的功能做進去,是不誠實的。 + +如果你真的需要清理壞掉的解除安裝程式殘留;[Autoruns](https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns) 或有針對性的手動編輯才是正確工具,而不是批次清理器。 + +
+ + +
+總體理念 + +FluentCleaner 只處理明確屬於垃圾的內容:快取檔案、暫存資料、殘留記錄。它刻意避開功能膨脹——正是這種膨脹讓 CCleaner 從一個專注的工具變成了每次啟動都推銷 VPN 的臃腫軟體。 + +更少的功能。誠實的功能。 + +
diff --git a/Winapp2-Format_zh_TW.md b/Winapp2-Format_zh_TW.md new file mode 100644 index 0000000..5aaa223 --- /dev/null +++ b/Winapp2-Format_zh_TW.md @@ -0,0 +1,135 @@ +# Winapp2.ini 格式 + +FluentCleaner 讀取 winapp2.ini 檔案完整速查手冊 + +--- + +## 條目範例 + +```ini +[App Name *] +LangSecRef=3021 +Detect=HKLM\Software\MyApp +DetectFile=%LocalAppData%\MyApp +SpecialDetect=DET_CHROME +Warning=此操作會刪除已儲存密碼 +Default=False +FileKey1=%AppData%\MyApp|*.log;*.tmp +FileKey2=%AppData%\MyApp\Cache|*|REMOVESELF +RegKey1=HKCU\Software\MyApp\MRU +ExcludeKey1=FILE|%AppData%\MyApp\|important.db +``` + +--- + +## 偵測規則 Detection + +至少填寫一條偵測欄位,否則該條目會完全隱藏。 +多條 `Detect` / `DetectFile` 為**或邏輯**,任一條符合即判定軟體已安裝。 + +| 欄位 | 格式 | 偵測內容 | +|---|---|---| +| `Detect` | `HKLM\Software\Foo` | 偵測指定登錄機碼是否存在 | +| `Detect` | `HKLM\Software\Foo\|Value` | 偵測登錄機碼下指定值是否存在 | +| `DetectFile` | `%LocalAppData%\MyApp` | 偵測檔案或資料夾是否存在 | +| `DetectFile` | `%LocalAppData%\Chrome*` | 路徑支援通配字元比對 | +| `SpecialDetect` | `DET_CHROME` | 主流軟體快速偵測識別碼(見下表) | + +### SpecialDetect 內建識別碼對照表 + +| 識別碼 | 偵測路徑 | +|---|---| +| `DET_CHROME` | `%LocalAppData%\Google\Chrome\User Data` | +| `DET_FIREFOX` | `%AppData%\Mozilla\Firefox` | +| `DET_EDGE` | `%LocalAppData%\Microsoft\Edge\User Data` | +| `DET_OPERA` | `%AppData%\Opera Software\Opera Stable` | +| `DET_THUNDERBIRD` | `%AppData%\Thunderbird` | +| `DET_IE` | IE 瀏覽器對應登錄檔路徑 | +| `DET_WINSTORE` | `%LocalAppData%\Packages` Microsoft Store 目錄 | + +--- + +## FileKey + +``` +FileKeyN=<路徑>|<比對規則>[|RECURSE|REMOVESELF] +``` + +| 寫法類型 | 範例 | 執行邏輯 | +|---|---|---| +| 路徑 + 檔案通配字元 | `%Temp%\MyApp\|*.tmp` | 僅比對資料夾第一層目錄內的檔案 | +| 多重比對規則 | `%Temp%\|*.log;*.tmp;*.bak` | 以分號分隔,比對全部副檔名檔案 | +| RECURSE 遞迴 | `%AppData%\MyApp\|*.log|RECURSE` | 遞迴遍歷所有子目錄並比對 | +| REMOVESELF 清理空目錄 | `%AppData%\MyApp\Cache\|*|REMOVESELF` | 刪除檔案後自動移除空資料夾 | +| 無比對規則、僅帶標記 | `%AppData%\MyApp\Cache\|REMOVESELF` | 預設比對 `*.*`,標記仍會生效 | + +### 內建路徑變數對照表 + +| 變數名稱 | 實際解析路徑 | +|---|---| +| `%AppData%` | `C:\Users\使用者名稱\AppData\Roaming` | +| `%LocalAppData%` | `C:\Users\使用者名稱\AppData\Local` | +| `%LocalLowAppData%` | `C:\Users\使用者名稱\AppData\LocalLow` | +| `%ProgramData%` / `%CommonAppData%` | `C:\ProgramData` | +| `%ProgramFiles%` | `C:\Program Files`,程式會自動相容 x86 目錄 | +| `%ProgramFiles(x86)%` / `%ProgramFilesX86%` | `C:\Program Files (x86)` | +| `%UserProfile%` | `C:\Users\使用者名稱` | +| `%SystemRoot%` / `%WinDir%` | `C:\Windows` | +| `%System%` | `C:\Windows\System32` | +| `%Temp%` / `%Tmp%` | 目前使用者暫存資料夾 | +| `%SystemDrive%` | 系統磁碟機代號,例如:`C:` | +| `%Documents%`、`%Desktop%`、`%Music%`、`%Pictures%`、`%Videos%` | 系統對應的常用個人資料夾 | + +路徑分段內支援通配字元: +``` +%LocalAppData%\Google\Chrome*\User Data\*\Cache +``` +掃描時會自動展開並比對所有符合規則的實際目錄。 + +--- + +## RegKey + +``` +RegKeyN=\[\|] +``` + +| 寫法類型 | 範例 | 執行邏輯 | +|---|---|---| +| 清理整個登錄機碼 | `HKCU\Software\MyApp\MRU` | 刪除該機碼及所有下層子機碼和值 | +| 僅刪除單一值 | `HKCU\Software\MyApp\|LastRun` | 只移除指定值,保留登錄機碼 | + +支援根機碼縮寫:`HKCU`、`HKLM`、`HKU`、`HKCC`、`HKCR`,完整寫法 `HKEY_CURRENT_USER` 等也相容。 + +--- + +## ExcludeKey + +``` +ExcludeKeyN=<類型>|<路徑>\|[<比對規則>] +``` + +比對到的檔案 / 登錄機碼會直接略過,即使 FileKey / RegKey 命中也不會清理。 + +| 類型 | 範例 | 保護範圍 | +|---|---|---| +| `FILE` 精確檔名 | `FILE\|%AppData%\MyApp\|config.db` | 僅保護資料夾第一層目錄內的該檔案 | +| `FILE` 檔案通配字元 | `FILE\|%AppData%\MyApp\|*.db` | 僅保護該資料夾第一層目錄內的所有 db 檔案 | +| `PATH` 完整目錄 | `PATH\|%AppData%\MyApp\Profiles\` | 保護整個目錄樹的全部內容 | +| `PATH` 全比對 | `PATH\|%AppData%\MyApp\_Data\|*` | 遞迴保護目錄下所有檔案 | +| `PATH` 帶副檔名通配字元 | `PATH\|%AppData%\MyApp\Cache\|*.db` | 遞迴保護所有子目錄內的 db 檔案 | +| `REG` 登錄檔排除 | `REG\|HKCU\Software\MyApp\` | 排除登錄機碼,檔案掃描階段會略過 | + +> `FILE` 僅比對資料夾的直接子檔案。 +> `PATH` 搭配通配字元會覆蓋整個子目錄樹。 + +--- + +## 其他設定欄位 + +| 欄位名稱 | 作用說明 | +|---|---| +| `LangSecRef` | 介面分類編號(例:`3029` 代表 Google Chrome),用於分組顯示 | +| `Section` | 自訂文字分類,當 LangSecRef 沒有對應的內建分類時作為備用分組 | +| `Warning` | 清理前向使用者彈出的風險提示文字 | +| `Default` | `True` / `False`,控制該清理項預設是否勾選 |