国際化 (i18n) & 言語
Qwen Code は多言語ワークフロー向けに構築されています。CLI の UI ローカライゼーション (i18n/l10n) のサポート、アシスタントの出力言語の選択、カスタム UI 言語パックが可能です。
概要
ユーザー視点では、Qwen Code の「国際化」は複数のレイヤーにわたります。
| 機能 / 設定 | 制御対象 | 保存場所 |
|---|---|---|
/language ui | ターミナル UI のテキスト(メニュー、システムメッセージ、プロンプト) | ~/.qwen/settings.json |
/language output | AI が応答する言語(出力設定、UI 翻訳ではない) | ~/.qwen/output-language.md |
| カスタム UI 言語パック | 組み込み UI 翻訳の上書き / 拡張 | ~/.qwen/locales/*.js |
UI 言語
CLI の UI ローカライゼーションレイヤー(i18n/l10n)です。メニュー、プロンプト、システムメッセージの言語を制御します。
UI 言語の設定
/language ui コマンドを使用します。
/language ui zh-CN # 中国語
/language ui en-US # 英語
/language ui ru-RU # ロシア語
/language ui de-DE # ドイツ語
/language ui ja-JP # 日本語
/language ui pt-BR # ポルトガル語(ブラジル)
/language ui fr-FR # フランス語
/language ui ca-ES # カタルーニャ語エイリアスもサポートされています。
/language ui zh # 中国語
/language ui en # 英語
/language ui ru # ロシア語
/language ui de # ドイツ語
/language ui ja # 日本語
/language ui pt # ポルトガル語
/language ui fr # フランス語
/language ui ca # カタルーニャ語自動検出
初回起動時に、Qwen Code はシステムのロケールを検出し、UI 言語を自動設定します。
検出優先順位:
QWEN_CODE_LANG環境変数LANG環境変数- JavaScript Intl API によるシステムロケール
- デフォルト: 英語
LLM 出力言語
LLM 出力言語は、質問の言語に関係なく、AI アシスタントが応答する言語を制御します。
動作の仕組み
LLM 出力言語は ~/.qwen/output-language.md のルールファイルで制御されます。このファイルは起動時に自動的に LLM のコンテキストに含まれ、指定された言語で応答するよう指示します。
自動検出
初回起動時に output-language.md ファイルが存在しない場合、Qwen Code はシステムロケールに基づいて自動的に作成します。例:
- システムロケール
zh→ 中国語で応答するルール - システムロケール
en→ 英語で応答するルール - システムロケール
ru→ ロシア語で応答するルール - システムロケール
de→ ドイツ語で応答するルール - システムロケール
ja→ 日本語で応答するルール - システムロケール
pt→ ポルトガル語で応答するルール - システムロケール
fr→ フランス語で応答するルール - システムロケール
ca→ カタルーニャ語で応答するルール
手動設定
/language output <language> を使用して変更します。
/language output Chinese
/language output English
/language output Japanese
/language output Germanどの言語名でも機能します。LLM はその言語で応答するように指示されます。
出力言語を変更した後は、変更を反映するために Qwen Code を再起動してください。
ファイルの場所
~/.qwen/output-language.md設定
設定ダイアログから
/settingsを実行します。- 「一般」の下にある「言語」を見つけます。
- 希望する UI 言語を選択します。
環境変数から
export QWEN_CODE_LANG=zhこれは初回起動時の自動検出に影響します(UI 言語が未設定で、output-language.md ファイルがまだ存在しない場合)。
カスタム言語パック
UI 翻訳用に、~/.qwen/locales/ にカスタム言語パックを作成できます。
- 例: スペイン語用
~/.qwen/locales/es.js - 例: フランス語用
~/.qwen/locales/fr.js
ユーザーディレクトリは組み込みの翻訳より優先されます。
コントリビューションを歓迎します! 組み込みの翻訳の改善や新しい言語の追加にご協力ください。 具体的な例は PR #1238: feat(i18n): add Russian language support を参照してください。
zh-TW(台湾向け繁体字中国語)のメンテナンス
zh-TW は zh.js の自動的な OpenCC s2t 変換ではありません。手動でメンテナンスされる台湾語彙の翻訳です。キーを追加または更新する際は、以下の規約に従ってください。
「CI で強制?」列は、npm run check-i18n が違反に対してビルドを失敗させるかどうかを示します。いいえとマークされた行は、レビューでのみ強制されるスタイルガイダンスです。通常、該当する形式が UI 以外の正当な意味を持つためです(文件 は「文書」を意味し得る、打開 は台湾でも口語的に問題ない)。
| 避けるべき表現 | 代わりに使用する表現 | CI で強制? | 理由 |
|---|---|---|---|
| 文件 (file) | 檔案 | いいえ | ファイルシステム上のファイルに対する台湾用語(ただし 文件 は「文書」として正当に使われる可能性がある) |
| 服務器 / 服务器 | 伺服器 | はい | 「サーバー」に対する台湾用語 |
| 菜單 / 菜单 | 選單 | はい | 「メニュー」に対する台湾用語 |
| 鏈接 / 链接 | 連結 | はい | 「リンク」に対する台湾用語(鏈 単体は問題なし、例: 區塊鏈) |
| 打開 | 開啟 | いいえ | 台湾で好まれる「開く」の動詞(UI 上)。打開 は口語的に一般的 |
| 爲 / 啓 / 曆史 / 鏈接 | 為 / 啟 / 歷史 / 連結 | はい | 生の OpenCC s2t に由来する異体字繁体字形式。注: 曆 は文脈依存で暦関連の用語(日曆、農曆、西曆)では正しい。CI は 曆 単体ではなく連語 曆史 のみを検出する。 |
台湾華語話者でない方が値を初期設定する必要がある場合、OpenCC の生の s2t 出力をそのまま貼り付けないでください。デフォルトの s2t プロファイルは台湾で使われない異体字(為、啓など)を出力し、中国本土の語彙(服務器、菜單)を書き換えません。出発点として s2twp.json(簡体字→台湾語句マッピング付き)を推奨し、その後、台湾華語話者にレビューを依頼してください。
check-i18n スクリプト(CI では npm run check-i18n で実行)は、zh-TW の値に上記の CI 強制部分文字列のいずれかが含まれているとビルドを失敗させます。完全なリストは scripts/check-i18n.ts → ZH_TW_FORBIDDEN_PATTERNS を参照してください。翻訳に CI で禁止された部分文字列を正当に含める必要がある場合は、同じファイルの ZH_TW_ALLOWED_EXCEPTIONS にキーを追加し、簡単な理由を添えてください。
チェックは単純な部分文字列マッチングを使用するため、中国語の単語境界を認識しません。したがって、連語パターンは複合語の境界で誤検出される可能性があります。たとえば、區塊鏈接口(= 區塊鏈 + 接口)には 鏈接 という部分文字列が含まれますが、どちらの単語も間違ってはいません。この種の予期しない CI エラーが発生した場合は、パターンを削除するのではなく、翻訳キーを ZH_TW_ALLOWED_EXCEPTIONS に追加してください。
言語パックの形式
// ~/.qwen/locales/es.js
export default {
Hello: 'Hola',
Settings: 'Configuracion',
// ... その他の翻訳
};関連コマンド
/language- 現在の言語設定を表示/language ui [lang]- UI 言語を設定/language output <language>- LLM 出力言語を設定/settings- 設定ダイアログを開く