eitango - TUI English Vocabulary Tool
オフラインで動く英単語トレーニング TUI です。Bubble Tea ベースの対話UIとローカル SQLite を使い、待ち時間に短く回せる学習セッションを想定しています。
SRS での復習に加えて、選択式の choice と入力式の write の 2 モードを用意していて、音声再生もサポートしています。
デフォルトで内部に語彙が組み込まれており(現在の語彙数: 約5200)、外部 CSV / JSONL からの辞書インポートもサポートしています。学習統計や進捗管理、更新通知、診断ツールも備えています。
eitangoでホーム画面を表示し、TUIでモード選択や設定変更が可能
choice mode
write mode
- ホーム画面で
Tabによりchoice / writeを切り替え、Enterで play、rで review を開始 - ホーム設定で Write 難易度
basic / hardを切り替え可能 - macOS / Windows では
Ctrl+Pで現在の単語を発話し、Shift+Tabでセッション内の自動再生を切り替え可能 eitango play [choice|write]で通常学習セッションを開始eitango review [choice|write]で due-only の復習セッションを開始eitango statsで学習統計を表示eitango versionで現在のビルド情報と最新 release を確認eitango doctorで DB と辞書の read-only 診断を実行eitango validateで組み込み辞書や外部 CSV / JSONL を検証eitango import/eitango export/eitango resetで辞書と進捗を保守
Windows では winget から install できます。manifest は GitHub Releases に公開した Windows zip を参照します。
winget install HarumiWeb.Eitango更新は次です。
winget upgrade HarumiWeb.Eitangowinget を使わない場合は後述の GitHub Releases の zip からも利用できます。
install.sh は --version を省略した場合に GitHub Releases API (/releases/latest) へアクセスして最新 version を解決し、そのうえで対応する archive と checksums.txt を取得します。SHA256 検証が通ったときだけ ~/.eitango/ へ展開し、shell rc は自動変更しません。
curl -fsSL https://raw.githubusercontent.com/harumiWeb/eitango/main/install.sh | sh特定 version を入れるときは次を使ってください。
curl -fsSL https://raw.githubusercontent.com/harumiWeb/eitango/main/install.sh | sh -s -- --version v0.2.0インストール後は次が配置されます。
~/.eitango/bin/eitango~/.eitango/version~/.eitango/share/
法務ファイルと notice は ~/.eitango/share/ に保持されます。PATH に ~/.eitango/bin が無い場合は次を shell 設定へ追加してください。
export PATH="$HOME/.eitango/bin:$PATH"script を pipe せず確認してから実行したい場合は次でも同じです。
curl -fsSLo install.sh https://raw.githubusercontent.com/harumiWeb/eitango/main/install.sh
sh install.sh --version v0.2.0アンインストールは次です。既定では学習データを残します。
curl -fsSL https://raw.githubusercontent.com/harumiWeb/eitango/main/install.sh | sh -s -- --uninstall学習データも消す場合は --purge-data を付けます。EITANGO_DATA_DIR を使っている場合は、同じ env を付けて実行してください。
curl -fsSL https://raw.githubusercontent.com/harumiWeb/eitango/main/install.sh | sh -s -- --uninstall --purge-data必要ツールは sh, curl, tar, mktemp と、sha256sum / shasum / openssl のいずれか 1 つです。Windows は今回の installer 対象外なので、winget か release zip を使ってください。
公開アーカイブにはバイナリに加えて LICENSE、THIRD_PARTY_NOTICES.md、third_party/licenses/ が同梱されます。自分のOS向けの成果物を展開して eitango を実行してください。
※ PATHへの追加は手動で行う必要があります。
Go 1.26 以降を前提にしています。
go install github.com/harumiWeb/eitango/cmd/eitango@latestgo install で導入した build でも、eitango version は埋め込まれた module version を表示します。
eitangoモード指定で起動することもできます。
eitango play
eitango play write
eitango review --focus-mode
eitango review write
eitango stats
eitango version
eitango doctoreitango learn は後方互換の alias として残っています。新しい案内では eitango play を使います。
学習データは初回起動時にローカル DB へ初期化されます。デフォルトでは組み込みの assets/words_core.jsonl を seed として使用します。
write_mode_difficulty = "basic"が既定値ですbasicでは Learn + Write の新規枠に、Choice で一度出題された語だけを使いますhardでは従来どおり、Choice 未出題語も Write に出しますbasicでは候補が少ないと session の新規問題数が減ることがあります
config.toml では次の key で切り替えます。
write_mode_difficulty = "basic"- 初期対応 OS は macOS / Windows です。Linux では音声 backend を持たず、学習機能だけそのまま使えます
Ctrl+Pで現在の単語を手動再生できますShift+Tabで現在セッションだけの自動再生 ON/OFF を切り替えできます- 自動再生は session 開始直後と次の問題表示直後に動きます
config.toml では次の key を使います。
audio_enabled = true
audio_autoplay = false- Windows:
%AppData%\\eitango-cli\\ - macOS:
~/Library/Application Support/eitango-cli/ - Linux:
~/.local/share/eitango-cli/
次のファイルが作成されます。
user.dbconfig.tomllogs/update-check.json
保存先は EITANGO_DATA_DIR で上書きできます。
eitango / eitango play / eitango review / eitango version は、GitHub Releases の latest release を確認できます。
- ホーム画面の通知は起動ごとに非同期で latest release を再確認します
- 初回の成功確認では通知せず、次回以降の起動で差分があればホーム画面に軽く表示します
update-check.jsonには直前の successful check 結果を保存し、タイムアウトやオフライン時の fallback に使いますeitango versionは現在の build info に加えて latest release URL も表示します- タイムアウトやオフライン時は黙ってスキップし、学習体験を止めません
EITANGO_DISABLE_UPDATE_CHECK=1で完全に無効化できます
更新自体は自動化していません。必要に応じて GitHub Releases の最新成果物を取り直すか、Go インストールなら次を再実行してください。
go install github.com/harumiWeb/eitango/cmd/eitango@latestcurl | sh で入れた場合も self-update はしません。最新版へ上げるときは installer を再実行してください。
curl -fsSL https://raw.githubusercontent.com/harumiWeb/eitango/main/install.sh | sh| コマンド | 役割 |
|---|---|
eitango version |
現在の build info と latest release を表示 |
eitango play [choice write] [--focus-mode] [--questions N] |
通常学習セッションを開始 |
eitango review [choice write] [--focus-mode] [--questions N] [--restart] |
due-only 復習を開始 |
eitango stats |
統計を表示 |
eitango --license |
同梱ライセンスと notice を表示 |
eitango doctor |
DB / 辞書の診断 |
eitango validate --embedded-core |
組み込み core 辞書を検証 |
eitango validate --file words.csv --format csv --kind import |
import 用辞書を検証 |
eitango import --file words.jsonl --format jsonl --source my-pack |
外部辞書を取り込み |
eitango export wrong-words --output wrong.csv |
苦手語を CSV 出力 |
eitango export progress --output progress.json |
進捗を JSON 出力 |
eitango reset --progress / eitango reset --reseed |
学習履歴の初期化 / 組み込み core 再投入 |
TUI のホーム画面では、Tab で choice / write を切り替え、Enter で play、r で review を開始します。write は日本語の意味を見て英単語を入力するモードで、Tab で段階ヒント、Ctrl+S でスキップできます。
quiz / feedback では Ctrl+P で現在語を再生し、Shift+Tab でそのセッションだけの自動再生を切り替えられます。write では答えを露出しすぎないため、音声再生と自動再生は正解/不正解の feedback 画面でのみ有効です。Write 難易度と音声既定値はホーム設定または config.toml で管理し、CLI flag での一時 override はありません。
eitango のコードは Apache License 2.0 です。ただし、配布物に含まれる assets/words_core.jsonl はコードとは別に出所を持つ語彙データであり、Apache-2.0 だけで完結するものとして扱っていません。
このリポジトリでは、bundled core の語彙由来を Leipzig Corpora Collection English News 2024 1M word list と Japanese WordNet (wnjpn.db) に限定しています。
assets/words_core.jsonlはプロジェクトが編集・整備した core 語彙データですmeaning_jaは Japanese WordNet を参照して整備した日本語意味データですfrequency_rankは Leipzig Corpora Collection English News 2024 1M word list 由来の bundled-core ranking ですlevelはcore-1からcore-4の内部バケットであり、上流データセットのラベルではありません- 語彙生成スクリプトはローカル入力の
tmp/eng_news_2024_1M-words.txtとtmp/wnjpn.dbを参照します - raw の Leipzig / WordNet 入力は配布物に含めず、生成条件は
scripts/vocab/source_manifest.jsonに固定します - Japanese WordNet を直接・間接に使った成果公開や再配布では、
third_party/licenses/Japanese-WordNet.txtにまとめた上流推奨のクレジット文言・リンク・ライセンス案内を保持してください
公開成果物での Japanese WordNet 帰属表示は、少なくとも次のような文言を含める想定です(ローカル入力を別版に差し替えた場合は版番号も合わせて更新してください)。
Japanese Wordnet (v1.1) © 2009-2011 NICT, 2012-2015 Francis Bond and 2016-2024 Francis Bond, Takayuki Kuribayashi
https://bond-lab.github.io/wnja/index.en.html
日本語ワードネット(1.1版)© 2009-2011 NICT, 2012-2015 Francis Bond and 2016-2024 Francis Bond, Takayuki Kuribayashi
https://bond-lab.github.io/wnja/index.ja.html
再配布や派生利用の前に、必ず次を確認してください。
特に words_core.jsonl を含む再配布物では、第三者データ由来の注意書きに加えて、Japanese WordNet の帰属表示案内も保持する前提で扱ってください。
アプリ本体は Go だけで動作しますが、辞書生成パイプラインには Python 3.11 以降を使います。
uv sync
go test ./...
go run ./cmd/eitango --help辞書生成スクリプトは scripts/vocab/ にあり、tmp/eng_news_2024_1M-words.txt と tmp/wnjpn.db のようなローカル入力を前提とします。これらはエンドユーザーの通常利用には不要です。
- アプリコード: Apache License 2.0
- 第三者ソフトウェアとデータ: THIRD_PARTY_NOTICES.md
- 参照用ライセンス原文とデータ出所メモ:
third_party/licenses/



