💡 この記事の3行まとめ
- ターミナルの英語が読めない原因は文法ではなく、識別子・概念語・説明文という3つの層が混ざっていることにあります。
- 層ごとに「原文のまま読む/訳語を固定する/訳して読む」を割り当て、揺れる語だけを台帳に残すと、訳文が安定します。
- Mac専用OCR翻訳『Zipp』は
⌃Sで囲んで 0.3秒、Apple Visionによる端末内処理。無料でダウンロード(登録不要)、1日15回まで使えます。
📌 この記事の対象読者
- ターミナルの英語出力を翻訳しても、用語の意味がしっくりこない方
- 同じ単語が画面によって別の訳語で出てきて、判断が止まった経験のある方
- 英語の語彙そのものを、作業しながら身につけたいと考えているエンジニア
「訳したのに分からない」のは、語彙の層が混ざっているから
ターミナルに出る英文を翻訳サイトに貼ると、たいてい読める日本語になります。それなのに、次の一手が決まらない。この詰まり方は、英語力の問題というより語彙の種類が混ざっている問題です。
ターミナルの1画面には、性質の異なる語が同居しています。git rebase --onto のようなコマンドとオプション。refs/heads/main のようなパスや識別子。fatal: warning: のような接頭辞。そして "Your branch is ahead of 'origin/main' by 2 commits." のような説明文です。この4種類をひとつの塊として訳すと、訳文は日本語として自然でも、判断に必要な情報がぼやけます。
さらに厄介なのが訳語の揺れです。deprecated は「非推奨」と訳されることも「廃止予定」と訳されることもあります。mount は「マウント」だったり「搭載」だったりします。commit は名詞なら「コミット」、動詞なら「確定」と訳されることがあります。用語集を作っているサービスでも、文脈によって訳語は変わります。揺れること自体は誤りではありませんが、同じ語が画面ごとに違う顔で出てくると、人はそれを別の概念として記憶してしまいます。
ここで起きるのが、学習の非効率です。本来なら1つ覚えれば済む語を、3つ覚えた気になって3つとも定着しない。結果として「翻訳はできるのに語彙が増えない」状態が続きます。逆に言えば、層を分けて読む習慣さえあれば、翻訳の精度を上げなくても読解は安定します。
もうひとつ見落とされがちなのは、訳文を読む順序です。英文は主語から始まりますが、エラー文の結論はしばしば末尾に来ます。"failed to ... because ..." のように、原因が後ろに置かれる構文です。訳文を頭から読むと、結論にたどり着く前に周辺情報を処理することになり、認知的な負荷が上がります。先に結論の位置を探してから読むだけで、同じ訳文の情報量は変わります。
解決策:語彙を3層に分け、揺れる語だけ台帳にする
手順1:画面の語を3つの層に仕分ける
読みたい範囲を見て、語を次の3層に分けます。
- 第1層:触る語(コマンド、オプション、パス、ファイル名、ブランチ名)… 訳さず原文のまま読む。訳すと逆に危険です。
- 第2層:概念語(
detached HEAD、upstream、index、worktreeなど)… 訳語を1つに固定して覚える。 - 第3層:説明文(動詞と接続詞で書かれた文)… 訳して読み、結論の位置を探す。
この仕分けは、囲む前に頭のなかで行うだけで十分です。第1層は訳さないと決めた瞬間、訳文に対する期待値が下がり、訳文の粗さが気にならなくなります。翻訳の質を上げるのではなく、翻訳に求める範囲を絞る。これが語彙で崩れない読み方の出発点です。
手順2:揺れる語を3つだけ台帳に残す
次に、訳語が揺れて困った語を3つまで書き留めます。全部を記録しようとすると台帳が育たず、3日で開かなくなります。3つなら、関連する語が自然に増えていきます。
台帳に書くのは「英語/自分が採用する訳語/その語が出てきた画面の種類」の3項目だけです。たとえば deprecated は「非推奨(ただし削除予定を含む)」と自分用に注記します。この注記が、訳語の揺れを吸収する緩衝材になります。市販の用語集を丸ごと覚えるより、自分が実際に詰まった語だけを持つほうが定着します。
台帳は作業ログの末尾でも、付箋でも構いません。大事なのは、同じ語に出会ったときに同じ訳語を引き当てられることです。揺れの正体は記憶の曖昧さなので、外部に置けば揺れは止まります。
手順3:囲む範囲を「1文+直前の識別子」に固定する
翻訳するときの囲み方を固定します。説明文1文と、その直前に出ている識別子(コマンド名やパス)だけを矩形で囲みます。⌃S(Control + S) を押し、必要な範囲をドラッグするだけです。
この囲み方には理由があります。第2層の概念語は、直前のコマンドやパスと結びついて初めて意味を持ちます。index という語も、git add の直後ならステージング領域、npm の文脈ならパッケージ一覧の索引です。文だけを囲むと、この手がかりが落ちます。逆に画面全体を囲むと、無関係な語が訳文に混ざり、層の仕分けが崩れます。
囲み終えると 0.3秒 で訳が最前面に表示され、原文は隠れません。訳で第3層の結論を掴み、第1層と第2層は原文で確認する。この分担が固定されると、翻訳のたびに語彙の判断をやり直す必要がなくなります。
語彙の扱いを比べる
【訳す範囲】
従来:画面全体、または長い範囲をまとめて貼る
Zipp:1文+直前の識別子に絞って囲める
【識別子の扱い】
従来:訳文に混ざり、コマンド名まで訳されることがある
Zipp:原文が隠れないため、訳さず読める
【訳語の一貫性】
従来:サービスと文脈ごとに訳語が変わる
Zipp:同じ囲み方をすれば、同じ語を同じ位置で確認できる
【語彙の定着】
従来:訳文を読むだけで、語と概念が結びつきにくい
Zipp:原文と訳を並べて見られるので、対応が取れる
【結論の把握】
従来:訳文を頭から読み、結論まで時間がかかる
Zipp:訳で種類を掴み、原文で確定できる
【試しやすさ】
従来:サービスごとに利用条件の確認が必要
Zipp:無料でダウンロード(登録不要)/1日15回まで
よくある質問(FAQ)
Q. 訳語を固定すると、間違った訳語を覚えてしまいませんか? A. 固定するのは自分が採用した訳語であって、正解を断定するものではありません。原文が隣に見えているため、後から「この語はこう訳すほうが正確だった」と修正できます。台帳は更新される前提で使うほうが長続きします。
Q. 第1層の識別子を訳さないと、意味が分からないままになりませんか? A. 識別子は訳す対象ではなく、検索する対象です。分からない識別子は、そのままの文字列で公式ドキュメントやヘルプを引くほうが早く、正確です。訳語で検索すると、存在しない日本語名に振り回されます。
Q. 概念語が多すぎて、3つに絞れません。 A. 絞れないときは「直近1週間で2回以上出会った語」だけを残してください。1回しか出会っていない語は、そもそも覚える優先度が低い語です。回数で切ると、自然に3つに収まります。
Q. 1日15回で語彙の学習は足りますか? A. 学習目的では、回数より1回あたりの観察が効きます。囲んだあとに「この語は第2層だった」と一言確認するだけで、10回の全文訳より語彙が残ります。回数が限られているほうが、範囲を絞る習慣も付きます。
語彙は、訳す前に仕分けた分だけ身につく
技術英語が読めないと感じたとき、私たちは単語帳を開こうとします。しかしターミナルの画面で詰まる原因は、語彙の絶対量より層の混在と訳語の揺れです。触る語は訳さない、概念語は訳語を固定する、説明文は結論から読む。この3つを決めるだけで、同じ翻訳でも得られる情報が変わります。
今日の作業で一度だけ、エラー文の1文と直前のコマンドを ⌃S で囲んでみてください。訳文を読みながら、訳さなかった識別子がそのまま残っていることを確かめる。その手触りが、語彙を増やすより先に効く導入になります。
▼ 無料でダウンロード(登録不要・1日15回まで)
zipp-mac.surge.sh