プロジェクトへの貢献
Caution
現在のプロジェクトメンテナーは、ドキュメントの自動国際化を研究中です。そのため、ドキュメントの国際化/翻訳に関連する PR は受け付けられません!
ドキュメントの国際化/翻訳に関連する PR を提出しないでください!
このプロジェクトに興味を持っていただきありがとうございます!貢献を始める前に、以下のガイドラインを読んで、あなたの貢献がスムーズに受け入れられるようにしてください。
受け付けない貢献の種類
- ドキュメントの国際化/翻訳
- HTTP API など、コアインフラストラクチャに関連する貢献
- 「No help needed」と明示的にマークされた Issue(Byaidu/PDFMathTranslateリポジトリ内の Issue を含む)。
- メンテナが不適切と判断したその他の貢献。
- 貢献ドキュメントの提出、ただし英語以外の言語でのドキュメント変更。
上記の種類に関連する PR は提出しないでください。
Note
ドキュメントに貢献したい場合は、ドキュメントの英語版のみを修正してください。他の言語バージョンは貢献者自身によって翻訳されています。
貢献プロセス
- このリポジトリをフォークし、ローカルにクローンします。
- 新しいブランチを作成:
git checkout -b feature/<feature-name>
. - 開発を行い、コードが要件を満たしていることを確認します。
- コードをコミット:
- 自分のリポジトリにプッシュ:
git push origin feature/<feature-name>
. - GitHub で PR を作成し、詳細な説明を提供して@awwaawwaにレビューを依頼します。
- すべての自動チェックが通過することを確認します。
Tip
開発が完全に完了するまで待つ必要はありません。早期に PR を作成することで、実装をレビューし、提案を行うことができます。
ソースコードや関連事項について質問がある場合は、メンテナ [email protected] までお問い合わせください。
バージョン 2.0 のリソースファイルはBabelDOCと共有されています。関連リソースのダウンロードコードは BabelDOC にあります。新しいリソースファイルを追加したい場合は、BabelDOC のメンテナ [email protected] までご連絡ください。
基本要件
1. ワークフロー
main
ブランチからフォークし、フォークしたブランチで開発してください。- プルリクエスト(PR)を提出する際は、変更内容の詳細な説明を記載してください。
- PR が自動チェックに合格しない場合(
checks failed
と赤い×マークで表示)、対応するdetails
を確認し、修正を行って新しい PR がすべてのチェックに合格するようにしてください。
2. 開発とテスト
- 開発とテストには
pip install -e .
コマンドを使用してください。
3. コードフォーマット
pre-commit
ツールを設定し、コードフォーマット用にblack
とflake8
を有効にします。
4. 依存関係の更新
- 新しい依存関係を導入する場合は、
pyproject.toml
ファイル内の依存関係リストを適宜更新してください。
5. ドキュメント更新
- 新しいコマンドラインオプションを追加する場合、
README.md
ファイルのすべての言語バージョンにあるコマンドラインオプションのリストを適宜更新してください。
6. コミットメッセージ
- Conventional Commitsを使用してください。例:
feat(translator): add openai
。
7. コーディングスタイル
- 提出されたコードが基本的なコーディングスタイル標準に準拠していることを確認してください。
- 変数名にはスネークケース(snake_case)またはキャメルケース(camelCase)を使用してください。
8. ドキュメントフォーマット
README.md
のフォーマットについては、中国語コピーライティングガイドラインに従ってください。- 英語と中国語のドキュメントは常に最新の状態に保つようにし、その他の言語のドキュメント更新は任意とします。
翻訳エンジンの追加
pdf2zh/config/translate_engine_model.py
ファイルに新しい翻訳エンジン設定クラスを追加します。- 同じファイル内の
TRANSLATION_ENGINE_SETTING_TYPE
型エイリアスに新しい翻訳エンジン設定クラスのインスタンスを追加します。 pdf2zh/translator/translator_impl
フォルダに新しい翻訳エンジン実装クラスを追加します。
Note
このプロジェクトは、RPS(1 秒あたりのリクエスト数)が 4 未満の翻訳エンジンをサポートする意図はありません。そのようなエンジンのサポートを提出しないでください。
プロジェクト構造
- config folder: 設定システム。
- translator folder: 翻訳関連の実装。
- gui.py: GUI インターフェースを提供。
- const.py: いくつかの定数。
- main.py: コマンドラインツールを提供。
- high_level.py: BabelDOC ベースの高レベルインターフェース。
- http_api.py: HTTP API を提供(未開始)。
お問い合わせ
ご質問がある場合は、Issue を通じてフィードバックを提出するか、Telegram グループに参加してください。ご協力ありがとうございます!
Tip
没入型翻訳 は、このプロジェクトに積極的に貢献するコントリビューター向けに月額 Pro メンバーシップコードを提供しています。詳細はこちらをご覧ください:BabelDOC/PDFMathTranslate コントリビューター報酬規則