jrnl/docs/ja/contributing.md
Toshiyuki Yoshida a50566472f
Add Japanese translations and implement I18N support
- Add Japanese translations for documentation
- Implement I18N framework
- Update mkdocs.yml for multi-language support

This commit significantly enhances the project's internationalization.
2024-09-26 10:36:54 +09:00

132 lines
9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
Copyright © 2012-2023 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html
-->
# jrnlへの貢献
jrnlへの貢献を歓迎します。バグの報告、ドキュメントの改善、リリースのテスト、機能やバグに関する議論への参加、コードの作成など、さまざまな形での貢献が可能です。
## 目次
- [行動規範](#行動規範)
- [バグの報告](#バグの報告)
- [ドキュメントの編集](#ドキュメントの編集)
- [テスト](#テスト)
- [機能リクエストとアイデアの提出](#機能リクエストとアイデアの提出)
- [jrnlの開発](#開発)
## 行動規範
まず始めに、[行動規範](https://github.com/jrnl-org/jrnl/blob/develop/CODE_OF_CONDUCT.md)をお読みください。
## バグの報告
バグは[新しい問題を開く](https://github.com/jrnl-org/jrnl/issues/new/choose)ことで報告してください。できるだけ詳細に説明してください。多くのバグは特定のオペレーティングシステムやPythonのバージョンに固有のものなので、その情報も含めてください
## ドキュメントの編集
ドキュメントにタイプミスや間違いを見つけた場合は、すぐに修正してプルリクエストを送ってください。何を変更すべきか不確かだが問題を見つけた場合は、「ドキュメントの変更」タイプで[新しい問題を開く](https://github.com/jrnl-org/jrnl/issues/new/choose)ことができます。
ドキュメントを編集するには、**develop**ブランチの`docs/*.md`ファイルを編集します。プロジェクトのルートディレクトリで`poe docs-run`を実行し、ブラウザで[localhost:8000](http://localhost:8000)にアクセスすることで結果を確認できます。
### 外部エディタとヒントとコツ
便利だと思うjrnlのコマンドラインテクニックを共有したい場合は、["ヒントとコツ"セクション](tips-and-tricks.md)に追加するとよいでしょう。特定の外部エディタとの統合に関するアドバイスは、["外部エディタ"セクション](external-editors.md)に追加できます。
## テスト
jrnlの保守作業の多くは、コーディングよりもテストに関わるものです。
jrnlの性質上、非常に機密性の高いデータを扱うため、データ損失のリスクを冒すことはできません。jrnlには包括的な自動テストスイートがありますが、ユーザーテストはこのリスクを軽減する上で極めて重要です。
### プレリリース
[プレリリースは通常のリリースと同様にPyPiを通じてデプロイされます](https://pypi.org/project/jrnl/#history)。[pipx](https://pypi.org/project/pipx/)を使用してそれらを取得し、テストすることができます。各リリースで変更された内容については[チェンジログ](https://github.com/jrnl-org/jrnl/blob/develop/CHANGELOG.md)を参照してください。
### プルリクエスト
gitに慣れている場合は、特定の[プルリクエスト](https://github.com/jrnl-org/jrnl/pulls)をフェッチし、自分でテストして、結果を報告してください。新機能の動作をスクリーンキャストで示すとなおよいでしょう。
### バグ報告の確認
[GitHubの問題](https://github.com/jrnl-org/jrnl/issues?q=is%3Aissue+is%3Aopen+label%3Abug)には常にオープンなバグがあり、多くは特定のOS、Pythonバージョン、またはjrnlバージョンに固有のものです。「jrnl v2.2、MacOS 10.15、Python 3.8.1で確認」といった簡単なコメントでも、バグの追跡に非常に役立ちます。
### 自動テスト
新しい自動テストの追加方法については、以下の開発セクションを参照してください。
## 機能リクエストとアイデアの提出
jrnlに対する機能リクエストやアイデアがある場合は、[新しい問題を開いて](https://github.com/jrnl-org/jrnl/issues/new/choose)機能の目的と関連するユースケースを説明してください。私たちはあなたと議論し、それがプロジェクトに適しているかどうかを決定します。
新機能について議論する際は、私たちの設計目標を念頭に置いてください。jrnlは[一つのことをうまく行う](https://en.wikipedia.org/wiki/Unix_philosophy)ことを目指しています。私たちにとって、それは以下を意味します:
- *機敏*であること
- シンプルなインターフェースを持つこと
- 機能の重複を避けること
## 開発
### 環境のセットアップ
jrnlを開発するには[poetry](https://python-poetry.org/)をインストールする必要があります。poetryがプロジェクトの他のすべての依存関係を管理します。
### ブランチの理解
jrnlは主に2つのブランチを使用します
- `develop` - 継続的な開発用
- `release` - リリース用
一般的に、プルリクエストは`develop`ブランチに対して行われるべきです。
### 一般的な開発コマンド
`pyproject.toml`にコマンドの一覧があります。ユーザーは`poe`の後にコマンド名を入力することでコマンドを実行できます([Poe the Poet](https://github.com/nat-n/poethepoet)は単独で、または`poetry install`の一部としてインストールできます)。
典型的な開発ワークフローには以下が含まれます:
- 依存関係のインストール:
- `poetry install`
- 仮想環境の有効化:
- `poetry shell`
- 仮想環境でソースを実行:
- `jrnl`(必要に応じて引数を付けて)
- テストの実行:
- `poe test`
- コードのフォーマットをスタイルに標準化:
- `poe format`
### 自動テストの更新
バグの解決や新機能の追加時には、将来その機能が壊れるのを防ぐためにテストを追加してください。テストでカバーされていない機能に気づいた場合は、テストのみのプルリクエストを提出することもできます。
テストには、ユニットテスト用に[pytest](https://docs.pytest.org)を、統合テスト用に[pytest-bdd](https://pytest-bdd.readthedocs.io/)を使用しています。すべてのテストは`tests`フォルダーにあります。
多くのテストは、他のテストと同じフォーマットの`*.feature`ファイルを編集するだけで作成できます。より複雑な機能については、`tests/lib/`にステップを実装し、それを`feature`ファイルのテストで実行する必要があるかもしれません。
### プルリクエストの提出
準備ができたら、プルリクエストPRを提出してください。jrnlのメンテナーは通常2週間ごとにプルリクエストをレビューしますが、継続的統合パイプラインは数分以内にあなたのコードに対して自動テストを実行し、さまざまな環境で見つかった問題を報告します。
プルリクエストのテンプレートにはハウスキーピング項目のチェックリストが含まれています。提出時に必要に応じてそれらを記入してください。
プルリクエストにテスト失敗が含まれている場合、おそらくレビューされず、確実に承認されません。ただし、テスト失敗の解決に助けが必要な場合は、PRでその旨を言及してください。
### 作業対象を見つける
[jrnlのGitHub Issues](https://github.com/jrnl-org/jrnl/issues)を[ラベル](https://github.com/jrnl-org/jrnl/labels)で検索して、作業対象を見つけることができます。以下は検索する価値のあるラベルです:
- [critical](https://github.com/jrnl-org/jrnl/labels/critical)
- [help wanted](https://github.com/jrnl-org/jrnl/labels/help%20wanted)
- [bug](https://github.com/jrnl-org/jrnl/labels/bug)
- [enhancement](https://github.com/jrnl-org/jrnl/labels/enhancement)
[マイルストーン](https://github.com/jrnl-org/jrnl/milestones)をレビューして、プロジェクトの優先事項を把握することもできます。
### 新しいプログラマーとPythonを初めて使うプログラマーへの注意
jrnlは発足以来かなり成長しましたが、全体的な複雑さエンドユーザープログラムとしてはは比較的低く、コードを理解しやすいと思います。
質問がある場合は、遠慮なく聞いてくださいPythonは初心者プログラマーを歓迎し、オープンなコミュニティとして知られています。コードをフォークして自由に試してみてください私たちと共有したいものを作成した場合は、プルリクエストを作成してください。プルリクエストが完璧で、慣用的で、すぐにマージできるコードであることは期待していません。一緒に取り組んでいきましょう