「與其他清理工具相比,它的掃描與清理非常徹底。現在我只用 AppCleaner!」 — Christoph V.
用這款免費軟體清理您的 Windows 電腦。
參與貢獻 AppCleaner
為 AppCleaner 新增語言
你可以很輕鬆地替 AppCleaner 新增語言。所有出現在使用者介面中的文字,都定義在以 UTF-8 編碼的文字檔裡。其中有一些組態檔已經內建在 AppCleaner 中。
匯出語言檔
你可以在執行 Cleaner.Win.exe 時帶上 -x 參數,來匯出內建語言檔。這會把內建的語言檔輸出到目前的工作目錄中。
建立新的語言檔
若要在 AppCleaner 中加入另一個語言:
- 在 AppCleaner 資料夾底下新增一個名為
Lang的子資料夾 - 將你用
-x命令列參數匯出的內嵌en-us.txt檔案複製一份 - 將該檔案重新命名為
xx.txt,其中xx是你的目標語言所對應的 ISO 639-1 語言識別碼 - 把每一行右側的值替換成你目標語言的翻譯
文字檔大致長這樣:
LanguageName: "English" Analyze: "&Analyze" Clean: "&Clean" OK: "OK" Cancel: "Cancel" Back: "Back" ...
檔案格式規則
- 每一行以關鍵字開頭,並以冒號將關鍵字與文字值分隔
- 文字值使用雙引號包住,可以跨多行
- 如果文字值中包含雙引號字元,必須以連續兩個雙引號跳脫
- 不要翻譯關鍵字
- 註解以井字號字元 (
#) 開頭,一直到該行結束
特殊格式
- LanguageName:定義語言在選項頁面下拉選單中顯示的名稱。請使用「英文名稱 (母語名稱)」的慣例,例如 "German (Deutsch)"
- 和號 (&):有些字串包含和號字元,用來定義對應指令的鍵盤快捷鍵字元
- 佔位符:有些值包含像
{0}或{1}這樣的格式字串。這些會在執行時被計算出的值取代,例如項目數量或檔名。例如「{0} items」在實際顯示時可能是「14 items」
進階翻譯
除了 en-us.txt 裡的字串之外,你可能也會想翻譯 Tasks.conf(如下所述)裡的一些字串。它們包含分頁上的文字(「Cleaner」、「Tools」、「Options」、「Apps」等),以及左側面板中所有核取方塊旁邊的說明。
你可以把任何在 Tasks.conf 中當作 key 使用的字串,放到你的翻譯檔裡(例如用 Options: "Optionen" 來把 Options 分頁的標題改成德文對應)。請參考 de.txt 檔案以取得更多額外翻譯範例。
AppCleaner 會自動載入 Lang 資料夾中所有的 *.txt 檔案,因此你可以立即檢查看看你的語言檔實際呈現效果。
如果你已建立一個語言檔,請寄到 support@updatestar.com 給我們,我們會考慮在下一版 AppCleaner 中將它納入。謝謝!
協助我們為 AppCleaner 新增程式
AppCleaner 允許你新增新的程式,並覆寫內建的定義。清理流程是由一個組態檔所驅動。
存取組態檔
你可以在執行 Cleaner.Win.exe 時帶上 -x 命令列參數,來檢視內建的組態檔。這會在目前的工作目錄產生一個名為 Tasks.conf 的檔案。
- 若要覆寫內建定義:請修改
Tasks.conf,並將它放在與Cleaner.Win.exe相同的資料夾中 - 若要在內建定義之上新增:請在與
Cleaner.Win.exe相同的資料夾中建立一個名為Tasks.add.conf的檔案
組態階層
AppCleaner 建立在三個具階層的概念之上(由上而下):
- 工作區域 (Task Areas):對應到像是「Apps」、「Browsers」、「Registry」這些分頁
- 工作群組 (Task Groups):在一個工作區域中,你會有多個群組,例如「Apps」區域中的「Multimedia」群組
- 工作 (Tasks):最低層級的組成單位,包含單一程式的定義,例如「Paint.NET」
.conf 檔案格式
.conf 檔案格式是 UTF-8 編碼的文字,其結構類似 JSON。以下是一個範例:
Apps: {
Applications: {
.NET Reflector: {
DetectPattern: "%LocalAppData%Red Gate.NET Reflector 6Reflector.cfg"
Default: false
FilePattern: [
"%LocalAppData%Red Gate.NET Reflector 6Cache***"
"%LocalAppData%Red Gate.NET Reflector 6Reflector.cfg"
]
}
}
}
基本型別
- 物件 (Object):由一組包在大括號中的 key-value 配對組成。key 是字串,可以省略引號;如果 key 中包含冒號,則必須加上引號。各個 key-value 配對以空白分隔
- 陣列 (Array):由一組包在中括號中的值組成。各值以空白分隔
- 布林值 (Boolean):
true與false - 字串 (String):由雙引號包住的一串字元。如果字串中包含雙引號字元,必須以連續兩個雙引號來編碼
工作定義的鍵值
在上面的範例中,"Apps" 是工作區域,"Applications" 是工作群組,".NET Reflector" 是工作名稱。以下這些 key 可以用來定義一個工作:
- DetectPattern
- 在啟動時被評估,用來決定這個工作是否會顯示在 GUI 中。這個檢測只有在程式安裝於電腦上時才應該有結果。其值是一個檔案樣式,用來識別某些檔案一旦存在,就代表該程式已安裝。樣式可以是 glob,且可以包含像
%LocalAppData%這類已知資料夾 ID。可以在工作群組層級設定以避免重複。 - Detect
- 與 DetectPattern 類似,但用來識別在程式安裝時必須存在的登錄機碼或數值。登錄機碼與數值以直線符號 (
|) 分隔。也可以出現在工作群組層級。 - DetectOS
- 只有在作業系統版本符合指定條件時才顯示該工作。它是一個字串值,包含版本號,前面可以選擇性帶上布林運算子,例如
>。若未指定運算子,預設為>=。例如"6.0"代表 Windows Vista 或更新版本,而"<6.0"代表 Windows XP 或更舊版本。 - FilePattern
- 可以是字串值陣列,或是單一字串值。用來決定要刪除哪些檔案。可以使用與 DetectPattern 相同的樣式。
- IgnoreFiles
- 代表要忽略檔案的 glob 樣式。當你想刪除資料夾中的所有檔案,但保留少數幾個檔案時會很有用。可以是單一值或陣列。
- RegKey
- 可以是陣列或單一值。決定要刪除哪些登錄機碼與數值。不支援樣式。登錄機碼與數值以直線符號分隔。
- Default
true或false(若未指定則預設為false)。決定這個工作預設是否打勾。- Regex
- 允許你在檔案中取代或刪除內容。其值是一個物件,包含 3 個 key-value 配對:
File、Pattern、Replacement。 - SQLite
- 允許你在 SQLite 資料庫中執行查詢。其值是一個物件,包含 2 個 key-value 配對:
db與sql。
如果你為某個公開應用程式建立了定義並且想要分享,請寄到 support@updatestar.com 給我們,我們會考慮在下一版 AppCleaner 中將它納入。謝謝!