Cursor (カーソル) は VS Code をベースにした AI エディタで、英語前提のまま使っている人も多いツールです。ですが少し設定するだけで、UI もメニューも日本語表示になり、AI の回答も毎回日本語で返るようになります。この記事では、FIXIT のエンジニアが日本語プロジェクトで実際に使っている設定を 10 個、UI の日本語化から AI 応答の固定、日本語コメント生成、IME のトラブル対処まで順番にまとめました。あわせて、日本語にならないときの症状を 7 つに分けて原因と対処を整理しています。

まだ Cursor を入れたばかりという人は、先にCursor 導入の始め方に目を通してから戻ってくると理解が早いはずです。

結論|効くのは 3 つ、つまずくのは 2 か所

設定項目は多く見えますが、日本語環境の快適さを決めているのは次の 3 つです。

  1. VS Code 用の日本語言語パックを入れて表示言語を ja にする (UI が日本語になる)
  2. .cursor/rules/ で応答言語を指定する (AI の回答が日本語で返る)
  3. 文字コードを UTF-8、改行コードを LF に固定する (日本語を含むファイルが化けない)

逆に、つまずく箇所もほぼ 2 か所に集約されます。1 つは表示言語の一覧に ja が出てこないケースで、言語パックが入っていないことがほとんどです。もう 1 つは設定したのに英語へ戻るケースで、再読み込み漏れか設定同期による上書きが原因です。どちらも後半の「日本語にならないときの原因と対処」で症状別に扱います。

なお、表示言語の設定は settings.json ではなく argv.json に保存されます。ここを知っておくと、GUI から切り替えられないときの回避策が持てます。

この記事で扱う日本語設定は 3 つです。UI の言語設定、操作画面の日本語化、そして AI の回答を日本語に固定する使い方です。順に進めれば 10 分ほどで終わります。

1. UI を日本語表示にする(言語パックの導入)

Cursor は VS Code 互換なので、Microsoft が配布している日本語言語パック「Japanese Language Pack for Visual Studio Code」をそのまま使えます。拡張機能パネル(Cmd + Shift + X / Ctrl + Shift + X)で「Japanese Language Pack」を検索してインストールすると、再読み込みを促すダイアログが出ます。再起動すると、メニューバーや設定画面、コマンドパレットがすべて日本語表記に切り替わります。

もしダイアログを閉じてしまった場合は、コマンドパレット(Cmd + Shift + P)で「Configure Display Language」と打ち、ja を選べば手動で適用できます。

ここで押さえておきたいのが、VS Code と Cursor の違いです。VS Code では「Configure Display Language」の一覧に未導入の言語も並び、選ぶとパックが自動で導入されます。一方 Cursor は拡張機能の取得先が異なるため、この自動導入がうまく働かず、一覧に ja が現れないことがあります。Cursor では言語パックを先に入れてから表示言語を切り替える、と覚えておくと迷いません。

表示言語は argv.json に保存される

選んだ表示言語は argv.json というファイルに "locale": "ja" として保存されます。コマンドパレットで「Preferences: Configure Runtime Arguments」を実行すると、このファイルを直接開けます。

{
  // 起動時に読み込まれる引数。表示言語はここで決まる
  "locale": "ja"
}

設定画面の settings.json ではなく起動時引数のファイルなので、settings.json の中を探しても表示言語の項目は見つかりません。GUI からうまく切り替えられないときや、新しく参加したメンバーへ設定を配りたいときは、このファイルを直接書き換えて再起動するのが確実です。

2. 設定画面・コマンドパレットを日本語で操作する

言語パックを入れたあとは、設定項目の検索も日本語が効きます。Cmd + , で設定を開き「フォント」「自動保存」などと日本語で検索すれば該当項目に飛べます。コマンドパレットも「ファイル」「ターミナル」といった日本語のキーワードでコマンドが引けるようになるため、英語のコマンド名を覚えていなくても操作できます。

ただし Cursor 固有の AI 機能(Composer や Chat パネルなど)の一部ラベルは英語のまま残ることがあります。これは Cursor 独自の UI であり VS Code の言語パックの対象外だからです。エディタ本体は日本語、AI パネルは一部英語、という状態は仕様だと理解しておくと混乱しません。

補足

Composer や Chat パネルの一部ラベルが英語のまま残るのは、Cursor 独自の UI で言語パックの対象外だからです。不具合ではないので、ここは英語のままで問題ありません。

3. AI の回答を日本語に固定する(Chat・Composer・Agent 共通の Rules 設定)

UI を日本語にしても、AI の回答は英語で返ってくることがあります。これを根本的に解決するには、プロジェクトルールで言語を明示するのが最も確実です。プロジェクトのルートに .cursor/rules/ ディレクトリを作り、次のような内容のファイルを置きます。

---
description: 言語と回答スタイルの基本ルール
alwaysApply: true
---
 
- ユーザーへの説明・回答はすべて日本語で行う。
- コード内のコメントも日本語で書く(英語の用語はそのまま使ってよい)。
- 技術用語(関数名・ライブラリ名など)は無理に翻訳しない。

alwaysApply: true を付けると、このルールが常にコンテキストへ読み込まれ、Chat でも Composer でも Agent でも日本語で返るようになります。表示言語の設定は UI の言語しか変えないため、AI の応答言語はここで別途指定しておく必要があります。ルールファイルの書き方や description の使い分けはCursor のルール (.mdc) 設定ガイドで詳しく解説しています。

長い会話の途中で英語に戻ってしまうことがありますが、これはコンテキストが埋まってルールの優先度が下がったサインです。会話を新しく始めるか、「日本語で」と短く伝え直すと戻ります。ルールをリポジトリに置いておけば、新しい会話でも毎回同じ前提から始められます。

4. 単発で日本語を指定するプロンプトの定型

ルールを置くほどでもない場面では、プロンプトの先頭で言語を指定すれば十分です。「以降の回答はすべて日本語で。コードコメントも日本語にしてください」と一度伝えるだけで、その会話の間は日本語で返ってきます。

英語混じりの回答に戻ってしまったときは、「日本語で」と短く打つだけでも軌道修正できます。プロジェクト全体に効かせたいときはルール、その場限りでよいときはプロンプト、と使い分けるのがコツです。

5. 日本語コメントを安定して生成させる

日本語コメントを書かせると、半角と全角が混在したり、句点が抜けたりすることがあります。ルールに具体的な書式を足すと出力が安定します。たとえば「コメントの文末は句点で終える」「JSDoc の説明文は日本語、@param のタグ名は英語のまま」のように、粒度を指定してあげると意図どおりに揃います。

既存コードのコメントスタイルに寄せたいときは、参考にしたいファイルを @ファイル名 でコンテキストに含めてから依頼すると、Cursor がそのトーンを踏襲してくれます。新規に書かせるより、既存の良いサンプルを見せるほうが結果が安定するという感覚です。

6. コミットメッセージを日本語で生成する

Cursor のソース管理パネルには、ステージした差分からコミットメッセージを自動生成する機能があります。初期状態では英語で生成されることが多いので、ここも Rules で方針を決めておきます。「コミットメッセージは日本語で書く」「feat: fix: などの prefix は英語のまま、本文は日本語」といった具合に指定しておけば、チーム内の表記も自然に揃います。

Conventional Commits の prefix を残しつつ本文だけ日本語にする運用は、日本語チームと CI ツールの両立がしやすく、FIXIT でも採用しています。commitlint のようなツールは prefix の形式を見て判定するため、本文が日本語でも検証は通ります。

7. 日本語入力・IME 周りのトラブルと対処

日本語入力でつまずきやすいのが、変換確定の Enter がそのままチャット送信や改行として扱われてしまうケースです。Cursor の Chat 入力欄では、変換中の Enter は確定、確定後の Enter で送信、という挙動が基本ですが、IME や OS の組み合わせによっては変換途中で送信されてしまうことがあります。その場合は、確定操作を Space での候補確定に寄せる、あるいは送信を Cmd + Enter 側に意識的に分けると誤爆が減ります。

エディタ本体で変換確定の Enter が余計な改行を生む場合は、Cmd + , の設定で「Editor: Accept Suggestion On Enter」を offsmart に変えると、AI 補完の確定と IME の確定がぶつかりにくくなります。

8. 文字化けを防ぐ(エンコーディングと改行コード)

日本語が化けて見えるとき、原因は文字コードとフォントの 2 通りに分かれます。切り分けの目印は、特定のファイルを開いたときだけ化けるのか、画面全体の日本語が化けるのかです。

特定のファイルだけなら文字コードの推定ミスです。設定で「Files: Encoding」を utf8 に固定すると、新規ファイルが常に UTF-8 で保存され、化けにくくなります。すでに化けて見えるファイルは、画面右下のエンコーディング表示をクリックして「エンコード付きで再度開く」から Shift JIS などを選び、正しく読めたら改めて UTF-8 で保存し直します。

改行コードも合わせて「Files: Eol」を LF に揃えておくと、日本語コメントを含むファイルの差分が CRLF と LF の違いで荒れるのを防げます。チームで OS が混在しているプロジェクトでは特に効きます。

一方、画面全体の日本語が □ や記号で表示される場合はフォント側の問題です。指定しているフォントに日本語のグリフが含まれていません。設定の「Editor: Font Family」に日本語フォントを追記して解決します。

{
  // 英字フォントの後ろに日本語フォントを並べると、日本語だけ後者が使われる
  "editor.fontFamily": "Menlo, 'Noto Sans JP', 'Meiryo', monospace",
  "files.encoding": "utf8",
  "files.eol": "\n"
}

9. 日本語ドキュメントを @docs で読ませる

Cursor の @docs 機能を使うと、外部ドキュメントの URL をインデックス化して AI のコンテキストに含められます。社内の日本語仕様書や、日本語で書かれたライブラリのドキュメントを登録しておけば、Chat で @docs から指定するだけで、その内容を踏まえた日本語の回答が得られます。

日本語の API ドキュメントを登録しておくと、「この仕様に沿って実装して」と日本語で頼んだときに、用語や言い回しまでドキュメントに寄せてくれます。英語の公式ドキュメントしかない場合でも、要点をまとめた日本語メモを 1 枚作って読ませるだけで、回答の精度と日本語の自然さが両方上がります。

10. チームで日本語ルールを共有する

ここまでの設定のうち、個人の環境に閉じるもの(言語パック、IME、エンコーディング)と、チームで揃えたいもの(AI の応答言語、コメント書式、コミットメッセージ)は分けて考えると運用がきれいになります。後者は .cursor/rules/ 配下のファイルとして Git にコミットしてしまえば、リポジトリをクローンした全員に同じルールが効きます。

文字コードやフォントのような環境側の設定も、リポジトリの .vscode/settings.json に置いておけば、開いた時点で全員に適用されます。

{
  // リポジトリを開いた全員に効く。日本語まわりの前提をここで揃えておく
  "files.encoding": "utf8",
  "files.eol": "\n",
  "files.insertFinalNewline": true,
  "files.trimTrailingWhitespace": true
}

FIXIT の日本語プロジェクトでは、.cursor/rules/ に「回答は日本語」「コメントは日本語、用語は原語のまま」「コミットは prefix 英語・本文日本語」といったルールを 1 ファイルにまとめ、alwaysApply: true で常時適用しています。これに UTF-8 固定と LF 統一を .vscode/settings.json で合わせておけば、誰が触っても日本語まわりの挙動がブレません。新しくジョインしたメンバーが個別に設定して回る手間がなくなり、レビューで「コメントが英語になっている」といった指摘も激減します。

表示言語そのものは個人の好みが出るところなので、argv.json は強制せず、導入手順だけ共有するのが現実的です。英語 UI のまま使いたいメンバーがいても、AI の応答とコメントが日本語で揃っていればレビューは成立します。

要点

日本語化はやることが多く見えますが、効くのは言語パックの導入・応答言語の Rules 化・UTF-8 と LF の固定の 3 点が中心です。まずここを押さえれば、残りは後から足せます。

日本語にならないときの原因と対処

設定したはずなのに日本語にならない、という相談で実際に多いのは次の 7 パターンです。いずれも原因がはっきりしているので、症状から引いて確認してください。

表示言語の一覧に ja が出てこない

「Configure Display Language」を開いても選択肢に ja がない場合、日本語言語パックがまだ入っていません。VS Code なら一覧から選ぶとパックが自動で入りますが、Cursor は拡張機能の取得先が異なるため自動導入が働かず、インストール済みの言語しか並ばないことがあります。拡張機能パネルで「Japanese Language Pack for Visual Studio Code」を入れてから開き直すと ja が現れます。

拡張機能の検索でそもそも候補が出てこないときは、Cursor が拡張機能の取得先に接続できていない可能性があります。社内ネットワークのプロキシや証明書の設定で弾かれているケースが多いので、ブラウザで拡張機能ページが開けるかを先に確かめると原因が絞れます。

言語パックを入れたのに英語のまま

表示言語の切り替えは再読み込みのタイミングで反映されます。インストール直後に出る再読み込みのダイアログで再起動していれば日本語になりますが、ダイアログを閉じてしまうと英語のままに見えます。「Configure Display Language」で ja を選び直し、Cursor をいったん終了してから起動し直してください。

エディタ本体は日本語になったのに Chat や Composer のラベルだけ英語という場合は、不具合ではありません。これらは Cursor 独自の UI で、VS Code 用の言語パックの対象外です。同じく AI の応答が英語で返ってくるのも表示言語とは別の話で、こちらは §3 の Rules で指定します。

「Configure Display Language」が候補に出ない

コマンドパレットに打ち込んでもコマンド自体が候補に出ないときは、まず display言語 のように短い語で引いてみてください。表示言語を日本語にしたあとはコマンド名も日本語表記になるため、英語名で探すと見つからないことがあります。

それでも出ない場合は、argv.json を直接編集する方法に切り替えるのが早いです。「Preferences: Configure Runtime Arguments」でファイルを開き、"locale": "ja" を書いて保存し、再起動します。このコマンドも出てこないときは、Cursor をいったん終了して起動し直すとコマンドの一覧が復旧することがあります。

再起動すると英語に戻ってしまう

設定同期 (Settings Sync) が有効で、別のマシンの設定に上書きされている可能性があります。複数の端末で Cursor を使っていると、片方の端末の表示言語が同期で反映され、起動のたびに英語へ戻ることがあります。

切り分けとしては、いったん設定同期をオフにしてから表示言語を設定し直し、再起動して保持されるかを確認します。保持されたら同期を戻し、各端末で同じ表示言語に揃えておくと再発しません。あわせて argv.jsonlocaleja のまま残っているかも見ておくと、同期が原因かどうかの判断が早くなります。

バージョン更新のあとに英語へ戻った

Cursor の更新で言語パックが無効化されたり、対応するバージョンからずれたりすると、表示が英語に戻ることがあります。拡張機能パネルで日本語言語パックが有効のままか、更新が必要な状態になっていないかを確認してください。無効になっていたら有効化し、パック側の更新があれば適用してから再起動します。

更新のたびに戻ってしまう場合は、言語パックを一度削除してから入れ直すと安定することがあります。

日本語が □ や記号で表示される

文字化けの中でも、画面全体の日本語が □ や記号になる場合はフォント側の問題です。指定しているフォントに日本語のグリフが含まれていないため、代替のグリフで描画されています。§8 のとおり「Editor: Font Family」に日本語フォントを追記すると直ります。

特定のファイルを開いたときだけ化けるなら、こちらは文字コードの推定ミスです。原因が違うので、対処も §8 の前半 (エンコーディングの指定) を参照してください。

表示を英語に戻したい

「Configure Display Language」で en を選んで再起動すれば戻ります。言語パックをアンインストールする必要はありません。表示言語の選択は argv.json に保存されているだけなので、jaen を行き来しても設定が壊れることはありません。英語の技術記事やエラーメッセージと画面を突き合わせたいときだけ一時的に英語へ戻す、という使い分けもできます。

Windows と Mac で違うところ

言語パックを入れて表示言語を ja にする流れは、どちらの OS でも同じです。差が出るのはキーボードショートカットと日本語入力の 2 点です。

操作MacWindows
拡張機能パネルCmd + Shift + XCtrl + Shift + X
コマンドパレットCmd + Shift + PCtrl + Shift + P
設定画面Cmd + ,Ctrl + ,

日本語入力は環境差が大きい部分です。Windows の IME と Mac のライブ変換では変換確定の Enter の扱いが変わるため、チャット入力欄での誤送信対策は §7 を参考に環境ごとに調整してください。文字コードについても、Windows で作られた既存ファイルは Shift JIS で保存されていることがあり、Mac 側で開くと化けて見えます。この場合は §8 の手順で UTF-8 に直します。

日本語と英語を使い分ける基準

すべてを日本語に寄せるより、対象で分けたほうが実務では扱いやすくなります。判断の軸は、人が読むものか、機械やエコシステムが読むものかです。

人に向けたものは日本語に寄せます。AI の説明、コードコメント、コミットメッセージの本文、設計メモやレビューのやり取りが該当します。ここを日本語にしておくと、チーム内での認識のずれが減り、後から参加したメンバーの立ち上がりも早くなります。

一方、識別子やエコシステム側の語彙は英語のままにします。変数名・関数名・型名、コミットメッセージの prefix、ライブラリ名や設定キーが該当します。無理に訳すと検索性が落ち、公式ドキュメントやエラーメッセージと突き合わせられなくなります。

エラーメッセージの調査だけは英語で進めたほうが速い場面もあります。同じ症状の事例が英語圏に多いため、原文のまま検索したほうが情報にたどり着けます。表示言語を一時的に英語へ戻せる状態にしておくと、こうした切り替えが楽になります。

まとめ|まず押さえる 3 つ

日本語化はやることが多いように見えますが、効くのは「言語パックを入れて表示言語を ja にする」「.cursor/rules/ で応答言語を指定する」「UTF-8 と LF を固定する」の 3 点が中心です。まずこの 3 つを押さえ、残りは必要になったタイミングで足していけば、Cursor を日本語環境でストレスなく使えるようになります。

うまくいかないときは、表示言語の保存先が argv.json であることと、設定同期が上書きしうることの 2 点を思い出してください。この 2 つを知っているだけで、切り分けにかかる時間がかなり短くなります。

関連記事: Cursor 導入の始め方はこちら、毎日使うショートカットはCursor で TypeScript を爆速で書く 10 のショートカットでまとめています。