提交 Bug 与贡献翻译 — 开源协作的两种方式
开源协议
Gloom 采用 GNU General Public License v3.0(GPL-3.0):
- 可以自由使用、修改、分发、商业使用
- 修改后的版本也必须开源(Copyleft 约束)
- 不提供任何明示或暗示的保修(跟大多数开源软件一样)
如果你 fork 了 Gloom 做二次开发,也必须以 GPL-3.0 发布。
提交 Bug
在 GitHub Issue 页
- 打开
github.com/MateriiApps/Gloom/issues - 点「New issue」按钮
- MateriiApps 可能会有多个 Issue 模板(Bug Report、Feature Request、Question),选 Bug Report
- 按模板填写:
- 描述你遇到的问题:是什么、怎么触发的
- 复现步骤:一步一步写清楚怎么才能稳定触发这个 bug
- 预期行为 vs 实际行为:你觉得应该怎么样 vs 实际怎么样
- 设备信息:手机型号、Android 版本、Gloom 构建版本
- 日志:如果有 crash 日志(Android Studio Logcat 或类似工具抓的),贴进去
- 提交后 MateriiApps 团队或其他贡献者会跟进
Bug Report 模板的价值
开源项目收到的 bug 报告质量参差不齐。按模板填能让维护者最快定位问题——最差的报告是「应用崩了」这种一句话描述(维护者根本不知道在哪个设备上、什么场景下、怎么崩的)。
贡献翻译
Crowdin 平台
Gloom 的翻译在 Crowdin 协作(crowdin.com/project/gloom):
- 登录后选择 Chinese Simplified / 简体中文
- 认领 strings.xml(Gloom 的所有用户可见字符串都在这个文件里)
- 对照英文原文翻译每个条目
- 翻译完提交等待审核
翻译规范建议
开源项目的翻译,注意几点:
- 保持术语一致:比如「Star」到底翻「收藏」还是「Star」?看现有翻译的统一做法,别自己发明新译法
- 保持简洁:按钮文案别太长(「Sign in」翻「登录」就好,别翻「使用 GitHub 账号登录」)
- 保留格式标记:翻译时字符串里的占位符(
%1$s、%d、<b>bold</b>)要保留原样 - 校对别人的翻译:Crowdin 允许对现有翻译投票/评论,发现错误可以指出来
贡献代码
如果你会 Kotlin + Jetpack Compose,可以直接在 GitHub 上发 Pull Request:
- Fork MateriiApps/Gloom
- 改代码(注意保持 Material 3 规范、不要硬编码颜色、不要加非 GPL-3.0 兼容的依赖)
- 在本地测试没问题(见下一页「开发者自行构建」)
- 提交 PR,描述清楚改了什么、为什么改、怎么测的
MateriiApps 团队对 PR 的响应通常较快(仓库 Issue 列表里能看到处理节奏)。
其他贡献方式
- 测试新版本:nightly debug 构建可能有 bug,试用后在 Issue 里反馈
- Review PR:帮维护者 Review 社区贡献的 PR
- 推广 Gloom:在社交媒体、论坛、技术社区分享 Gloom
- 写使用教程:像本文档这样的内容,发布到自己的博客或社区