Claude Code でアラビア語:回答言語と右から左の表示
2026-11-12 時点で、Claude Code はアラビア語で回答できます。公式の設定リファレンスには language 設定があり、その値は「常にその言語で回答する」という指示としてそのままモデルに渡され、値の検証も行われません。Anthropic のヘルプセンターは、どの言語でも Claude と会話できると補足しています。アラビア語の文字がつながり、右から左の順に並ぶかどうかはターミナル側が決めるため、以下では各ターミナルの公式説明と、そのまま使える設定をまとめます。
更新日 2026-11-13
このツールを QCode エンドポイントに接続。Claude・GPT・中国系モデルを 1 キーで。
- トークン単位の課金・最新単価は /models
- カード(Visa / Mastercard)・Apple Pay・Google Pay・暗号資産で支払い可能
- チャージ後すぐにセルフサービスで開通
公式の四つの要点
回答言語は設定キーです
Claude Code の設定リファレンスには、値が「常にその言語で回答する」という指示としてそのままモデルに渡されると書かれています。固定のリストはないため、モデルが読める言語名ならどれでも機能します。値は検証されないため、綴りを間違えた名前もそのままモデルに届きます。同じキーは、音声ディクテーションと自動生成されるセッションタイトルの言語も決めます。音声ディクテーションには、対応言語の固定リストが別にあります。
アラビア語 CLAUDE.md の長さの目安
公式のメモリのドキュメントには、CLAUDE.md はプレーンテキストで、セッションのたびに開始時に読み込まれると書かれています。ファイルごとに 200 行未満を目安にするよう勧めており、長いファイルほどコンテキストを多く消費し、指示への追従性が下がります。アラビア語のルールブロックも同じ上限に従います。
表示順は双方向アルゴリズムが決めます
Unicode の双方向アルゴリズム(UAX #9)は、右から左へ流れる文字を含むテキストで、文字をどう配置し、行ごとにどう並べ替えるかを定めています。W3C の国際化の記事は、逆方向のフレーズが文章の中に混ざると問題が起きやすく、URL、ファイル名、パスがよくある例だと述べています。
iTerm2 の RTL オプション
iTerm2 の公式ドキュメントには、Enable support for right-to-left scripts というオプションが挙げられています。オンにすると、アラビア語やペルシャ語は表示時に並べ替えられ、文字は左から右の通常のテキストとして描かれるのではなく、筆記体のように連結されます。ドキュメントは、これが既定でオンだと述べています。
回答言語と表示方向は別の話です
2026-11-12 時点では、回答は二つの層に分かれます。一つ目はモデルがどの言語を話すかです。language 設定はその値を指示としてそのままモデルに渡すので、arabic と書けばアラビア語での回答を求めていることになり、ヘルプセンターも、どの言語でも Claude と会話できると補足しています。二つ目はターミナルやエディタがテキストをどう描くかです。アラビア文字は右から左へ流れ、隣り合う文字はつながりますが、この工程は Claude Code ではなく、ターミナルエミュレータ自身の bidi とシェイピングのコードが担います。同じアラビア語の回答でも、iTerm2 では正しく見え、RTL にまだ対応していないターミナルでは順序が逆になったり文字が途切れたりすることがあります。
まず言語を設定し、表示はそのあとで
公式 changelog にはアラビア語に直接関わる項目がいくつかあります。2.1.280 は、ペルシャ語とアラビア語が使うゼロ幅非接合子を不可視文字のクリーンアップが削除してしまう問題を修正しました。2.1.295 は、タブや双方向制御文字を含むテキストが画面の端で末尾を失ったり、隣の行に重なって描かれたりする問題を修正しました。2.1.290 は、language 設定に関係なく「You should know」の注記が英語で書かれる問題を修正しました。双方向制御文字を含むテキストを貼り付けた場合、Claude Code は Enter を押した時点で、送信前にこれらの不可視文字を削除しますが、ペルシャ語やインド系文字が使う接合子は残します。
公式記録のいくつかの日付
xterm.js は issue #701「Support RTL languages」を開設し、現在も open です。VS Code の統合ターミナルはこれを使っています。issue には、RTL 文字が逆に、左から右へ描かれていたと記録されています。
Windows Terminal は issue #538「Support Right to Left (RTL) text」を開設し、現在も open です。再現手順は、先に英語を入力し、そのあとにアラビア語を入力するもので、RTL のテキストが先に書いた英語の側へ流れ込みます。
kitty 0.16.0 は force_ltr オプションを追加し、RTL 系の文字を右から左の順で表示する動作をオフにできるようにしました。それ以前の 0.10.0 はアラビア語の描画を部分的に修正しており、changelog には、アラビア語の描画が完全になることはないが、少なくとも読めるようになったと書かれています。
公式に確認できることと、ご自身で確かめること
公式の原文で確認できること
① 回答言語:設定リファレンスには、language の値はそのままモデルに渡され、検証は行われず、固定のリストもないと書かれています。また、未設定の間はセッションタイトルが会話の言語に従います。② 任意の言語:ヘルプセンターには、language 設定を変えたかどうかに関わらず、どの言語でも Claude と会話できると書かれています。③ CLAUDE.md:プレーンテキストで、セッションのたびに開始時に読み込まれ、200 行未満が目安です。ブロックレベルの HTML コメントは注入前に取り除かれ、@path/to/import で他のファイルを読み込めます。④ 不可視文字:貼り付けで入ってきた双方向制御文字とゼロ幅スペースは Enter で削除され、ペルシャ語やインド系文字が使う接合子は残ります。⑤ ターミナル:iTerm2 には既定でオンの RTL オプションがあり、kitty には force_ltr があります。Windows Terminal と xterm.js の RTL の issue は現在も open です。
公式ドキュメントが明らかにしていないこと — ご自身で試してください
Claude Code のドキュメントは、自らのターミナルインターフェースがアラビア語をどうレイアウトするかを説明しておらず、どのターミナルなら正しく表示されるとは明言していません。iTerm2 は RTL オプションを実験的な設定の項目に置いています。あるアラビア語の回答が連結されるかどうか、句読点が正しい側に来るかどうかは、そのターミナルの bidi とシェイピングの実装、そしてフォントがアラビア語の字形を持っているかどうかで決まります。チームがターミナルを選ぶ前にこのテストをしておくほうが、スクリーンショットで判断するより確実です。
ターミナルの選び方
設定なしですぐアラビア語を表示したい場合
iTerm2 の公式ドキュメントによると、RTL オプションは既定でオンで、アラビア語やペルシャ語は表示時に並べ替えられ、文字が連結されます。macOS で設定を最小限にしたい場合は、まずこのオプションを確認してください。
すでに別のターミナルを使っている場合
まずそのターミナルの公式説明を読んでください。kitty には RTL の順序をオフにする force_ltr があり、Windows Terminal と、VS Code の統合ターミナルが使う xterm.js の RTL の issue は現在も open です。表示が崩れるときは、コマンドやパスをバッククォートかコードブロックに入れて独立した行に置くと、bidi による多くの問題を避けられます。サブスクリプションなしで API を使う方法は /claude-code-without-subscription をご覧ください。
設定の手順:言語、CLAUDE.md、表示
① 回答言語を設定します。~/.claude/settings.json に {"language": "arabic"} と書きます。公式の例では japanese、spanish、french のような小文字の言語名を使っています。値は検証されないため、綴りを間違えてもエラーは出ず、書いたとおりにモデルへ届きます。スコープは任意の設定ファイルなので、プロジェクト設定やローカル設定にも書けます。② アラビア語のルールを書きます。リポジトリのルートにある CLAUDE.md に、言語ルールを一行入れます。たとえば اكتب كل الشرح بالعربية. اكتب الكود وأسماء الملفات والأوامر بالإنجليزية. です。最初の文はアラビア語での説明を求め、次の文はコード、ファイル名、コマンドを英語のままにするものです。CLAUDE.md はプレーンテキストで、セッションのたびに開始時に読み込まれ、公式の助言では 200 行未満に収めます。③ 確認と表示です。セッションで /context all を実行し、Memory files の下にファイルがあることを確認します。そのうえで新しいセッションを開き、実際のタスクを一つアラビア語で与えて、ターミナルが文字を連結し、正しい順序で表示するかを見ます。手早く確かめるには、Claude に مرحبا(こんにちは)という語で返信してもらいます。アラビア語を正しく扱えるターミナルでは、文字がつながり、م が一番右の文字になります。正しく表示されない場合は、ターミナルを変えるか、そのターミナル自身のドキュメントに従って調整します。
QCode で使うには
QCode は claude-fable-5-2 などの Claude モデルを提供しています。Claude Code では、ANTHROPIC_BASE_URL を https://api.qcode.cc/api に、model を claude-fable-5-2 に設定します。アラビア語の設定と CLAUDE.md はお使いのマシン上に残り、モデルを切り替えても変わりません。1 つの QCode キーで、Anthropic 互換と OpenAI 互換の両方のインターフェースを使えます。Claude モデルは Anthropic 互換のほうでのみ提供されます。QCode はトークン単位の課金で、各モデルの単価は /models に掲載しています。月額プランなしで一度に購入するクォータパックは /pay-as-you-go をご覧ください。
よくある質問
Claude Code はアラビア語に対応していますか?
はい。設定リファレンスには、language の値が「常にその言語で回答する」という指示としてそのままモデルに渡されると書かれています。固定のリストはないため、モデルが読める言語名ならどれでも機能します。ヘルプセンターは、どの言語でも Claude と会話でき、Claude はあなたが使う言語で会話すると補足しています。
アラビア語を既定の回答言語にするにはどうすればよいですか?
~/.claude/settings.json に {"language": "arabic"} を追加します。値は検証されないため、書いたとおりにモデルへ届きます。スコープは任意の設定ファイルなので、プロジェクト設定やローカル設定にも書けます。未設定の間は、セッションタイトルが会話の言語に従います。リポジトリの取り決めも固定したい場合は、CLAUDE.md にアラビア語のルールを一行追加します。
アラビア文字がつながらず、順序が逆に見えます。どうすればよいですか?
それはモデルの出力ではなく、ターミナル側の bidi とシェイピングの処理です。iTerm2 がドキュメントに載せている RTL オプションは既定でオンで、並べ替えと筆記体の連結の両方を行います。kitty には RTL の順序をオフにする force_ltr があります。Windows Terminal と、VS Code の統合ターミナルが使う xterm.js の RTL の issue は現在も open です。表示が崩れるときは、RTL をドキュメントで扱っているターミナルを選び、コマンドやパスはバッククォートかコードブロックに入れてください。
CLAUDE.md はアラビア語で書けますか?
はい。公式ドキュメントには、CLAUDE.md はプレーンテキストで、セッションのたびに開始時に読み込まれると書かれており、自然言語に関する制限はありません。長いファイルほど指示への追従性が下がるため、各ファイルは 200 行未満に収めてください。ブロックレベルの HTML コメントは注入前に取り除かれるので、ルールをコメントに隠さないでください。/context all を実行すると、ファイルが実際に読み込まれたか確認できます。
アラビア語の回答の中に英語のパスやコマンドがあると、句読点が反対側の端に寄ってしまいます。なぜですか?
アラビア語の中に混ざるラテン文字の断片は双方向テキストです。Unicode の双方向アルゴリズムは文字の方向によって並べ替えを行い、W3C は URL、ファイル名、パスをとくに問題が起きやすいフレーズとして挙げています。括弧のような鏡像文字は方向によって形が変わります。実際には、そうした断片をアラビア語の文に密着させず、独立した行かバッククォート、コードブロックに入れてください。
コード、識別子、コミットメッセージにはどの言語を使うべきですか?
それはチームの取り決めであり、ベンダーが定めた規則ではありません。よくある構成では、説明、計画、レビューコメントをアラビア語にし、コード、識別子、ファイル名、コミットメッセージは英語のままにします。こうすると、識別子にアラビア文字が入る場合の転写やエンコーディングの手間を避けられます。どちらの層にどの言語を使うかを CLAUDE.md に書き込むほうが、会話のたびに繰り返すより確実です。
出典
Claude Code 公式ドキュメント:設定リファレンス(language の項目)、settings、memory(CLAUDE.md)、interactive-mode(不可視文字)、公式 changelog(2.1.280、2.1.290、2.1.295、2.1.300)。Anthropic ヘルプセンター:How to use Claude in your preferred language。ターミナルとエディタ:iTerm2 の公式ドキュメント、kitty の公式 changelog、Windows Terminal、xterm.js、VS Code の公式リポジトリの issue。Unicode UAX #9 と W3C の双方向テキストの記事。QCode:qcode.cc/models と docs.qcode.cc のエンドポイントのページ。いずれも 2026-11-12 に取得しました。
関連ページ
クォータパック:使い切りの枠、月額プラン不要
月額プランを契約せず、枠を一つ購入します。トークン単位で課金され、各モデルの単価は /models をご覧ください。
Claude Code のドイツ語:言語設定と CLAUDE.md
ドイツ語で使うとき、language 設定と CLAUDE.md、AGENTS.md の役割をどう分けるかを説明します。
Claude Code のペルシア語:language 設定と RTL 表示
公式ドキュメントから:Claude Code の language 設定に固定リストはなく、U+200C、ی と ي、ک と ك、右から左の表示、貼り付けられる CLAUDE.md のルールをまとめました。
暗号資産チャージガイド
9 通貨・56 ネットワーク、手数料 0 で AI コーディング API クレジットを購入。
公式の記述は 2026-11-12 に Claude Code のドキュメント、Anthropic ヘルプセンター、各ターミナルの公式ページで確認しました。モデルの提供状況と単価は qcode.cc/models に準拠します。