首页 教程 分类 Skills下载 关于
ZH EN JA KO
基础配置

OpenClaw多语言和本地化设置教程

· 13 分钟

前言

OpenClaw 在全球范围内被广泛使用,多语言支持是其核心功能之一。无论你的用户说中文、英文、日文还是其他语言,OpenClaw 都能灵活应对。本文将详细介绍如何配置回复语言、界面语言、按频道设置不同语言,以及如何利用自动检测功能智能匹配用户语言。

语言配置概览

OpenClaw 的语言设置涉及三个层面:

层面 说明 配置位置
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: trueformat: "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
- 使用中文标点符号(,。!?)
- 段落之间空一行
- 技术术语可保留英文原文`,
  },
}

针对多地区中文用户

{
  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 助手能智能匹配用户的语言;通过按频道配置语言,你可以为不同用户群体提供本地化体验。建议大多数用户使用 auto 模式配合合适的 fallbackLanguage,这样既灵活又可靠。对于特定语言场景(如客服),则直接指定固定语言以确保一致性。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入