Weblate にコードの貢献を始める

Weblate のソースコードを理解するには、まず Weblate のソースコードWeblate フロントエンドWeblate の内部構造 を確認してください。

コードベースから始める

good first issue というラベルの付いたバグを試して、Weblate コードベースに慣れてください。

これらの問題については、質問せずに作業を開始してください。誰かがその問題に取り組んでいることを明らかにするために、その問題について発表するだけでかまいません。

Weblate をローカルで実行

The most comfortable approach to get started with Weblate development is to follow ソースからインストール. It will get you a Python environment with editable Weblate sources.

  1. Weblate ソースコードのクローン:

    git clone https://github.com/WeblateOrg/weblate.git
    cd weblate
    
  2. Install Weblate and all dependencies useful for development:

    uv sync --all-extras --dev
    
  3. 開発サーバーの起動:

    uv run weblate runserver
    
  4. Celery Worker を起動する場合の設定方法:

    uv run ./weblate/examples/celery start
    
  5. To run tests (see Weblate のローカル テスト for more details):

    . scripts/test-database.sh
    uv run pytest
    

Docker上でローカルに Weblate の実行

Docker と docker-compose-plugin がインストールされている場合は、お気に入りのパッケージ マネージャーからインストールできる jq という追加ツールが必要です。次のコマンドを実行するだけで開発環境を起動する方法:

./rundev.sh

開発用 Docker イメージを作成して起動します。Weblate は <http://127.0.0.1:8080/> で動作しており、admin ユーザーとして admin パスワードでサインインできます。新しいインストールは空なので、翻訳プロジェクトとコンポーネントの追加 に進んでください。

Weblate は、maildev コンテナをメールサーバーとして使用するように設定されています。配信されたメールは <http://127.0.0.1:1080/> で確認できます。

このための Dockerfiledocker-compose.ymldev-docker ディレクトリにあります。開発中にデータベースに簡単にアクセスできるように、PostgreSQL を実行するコンテナはポート 5433 で公開されます。

スクリプトは、複数のパラメータを受け取り、テストを実行するために test パラメータを指定して実行し、次に test パラメータを指定します。weblate.machine モジュールでテストのみの実行例:

./rundev.sh test --exitfirst weblate/machine

注釈

テストを実行する前に、Docker コンテナが稼働していることを確認してください。これは docker ps コマンドを実行して確認できます。

ログの表示方法:

./rundev.sh logs

バックグラウンド コンテナの実行の停止方法:

./rundev.sh stop

引数を指定せずにスクリプトを実行すると、Docker コンテナが再作成されて再起動します。

警告

このコンテナは本番環境には適していません。開発を容易にするためにセキュリティが犠牲になっています。

開発インスタンスの強化

import_demo を使用してデモ翻訳を作成し、createadmin を使用して管理者ユーザーを作成できます。

課金 がインストールされている場合、billing_demo を使用してデモの課金プロジェクトを作成できます。

PyCharm による Weblate のコーディング

PyCharm は Python の IDE として知られていますが、ここでは Weblate プロジェクトをセットアップするためのガイドラインを紹介します。

GitHub リポジトリをフォルダにクローンしたので、PyCharm から開くだけです。IDE を開いたあとの、最初に必要なインタプリターの指定方法:

../_images/pycharm-1.png

Select the .venv environment created by uv sync --all-extras --dev to match the command-line development setup. You can also let PyCharm create a Python environment for you, but the uv-managed environment is preferred:

../_images/pycharm-2.png

Don't forget to install the dependencies once the interpreter is set. When using the preferred uv-managed environment, run uv sync --all-extras --dev from the console.

2 番目のステップは、PyCharm 内でネイティブで Django を使用するための適切な情報の設定: アイデアは、IDE で単体テストをすぐに起動できるようにすることです。そのために必要な、Django プロジェクトのルート パスと、その設定へのパスの指定の設定方法:

../_images/pycharm-3.png

「Djangoプロジェクトのルート」 はリポジトリのルートであり、weblate のサブ ディレクトリではないことに注意してください。設定については、リポジトリから weblate/settings_test.py の使用もできますが、独自の設定を作成してそこで設定することもできます。

最後のステップは、サーバーを実行して、コードにブレークポイントを設定してデバッグを行います。そのための、新しい Django Server 設定の作成方法:

../_images/pycharm-4.png ../_images/pycharm-5.png

ヒント

No reload というプロパティに注意: これは、ファイルを変更した場合にサーバーが、ただちに再読み込みされるのを防ぐことができます。これにより、通常はサーバーの再読み込み時に破棄される既存のデバッガーのブレークポイントが保持されます。