コントリビュート
コントリビュートは大歓迎です。pull request を作成する前にコントリビュートガイドをお読みください。ディスカッションでアイデアを提案したり、プロジェクトのバックログを確認したりすることもできます。
プロジェクトを準備する
Section titled “プロジェクトを準備する”Python 3.10 から 3.13 が必要です。インストールされていない場合は uv がダウンロードします。
-
FFmpeg と、Linux では PortAudio をインストールします。
ターミナルウィンドウ # macOSbrew install ffmpeg# Ubuntu または Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
リポジトリをクローンします。
ターミナルウィンドウ git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
依存関係と仮想環境を管理する uv をインストールします。
-
依存関係をインストールします。
ターミナルウィンドウ uv syncuv syncは CUDA 対応の PyTorch をインストールするため、Linux と Windows ではダウンロードが大きくなります。NVIDIA GPU がない場合は、代わりに CPU 版をインストールしてください。ターミナルウィンドウ uv sync --no-group cuda --group cpu -
アプリを起動します。
ターミナルウィンドウ uv run src/app.py
uv run pre-commit install # コミットのたびにコードをチェック・整形するuv run pytest # テストを実行するインターフェースを翻訳する
Section titled “インターフェースを翻訳する”インターフェースは 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このドキュメントを改善する
Section titled “このドキュメントを改善する”このサイトは Starlight で作られており、audiotext-docs リポジトリにあります。言語ごとに src/content/docs 内にフォルダーがあります(英語は en にあります)。
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # http://localhost:4321 でサイトを表示するnpm run build # dist にサイトをビルドする各ページの下部には、GitHub でそのページを開く ページを編集 リンクがあります。