"description":"These terms describe the basic rules for accessing and using this system. This is general product text and may be replaced by formal legal terms from the service provider.",
"updatedAt":"Last updated: 2026-05-30",
"relatedLabel":"Also read",
"relatedLink":"Privacy Policy",
"sections":[
{
"title":"1. Service Description",
"body":"This system helps support teams manage conversations, tickets, knowledge bases, AI capabilities, and related operational data. You may access and use it only within your authorized business scope."
},
{
"title":"2. Accounts and Access",
"body":"You are responsible for protecting your account, password, tokens, and third-party sign-in credentials. Activity caused by shared, leaked, or misused credentials may be treated as activity by the account holder."
},
{
"title":"3. Acceptable Use",
"body":"You must not use the system for unlawful activity, rights infringement, service disruption, privilege bypassing, malicious code, unrelated data, or unauthorized sensitive information."
},
{
"title":"4. Data and Content Responsibility",
"body":"Content you create, upload, sync, or process in the system should be lawful, accurate, and aligned with internal management requirements. Necessary activity records may be retained for security, audit, operations, and compliance."
},
{
"title":"5. Service Changes and Availability",
"body":"System features may change due to product iteration, maintenance, security fixes, or third-party service changes. The service provider aims to keep the service stable but does not promise that any feature will remain unchanged or uninterrupted."
},
{
"title":"6. Disclaimer",
"body":"AI-generated content, automatic assignment, summaries, and suggestions are assistive only. Final business judgment, response content, and handling outcomes should be confirmed by authorized personnel."
},
{
"title":"7. Contact and Updates",
"body":"If you have questions about these terms, contact your system administrator or the service provider through published contact channels. The latest version displayed on this page applies after updates."
}
]
},
"privacy":{
"title":"Privacy Policy",
"description":"This policy explains the types of information this system may process when providing support administration capabilities, why it is used, and how it is protected. This is general product text and may be replaced by formal legal text from the service provider.",
"updatedAt":"Last updated: 2026-05-30",
"relatedLabel":"Also read",
"relatedLink":"Terms of Service",
"sections":[
{
"title":"1. Information We Process",
"body":"The system may process account profiles, roles and permissions, sign-in records, activity logs, support conversations, ticket content, customer contact information, knowledge base content, and operational diagnostics."
},
{
"title":"2. Purposes of Use",
"body":"This information is used for authentication, access control, support collaboration, issue follow-up, quality review, security audit, operations, feature improvement, and applicable compliance requirements."
},
{
"title":"3. Storage and Protection",
"body":"The system uses access control, audit logging, transport protection, and appropriate data isolation measures to protect information. You should also avoid entering sensitive personal information unless there is a clear business need."
},
{
"title":"4. Third-Party Services and Integrations",
"body":"When WeCom, OIDC, messaging channels, AI models, or other external integrations are enabled, relevant information may be sent to those services according to configuration. Processing is also governed by integration provider rules and organizational settings."
},
{
"title":"5. User and Administrator Rights",
"body":"Authorized administrators may query, correct, export, or delete relevant business data according to organizational rules. Other users can contact their system administrator for personal-information requests."
},
{
"title":"6. Cookies and Local Storage",
"body":"The system may use browser local storage to keep session state, language, theme, and interface preferences in order to maintain access, support security, and improve the user experience."
},
{
"title":"7. Contact and Updates",
"body":"If you have questions about privacy protection, contact your system administrator or the service provider through published contact channels. The latest version displayed on this page applies after updates."
"markReadFailed":"Could not mark the conversation as read.",
"emptyMessages":"No messages yet",
"loadOlder":"Load earlier messages",
"noConversationMobile":"Tap the menu in the top left to choose a conversation",
"selectConversationToChat":"Select a conversation on the left to start chatting",
"closedNotice":"This conversation is closed.",
"aiServingNotice":"AI is handling this conversation. Transfer it to a human agent before replying.",
"claim":"Claim",
"sendAttachmentFailed":"Could not send the attachment.",
"customerSender":"Customer",
"agentSender":"Agent",
"messageRecalledHtml":"This message was recalled.",
"messageRecalled":"Recalled",
"customerRead":"Read by customer",
"customerUnread":"Unread by customer",
"recallFailed":"Could not recall the message.",
"recalling":"Recalling...",
"recall":"Recall",
"loadQuickRepliesFailed":"Could not load quick replies.",
"tagRemoved":"Conversation tag removed.",
"tagAdded":"Conversation tag added.",
"tagUpdateFailed":"Could not update conversation tags.",
"editTags":"Edit conversation tags",
"edit":"Edit",
"searchTags":"Search tags",
"loadingTags":"Loading tags...",
"emptyTags":"No tags available",
"tagGroup":"Tags",
"unlinkedCustomerTitle":"No CRM Customer Linked",
"unlinkedCustomerDescription":"This conversation is not linked to a customer profile yet. Link one to manage company and contact details here.",
"linkOrCreateCustomer":"Link or Create Customer",
"missingCustomerTitle":"Customer deleted or unavailable",
"missingCustomerDescription":"The customer profile linked to this conversation is no longer available. Link an existing customer again, or create a new one and attach it to this conversation.",
"relinkOrCreateCustomer":"Relink or Create Customer",
"conversationOwner":"Conversation Ownership",
"channelId":"Channel ID",
"customerId":"Customer ID",
"selectConversationForInfo":"Select a conversation to view its details",
"selectSidebarConversationForInfo":"Select a conversation on the left to view its details",
"loadTagsFailed":"Could not load tags.",
"conversationTags":"Conversation Tags",
"noConversationTags":"No tags set for this conversation",
"loadCustomerFailed":"Could not load customer details.",
"loadingCustomer":"Loading customer details...",
"unnamedCustomer":"Unnamed customer",
"customerProfileEmpty":"A customer profile is linked, but its basic details are still empty. Click Edit to complete the profile.",
"lastActive":"Last Active",
"remark":"Notes",
"createdAt":"Created",
"updatedAt":"Updated",
"noContacts":"No contact methods yet",
"primaryContactBadge":"Primary",
"verifiedContactBadge":"Verified",
"companyUnavailable":"Company details could not be loaded, or the company was deleted.",
"saved":"Saved.",
"saveFailed":"Could not save.",
"loadTicketsFailed":"Could not load linked tickets.",
"relatedTickets":"Linked Tickets",
"loadingTickets":"Loading tickets...",
"noRelatedTickets":"No tickets linked to this conversation",
"companyNameRequired":"Enter a company name.",
"editCompany":"Edit Company",
"companyName":"Company Name",
"companyCode":"Company Code",
"cancel":"Cancel",
"saving":"Saving...",
"save":"Save",
"genderMale":"Male",
"genderFemale":"Female",
"contactMobile":"Mobile",
"contactEmail":"Email",
"contactOther":"Other",
"loadHistoryFailed":"Could not load earlier messages.",
"sendMessageFailed":"Could not send the message.",
"editorPlaceholder":"Type a message. Press Enter to send, Shift + Enter for a new line.",
"imageUploading":"Image is uploading",
"sendImage":"Send image",
"attachmentUploading":"Attachment is uploading",
"sendAttachment":"Send attachment",
"searchQuickReplies":"Search quick replies",
"emptyQuickReplies":"No quick replies yet",
"enterToSend":"Enter to send",
"send":"Send",
"uploading":"Uploading...",
"claimRequiresSignIn":"Your session has expired. Please sign in again.",
"claimReason":"Claim conversation",
"claimSuccess":"Conversation claimed.",
"claimFailed":"Could not claim the conversation.",
"claimTitle":"Claim Conversation",
"claimConfirmPrefix":"Claim \"",
"claimConfirmSuffix":"\"? It will move to your conversations.",
"emptyPrompt":"Describe your issue and we will help as soon as possible.",
"agentRead":"Seen by support",
"agentUnread":"Not seen by support",
"imageSummary":"[Image]",
"attachmentSummary":"[Attachment]",
"messageSummary":"[Message]",
"closedTitle":"Conversation ended",
"closedDescription":"This support conversation has been closed. Thanks for chatting with us.",
"connecting":"Connecting",
"connected":"Online support",
"disconnected":"Disconnected",
"retry":"Reconnect",
"moreActions":"More actions",
"minimize":"Minimize window",
"maximize":"Maximize",
"maximizeWindow":"Maximize chat window",
"restoreWindow":"Restore window",
"closeWindow":"Close window",
"closeChatWindow":"Close chat window",
"closeDialogTitle":"End this conversation?",
"closeDialogDescription":"After ending the conversation, support agents will no longer be able to view this message history. Start a new chat if you need more help.",
"continueConversation":"Continue Chat",
"closing":"Ending...",
"confirmClose":"End Conversation",
"initFailed":"Could not start the chat.",
"loadMessagesFailed":"Could not load messages.",
"syncMessagesFailed":"Could not sync messages.",
"loadHistoryFailed":"Could not load earlier messages.",
"sendMessageFailed":"Could not send the message.",
"uploadImageFailed":"Could not upload the image.",
"sendAttachmentFailed":"Could not send the attachment.",
"closeConversationFailed":"Could not close the conversation.",
"refreshFailed":"Could not refresh the chat."
},
"dashboardHome":{
"rangeToday":"Today",
"range7d":"Last 7 days",
"range30d":"Last 30 days",
"loadFailed":"Could not load the dashboard overview.",
"title":"Dashboard",
"description":"Track support conversations, tickets, agent capacity, and AI operations.",
"updatedAt":", updated at {time}",
"refresh":"Refresh",
"conversationTrend":"Conversation Trend",
"conversationTrendDescription":"Track new and closed conversations to spot rising support pressure early.",
"riskAlertsDescription":"Prioritize issues that can affect support efficiency or AI reliability.",
"noRiskTitle":"No high-priority risks right now",
"noRiskDescription":"The dashboard will keep monitoring conversation backlogs, schedules, and AI configuration issues."
},
"placeholder":{
"nextSteps":"Recommended Next Steps",
"status":"Status",
"statusDescription":"This module currently has a page scaffold. It is ready for real APIs, form dialogs, and list queries.",
"nextPhase":"Start Next Phase"
},
"help":{
"title":"Help Center Scaffold",
"description":"The help center will collect product guidance, permission rules, channel integration workflows, and FAQs.",
"step1":"Collect project development standards and admin usage guides.",
"step2":"Add third-party integration flows and configuration checklists.",
"step3":"Connect Markdown or a documentation center later."
},
"settings":{
"title":"System Settings Scaffold",
"description":"System settings will manage authentication, uploads, basic site information, and runtime policies.",
"step1":"Add APIs for reading and saving system settings.",
"step2":"Split settings into security, storage, and sign-in policy sections.",
"step3":"Add masked display and confirmation for sensitive settings."
},
"status":{
"all":"All statuses",
"ok":"Enabled",
"disabled":"Disabled",
"deleted":"Deleted"
},
"channel":{
"allTypes":"All types",
"typeWeb":"Web",
"typeWechatMp":"WeChat Official Account",
"typeWxworkKf":"WeCom Customer Service",
"loadFailed":"Could not load channels.",
"created":"Channel created: {name}",
"updated":"Channel updated: {name}",
"saveFailed":"Could not save the channel.",
"statusEnabled":"Enabled: {name}",
"statusDisabled":"Disabled: {name}",
"statusUpdateFailed":"Could not update the channel status.",
"deleted":"Channel deleted: {name}",
"deleteFailed":"Could not delete the channel.",
"refresh":"Refresh",
"new":"New Channel",
"filterName":"Filter by channel name",
"filterChannelId":"Filter by channelId",
"searchType":"Search channel types",
"emptyType":"No channel types found",
"searchStatus":"Search statuses",
"emptyStatus":"No statuses found",
"query":"Search",
"columnChannel":"Channel",
"columnType":"Type",
"columnAgent":"AI Agent",
"columnStatus":"Status",
"columnActions":"Actions",
"loading":"Loading channels...",
"empty":"No channels yet",
"toggleStatus":"Toggle status for {name}",
"edit":"Edit",
"moreActions":"More actions for {name}",
"delete":"Delete",
"typeRequired":"Select a channel type.",
"agentRequired":"Select an AI Agent.",
"searchAiAgent":"Search AI Agents",
"emptyAiAgent":"No AI Agents found",
"nameRequired":"Enter a channel name.",
"wxworkAccountRequired":"Select a WeCom customer service account.",
"positionRight":"Bottom right",
"positionLeft":"Bottom left",
"defaultTitleWeb":"Support",
"defaultTitleWechat":"WeChat Support",
"defaultSubtitle":"How can we help?",
"loadWxworkAccountsFailed":"Could not load WeCom customer service accounts.",
"resetSecretConfirm":"Resetting this secret will invalidate old userTokens after they expire. Continue?",
"resetSecretSuccess":"User JWT Secret reset.",
"resetSecretFailed":"Could not reset the User JWT Secret.",
"copySecretSuccess":"User JWT Secret copied.",
"copyFailed":"Copy failed.",
"editTitle":"Edit Channel",
"createTitle":"New Channel",
"cancel":"Cancel",
"saving":"Saving...",
"save":"Save",
"loadingDetail":"Loading...",
"name":"Channel Name",
"channelType":"Channel Type",
"selectChannelType":"Select a channel type",
"searchChannelType":"Search channel types",
"emptyChannelType":"No channel types found",
"configTitle":"Channel Settings",
"configWxworkDescription":"Configure the WeCom customer service account used to match callbacks and send outbound messages.",
"configWechatDescription":"Configure the display settings for the WeChat menu chat page.",
"configWebDescription":"Configure how the web support widget appears on your site.",
"wxworkAccount":"WeCom Customer Service Account",
"loadingWxworkAccount":"Loading service accounts",
"selectWxworkAccount":"Select a service account",
"searchWxworkAccount":"Search service accounts",
"emptyWxworkAccount":"No WeCom customer service accounts found",
"widgetTitle":"Widget Title",
"widgetSubtitle":"Widget Subtitle",
"themeColor":"Theme Color",
"mountPosition":"Widget Position",
"selectMountPosition":"Select a position",
"searchMountPosition":"Search positions",
"emptyMountPosition":"No positions found",
"widgetWidth":"Widget Width",
"userJwtSecret":"User JWT Secret",
"userJwtSecretDescription":"Your business system uses this secret to sign userTokens. After resetting it, update your business system configuration as well.",
"secretAfterSave":"Save the channel to generate a User JWT Secret.",
"copy":"Copy",
"reset":"Reset",
"remark":"Notes",
"webAccessInfo":"Web Integration",
"webAccessReady":"Copy the link or embed code to connect this web channel.",
"webAccessPending":"Save the channel to generate an integration link.",
"newChannelPending":"This is a new channel. A channelId will be generated after you save it.",
"directAccessUrl":"Direct Chat Link",
"copyLink":"Copy link",
"openLink":"Open link",
"copiedAccessLink":"Integration link copied.",
"embeddedSnippet":"Embed Code",
"copiedSnippet":"Embed code copied.",
"copyCode":"Copy Code",
"accessGuide":"Integration Guide",
"webGuide1":"1. Make sure this channel is enabled.",
"webGuide2":"2. Paste the embed code before the closing body tag on your website.",
"webGuide3":"3. Publish the site and refresh the page. The support entry will appear with this channel's settings.",
"webGuide4":"4. For standalone pages or QR codes, use the direct chat link.",
"openTestPage":"Open Test Page",
"wechatAccessInfo":"WeChat Official Account Integration",
"wechatAccessReady":"Add this link to a WeChat custom menu so users can open the support chat directly.",
"wechatAccessPending":"Save the channel to generate the WeChat menu link.",
"wechatMenuUrl":"WeChat Menu Link",
"copiedWechatMenuUrl":"WeChat menu link copied.",
"wechatGuide2":"2. Set your WeChat custom menu URL to the link above.",
"wechatGuide3":"3. Users will open the support chat directly after tapping the menu item."
},
"upload":{
"imagePlaceholder":"Upload image",
"chooseImage":"Choose an image file.",
"imageTooLarge":"Image size must be under {maxSize} MB.",
"imageUploaded":"Image uploaded.",
"imageUploadFailed":"Could not upload the image.",
"replaceImage":"Replace image",
"uploadedImage":"Uploaded image",
"uploading":"Uploading...",
"deleteImage":"Delete image"
},
"lightbox":{
"providerError":"useImageLightbox must be used within ImageLightboxProvider",
"loadFailed":"Could not load the image.",
"openInNewTab":"Open in new tab",
"previewImage":"Preview image",
"imagePreview":"Image preview",
"zoomIn":"Zoom in",
"zoomOut":"Zoom out",
"rotateLeft":"Rotate left",
"rotateRight":"Rotate right",
"reset":"Reset zoom, position, and rotation",
"close":"Close",
"help":"Use the mouse wheel or pinch gesture to zoom. Drag to pan the image. Use the toolbar to rotate left or right."
},
"companyPicker":{
"placeholder":"Select a company",
"loadFailed":"Could not load companies.",
"fallback":"Company #{id}",
"created":"Company created: {name}",
"createFailed":"Could not create the company.",
"searchPlaceholder":"Search company name",
"loading":"Loading...",
"empty":"No matching companies found",
"results":"Search Results",
"none":"No company",
"actions":"Actions",
"create":"Create company \"{name}\""
},
"company":{
"loadFailed":"Could not load companies.",
"updated":"Company updated: {name}",
"created":"Company created: {name}",
"saveFailed":"Could not save the company.",
"enabled":"Enabled: {name}",
"disabled":"Disabled: {name}",
"statusUpdateFailed":"Could not update the status.",
"deleted":"Company deleted: {name}",
"deleteFailed":"Could not delete the company.",
"refresh":"Refresh",
"new":"New Company",
"filterName":"Filter by company name",
"filterCode":"Filter by company code",
"query":"Search",
"columnName":"Company Name",
"columnCode":"Company Code",
"columnCustomerCount":"Customers",
"columnStatus":"Status",
"columnRemark":"Notes",
"columnActions":"Actions",
"unknownStatus":"Unknown",
"loading":"Loading companies...",
"empty":"No companies yet",
"edit":"Edit",
"moreActions":"More actions for {name}",
"processing":"Working...",
"enable":"Enable",
"disable":"Disable",
"delete":"Delete",
"editTitle":"Edit Company",
"createTitle":"New Company",
"cancel":"Cancel",
"saving":"Saving...",
"save":"Save",
"create":"Create",
"loadingDetail":"Loading...",
"nameRequired":"Enter a company name.",
"namePlaceholder":"Enter company name",
"optional":"Optional",
"remarkPlaceholder":"Optional"
},
"customerForm":{
"nameRequired":"Enter a customer name.",
"genderRequired":"Select a gender.",
"companyRequired":"Select a company.",
"sectionCustomer":"Customer Details",
"name":"Customer Name",
"namePlaceholder":"Enter customer name",
"gender":"Gender",
"company":"Company",
"remark":"Notes",
"optional":"Optional",
"sectionContacts":"Contact Methods",
"type":"Type",
"contact":"Contact",
"primary":"Primary",
"actions":"Actions",
"emailPlaceholder":"Email",
"contactPlaceholder":"Phone / account",
"primaryContact":"Primary contact",
"setPrimary":"Set as primary contact",
"deleteContact":"Delete this contact method",
"addContact":"Add Contact Method",
"loading":"Loading...",
"genderUnknown":"Unknown",
"genderMale":"Male",
"genderFemale":"Female",
"contactMobile":"Mobile",
"contactEmail":"Email",
"contactOther":"Other",
"editTitle":"Edit Customer",
"createTitle":"New Customer",
"cancel":"Cancel",
"saving":"Saving...",
"save":"Save",
"create":"Create"
},
"customer":{
"allGenders":"All genders",
"allCompanies":"All companies",
"select":"Select",
"loadFailed":"Could not load customers.",
"updated":"Customer updated: {name}",
"created":"Customer created: {name}",
"saveFailed":"Could not save the customer.",
"enabled":"Enabled: {name}",
"disabled":"Disabled: {name}",
"statusUpdateFailed":"Could not update the status.",
"initialPasswordDescription":"The initial password for {username} has been generated. It will only be shown once, so copy it now and share it securely.",
"initialPassword":"Initial Password",
"copying":"Copying...",
"copyPassword":"Copy Password",
"close":"Close",
"confirmResetTitle":"Reset Password?",
"confirmResetDescription":"A new random password will be generated for {username}, and the user's current sessions will be invalidated.",
"resetting":"Resetting...",
"confirmReset":"Reset Password",
"resetSuccessTitle":"Password Reset",
"resetSuccessDescription":"A new password has been generated for {username}. Copy it now and share it securely.",
"newPassword":"New Password",
"assignedRoles":"Assigned Roles",
"unassignedRoles":"No roles assigned",
"roleList":"Role List",
"searchRoleNameOrCode":"Search role name or code",
"loadingRoleList":"Loading roles...",
"noMatchedRoles":"No matching roles",
"changes":"Changes",
"addedRoles":"Added Roles",
"removedRoles":"Removed Roles",
"noneAdded":"None added",
"noneRemoved":"None removed",
"confirmAssign":"Assign Roles"
},
"aiAgent":{
"allStatuses":"All statuses",
"enabled":"Enabled",
"disabled":"Disabled",
"loadFailed":"Could not load AI agents.",
"updated":"AI agent updated: {name}",
"created":"AI agent created: {name}",
"saveFailed":"Could not save the AI agent.",
"statusChanged":"{name} {status}",
"statusUpdateFailed":"Could not update the AI agent status.",
"fallbackMessageHint":"When the knowledge base has no strong match, the agent will use this strategy and message.",
"skillsHint":"Use skills for fixed business workflows and multi-step tasks.",
"selectSkill":"Select and add skill",
"searchSkill":"Search skills",
"emptySkill":"No skills available",
"noSkillsHint":"Without skills, routing only uses knowledge bases or human handoff.",
"removeSkill":"Remove skill {name}",
"directToolsHint":"Use only for low-risk atomic lookups through external MCP tools.",
"selectToolGroup":"Select tool group",
"searchToolGroup":"Search tool groups",
"emptyToolGroup":"No tool groups available",
"selectDirectTool":"Select Direct Tool",
"searchDirectTool":"Search Direct Tools",
"emptyDirectTool":"No Direct Tools available",
"noDirectToolsHint":"Without Direct Tools, the agent will not call external or built-in tools directly. It will rely on knowledge bases, skills, and normal replies.",
"importFAQDescription":"Upload an Excel file to import FAQs in bulk. Required columns: primary question and answer. Put one similar question per line in the same cell.",
"importXlsxHint":"The template columns are primary question, answer, similar questions, and remark. Put one similar question per line inside the cell.",
"importXlsxOnly":"Only .xlsx files are supported.",
"importMode":"Import Mode",
"selectImportMode":"Select import mode",
"searchImportMode":"Search import mode",
"emptyImportMode":"No import modes found",
"importModeAppend":"Append Import",
"importModeOverwrite":"Overwrite Import",
"importModeAppendDescription":"Only creates primary questions that do not already exist. Existing primary questions are skipped.",
"importModeOverwriteDescription":"Matches by primary question and updates existing FAQs. Missing primary questions are created.",