Files
ClawX/shared/i18n/locales/en/channels.json
T

278 lines
12 KiB
JSON

{
"title": "Messaging Channels",
"subtitle": "Manage messaging channels, accounts, account-to-agent bindings, and each channel's default account.",
"refresh": "Refresh",
"addChannel": "Add Channel",
"stats": {
"total": "Total Channels",
"connected": "Connected",
"disconnected": "Disconnected"
},
"gatewayWarning": "Gateway service is not running. Channels cannot connect.",
"availableChannels": "Available Channels",
"supportedChannels": "Supported Channels",
"available": "Available Channels",
"availableDesc": "Connect a new channel",
"configured": "Configured Channels",
"configuredDesc": "Manage channels that are already configured",
"configuredBadge": "Configured",
"deleteConfirm": "Are you sure you want to delete this channel?",
"showAll": "Show All",
"pluginBadge": "Plugin",
"toast": {
"whatsappConnected": "WhatsApp connected successfully",
"whatsappFailed": "WhatsApp connection failed: {{error}}",
"qrConnected": "{{name}} connected successfully",
"qrFailed": "{{name}} connection failed: {{error}}",
"channelSaved": "Channel {{name}} saved",
"channelConnecting": "Connecting to {{name}}...",
"savedButRefreshFailed": "Configuration was saved, but refreshing page data failed. Please refresh manually.",
"restartManual": "Please restart the gateway manually",
"configFailed": "Configuration failed: {{error}}",
"bindingUpdated": "Account binding updated",
"defaultUpdated": "Default account updated",
"accountDeleted": "Account deleted",
"channelDeleted": "Channel deleted"
},
"account": {
"add": "Add Account",
"edit": "Edit",
"delete": "Delete Account",
"deleteChannel": "Delete channel",
"deleteConfirm": "Are you sure you want to delete this account?",
"default": "Current Default",
"setDefault": "Set as channel default",
"bindAgentLabel": "Bound Agent",
"unassigned": "Unassigned",
"mainAccount": "Primary Account",
"customIdLabel": "Account ID",
"customIdPlaceholder": "e.g. feishu-sales-bot",
"customIdHint": "Use a lowercase account ID (letters, numbers, hyphen, underscore) to distinguish multiple accounts under one channel.",
"invalidId": "Account ID cannot be empty",
"invalidCanonicalId": "Account ID must use lowercase letters, numbers, hyphens, or underscores, start with a letter/number, and be at most 64 characters.",
"idLabel": "ID: {{id}}",
"boundTo": "Bound to: {{agent}}",
"handledBy": "Handled by {{agent}}",
"bindingStatusLabel": "Binding: {{status}}",
"connectionStatusLabel": "Connection: {{status}}",
"bindingStatus": {
"bound": "Bound",
"unbound": "Unbound"
},
"connectionStatus": {
"connected": "Connected",
"connecting": "Connecting",
"degraded": "Degraded",
"disconnected": "Disconnected",
"error": "Error"
},
"accountIdPrompt": "Enter a new account ID for this channel",
"accountIdExists": "Account ID {{accountId}} already exists"
},
"dialog": {
"updateTitle": "Update {{name}}",
"configureTitle": "Configure {{name}}",
"addTitle": "Add Channel",
"existingDesc": "Update your existing configuration",
"selectDesc": "Select a channel type to configure",
"qrCode": "QRCode",
"token": "Token",
"scanQR": "Scan this QR code with {{name}}",
"refreshCode": "Refresh Code",
"loadingConfig": "Loading configuration...",
"existingHint": "You have an existing configuration for this channel",
"howToConnect": "How to connect",
"viewDocs": "View Documentation",
"channelName": "Channel Name",
"channelNamePlaceholder": "My {{name}}",
"enableChannel": "Enable Channel",
"enableChannelDesc": "When off, config is saved but the channel stays disabled",
"credentialsVerified": "Credentials Verified",
"validationFailed": "Validation Failed",
"warnings": "Warnings",
"back": "Back",
"validating": "Validating...",
"validateConfig": "Validate Configuration",
"generatingQR": "Generating QR...",
"validatingAndSaving": "Validating & Saving...",
"generateQRCode": "Generate QR Code",
"updateAndReconnect": "Update & Reconnect",
"saveAndConnect": "Save & Connect",
"envVar": "Environment Variable: {{var}}"
},
"health": {
"state": {
"degraded": "Gateway degraded",
"unresponsive": "Gateway unresponsive"
},
"reasons": {
"gateway_degraded": "Gateway heartbeat recently degraded.",
"gateway_unresponsive": "Gateway control plane appears unresponsive.",
"channels_status_timeout": "Channel runtime status probe timed out.",
"rpc_timeout": "Recent Gateway RPC calls timed out.",
"gateway_not_running": "Gateway is not running.",
"gateway_error": "Gateway is in an error state.",
"runtime_error": "Channel runtime reported an error."
},
"restartGateway": "Restart Gateway",
"copyDiagnostics": "Copy Diagnostics",
"viewDiagnostics": "View Diagnostics",
"hideDiagnostics": "Hide Diagnostics",
"diagnosticsTitle": "Gateway Diagnostics Snapshot",
"diagnosticsCopied": "Diagnostics copied to clipboard",
"diagnosticsCopyFailed": "Failed to collect diagnostics: {{error}}",
"restartTriggered": "Gateway restart requested",
"restartFailed": "Failed to restart gateway: {{error}}"
},
"meta": {
"telegram": {
"description": "Connect Telegram using a bot token from @BotFather",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/TjiGwxsMWi7hpDkDAQBc0ydMnEf#MEkKdqXP1orZU2x4SrFcdUHgnl1",
"fields": {
"botToken": {
"label": "Bot Token",
"placeholder": "123456:ABC-DEF..."
},
"allowedUsers": {
"label": "Allowed User IDs",
"placeholder": "e.g. 123456789, 987654321",
"description": "Comma separated list of User IDs allowed to use the bot. Required for security."
}
},
"instructions": [
"Open Telegram and search for @BotFather",
"Send /newbot and follow the instructions",
"Copy the bot token provided",
"Paste the token below",
"Get your User ID from @userinfobot and paste it below"
]
},
"discord": {
"description": "Connect Discord using a bot token from Developer Portal",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/BkOywJYCAiYRN9k4KTTceKPMnxg#QS6LdxnA2oNtfcxtFc8cgabnnNd",
"fields": {
"token": {
"label": "Bot Token",
"placeholder": "Your Discord bot token"
},
"guildId": {
"label": "Guild/Server ID",
"placeholder": "e.g., 123456789012345678",
"description": "Limit bot to a specific server. Right-click server → Copy Server ID."
},
"channelId": {
"label": "Channel ID (optional)",
"placeholder": "e.g., 123456789012345678",
"description": "Limit bot to a specific channel. Right-click channel → Copy Channel ID."
}
},
"instructions": [
"Go to Discord Developer Portal → Applications → New Application",
"In Bot section: Add Bot, then copy the Bot Token",
"Enable Message Content Intent + Server Members Intent in Bot → Privileged Gateway Intents",
"In OAuth2 → URL Generator: select \"bot\" + \"applications.commands\", add message permissions",
"Invite the bot to your server using the generated URL",
"Paste the bot token below"
]
},
"whatsapp": {
"description": "Connect WhatsApp by scanning a QR code (no phone number required)",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/ES7fwUfH8iGl8FkHYfFcyWB3n4d#doxcnUElomBZLi0NnKLUzn6zLbd",
"instructions": [
"Open WhatsApp on your phone",
"Go to Settings > Linked Devices > Link a Device",
"Scan the QR code shown below",
"The system will automatically identify your phone number"
]
},
"wechat": {
"description": "Connect personal WeChat with Tencent's official OpenClaw plugin by scanning a QR code",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/GHYZwuPCriF0gWkXwkFcJ9zon3b",
"instructions": [
"Click Generate QR Code to install and enable the official WeChat plugin inside OpenClaw",
"Scan the QR code below with WeChat and confirm the connection on your phone",
"After linking succeeds, a new WeChat ClawBot chat will appear in WeChat automatically",
"You can repeat the QR flow later to add another WeChat account or reconnect an existing one"
]
},
"dingtalk": {
"description": "Connect DingTalk via OpenClaw channel plugin (Stream mode)",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/Y5eNwiSiZidkLskrwtJc1rUln0b#doxcnDgA78n43DbkiQjI1OqUA7b",
"fields": {
"clientId": {
"label": "Client ID (AppKey)",
"placeholder": "dingxxxxxx"
},
"clientSecret": {
"label": "Client Secret (AppSecret)",
"placeholder": "Your app secret"
}
},
"instructions": [
"Install and enable the dingtalk plugin in OpenClaw",
"Create a DingTalk internal app and enable Stream mode",
"Fill in Client ID (AppKey) and Client Secret (AppSecret)"
]
},
"feishu": {
"description": "Connect Feishu/Lark bot via WebSocket",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/GKn8wOvHnibpPNkNkPzcAvGlnzK#GdHUdp9t9oqyegxwV8ScLvVGn1c",
"fields": {
"appId": {
"label": "App ID",
"placeholder": "cli_xxxxxx"
},
"appSecret": {
"label": "App Secret",
"placeholder": "Your app secret"
}
},
"instructions": [
"Read the documentation, then go to Feishu Open Platform",
"Create a new application",
"Get App ID and App Secret",
"Configure event subscription"
]
},
"wecom": {
"description": "Connect WeCom Bot via plugin",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/JTGnwoV0RixKPtkr4w7c7gpAnDc",
"fields": {
"botId": {
"label": "Bot ID",
"placeholder": "ww_xxxxxx"
},
"secret": {
"label": "App Secret",
"placeholder": "Your WeCom Bot secret"
}
},
"instructions": [
"Create an application in WeCom Admin Console to get configuration info",
"Ensure receive message server config is enabled",
"Enter your Bot ID (or Corp ID) and Secret to establish connection"
]
},
"qqbot": {
"description": "Connect QQ Bot channel (built-in since OpenClaw 3.31)",
"docsUrl": "https://icnnp7d0dymg.feishu.cn/wiki/KPIJwlyiGiupMrkiS9ice39Zn2c",
"fields": {
"appId": {
"label": "App ID",
"placeholder": "Your QQ Bot App ID"
},
"clientSecret": {
"label": "Client Secret",
"placeholder": "Your QQ Bot Client Secret"
}
},
"instructions": [
"Register an app at QQ Bot Open Platform",
"Get App ID and Client Secret",
"Fill in your credentials below"
]
}
},
"viewDocs": "View Documentation"
}