コンテンツにスキップ

コントリビュート

コントリビュートは大歓迎です。pull request を作成する前にコントリビュートガイドをお読みください。ディスカッションでアイデアを提案したり、プロジェクトのバックログを確認したりすることもできます。

Python 3.10 から 3.13 が必要です。インストールされていない場合は uv がダウンロードします。

  1. FFmpeg と、Linux では PortAudio をインストールします。

    ターミナルウィンドウ
    # macOS
    brew install ffmpeg
    # Ubuntu または Debian
    sudo apt install ffmpeg libportaudio2
    # Windows
    choco install ffmpeg
  2. リポジトリをクローンします。

    ターミナルウィンドウ
    git clone https://github.com/HenestrosaDev/audiotext.git
    cd audiotext
  3. 依存関係と仮想環境を管理する uv をインストールします。

  4. 依存関係をインストールします。

    ターミナルウィンドウ
    uv sync

    uv sync は CUDA 対応の PyTorch をインストールするため、Linux と Windows ではダウンロードが大きくなります。NVIDIA GPU がない場合は、代わりに CPU 版をインストールしてください。

    ターミナルウィンドウ
    uv sync --no-group cuda --group cpu
  5. アプリを起動します。

    ターミナルウィンドウ
    uv run src/app.py
ターミナルウィンドウ
uv run pre-commit install # コミットのたびにコードをチェック・整形する
uv run pytest # テストを実行する

インターフェースは gettext で翻訳されています。テキストは res/locales/audiotext.pot に、各言語の翻訳は res/locales/<言語>/LC_MESSAGES/audiotext.po にあります。 数によって変わるテキスト(例: {count} file / {count} files)には、カタログの Plural-Forms ヘッダーで定められた、その言語の複数形ごとの翻訳(msgstr[0]、msgstr[1]…)があります。 同じテキストが、コンテキスト(msgctxt)付きでもう一度現れることがあり、場所ごとに別の訳を付けられます。たとえば Done は文字起こしの状態で、files コンテキスト付きのものはフォルダーのファイルの絞り込みです。

コードのテキストが変わったとき、または .po ファイルを編集した後(Poedit など)は、このスクリプトを実行します。テキストの抽出、カタログの更新とコンパイルを行い、まだ翻訳または確認が必要なテキスト(fuzzy の印付き)を一覧表示します。それまでアプリはそれらを英語で表示します。古いカタログがある間はテストが失敗します。

ターミナルウィンドウ
uv run .github/scripts/update_translations.py

言語を追加するには、カタログを作成して翻訳・コンパイルし、src/utils/i18n.py の UI_LANGUAGES に追加します。

ターミナルウィンドウ
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <コード>
uv run .github/scripts/update_translations.py

このサイトは Starlight で作られており、audiotext-docs リポジトリにあります。言語ごとに src/content/docs 内にフォルダーがあります(英語は en にあります)。

ターミナルウィンドウ
git clone https://github.com/HenestrosaDev/audiotext-docs.git
cd audiotext-docs
npm install
npm run dev # http://localhost:4321 でサイトを表示する
npm run build # dist にサイトをビルドする

各ページの下部には、GitHub でそのページを開く ページを編集 リンクがあります。