diff --git a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json index 44eb3481..b5ec79cb 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json +++ b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json @@ -527,8 +527,8 @@ "TITLE": "特性", "ALLOW_CONVERSATION_FAQS": "从已解决的对话中生成常见问题", "ALLOW_MEMORIES": "从客户互动中捕获关键细节作为记忆", - "ALLOW_CITATIONS": "Include source citations in responses", - "ALLOW_CONTACT_ATTRIBUTES": "Allow access to contact information" + "ALLOW_CITATIONS": "在回复中包含来源引用", + "ALLOW_CONTACT_ATTRIBUTES": "允许访问联系人信息" } }, "EDIT": { @@ -541,23 +541,23 @@ "HEADER": "设置", "BASIC_SETTINGS": { "TITLE": "基本设置", - "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human." + "DESCRIPTION": "自定义助手在结束对话或转接人工时的回复内容。" }, "SYSTEM_SETTINGS": { "TITLE": "系统设置", - "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human." + "DESCRIPTION": "自定义助手在结束对话或转接人工时的回复内容。" }, "CONTROL_ITEMS": { - "TITLE": "The Fun Stuff", - "DESCRIPTION": "Add more control to the assistant. (a bit more visual like a story : Query guardrail → scenarios → output) Nudges user to actually utilise these.", + "TITLE": "更多控制", + "DESCRIPTION": "为助手添加更多控制能力。(视觉效果如流程:查询护栏 → 场景 → 输出)引导用户充分利用这些功能。", "OPTIONS": { "GUARDRAILS": { - "TITLE": "Guardrails", - "DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic." + "TITLE": "护栏", + "DESCRIPTION": "保持对话在正轨上——只回答您希望助手处理的问题,拒绝越界或偏题的内容。" }, "RESPONSE_GUIDELINES": { - "TITLE": "Response guidelines", - "DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?" + "TITLE": "回复指南", + "DESCRIPTION": "助手回复的风格和结构——清晰友好?简短有力?还是详细正式?" } } }, @@ -581,8 +581,8 @@ } }, "GUARDRAILS": { - "TITLE": "Guardrails", - "DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic.", + "TITLE": "护栏", + "DESCRIPTION": "保持对话在正轨上——只回答您希望助手处理的问题,拒绝越界或偏题的内容。", "BULK_ACTION": { "SELECTED": "{count} item selected | {count} items selected", "SELECT_ALL": "全选 ({count})", @@ -591,43 +591,43 @@ }, "ADD": { "SUGGESTED": { - "TITLE": "Example guardrails", + "TITLE": "示例护栏", "ADD": "添加全部", - "ADD_SINGLE": "Add this", + "ADD_SINGLE": "添加此项", "SAVE": "添加并保存", - "PLACEHOLDER": "Type in another guardrail..." + "PLACEHOLDER": "输入其他护栏……" }, "NEW": { - "TITLE": "Add a guardrail", + "TITLE": "添加护栏", "CREATE": "创建", "CANCEL": "取消", - "PLACEHOLDER": "Type in another guardrail...", + "PLACEHOLDER": "输入其他护栏……", "TEST_ALL": "测试全部" } }, "LIST": { "SEARCH_PLACEHOLDER": "搜索……" }, - "EMPTY_MESSAGE": "No guardrails found. Create or add examples to begin.", - "SEARCH_EMPTY_MESSAGE": "No guardrails found for this search.", + "EMPTY_MESSAGE": "暂无护栏。请创建或添加示例以开始。", + "SEARCH_EMPTY_MESSAGE": "未找到匹配的护栏。", "API": { "ADD": { - "SUCCESS": "Guardrails added successfully", - "ERROR": "There was an error adding guardrails, please try again." + "SUCCESS": "护栏添加成功", + "ERROR": "添加护栏时出错,请重试。" }, "UPDATE": { - "SUCCESS": "Guardrails updated successfully", - "ERROR": "There was an error updating guardrails, please try again." + "SUCCESS": "护栏更新成功", + "ERROR": "更新护栏时出错,请重试。" }, "DELETE": { - "SUCCESS": "Guardrails deleted successfully", - "ERROR": "There was an error deleting guardrails, please try again." + "SUCCESS": "护栏删除成功", + "ERROR": "删除护栏时出错,请重试。" } } }, "RESPONSE_GUIDELINES": { - "TITLE": "Response Guidelines", - "DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?", + "TITLE": "回复指南", + "DESCRIPTION": "助手回复的风格和结构——清晰友好?简短有力?还是详细正式?", "BULK_ACTION": { "SELECTED": "{count} item selected | {count} items selected", "SELECT_ALL": "全选 ({count})", @@ -636,37 +636,37 @@ }, "ADD": { "SUGGESTED": { - "TITLE": "Example response guidelines", + "TITLE": "示例回复指南", "ADD": "添加全部", - "ADD_SINGLE": "Add this", + "ADD_SINGLE": "添加此项", "SAVE": "添加并保存", - "PLACEHOLDER": "Type in another response guideline..." + "PLACEHOLDER": "输入其他回复指南……" }, "NEW": { - "TITLE": "Add a response guideline", + "TITLE": "添加回复指南", "CREATE": "创建", "CANCEL": "取消", - "PLACEHOLDER": "Type in another response guideline...", + "PLACEHOLDER": "输入其他回复指南……", "TEST_ALL": "测试全部" } }, "LIST": { "SEARCH_PLACEHOLDER": "搜索……" }, - "EMPTY_MESSAGE": "No response guidelines found. Create or add examples to begin.", - "SEARCH_EMPTY_MESSAGE": "No response guidelines found for this search.", + "EMPTY_MESSAGE": "暂无回复指南。请创建或添加示例以开始。", + "SEARCH_EMPTY_MESSAGE": "未找到匹配的回复指南。", "API": { "ADD": { - "SUCCESS": "Response Guidelines added successfully", - "ERROR": "There was an error adding response guidelines, please try again." + "SUCCESS": "回复指南添加成功", + "ERROR": "添加回复指南时出错,请重试。" }, "UPDATE": { - "SUCCESS": "Response Guidelines updated successfully", - "ERROR": "There was an error updating response guidelines, please try again." + "SUCCESS": "回复指南更新成功", + "ERROR": "更新回复指南时出错,请重试。" }, "DELETE": { - "SUCCESS": "Response Guidelines deleted successfully", - "ERROR": "There was an error deleting response guidelines, please try again." + "SUCCESS": "回复指南删除成功", + "ERROR": "删除回复指南时出错,请重试。" } } }, @@ -744,56 +744,56 @@ "BULK_DELETE_BUTTON": "删除", "BULK_SYNC_BUTTON": "刷新", "BULK_DELETE": { - "TITLE": "Delete documents?", - "DESCRIPTION": "Are you sure you want to delete the selected documents? This action cannot be undone.", + "TITLE": "删除文档?", + "DESCRIPTION": "确定要删除所选文档吗?此操作不可撤销。", "CONFIRM": "是,全部删除", - "SUCCESS_MESSAGE": "Documents deleted successfully", - "ERROR_MESSAGE": "There was an error deleting the documents, please try again." + "SUCCESS_MESSAGE": "文档删除成功", + "ERROR_MESSAGE": "删除文档时出错,请重试。" }, "BULK_SYNC": { - "SUCCESS_MESSAGE_ONE": "Refresh queued for 1 document", - "SUCCESS_MESSAGE": "Refresh queued for {count} documents", - "ZERO_MESSAGE": "No documents marked for refresh.", - "ERROR_MESSAGE": "There was an error queuing the refresh, please try again." + "SUCCESS_MESSAGE_ONE": "已为 1 个文档排队刷新", + "SUCCESS_MESSAGE": "已为 {count} 个文档排队刷新", + "ZERO_MESSAGE": "没有文档需要刷新。", + "ERROR_MESSAGE": "排队刷新时出错,请重试。" }, "SYNC": { - "QUEUED_MESSAGE": "Refresh queued. We'll update the document shortly.", - "ERROR_MESSAGE": "Could not queue refresh, please try again." + "QUEUED_MESSAGE": "已排队刷新,我们将很快更新文档。", + "ERROR_MESSAGE": "无法排队刷新,请重试。" }, "FILTERS": { "SOURCE": { - "ALL": "All sources", - "WEB": "Web pages", - "PDF": "PDFs" + "ALL": "全部来源", + "WEB": "网页", + "PDF": "PDF" }, "STATUS": { - "ANY": "Any status", - "UPDATED": "Updated", - "NEEDS_UPDATE": "Needs update", - "UPDATING": "Updating", + "ANY": "任意状态", + "UPDATED": "已更新", + "NEEDS_UPDATE": "需要更新", + "UPDATING": "更新中", "FAILED": "失败" }, "SORT": { - "RECENTLY_UPDATED": "Recently updated", - "RECENTLY_CREATED": "Recently created" + "RECENTLY_UPDATED": "最近更新", + "RECENTLY_CREATED": "最近创建" }, "SEARCH_PLACEHOLDER": "搜索……" }, "SYNC_STATUS": { - "SYNCED": "last updated {time}", + "SYNCED": "最后更新于 {time}", "SYNCING": "更新中……", - "STALE_SYNC": "update stalled", - "FAILED": "Failed to sync", - "NEVER_SYNCED": "not updated yet" + "STALE_SYNC": "更新停滞", + "FAILED": "同步失败", + "NEVER_SYNCED": "尚未更新" }, "SYNC_ERRORS": { "NOT_FOUND": "页面不存在", - "ACCESS_DENIED": "Access denied", - "TIMEOUT": "Page took too long to respond", - "CONTENT_EMPTY": "Page returned empty content", - "FETCH_FAILED": "Could not fetch page", - "SYNC_ERROR": "Unexpected error", - "DEFAULT": "Sync error" + "ACCESS_DENIED": "访问被拒绝", + "TIMEOUT": "页面响应超时", + "CONTENT_EMPTY": "页面返回空内容", + "FETCH_FAILED": "无法获取页面", + "SYNC_ERROR": "意外错误", + "DEFAULT": "同步错误" }, "RELATED_RESPONSES": { "TITLE": "相关常见问题", @@ -807,7 +807,7 @@ }, "FORM": { "TYPE": { - "LABEL": "Document Type", + "LABEL": "文档类型", "URL": "网址", "PDF": "PDF 文件" }, @@ -838,15 +838,15 @@ }, "OPTIONS": { "VIEW_RELATED_RESPONSES": "查看相关常见问题", - "SYNC_NOW": "Refresh now", - "RETRY_SYNC": "Retry refresh", + "SYNC_NOW": "立即刷新", + "RETRY_SYNC": "重试刷新", "DELETE_DOCUMENT": "删除文档" }, "EMPTY_STATE": { "TITLE": "没有可用的文档", "SUBTITLE": "文档用于为您的助手生成常见问题。您可以导入文档以为您的助手提供上下文。", - "FILTERED_TITLE": "No matching documents", - "FILTERED_SUBTITLE": "Try changing the source, status, or search term.", + "FILTERED_TITLE": "没有匹配的文档", + "FILTERED_SUBTITLE": "尝试更改来源、状态或搜索词。", "FEATURE_SPOTLIGHT": { "TITLE": "Captain 文档", "NOTE": "在 Captain 中的文档作为助理的知识资源。通过连接您的帮助中心或指南,Captain 可以分析内容并为客户询问提供准确的回答。" @@ -855,77 +855,77 @@ }, "CUSTOM_TOOLS": { "HEADER": "工具", - "ADD_NEW": "Create a new tool", - "SOFT_LIMIT_WARNING": "Having more than 10 tools may reduce the assistant's reliability in selecting the right tool. Consider removing unused tools for better results.", + "ADD_NEW": "创建新工具", + "SOFT_LIMIT_WARNING": "工具数量超过 10 个可能会降低助手选择正确工具的可靠性。建议移除未使用的工具以获得更好效果。", "EMPTY_STATE": { - "TITLE": "No custom tools available", - "SUBTITLE": "Create custom tools to connect your assistant with external APIs and services, enabling it to fetch data and perform actions on your behalf.", + "TITLE": "暂无可用的自定义工具", + "SUBTITLE": "创建自定义工具以将助手连接到外部 API 和服务,使其能够代您获取数据并执行操作。", "FEATURE_SPOTLIGHT": { - "TITLE": "Custom Tools", - "NOTE": "Custom tools allow your assistant to interact with external APIs and services. Create tools to fetch data, perform actions, or integrate with your existing systems to enhance your assistant's capabilities." + "TITLE": "自定义工具", + "NOTE": "自定义工具允许您的助手与外部 API 和服务交互。创建工具来获取数据、执行操作或集成现有系统,以增强助手的能力。" } }, - "FORM_DESCRIPTION": "Configure your custom tool to connect with external APIs", + "FORM_DESCRIPTION": "配置自定义工具以连接外部 API", "OPTIONS": { - "EDIT_TOOL": "Edit tool", - "DELETE_TOOL": "Delete tool" + "EDIT_TOOL": "编辑工具", + "DELETE_TOOL": "删除工具" }, "CREATE": { - "TITLE": "Create Custom Tool", - "SUCCESS_MESSAGE": "Custom tool created successfully", - "ERROR_MESSAGE": "Failed to create custom tool" + "TITLE": "创建自定义工具", + "SUCCESS_MESSAGE": "自定义工具创建成功", + "ERROR_MESSAGE": "创建自定义工具失败" }, "EDIT": { - "TITLE": "Edit Custom Tool", - "SUCCESS_MESSAGE": "Custom tool updated successfully", - "ERROR_MESSAGE": "Failed to update custom tool" + "TITLE": "编辑自定义工具", + "SUCCESS_MESSAGE": "自定义工具更新成功", + "ERROR_MESSAGE": "更新自定义工具失败" }, "DELETE": { - "TITLE": "Delete Custom Tool", - "DESCRIPTION": "Are you sure you want to delete this custom tool? This action cannot be undone.", + "TITLE": "删除自定义工具", + "DESCRIPTION": "确定要删除此自定义工具吗?此操作不可撤销。", "CONFIRM": "是的,删除", - "SUCCESS_MESSAGE": "Custom tool deleted successfully", - "ERROR_MESSAGE": "Failed to delete custom tool" + "SUCCESS_MESSAGE": "自定义工具删除成功", + "ERROR_MESSAGE": "删除自定义工具失败" }, "PAYWALL": { - "TITLE": "Upgrade to use tools with Captain", - "AVAILABLE_ON": "Captain Tools are only available in Business and Enterprise plans. Please upgrade to Business plan to use the feature.", + "TITLE": "升级以在 Captain 中使用工具", + "AVAILABLE_ON": "Captain 工具仅在商业版和企业版中可用。请升级到商业版以使用此功能。", "UPGRADE_PROMPT": "", "UPGRADE_NOW": "查看计费", "CANCEL_ANYTIME": "" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "Captain Tools are only available in the paid plans.", - "UPGRADE_PROMPT": "Please upgrade to a paid plan to use this feature.", + "AVAILABLE_ON": "Captain 工具仅在付费版中可用。", + "UPGRADE_PROMPT": "请升级到付费版以使用此功能。", "ASK_ADMIN": "请联系您的管理员进行升级。" }, "TEST": { - "BUTTON": "Test connection", - "SUCCESS": "Endpoint returned HTTP {status}", - "ERROR": "Connection failed", - "DISABLED_HINT": "Testing is only available for endpoints without templates or request bodies." + "BUTTON": "测试连接", + "SUCCESS": "端点返回 HTTP {status}", + "ERROR": "连接失败", + "DISABLED_HINT": "仅对无模板或请求体的端点可进行测试。" }, "FORM": { "TITLE": { - "LABEL": "Tool Name", - "PLACEHOLDER": "Order Lookup", - "ERROR": "Tool name is required", - "MAX_LENGTH_ERROR": "Tool name must be {max} characters or fewer" + "LABEL": "工具名称", + "PLACEHOLDER": "订单查询", + "ERROR": "请填写工具名称", + "MAX_LENGTH_ERROR": "工具名称不能超过 {max} 个字符" }, "DESCRIPTION": { "LABEL": "描述信息", - "PLACEHOLDER": "Looks up order details by order ID" + "PLACEHOLDER": "根据订单 ID 查询订单详情" }, "HTTP_METHOD": { - "LABEL": "Method" + "LABEL": "请求方法" }, "ENDPOINT_URL": { - "LABEL": "Endpoint URL", - "PLACEHOLDER": "https://api.example.com/orders/{'{{'} order_id {'}}'}", - "ERROR": "Valid URL is required" + "LABEL": "端点 URL", + "PLACEHOLDER": "https://api.example.com/orders/{{ order_id }}", + "ERROR": "请输入有效的 URL" }, "AUTH_TYPE": { - "LABEL": "Authentication Type" + "LABEL": "认证方式" }, "AUTH_TYPES": { "NONE": "啥都没有", @@ -935,56 +935,56 @@ }, "AUTH_CONFIG": { "BEARER_TOKEN": "Bearer Token", - "BEARER_TOKEN_PLACEHOLDER": "Enter your bearer token", - "USERNAME": "Username", - "USERNAME_PLACEHOLDER": "Enter username", + "BEARER_TOKEN_PLACEHOLDER": "请输入 Bearer Token", + "USERNAME": "用户名", + "USERNAME_PLACEHOLDER": "请输入用户名", "PASSWORD": "密码", - "PASSWORD_PLACEHOLDER": "Enter password", - "API_KEY": "Header Name", + "PASSWORD_PLACEHOLDER": "请输入密码", + "API_KEY": "Header 名称", "API_KEY_PLACEHOLDER": "X-API-Key", - "API_VALUE": "Header Value", - "API_VALUE_PLACEHOLDER": "Enter API key value" + "API_VALUE": "Header 值", + "API_VALUE_PLACEHOLDER": "请输入 API Key 值" }, "PARAMETERS": { - "LABEL": "Parameters", - "HELP_TEXT": "Define the parameters that will be extracted from user queries" + "LABEL": "参数", + "HELP_TEXT": "定义将从用户查询中提取的参数" }, - "ADD_PARAMETER": "Add Parameter", + "ADD_PARAMETER": "添加参数", "PARAM_NAME": { - "PLACEHOLDER": "Parameter name (e.g., order_id)" + "PLACEHOLDER": "参数名称(例如 order_id)" }, "PARAM_TYPE": { "PLACEHOLDER": "类型" }, "PARAM_TYPES": { - "STRING": "String", + "STRING": "字符串", "NUMBER": "号码", - "BOOLEAN": "Boolean", - "ARRAY": "Array", - "OBJECT": "Object" + "BOOLEAN": "布尔值", + "ARRAY": "数组", + "OBJECT": "对象" }, "PARAM_DESCRIPTION": { - "PLACEHOLDER": "Description of the parameter" + "PLACEHOLDER": "参数描述" }, "PARAM_REQUIRED": { "LABEL": "必填项" }, "REQUEST_TEMPLATE": { - "LABEL": "Request Body Template (Optional)", + "LABEL": "请求体模板(可选)", "PLACEHOLDER": "{'{'}\n \"order_id\": \"{'{{'} order_id {'}}'}\"\n{'}'}" }, "RESPONSE_TEMPLATE": { - "LABEL": "Response Template (Optional)", - "PLACEHOLDER": "Order {'{{'} order_id {'}}'} status: {'{{'} status {'}}'}" + "LABEL": "响应模板(可选)", + "PLACEHOLDER": "订单 {{ order_id }} 状态:{{ status }}" }, "ERRORS": { - "PARAM_NAME_REQUIRED": "Parameter name is required" + "PARAM_NAME_REQUIRED": "请填写参数名称" } } }, "RESPONSES": { "HEADER": "常见问题", - "PENDING_FAQS": "Pending FAQs", + "PENDING_FAQS": "待审核常见问题", "ADD_NEW": "创建新常见问题", "DOCUMENTABLE": { "CONVERSATION": "对话 #{id}" @@ -1025,8 +1025,8 @@ "ALL": "所有" }, "PENDING_BANNER": { - "TITLE": "Captain has found some FAQs your customers were looking for.", - "ACTION": "Click here to review" + "TITLE": "Captain 发现了一些客户常问的常见问题。", + "ACTION": "点击此处查看" }, "FORM_DESCRIPTION": "将问题及其对应的答案添加到知识库,并选择应关联的助手。", "CREATE": { @@ -1059,9 +1059,9 @@ }, "EMPTY_STATE": { "TITLE": "未找到常见问题", - "NO_PENDING_TITLE": "There are no more pending FAQs to review", + "NO_PENDING_TITLE": "没有更多待审核的常见问题", "SUBTITLE": "常见问题帮助您的助手为客户提供快速准确的答案。它们可以从您的内容自动生成,也可以手动添加。", - "CLEAR_SEARCH": "Clear active filters", + "CLEAR_SEARCH": "清除筛选条件", "FEATURE_SPOTLIGHT": { "TITLE": "Captain 常见问题", "NOTE": "Captain FAQs 检测常见的客户问题——无论是知识库中缺失的问题还是经常被问到的问题——并生成相关的常见问题以改善支持。您可以查看每个建议,并决定是否批准或拒绝它。" diff --git a/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guardrails/Index.vue b/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guardrails/Index.vue index f61c2ed5..86272be3 100644 --- a/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guardrails/Index.vue +++ b/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guardrails/Index.vue @@ -52,17 +52,17 @@ const guardrailsExample = [ { id: 1, content: - 'Block queries that share or request sensitive personal information (e.g. phone numbers, passwords).', + '阻止共享或请求敏感个人信息的查询(例如电话号码、密码)。', }, { id: 2, content: - 'Reject queries that include offensive, discriminatory, or threatening language.', + '拒绝包含冒犯性、歧视性或威胁性语言的查询。', }, { id: 3, content: - 'Deflect when the assistant is asked for legal or medical diagnosis or treatment.', + '当助手被要求进行法律或医疗诊断或治疗时,应回避此类请求。', }, ]; diff --git a/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guidelines/Index.vue b/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guidelines/Index.vue index 89aebd99..47bf2dc1 100644 --- a/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guidelines/Index.vue +++ b/frontend/app/javascript/dashboard/routes/dashboard/captain/assistants/guidelines/Index.vue @@ -54,17 +54,17 @@ const guidelinesExample = [ { id: 1, content: - 'Block queries that share or request sensitive personal information (e.g. phone numbers, passwords).', + '阻止共享或请求敏感个人信息的查询(例如电话号码、密码)。', }, { id: 2, content: - 'Reject queries that include offensive, discriminatory, or threatening language.', + '拒绝包含冒犯性、歧视性或威胁性语言的查询。', }, { id: 3, content: - 'Deflect when the assistant is asked for legal or medical diagnosis or treatment.', + '当助手被要求进行法律或医疗诊断或治疗时,应回避此类请求。', }, ];