export default {
  // 通用
  common: {
    loading: '加载中...',
    cancel: '取消',
    delete: '删除',
    edit: '编辑',
    save: '保存',
    saved: '已保存',
    saveFailed: '保存失败',
    ok: '确定',
    copied: '已复制',
    copy: '复制',
    update: '更新',
    create: '创建',
    noData: '暂无数据',
    fetch: '获取',
    add: '添加',
    enable: '启用',
    disable: '禁用',
    configured: '已配置',
    notConfigured: '未配置',
  },

  // 侧边栏
  sidebar: {
    chat: '对话',
    jobs: '任务',
    models: '模型',
    skills: '技能',
    memory: '记忆',
    logs: '日志',
    channels: '频道',
    settings: '设置',
    connected: '已连接',
    disconnected: '未连接',
  },

  // 对话
  chat: {
    emptyState: '开始与 Hermes Agent 对话',
    inputPlaceholder: '输入消息... (Enter 发送，Shift+Enter 换行)',
    attachFiles: '添加附件',
    stop: '停止',
    send: '发送',
    sessions: '会话',
    noSessions: '暂无会话',
    newChat: '新建对话',
    deleteSession: '确定删除此会话？',
    sessionDeleted: '会话已删除',
    rename: '重命名',
    copySessionId: '复制会话 ID',
    renamed: '已重命名',
    renameFailed: '重命名失败',
    renameSession: '重命名会话',
    enterNewTitle: '输入新标题',
    other: '其他',
    runFailed: '运行失败',
    tool: '工具',
    error: '错误',
    arguments: '参数',
    result: '结果',
    truncated: '... (已截断)',
  },

  // 定时任务
  jobs: {
    title: '定时任务',
    createJob: '创建任务',
    editJob: '编辑任务',
    noJobs: '暂无定时任务，创建一个开始吧。',
    name: '名称',
    namePlaceholder: '任务名称',
    schedule: '调度表达式 (Cron)',
    schedulePlaceholder: '例如 0 9 * * *',
    quickPresets: '快速预设',
    selectPreset: '选择预设...',
    presetEveryMinute: '每分钟',
    presetEvery5Min: '每 5 分钟',
    presetEveryHour: '每小时',
    presetEveryDay: '每天 00:00',
    presetEveryDay9: '每天 09:00',
    presetEveryMonday: '每周一 09:00',
    presetEveryMonth: '每月 1 日 09:00',
    prompt: '提示词',
    promptPlaceholder: '要执行的内容',
    deliverTarget: '投递目标',
    origin: '来源',
    local: '本地',
    repeatCount: '重复次数（可选）',
    repeatPlaceholder: '留空表示无限重复',
    jobCreated: '任务已创建',
    jobUpdated: '任务已更新',
    nameRequired: '名称为必填项',
    scheduleRequired: '调度表达式为必填项',
    loadFailed: '加载任务失败',
    jobPaused: '任务已暂停',
    jobResumed: '任务已恢复',
    jobTriggered: '任务已触发',
    jobDeleted: '任务已删除',
    status: {
      running: '运行中',
      paused: '已暂停',
      disabled: '已禁用',
      scheduled: '已调度',
    },
    info: {
      schedule: '调度',
      lastRun: '上次运行',
      nextRun: '下次运行',
      deliver: '投递',
      repeat: '重复',
    },
    action: {
      pause: '暂停',
      pauseJob: '暂停任务',
      resume: '恢复',
      resumeJob: '恢复任务',
      runNow: '立即运行',
      triggerImmediately: '立即触发',
    },
  },

  // 技能
  skills: {
    title: '技能',
    searchPlaceholder: '搜索技能...',
    noMatch: '没有匹配的技能',
    noSkills: '暂无技能',
    backTo: '返回',
    attachedFiles: '附件文件',
    loadFailed: '加载技能失败',
    fileLoadFailed: '加载文件失败',
  },

  // 记忆
  memory: {
    title: '记忆',
    refresh: '刷新',
    loadFailed: '加载记忆失败',
    myNotes: '我的笔记',
    noNotes: '暂无笔记。',
    notesPlaceholder: '输入笔记内容...',
    userProfile: '用户画像',
    noProfile: '暂无画像。',
    profilePlaceholder: '输入用户画像...',
  },

  // 模型
  models: {
    title: '模型',
    addProvider: '添加 Provider',
    providerType: 'Provider 类型',
    preset: '预设',
    custom: '自定义',
    selectProvider: '选择 Provider',
    chooseProvider: '选择一个 provider...',
    name: '名称',
    autoGeneratedName: '根据 Base URL 自动生成',
    baseUrl: 'Base URL',
    baseUrlPlaceholder: '例如 https://api.example.com/v1',
    apiKey: 'API Key',
    apiKeyPlaceholder: 'sk-...',
    defaultModel: '默认模型',
    selectModel: '选择模型...',
    providerAdded: 'Provider 已添加',
    providerDeleted: 'Provider 已删除',
    deleteProvider: '删除 Provider',
    deleteConfirm: '确定删除 "{name}" 吗？',
    noProviders: '暂无 Provider，添加一个开始吧。',
    builtIn: '内置',
    customType: '自定义',
    provider: 'Provider',
    local: '本地 ({host})',
    selectProviderRequired: '请选择 Provider',
    baseUrlRequired: 'Base URL 为必填项',
    apiKeyRequired: 'API Key 为必填项',
    modelRequired: '默认模型为必填项',
    enterBaseUrl: '请先输入 Base URL',
    unexpectedFormat: '响应格式异常',
    foundModels: '找到 {count} 个模型',
    fetchFailed: '获取模型失败',
  },

  // 日志
  logs: {
    title: '日志',
    all: '全部',
    searchPlaceholder: '搜索...',
    refresh: '刷新',
    noEntries: '暂无日志',
  },

  // 设置
  settings: {
    title: '设置',
    saved: '已保存',
    saveFailed: '保存失败',
    tabs: {
      display: '显示',
      agent: '代理',
      memory: '记忆',
      session: '会话',
      privacy: '隐私',
      apiServer: 'API 服务器',
    },
    display: {
      streaming: '流式响应',
      streamingHint: '实时显示 AI 回复',
      compact: '紧凑模式',
      compactHint: '减少消息间距',
      showReasoning: '显示推理过程',
      showReasoningHint: '展示模型思考过程',
      showCost: '显示费用',
      showCostHint: '在回复中显示 token 使用量',
      inlineDiffs: '内联差异',
      inlineDiffsHint: '代码变更以内联方式显示',
      bellOnComplete: '完成提示音',
      bellOnCompleteHint: 'AI 回复完成时播放提示音',
      busyInputMode: '忙碌输入模式',
      busyInputModeHint: 'AI 处理中仍可输入',
    },
    agent: {
      maxTurns: '最大轮次',
      maxTurnsHint: '单次对话最大交互轮数',
      gatewayTimeout: '网关超时',
      gatewayTimeoutHint: '单次请求超时时间（秒）',
      restartDrainTimeout: '重启排空超时',
      restartDrainTimeoutHint: '重启前排空请求的超时时间（秒）',
      toolEnforcement: '工具执行策略',
      toolEnforcementHint: '控制工具调用的执行模式',
      auto: '自动',
      always: '始终',
      never: '从不',
    },
    memory: {
      enabled: '启用记忆',
      enabledHint: '允许 AI 记住对话上下文',
      userProfile: '用户画像',
      userProfileHint: '允许 AI 记住用户偏好信息',
      charLimit: '记忆字符上限',
      charLimitHint: 'MEMORY.md 最大字符数',
      userCharLimit: '用户画像字符上限',
      userCharLimitHint: 'USER.md 最大字符数',
    },
    session: {
      mode: '重置模式',
      modeHint: '会话重置的触发条件',
      modeBoth: '空闲 + 定时',
      modeIdle: '仅空闲',
      modeHourly: '仅定时',
      idleMinutes: '空闲超时',
      idleMinutesHint: '无操作后自动重置的等待时间（分钟）',
      atHour: '定时重置时间',
      atHourHint: '每天在指定小时重置会话',
    },
    privacy: {
      redactPii: '脱敏 PII',
      redactPiiHint: '自动检测并隐藏敏感信息（密码、密钥等）',
    },
    apiServer: {
      enable: '启用',
      enableHint: '启用 API 服务器',
      host: '主机',
      hostHint: '监听地址',
      port: '端口',
      portHint: '监听端口',
      key: '密钥',
      keyHint: 'API 访问密钥',
      cors: 'CORS 来源',
      corsHint: '允许的跨域来源',
    },
  },

  // 平台频道设置
  platform: {
    requireMention: "需要 {'@'}提及",
    requireMentionGroup: "群组中需要 {'@'}机器人 才会响应",
    requireMentionChannel: "频道中需要 {'@'}机器人 才会响应",
    requireMentionRoom: "房间中需要 {'@'}机器人 才会响应",
    reactions: '表情回应',
    reactionsHint: '对消息添加表情回应',
    freeResponseChats: '自由响应聊天',
    freeResponseChatsHint: "不需要 {'@'}提及即响应的聊天 ID（逗号分隔）",
    freeResponseChannels: '自由响应频道',
    freeResponseChannelsHint: "不需要 {'@'}提及即响应的频道 ID（逗号分隔）",
    freeResponseRooms: '自由响应房间',
    freeResponseRoomsHint: "不需要 {'@'}提及即响应的房间 ID（逗号分隔）",
    mentionPatterns: '自定义提及模式',
    mentionPatternsHint: '额外的触发模式列表',
    autoThread: '自动创建线程',
    autoThreadHint: "{'@'}提及 后自动创建回复线程",
    autoThreadHintRoom: '在房间中自动创建回复线程',
    dmMentionThreads: 'DM 提及线程',
    dmMentionThreadsHint: '在私聊中也使用线程回复提及',
    allowBots: '允许机器人消息',
    allowBotsHint: '响应其他机器人发送的消息',
    allowedChannels: '允许的频道',
    allowedChannelsHint: '白名单频道 ID（逗号分隔）',
    ignoredChannels: '忽略的频道',
    ignoredChannelsHint: '不响应的频道 ID（逗号分隔）',
    noThreadChannels: '无线程频道',
    noThreadChannelsHint: '不创建线程的频道 ID（逗号分隔）',
    botToken: 'Bot Token',
    botTokenHint: '开发者门户获取的 Bot Token',
    accessToken: 'Access Token',
    accessTokenHint: 'Matrix Access Token',
    homeserver: 'Homeserver URL',
    homeserverHint: 'Matrix 服务器地址',
    appId: 'App ID',
    appIdHint: '飞书 App ID',
    appSecret: 'App Secret',
    appSecretHint: '飞书 App Secret',
    clientId: 'Client ID',
    clientIdHint: '钉钉 Client ID',
    clientSecret: 'Client Secret',
    clientSecretHint: '钉钉 Client Secret',
    botId: 'Bot ID',
    botIdHint: '企业微信 Bot ID',
    wecomSecretHint: '企业微信 Bot Secret',
    waEnabled: '启用 WhatsApp',
    waEnabledHint: '通过二维码配对启用 WhatsApp',
    weixinToken: '微信 Token',
    weixinTokenHint: '通过 weixin CLI 扫码登录获取 (hermes weixin)',
    accountId: 'Account ID',
    accountIdHint: '微信 Account ID',
    qrLogin: '扫码登录',
    qrRelogin: '重新登录',
    qrFetching: '正在获取二维码...',
    qrScanHint: '使用微信扫描二维码登录',
    qrScanedHint: '已扫描，请在手机上确认...',
  },

  // 语言
  language: {
    label: '语言',
    zh: '中文',
    en: 'English',
  },
}
