はじめに
OpenClaw は世界中で広く使用されており、多言語サポートはそのコア機能の一つです。ユーザーが中国語、英語、日本語、その他の言語を話す場合でも、OpenClaw は柔軟に対応できます。本記事では、返答言語、インターフェース言語の設定方法、チャネルごとの言語設定、自動検出機能によるユーザー言語のインテリジェントマッチングについて詳しく解説します。
言語設定の概要
OpenClaw の言語設定には3つの層があります。
| 層 | 説明 | 設定場所 |
|---|---|---|
| AI返答言語 | AIがどの言語でユーザーに返答するか | persona.language |
| Dashboard インターフェース言語 | 管理パネルのインターフェース言語 | gateway.locale |
| システムログ言語 | 実行ログの言語 | logging.locale |
基本的な言語設定
グローバル返答言語の設定
openclaw.json5 で設定します。
{
persona: {
language: "zh-CN", // 簡体字中国語
},
}
サポートされている言語コード
| 言語コード | 言語 | 説明 |
|---|---|---|
zh-CN |
簡体字中国語 | 中国大陸 |
zh-TW |
繁体字中国語 | 台湾地域 |
en |
英語 | 国際共通 |
ja |
日本語 | 日本 |
ko |
韓国語 | 韓国 |
fr |
フランス語 | フランスなど |
de |
ドイツ語 | ドイツなど |
es |
スペイン語 | スペイン、中南米 |
pt |
ポルトガル語 | ポルトガル、ブラジル |
ru |
ロシア語 | ロシア |
ar |
アラビア語 | 中東地域 |
auto |
自動検出 | ユーザーの入力に基づいて自動判断 |
自動言語検出
言語を auto に設定すると、OpenClaw はユーザーの入力言語を自動的に検出し、同じ言語で返答します。
{
persona: {
language: "auto",
// 自動検出の詳細設定
languageDetection: {
// 自動検出を有効化
enabled: true,
// 検出できない場合のデフォルト言語
fallbackLanguage: "zh-CN",
// 検出信頼度のしきい値(0-1)
confidenceThreshold: 0.7,
// ユーザーの言語設定を記憶するか
rememberPreference: true,
},
},
}
自動検出の動作原理
ユーザーがメッセージを送信
├─ メッセージテキストを分析
├─ 言語の種類と信頼度を判定
│ ├─ 信頼度 > しきい値 → 検出された言語を使用
│ └─ 信頼度 < しきい値 → デフォルト言語を使用
├─ rememberPreference=true の場合
│ └─ そのユーザーの言語設定を記録
└─ マッチした言語で返答を生成
実際の動作例
language: "auto" の場合:
- ユーザーが「你好」を送信 → AIは中国語で返答
- ユーザーが「Hello」を送信 → AIは英語で返答
- ユーザーが「こんにちは」を送信 → AIは日本語で返答
- ユーザーが複数言語を混在して送信 → 最も多く使われている言語で返答
チャネルごとの言語設定
異なる通信チャネルは異なる言語のユーザーグループにサービスを提供する場合があります。OpenClaw は各チャネルに独立した言語設定をサポートしています。
{
persona: {
// グローバルデフォルト言語
language: "zh-CN",
// チャネル別オーバーライド
channelOverrides: {
// Telegram中国語グループ — 簡体字中国語
telegram: {
language: "zh-CN",
},
// Discord国際コミュニティ — 自動検出
discord: {
language: "auto",
languageDetection: {
fallbackLanguage: "en",
},
},
// Slack日本チーム — 日本語
slack: {
language: "ja",
},
// WhatsAppカスタマーサービス — 自動検出、デフォルト中国語
whatsapp: {
language: "auto",
languageDetection: {
fallbackLanguage: "zh-CN",
rememberPreference: true,
},
},
// LINE — 繁体字中国語
line: {
language: "zh-TW",
},
},
},
}
システムプロンプトとの併用
言語設定はシステムプロンプトと組み合わせて使用し、AIの返答言語とスタイルの一貫性を確保できます。
{
persona: {
language: "zh-CN",
systemPrompt: "あなたは小智、フレンドリーな中国語AIアシスタントです。常に簡体字中国語で返答し、自然な中国語表現を使用して、英語の語彙の過度な使用を避けてください。",
channelOverrides: {
discord: {
language: "en",
systemPrompt: "You are Claw, a helpful English-speaking AI assistant. Always respond in natural, conversational English.",
},
},
},
}
多言語システムプロンプトテンプレート
AIアシスタントが複数の言語を処理する必要がある場合、プロンプト内で明確に指示できます。
{
persona: {
language: "auto",
systemPrompt: `あなたは多言語AIアシスタントです。
## 言語ルール
1. 常にユーザーと同じ言語で返答する
2. ユーザーが中英混合の場合は中国語で返答を優先
3. 専門用語は原文を保持し、括弧内に中国語の説明を付記
4. コードのコメントは英語を使用
## 各言語のスタイル
- 中文:使用简洁的口语化表达
- English: Use clear and concise language
- 日本語:丁寧語を使用してください`,
},
}
Dashboardインターフェース言語
OpenClaw 管理パネルは複数のインターフェース言語をサポートしています。
{
gateway: {
// Dashboardインターフェース言語
locale: "zh-CN",
// 選択可能な値:zh-CN, zh-TW, en, ja, ko, fr, de, es
},
}
変更後、OpenClaw を再起動すると反映されます。
openclaw restart
http://localhost:18789/dashboard にアクセスして効果を確認します。
システムログ言語
システムログはデフォルトで英語ですが、他の言語に切り替えることもできます。
{
logging: {
// ログ言語
locale: "zh-CN",
// 中国語に設定した場合のログ出力例:
// [信息] 网关已启动,端口:18789
// [信息] 模型提供商:Claude(claude-sonnet-4-20250514)
// [信息] 频道已就绪
},
}
開発デバッグ時は理解しやすい中国語ログを、本番環境では検索やトラブルシューティングに便利な英語ログの使用をお勧めします。
ユーザーによる手動言語切り替え
ユーザーはチャット内でコマンドを使って言語を切り替えることができます。
/lang zh-CN → 簡体字中国語に切り替え
/lang en → Switch to English
/lang ja → 日本語に切り替える
/lang auto → 自動検出をオンにする
/lang list → サポートされている言語を表示
切り替え後は即座に反映され、以降の会話で新しい言語が使用されます。
翻訳支援機能
OpenClaw には翻訳支援機能が組み込まれており、返答に翻訳を添付できます。
{
persona: {
language: "zh-CN",
// 翻訳支援
translation: {
// バイリンガル返答を有効にするか
bilingual: false,
// バイリンガル返答の第二言語
secondLanguage: "en",
// バイリンガル返答のフォーマット
format: "parallel", // parallel(並列)、footnote(脚注)
// コマンドによる翻訳トリガー
commandEnabled: true, // ユーザーが /translate コマンドで翻訳できるようにする
},
},
}
バイリンガル返答の効果
bilingual: true かつ format: "parallel" の場合:
ユーザー:今日の天気は?
AI:
今天天气晴朗,气温约25度,适合出门活动。
Today is sunny with a temperature of about 25°C, perfect for outdoor activities.
format: "footnote" の場合:
ユーザー:今日の天気は?
AI:
今天天气晴朗,气温约25度,适合出门活动。
[EN] Today is sunny with a temperature of about 25°C.
ローカライズ設定のベストプラクティス
中国語ユーザー向けの最適化
{
persona: {
language: "zh-CN",
systemPrompt: `あなたは中国語ユーザー向けのAIアシスタントです。
## 中国語返答規範
- 簡体字中国語を使用
- 数字はアラビア数字を使用
- 日付形式:YYYY年MM月DD日
- 時刻形式:HH:MM(24時間制)
- 通貨形式:¥100.00
- 中国語の句読点を使用(,。!?)
- 段落間は1行空ける
- 技術用語は英語の原文を残してよい`,
},
}
多地域の中国語ユーザー向け
{
persona: {
language: "auto",
languageDetection: {
// 簡体字と繁体字を区別
distinguishVariants: true,
fallbackLanguage: "zh-CN",
},
// 簡体字・繁体字変換
chineseVariant: {
// auto: ユーザーの入力に自動マッチ
// simplified: 常に簡体字を使用
// traditional: 常に繁体字を使用
mode: "auto",
},
},
}
多言語グループチャットの処理
多言語グループチャット(例:国際的なDiscordサーバー)では、以下の設定を推奨します。
{
persona: {
language: "auto",
languageDetection: {
enabled: true,
fallbackLanguage: "en",
confidenceThreshold: 0.8,
rememberPreference: true,
},
systemPrompt: `You are a multilingual AI assistant in an international community.
## Language Rules
- Detect and respond in the same language as the user
- If unsure, respond in English
- For mixed-language messages, use the predominant language
- Always be respectful of cultural differences
- Use culturally appropriate expressions`,
},
}
完全な多言語設定例
以下は、一般的なシナリオをカバーする完全な多言語設定例です。
{
gateway: {
port: 18789,
locale: "zh-CN",
},
persona: {
name: "小智",
language: "auto",
languageDetection: {
enabled: true,
fallbackLanguage: "zh-CN",
confidenceThreshold: 0.7,
rememberPreference: true,
},
systemPrompt: "あなたは小智、多言語AIアシスタントです。ユーザーと同じ言語で返答し、フレンドリーでプロフェッショナルであり続けてください。",
channelOverrides: {
telegram: {
language: "zh-CN",
name: "小智",
},
discord: {
language: "auto",
name: "Claw",
languageDetection: {
fallbackLanguage: "en",
},
},
slack: {
language: "zh-CN",
name: "工作助手",
},
line: {
language: "zh-TW",
name: "小智",
},
},
translation: {
bilingual: false,
commandEnabled: true,
},
},
logging: {
locale: "en",
level: "info",
},
}
言語設定の検証
設定完了後、言語設定が反映されていることを検証します。
# OpenClawを再起動
openclaw restart
# 設定を確認
openclaw doctor
# Dashboardのインターフェース言語が変更されたか確認
# http://localhost:18789/dashboard にアクセス
その後、各チャネルで異なる言語のテストメッセージを送信し、返答言語が正しいことを確認します。
まとめ
OpenClaw の多言語サポートにより、一つのシステムで世界中のユーザーにサービスを提供できます。自動言語検出機能によりAIアシスタントがユーザーの言語をインテリジェントにマッチングし、チャネルごとの言語設定により異なるユーザーグループにローカライズされた体験を提供できます。ほとんどのユーザーには、適切な fallbackLanguage と組み合わせた auto モードの使用をお勧めします。これにより柔軟性と信頼性の両方が確保されます。特定の言語シナリオ(カスタマーサービスなど)では、一貫性を確保するために固定言語を直接指定することを推奨します。