Skip to content

Contribution Guide 贡献指南

Byaidu edited this page Dec 29, 2024 · 2 revisions

Contributing to the Project

感谢您对本项目的兴趣!在您开始贡献之前,请花一些时间阅读以下指南,确保您的贡献能够顺利被接受。

提交流程

  1. Fork 本仓库并克隆到本地。
  2. 创建新分支:git checkout -b feature/<feature-name>
  3. 进行开发并确保代码符合要求。
  4. 提交代码:
    git add .
    git commit -m "<语义化提交信息>"
  5. 推送到您的仓库:git push origin feature/<feature-name>
  6. 在 GitHub 上创建 PR,并填写详细说明。
  7. 确保通过所有自动化检查。

基本要求

  1. 工作流程

    • 请在 main 主分支上创建 fork,并在 fork 的分支上进行开发。
    • 提交 Pull Request (PR) 时,请对提交的内容进行详细说明。
    • 如果 PR 没有通过自动化检查(提示 checks failed 和红色叉号标记),请查看相应的 details 并修改提交内容,确保新的 PR 可以通过自动化检查。
  2. 开发和测试

    • 使用 pip install -e . 命令进行开发和测试。
  3. 代码格式化

    • 配置 pre-commit 工具,启用 blackflake8 进行代码格式化。
  4. 依赖更新

    • 如果引入了新的依赖,请及时更新 pyproject.toml 文件中的依赖列表。
  5. 文档更新

    • 如果添加了新的命令行选项,请同步更新多语言版本的 README.md 文件中的命令行选项列表。
  6. 提交信息

  7. 编码风格

    • 请确保提交的代码符合基本的编码风格规范。
    • 变量命名请使用下划线或驼峰命名法。
  8. 文档排版

    • README.md 文件的排版请遵循 中文文案排版指北
    • 确保英文和中文文档始终保持最新状态,其它语言文档为可选更新。

添加翻译接口

  1. 代码实现

    • translator.py 文件中基于 BaseTranslatorOpenAITranslator 添加新的类。
  2. 功能更新

    • 更新 gui.pyconverter.py 中的翻译服务列表。
  3. 文档更新

    • 更新多语言版本的 README.md 文件中的翻译服务列表。

项目结构

  • backend.py: 提供 HTTP API。
  • cache.py: 提供翻译缓存。
  • converter.py: 解析并翻译文档,并对翻译结果进行排版。
  • doclayout.py: 提供 doclayout 模型。
  • gui.py: 提供 GUI 界面。
  • high_level.py: 对文档进行预处理和后处理。
  • pdf2zh.py: 提供命令行工具。
  • pdfinterp.py: 解析指令流。
  • translator.py: 提供翻译接口。

联系我们

如有任何问题,请通过 Issue 或 Telegram Group 提交反馈。感谢您的贡献!