“相比其他清理工具,它的扫描和清理非常彻底。现在我只用 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 中用作键的字符串放入你的翻译文件(例如使用 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):大括号内的一组键值对。键为字符串,可以省略引号;如果键中包含冒号,则必须带引号。各个键值对以空白字符分隔
- 数组(Array):方括号内的一组值。各个值以空白字符分隔
- 布尔值(Boolean):
true和false - 字符串(String):双引号包裹的一串字符。如果字符串中包含引号字符,必须使用两个连续引号进行转义
任务定义键
在上面的示例中,“Apps” 是任务区域,“Applications” 是任务组,“.NET Reflector” 是任务名称。可以使用以下键来定义一个任务:
- DetectPattern
- 在启动时计算,用于决定该任务是否显示在 GUI 中。只有在程序安装在计算机上时,这个测试才应有结果。其值是一个文件匹配模式,用于标识当存在这些文件时,说明程序已经安装。模式可以是 glob,并且可以包含已知文件夹 ID,例如
%LocalAppData%。可以在任务组级别设置,以避免重复。 - Detect
- 与 DetectPattern 类似,但用于标识在程序安装时必须存在的注册表键或值。注册表键和值通过竖线符号(
|)分隔。也可以出现在任务组级别。 - DetectOS
- 仅当操作系统满足指定版本时才显示该任务。它是一个字符串值,包含版本号,并可选地在前面加上一个布尔运算符,例如
>。如果未给出运算符,则默认为>=。例如,"6.0"表示 Windows Vista 或更高版本,而"<6.0"表示 Windows XP 或更低版本。 - FilePattern
- 可以是字符串数组或单个字符串。用于决定哪些文件需要删除。其内容可以使用与 DetectPattern 相同的模式。
- IgnoreFiles
- 用于表示应忽略文件的 glob 模式。当你想删除某个文件夹中的所有文件,但保留少量文件时,这非常有用。可以是单个值或数组。
- RegKey
- 可以是数组或单个值。用于指定要删除的注册表键和值。不支持模式。注册表键和值通过竖线符号分隔。
- Default
true或false(未给出时默认为false)。用于决定任务在界面中是否默认被勾选。- Regex
- 允许你替换或删除文件内容。其值是一个对象,包含 3 个键值对:
File、Pattern、Replacement。 - SQLite
- 允许你在 SQLite 数据库中执行查询。其值是一个对象,包含 2 个键值对:
db和sql。
如果你已经为某个公共应用创建了定义并希望分享,请发送到 support@updatestar.com,我们会考虑在下一版本的 AppCleaner 中加入。谢谢!