i18n/zh-CN.json
Rama main · réplica de lectura del repositorio original.
{
"common": {
"appName": "Kaneo",
"actions": {
"cancel": "取消",
"close": "关闭",
"clearAll": "全部清除",
"delete": "删除",
"deleting": "正在删除…",
"markAllRead": "全部标为已读",
"remove": "移除",
"reset": "重置",
"filter": "筛选"
},
"a11y": {
"toggleSidebar": "切换侧边栏"
},
"sidebar": {
"title": "侧边栏",
"mobileDescription": "显示移动端侧边栏。"
},
"empty": {
"loading": "加载中…"
},
"pagination": {
"label": "分页",
"previous": "上一页",
"next": "下一页",
"previousPage": "跳到上一页",
"nextPage": "跳到下一页",
"morePages": "更多页面"
},
"breadcrumb": {
"label": "面包屑",
"more": "更多"
},
"language": {
"english": "英语",
"german": "德语",
"greek": "希腊语",
"macedonian": "马其顿语",
"french": "法语",
"spanish": "西班牙语",
"dutch": "荷兰语",
"korean": "韩语",
"chinese": "中文",
"italian": "意大利语"
},
"people": {
"someone": "某人",
"unknown": "未知"
},
"error": {
"title": "出错了",
"description": "页面意外崩溃,刷新一下通常就能恢复。",
"troubleshooting": "故障排查步骤:",
"tryAgain": "重试",
"viewDeploymentGuide": "查看部署指南",
"refreshPage": "刷新页面",
"messages": {
"cors": "无法连接服务器,可能是 CORS 配置问题。",
"network": "网络异常,请检查网络连接后重试。",
"auth": "身份验证失败,请重新登录。",
"server": "服务器错误,请稍后重试。",
"unknown": "发生未知错误。"
},
"troubleshootingSteps": {
"cors": {
"checkApiRunning": "确认 API 服务器已经启动",
"checkApiUrl": "检查前端 .env 中 VITE_API_URL 是否与 API 服务器地址一致",
"verifyCorsOrigins": "检查 API 的 .env 中 CORS_ORIGINS 是否包含前端地址",
"checkProtocol": "确保前端和 API 使用相同的协议(http/https)",
"checkAccessibility": "确认浏览器能访问到 API 服务器"
},
"network": {
"checkConnection": "检查网络连接",
"verifyApiRunning": "确认 API 服务器运行中且可访问",
"tryRefresh": "刷新页面重试",
"checkFirewall": "排查防火墙或代理是否拦截了请求"
}
}
},
"modals": {
"createProject": {
"title": "创建新项目",
"breadcrumbNew": "创建新项目",
"workspaceFallback": "工作区",
"description": "通过提供名称、标识和选择图标,在你的工作区中创建一个新项目。",
"pickIcon": "选择图标",
"searchIcons": "搜索图标…",
"projectName": "项目名称",
"keyLabel": "标识:",
"keyHint": "用于工单 ID(例如 {{example}}-123)",
"createButton": "创建项目",
"successToast": "项目创建成功",
"errorToast": "项目创建失败"
},
"createWorkspace": {
"breadcrumbKaneo": "KANEO",
"title": "创建新工作区",
"description": "为你的工作区提供一个名称即可创建。",
"namePlaceholder": "工作区名称",
"descriptionPlaceholder": "添加描述…",
"createButton": "创建工作区",
"successToast": "工作区创建成功",
"errorToast": "工作区创建失败"
},
"createTask": {
"breadcrumbTask": "任务",
"selectProject": "选择项目",
"title": "新建任务",
"description": "通过提供标题、描述等详细信息来创建新任务。",
"taskTitlePlaceholder": "任务标题",
"descriptionPlaceholder": "为任务添加描述…",
"chooseProjectForImages": "上传图片前请先选择项目。",
"prepareTaskError": "任务准备失败",
"successCreated": "任务创建成功",
"successUpdated": "任务更新成功",
"createError": "任务创建失败",
"priority": "优先级",
"statusFallback": "进行中",
"startDate": "开始日期",
"dueDate": "截止日期",
"clearStartDate": "清除开始日期",
"assign": "指派",
"assignUnassigned": "未指派",
"assignUnassignedTitle": "未指派",
"labels": "标签",
"searchLabels": "搜索标签…",
"noLabelsFound": "未找到标签",
"createLabel": "创建 \"{{name}}\"",
"chooseColor": "选择颜色",
"labelCreated": "标签已创建",
"labelCreateError": "创建标签失败",
"createMore": "继续创建",
"createButton": "创建任务",
"discardTitle": "放弃任务?",
"discardDescription": "未保存的任务详情将会丢失。",
"discardButton": "放弃任务",
"untitledTask": "未命名任务",
"labelColors": {
"stone": "石板灰",
"slate": "石板蓝",
"lavender": "薰衣草",
"sage": "鼠尾草绿",
"forest": "森林绿",
"amber": "琥珀",
"terracotta": "赤陶",
"rose": "玫红",
"crimson": "深红",
"lagoon": "泻湖青",
"ocean": "海洋蓝",
"orchid": "兰花紫",
"sky": "天空蓝"
},
"statusLoadError": "项目状态加载失败。"
}
},
"editor": {
"link": {
"label": "链接 URL",
"placeholder": "粘贴或输入链接…",
"apply": "应用链接",
"remove": "移除链接"
}
}
},
"auth": {
"signIn": {
"pageTitle": "登录",
"subtitle": {
"emailOrProvider": "使用邮箱或已关联的账户。",
"email": "输入你的邮箱,我们会发送登录验证码。",
"password": "使用邮箱和密码登录。",
"passwordOrProvider": "使用密码或已关联的账户。",
"providers": "选择你的登录方式。",
"sso": "此处的登录由你的组织管理。"
},
"lastUsed": "最近使用",
"guestError": "访客登录失败",
"errors": {
"account_not_linked": "该身份无法关联到现有账户。请先用邮箱登录以验证账户,然后再尝试 SSO。如果无法使用邮箱登录,请联系管理员。",
"oauth_code_verification_failed": "OAuth 校验失败,请重试。",
"registration_is_currently_disabled_you_need_a_valid_invitation_to_create_an_account_": "已关闭注册。创建账户需要有效的邀请。",
"use_a_permanent_email_address_disposable_addresses_cannot_create_accounts_": "请使用长期有效的邮箱地址。一次性邮箱无法创建账户。"
},
"instanceStatusError": "无法连接服务器,请稍后重试。",
"heading": "登录 Kaneo",
"submitPassword": "登录",
"invitation": {
"title": "{{inviterName}} 邀请你加入 {{workspaceName}}",
"fallbackTitle": "你收到了邀请",
"description": "请使用收到邀请的邮箱登录。登录后你将立即加入该工作区。"
},
"footer": {
"newHere": "初次使用 Kaneo?",
"createAccount": "创建账户",
"inviteOnly": "此处仅限受邀注册。请向管理员申请邀请。",
"providerSignUp": "新用户?使用上方任一服务登录即可创建账户。",
"anyProvider": "新用户?使用上方任一方式即可创建账户。",
"contactAdmin": "登录遇到问题?请联系管理员。",
"justLooking": "只是看看?"
},
"autoLogin": {
"title": "正在登录",
"subtitle": "正在跳转到你所在组织的登录页面。",
"opening": "正在打开 {{provider}}…",
"stuck": "页面没有跳转?",
"continue": "前往 {{provider}}"
}
},
"providers": {
"google": "Google",
"discord": "Discord",
"github": "GitHub",
"sso": "SSO",
"continueWith": "使用 {{provider}} 继续",
"error": "无法使用 {{provider}} 登录,请重试。"
},
"forms": {
"or": "或",
"email": "邮箱",
"password": "密码",
"emailPlaceholder": "me@example.com",
"passwordPlaceholder": "••••••••",
"showPassword": "显示密码",
"hidePassword": "隐藏密码",
"name": "姓名",
"namePlaceholder": "张三",
"invalidEmail": "请输入完整的邮箱地址,例如 name@company.com。",
"nameRequired": "请输入你的姓名。",
"passwordRequired": "请输入密码。",
"passwordTooShort": "请至少使用 8 个字符。",
"disposableEmail": "请使用长期有效的邮箱地址。一次性邮箱无法创建账户。",
"continueWithEmail": "使用邮箱继续",
"captchaChecking": "正在进行快速安全检查,完成后即可继续。",
"captchaFailed": "安全检查未能加载,因此登录已暂停。请检查网络连接或内容拦截器。",
"captchaRetry": "重试"
},
"checkEmail": {
"pageTitle": "请检查你的邮箱",
"title": "请检查你的邮箱",
"inboxMessage": "我们已向你发送临时登录链接,请前往邮箱 <email>{{email}}</email> 查收。",
"emailFallback": "你的邮箱",
"backToLogin": "返回登录"
},
"signUp": {
"pageTitle": "创建账户",
"registrationDisabledAlert": "已关闭注册。如果你收到了邀请,请使用收到邀请的邮箱地址来创建账户。",
"continueAsGuest": "以访客身份继续",
"toggleMessage": "已经有账户?",
"toggleLink": "登录",
"instanceStatusError": "无法连接服务器,请稍后重试。",
"instanceAdminTitle": "设置你的 Kaneo 实例",
"instanceAdminSubtitle": "此账户将成为拥有完整权限的实例管理员。",
"heading": "创建你的账户",
"submitPassword": "创建账户",
"failed": "无法创建账户,请重试。",
"subtitle": {
"email": "从邮箱开始。我们会发送验证码,无需密码。",
"password": "填写姓名、邮箱和密码即可开始。",
"providers": "使用已关联的账户创建你的账户。"
},
"invitation": {
"description": "请使用收到邀请的邮箱。注册后你将立即加入该工作区。"
},
"verifyEmail": "Check your email to confirm your address, then sign in."
},
"verifyOtp": {
"pageTitle": "验证码",
"validation": {
"codeLength": "验证码必须为 6 位数字"
},
"toast": {
"invalidCode": "验证码无效",
"verifyFailed": "验证码验证失败",
"resendFailed": "重新发送失败",
"resendSuccess": "新验证码已发送!"
},
"heading": "请查收邮件",
"description": "我们已向 {{email}} 发送 6 位验证码,{{minutes}} 分钟内有效。",
"label": "验证码",
"submit": "验证并继续",
"didntGetIt": "没有收到验证码?",
"resendCode": "重新发送验证码",
"useDifferentEmail": "使用其他邮箱",
"expired": "验证码已过期,请重新获取。",
"tooManyAttempts": "尝试次数过多,请重新获取验证码。"
},
"otpSignIn": {
"sendFailed": "发送验证码失败"
},
"signInForm": {
"failedSignIn": "登录失败",
"emailNotVerified": "Confirm your email address first. We sent you a new link."
},
"invitation": {
"pageTitleAccept": "接受邀请",
"pageTitleError": "邀请出错",
"pageTitleInvalid": "邀请无效",
"joinWorkspace": "加入 {{workspaceName}}",
"createAccount": "创建账户",
"signIn": "登录",
"toast": {
"acceptFailed": "接受邀请失败",
"acceptSuccess": "邀请已接受,欢迎加入团队!"
},
"description": "{{inviterName}} 邀请你加入 Kaneo 上的这个工作区。",
"invitedBy": "邀请人",
"sentTo": "发送至",
"signedInAs": "当前登录账户",
"expires": "有效期至",
"notNow": "暂不加入",
"join": "加入工作区",
"switchAccount": "切换账户",
"goToKaneo": "前往 Kaneo",
"mismatch": {
"title": "当前登录的邮箱不同",
"description": "此邀请发送至 {{invitedEmail}},但你当前以 {{email}} 登录。"
},
"expired": {
"title": "此邀请已过期",
"description": "请让 {{inviterName}} 重新发送 {{workspaceName}} 的邀请。"
},
"invalid": {
"title": "此邀请已失效",
"description": "该邀请可能已被接受或取消。请向工作区管理员申请新的邀请。"
},
"loadFailed": {
"title": "无法加载此邀请",
"description": "请检查网络连接并刷新页面。"
}
},
"onboarding": {
"pageTitle": "欢迎使用 Kaneo",
"workspaceName": "工作区名称",
"workspaceNamePlaceholder": "例如:某某公司、我的团队",
"toast": {
"createFailed": "工作区创建失败"
},
"validation": {
"workspaceNameRequired": "工作区名称不能为空",
"projectNameRequired": "请为你的第一个项目命名"
},
"restrictedSubtitle": "在此实例中只有管理员可以创建工作区。请联系管理员邀请你,然后刷新此页面。",
"restrictedCheckInvitations": "查看邀请",
"restrictedTitle": "你需要一份邀请",
"cloud": {
"invite": {
"addAnother": "再添加一个",
"emailLabel": "成员邮箱 {{index}}",
"emailPlaceholder": "teammate@company.com",
"failed": "无法邀请 {{email}}:{{message}}",
"invalidEmail": "请输入有效的邮箱地址",
"remove": "移除邮箱 {{index}}",
"sent_other": "已发送 {{count}} 个邀请",
"skip": "暂时跳过"
},
"plan": {
"continueTrial": "开始免费试用",
"recommended": "推荐",
"trialUsed": "你的免费试用已经用过了。选择一个套餐,即可开始创建项目和任务。"
},
"usageLabel": "这个工作区主要由谁使用?",
"usageSolo": "只有我",
"usageSoloDescription": "打理好自己的任务和进度",
"usageTeam": "我的团队",
"usageTeamDescription": "一起规划,一起交付"
},
"projectNameDefault": "我的第一个项目",
"starterTasks": {
"drag": {
"title": "把这张卡片拖到下一列",
"description": "随着工作推进,卡片会从一列移到下一列。把这张卡片拖到下一列,或打开它修改状态。"
},
"details": {
"title": "打开这个任务并添加子任务",
"description": "任务可以包含描述、子任务、标签、负责人和截止日期。试着给这个任务添加一个子任务。"
},
"invite": {
"title": "邀请你的团队",
"description": "大家都在的时候,Kaneo 最好用。打开侧边栏中的 **成员**,通过邮件邀请成员。"
},
"integrations": {
"title": "连接 GitHub、GitLab 或 Gitea",
"description": "同步 issue,并在拉取请求打开和合并时自动移动任务。在 **项目设置** 中进行配置。"
},
"create": {
"title": "创建你自己的任务",
"description": "使用列名旁边的 **+**,或先按 **T** 再按 **C**。准备好后,就可以删除这些入门任务。"
}
},
"progress": "第 {{current}} 步,共 {{total}} 步",
"continue": "继续",
"signedInAs": "已登录为 {{email}}",
"signOut": "退出登录",
"workspace": {
"title": "为工作区命名",
"description": "你的项目都会放在这里。可以使用团队或公司名称,之后也能修改。"
},
"usage": {
"title": "给谁用?",
"description": "我们会据此设置 {{name}}。之后随时可以邀请成员。"
},
"project": {
"title": "创建第一个项目",
"description": "我们会添加几个入门任务帮你熟悉。你可以随时重命名或删除它们。",
"label": "项目名称",
"ticketStart": "任务编号将从 {{ticket}} 开始。"
},
"invite": {
"title": "邀请你的团队",
"description": "他们会收到加入 {{name}} 的邮件。如果想先四处看看,可以跳过这一步。",
"label": "队友邮箱",
"send_other": "发送 {{count}} 份邀请",
"sendNone": "发送邀请"
},
"plan": {
"title": "你想如何开始?",
"descriptionTrial_other": "所有套餐都包含无限项目和任务。免费试用 {{name}} {{count}} 天,或立即订阅。",
"choose": "选择套餐",
"description": {
"team": "不限成员数量,支持角色和权限",
"personal": "适合个人使用"
},
"perUserMonth": "每人 / 月",
"perMonth": "每月",
"subscribe": "订阅 {{plan}}",
"checkout": "前往结账",
"trialNote": "试用无需绑定银行卡。付款由 Creem 处理。",
"paymentNote": "付款由 Creem 处理。"
},
"ready": {
"title": "{{name}} 已准备就绪",
"description": "以下是我们为你设置的内容,之后都可以修改。",
"workspace": "工作区",
"project": "第一个项目",
"projectValue_other": "{{name}},含 {{count}} 个入门任务",
"invitations": "邀请",
"invitationsValue_other": "已发送给 {{count}} 人",
"open": "打开 {{name}}"
},
"preview": {
"untitled": "你的工作区"
}
},
"profileSetup": {
"pageTitle": "完善资料",
"completeTitle": "完善你的资料",
"subtitle": "请输入你的姓名以开始",
"yourName": "你的姓名",
"namePlaceholder": "例如:张三",
"saving": "保存中…",
"continue": "继续",
"welcome": "欢迎,{{name}}!",
"redirecting": "正在前往控制台…",
"toast": {
"updateSuccess": "资料更新成功",
"updateFailed": "资料更新失败"
},
"validation": {
"nameRequired": "名称不能为空",
"nameShort": "姓名至少需要 2 个字符"
}
},
"passwordReset": {
"forgotPassword": "忘记密码?",
"requestTitle": "重置密码",
"requestSubtitle": "输入你的邮箱,我们会发送密码重置链接。",
"sendLink": "发送重置链接",
"requestError": "无法申请重置链接,请重试。",
"unavailable": "当前实例未开放密码重置。请联系实例管理员。",
"configError": "无法连接服务器。请刷新页面后重试。",
"resetTitle": "设置新密码",
"newPassword": "新密码",
"confirmPassword": "确认新密码",
"passwordMismatch": "两次输入的密码不一致。",
"passwordLength": "请使用 8 到 128 个字符。",
"invalidLink": "该重置链接无效或已过期。请重新申请一个链接。",
"requestNewLink": "重新申请链接",
"resetError": "密码重置失败,请重试。",
"success": "密码已重置。请用新密码登录。",
"backToSignIn": "返回登录",
"sentTitle": "请检查收件箱",
"sentDescription": "如果 {{email}} 对应的账户存在,重置密码的链接已发出。链接 1 小时内有效。",
"sentHelpTitle": "没有收到邮件?",
"sentHelpDescription": "请检查垃圾邮件文件夹,或稍等一分钟后重新申请链接。",
"rememberedIt": "想起来了?",
"resetDescription": "请使用 8 到 128 个字符。其他设备将退出登录。",
"updatePassword": "更新密码",
"changedMind": "改变主意了?",
"invalidLinkTitle": "此链接已过期",
"successTitle": "密码已更新"
},
"page": {
"terms": "条款",
"privacy": "隐私"
},
"device": {
"connect": {
"title": "连接设备",
"description": "输入终端或应用中显示的代码,将其关联到你的 Kaneo 账户。",
"label": "设备代码",
"submit": "继续",
"noCode": "还没有代码?请先在应用中发起登录。",
"codeRequired": "请输入设备上显示的代码。",
"invalidCode": "该代码无效或已过期。"
},
"approve": {
"pageTitle": "批准设备",
"title": "要连接此设备吗?",
"description": "有设备请求以 {{email}} 的身份登录。仅当这是你本人发起的操作时才批准。",
"matchCode": "请确认此代码与设备上显示的一致",
"deny": "拒绝",
"approve": "批准",
"failed": "无法更新该请求,请重试。"
},
"approved": {
"title": "设备已连接",
"description": "请返回终端或应用。你可以关闭此标签页。"
},
"denied": {
"title": "请求已拒绝",
"description": "未连接任何设备。你可以关闭此标签页。"
},
"missing": {
"title": "没有设备代码",
"description": "请从设备上打开此页面,或手动输入代码。",
"enterCode": "输入代码"
},
"signIn": {
"title": "登录以连接你的设备",
"description": "登录后会立即返回此处进行批准。",
"submit": "登录"
},
"openApp": "Open Kaneo"
},
"mcp": {
"authorize": {
"title": "授权 MCP 客户端",
"description": "它可以在你有权访问的所有工作区中以你的身份操作。仅当这是你本人发起的连接时才继续。",
"client": "客户端",
"unknownClient": "MCP 客户端",
"selfReported": "客户端自述",
"redirect": "授权后返回至",
"signedInAs": "当前登录账户",
"deny": "拒绝",
"allow": "允许访问"
},
"expired": {
"title": "此请求已过期",
"description": "请返回 MCP 客户端并重新连接。"
},
"signIn": {
"title": "登录以授权此客户端",
"description": "登录后会立即返回此处进行审核。",
"submit": "登录"
}
}
},
"settings": {
"advancedSettings": "高级设置",
"account": "账户",
"developer": "开发者",
"information": "个人资料",
"notifications": "通知",
"preferences": "偏好设置",
"apiKeys": "API 密钥",
"informationPage": {
"pageTitle": "个人资料",
"title": "个人资料",
"subtitle": "你在团队成员面前的展示方式。",
"sectionTitle": "详细信息",
"profilePicture": "头像",
"fullName": "姓名",
"fullNamePlaceholder": "输入你的姓名",
"email": "邮箱",
"updateError": "资料更新失败",
"validation": {
"nameRequired": "名称不能为空",
"nameShort": "姓名至少需要 2 个字符"
},
"avatar": {
"hint": "方形图片效果最佳。",
"remove": "移除",
"updateSuccess": "头像已更新",
"updateError": "更新头像失败",
"removeSuccess": "头像已移除",
"removeError": "移除头像失败",
"upload": "上传"
},
"deleteAccount": {
"sectionTitle": "危险区域",
"title": "删除账户",
"description": "只有你一个人的工作区会随账户一起删除;其他工作区中,你的任务会保留并转为未指派,你发表的评论会被移除。",
"modalTitle": "删除你的账户?",
"modalDescription": "你的账户将被永久删除,此操作无法撤销。",
"confirmLabel": "请输入 {{email}} 以确认",
"confirm": "删除账户",
"success": "账户已删除",
"error": "删除账户失败",
"sessionTooOld": "为安全起见,请先退出并重新登录,之后才能删除账户。"
},
"emailHint": "你使用此地址登录。"
},
"notificationsPage": {
"pageTitle": "通知",
"title": "通知",
"subtitle": "Kaneo 会通知你哪些内容,以及通过哪些渠道通知你。",
"statusConnected": "已连接",
"statusPaused": "已暂停",
"emailTitle": "邮箱",
"accountEmailNoAddress": "无可用账户邮箱",
"saveChanges": "保存更改",
"disconnect": "断开连接",
"ntfyTitle": "ntfy",
"ntfyDescription": "发布到你手机或桌面上的 ntfy 主题。",
"serverUrl": "服务器地址",
"topic": "主题",
"token": "令牌",
"ntfyServerPlaceholder": "https://ntfy.example.com",
"ntfyTopicPlaceholder": "team-alerts",
"ntfyTokenPlaceholder": "仅在服务器需要时填写",
"ntfyTokenHintConfigured": "已配置令牌({{masked}}),输入新令牌以替换。",
"ntfyTokenHintOptional": "如果你的 ntfy 服务器需要身份验证,请填写。",
"connectNtfy": "连接 ntfy",
"gotifyTitle": "Gotify",
"gotifyDescription": "将通知发送到你的 Gotify 服务器。",
"gotifyTokenLabel": "应用令牌",
"gotifyServerPlaceholder": "https://gotify.example.com",
"gotifyTokenPlaceholder": "Gotify 应用令牌",
"gotifyTokenHintConfigured": "已配置应用令牌({{masked}}),输入新令牌以替换。",
"gotifyTokenHintRequired": "必填。请使用你 Gotify 服务器中的应用令牌。",
"connectGotify": "连接 Gotify",
"webhookTitle": "自定义 Webhook",
"webhookDescription": "以 JSON 格式将每条通知发送到你自己的端点。",
"endpointUrl": "端点 URL",
"signingSecret": "签名密钥",
"webhookUrlPlaceholder": "https://example.com/webhooks/kaneo",
"webhookSecretPlaceholder": "可选的共享密钥",
"webhookSecretHintConfigured": "已配置签名密钥({{masked}}),输入新密钥以替换。",
"webhookSecretHintOptional": "设置密钥后,Kaneo 会对请求体进行签名。",
"connectWebhook": "连接 Webhook",
"eventPreferencesTitle": "通知我关于",
"eventPreferencesDescription": "你自己的评论、提及和状态变更不会通知你。",
"eventTaskAssignments": "指派",
"eventComments": "评论和提及",
"eventCommentsHint": "你的任务有新评论,或有人 @提及你时。",
"eventStatusChanges": "状态变更",
"eventDueDateReminders": "截止日期提醒",
"reminderLeadTimeLabel": "在截止日期前提醒我",
"reminderLeadTimeInvalid": "请输入 1 到 {{max}} 之间的整数。",
"saveEventPreferences": "保存通知类型",
"allProjects": "所有项目",
"noProjectsInWorkspace": "该工作区暂无项目。",
"toastEmailSaved": "邮件通知设置已保存",
"toastEmailSaveFailed": "保存邮件设置失败",
"toastNtfySaved": "ntfy 设置已保存",
"toastNtfySaveFailed": "保存 ntfy 设置失败",
"toastNtfyDisconnected": "ntfy 已断开",
"toastNtfyDisconnectFailed": "断开 ntfy 失败",
"toastGotifySaved": "Gotify 设置已保存",
"toastGotifySaveFailed": "保存 Gotify 设置失败",
"toastGotifyDisconnected": "Gotify 已断开",
"toastGotifyDisconnectFailed": "断开 Gotify 失败",
"toastWebhookSaved": "Webhook 设置已保存",
"toastWebhookSaveFailed": "保存 Webhook 设置失败",
"toastWebhookDisconnected": "Webhook 已断开",
"toastWebhookDisconnectFailed": "断开 Webhook 失败",
"toastRuleSaved": "已保存 {{workspaceName}} 的通知规则",
"toastRuleSaveFailed": "保存工作区通知规则失败",
"toastRuleRemoved": "已移除 {{workspaceName}} 的通知规则",
"toastRuleRemoveFailed": "移除工作区通知规则失败",
"toastPreferencesSaved": "通知偏好已保存",
"toastPreferencesSaveFailed": "保存通知偏好失败",
"toastRuleSavedGeneric": "工作区通知规则已保存",
"toastRuleRemovedGeneric": "工作区通知规则已移除",
"channelNotConnected": "未连接",
"channelOff": "已关闭",
"channelsDescription": "通知始终会显示在 Kaneo 中。连接渠道后,也可以在其他地方收到通知。",
"channelsTitle": "渠道",
"configure": "配置",
"configureChannel": "配置 {{channel}}",
"configureWorkspace": "配置 {{workspaceName}} 的通知",
"connect": "连接",
"connectChannel": "连接 {{channel}}",
"disconnectDescription": "通知将不再发送到 {{channel}},其已保存的设置也会被移除。",
"disconnecting": "正在断开连接...",
"disconnectTitle": "断开与 {{channel}} 的连接?",
"done": "完成",
"emailToggleLabel": "通过邮件发送通知",
"eventDueDateRemindersHint": "在你的任务到期前提醒。逾期任务会另行通知。",
"eventStatusChangesHint": "你的某个任务移动到其他列时。",
"eventTaskAssignmentsHint": "有人将任务指派给你时。",
"loadFailed": "无法加载通知设置。",
"onlyInKaneo": "仅在 Kaneo 中",
"optional": "可选",
"projectCount_other": "{{count}} 个项目",
"reminderLeadTimeUnitDaysBefore_other": "天前",
"reminderLeadTimeUnitHoursBefore_other": "小时前",
"reminderLeadTimeUnitLabel": "提醒单位",
"ruleActiveDescription": "关闭后会暂停此工作区,但保留其设置。",
"ruleActiveLabel": "发送中",
"ruleChannels": "渠道",
"ruleDialogDescription": "此工作区的通知可以发送到哪里。",
"ruleDialogTitle": "{{workspaceName}} 通知",
"ruleProjects": "项目",
"ruleSummary": "{{channels}} · {{projects}}",
"save": "保存",
"sendingDescription": "关闭后会暂停此渠道,但保留其设置。",
"sendingLabel": "发送中",
"setUp": "设置",
"setUpWorkspace": "设置 {{workspaceName}} 的通知",
"someProjects": "仅部分",
"statusOn": "已开启",
"statusSending": "发送中",
"stopping": "正在停止...",
"stopSending": "停止发送",
"stopSendingDescription": "此工作区的通知将只显示在 Kaneo 中。",
"stopSendingTitle": "停止从 {{workspaceName}} 发送通知?",
"workspacesDescription": "选择哪些工作区和项目可以使用你的渠道。",
"workspacesTitle": "工作区"
},
"preferencesPage": {
"title": "偏好设置",
"subtitle": "自定义 Kaneo 的外观和使用方式。",
"appearanceTitle": "常规",
"theme": "主题",
"selectTheme": "选择主题",
"themeLight": "浅色",
"themeDark": "深色",
"themeSystem": "跟随系统",
"language": "语言",
"selectLanguage": "选择语言",
"firstDayOfWeek": "每周起始日",
"firstDayOfWeekDescription": "用于日历和日期选择器。",
"selectFirstDayOfWeek": "选择起始日",
"weekStartsOnSunday": "周日",
"weekStartsOnMonday": "周一",
"weekStartsOnSaturday": "周六",
"defaultView": "默认视图",
"defaultViewDescription": "打开项目时使用的视图。",
"selectViewMode": "选择视图模式",
"board": "看板",
"list": "列表",
"gantt": "甘特图",
"priorityIcons": "优先级图标",
"priorityIconsDescription": "任务优先级在卡片、行和菜单中的显示方式。",
"priorityIconsMarks": "标记",
"priorityIconsClassic": "经典",
"sidebarDefault": "保持侧边栏展开",
"sidebarDefaultDescription": "启动时展开侧边栏。",
"displayOptions": "任务详情",
"displayOptionsDescription": "看板和列表中卡片和行上显示的内容。",
"taskNumbers": "任务编号",
"assignees": "负责人",
"dueDates": "截止日期",
"labels": "标签",
"priority": "优先级",
"projectBackgrounds": "项目背景",
"projectBackgroundsDescription": "显示项目为看板设置的背景图片。",
"advancedTitle": "高级"
},
"managedProfile": {
"note": "由你的组织管理。",
"edit": "在 {{provider}} 中编辑"
},
"developerPage": {
"pageTitle": "API 密钥",
"title": "API 密钥",
"subtitle": "让脚本、CLI 和 MCP 客户端以你的身份使用 Kaneo。",
"unnamedKey": "未命名",
"emptyDescription": "创建密钥后,即可在 CLI、MCP 客户端或你自己的脚本中使用。",
"emptyTitle": "还没有 API 密钥",
"keysNote": "密钥拥有和你相同的全部权限。请删除不再使用的密钥。",
"keysTitle": "密钥",
"loadError": "无法加载 API 密钥,请重试。",
"newKey": "新建密钥"
},
"apiKey": {
"createdModal": {
"title": "复制你的密钥",
"description": "关闭后将无法再次查看。",
"copy": "复制",
"copied": "已复制",
"done": "已完成",
"copyError": "无法复制密钥,请选中后手动复制。"
},
"table": {
"deleteConfirmTitle": "删除“{{name}}”?",
"deleteConfirmDescription": "所有使用此密钥的地方都将无法正常工作,此操作无法撤销。",
"delete": "删除密钥",
"deleting": "正在删除…",
"toastDeleted": "API 密钥已删除",
"toastDeleteError": "无法删除 API 密钥"
},
"createDialog": {
"title": "新建 API 密钥",
"description": "此密钥拥有和你相同的全部权限。",
"nameLabel": "姓名",
"namePlaceholder": "我的 API 密钥",
"nameDescription": "方便你记住它的用途。",
"expirationLabel": "有效期",
"expiration1d": "1 天",
"expiration7d": "7 天",
"expiration30d": "30 天",
"expiration90d": "90 天",
"expirationNever": "永不过期",
"create": "创建密钥",
"creating": "正在创建…",
"failedCreate": "无法创建 API 密钥",
"validation": {
"nameRequired": "请输入名称",
"nameShort": "至少输入 3 个字符"
}
},
"row": {
"actions": "{{name}} 的操作",
"created": "创建于 {{date}}",
"expired": "已于 {{date}} 过期",
"expiredBadge": "已过期",
"expires": "{{date}} 到期",
"neverExpires": "永不过期"
}
},
"workspaceGeneral": {
"pageTitle": "常规设置",
"title": "常规",
"subtitle": "{{name}} 的名称和所有者。",
"workspaceInfoTitle": "工作区",
"nameLabel": "名称",
"namePlaceholder": "输入工作区名称",
"descriptionLabel": "描述",
"descriptionPlaceholder": "你的团队在做什么?",
"dangerZone": "危险操作",
"deleteWorkspace": "删除工作区",
"deleteWorkspaceDescription": "永久删除 {{name}} 及其项目和任务。",
"deleteModalTitle": "删除工作区?",
"deleteModalDescription": "这将永久删除 {{name}} 及其所有项目和任务,且无法撤销。",
"deleteModalConfirm": "删除工作区",
"toastUpdateError": "更新工作区失败",
"toastDeleted": "工作区已删除",
"toastDeleteError": "删除工作区失败",
"validation": {
"nameRequired": "工作区名称不能为空",
"nameShort": "工作区名称至少需要 2 个字符"
},
"transferOwnership": {
"toastSuccess": "所有权已转移",
"toastError": "转移所有权失败",
"title": "转移所有权",
"pickerLabel": "新所有者",
"noEligibleMembers": "请先邀请至少一名其他成员,才能转移所有权。",
"pickerHint": "新所有者将接管工作区,你将保留管理员身份。",
"pickerPlaceholder": "选择成员",
"button": "转移",
"dialogTitle": "转移所有权?",
"dialogDescription": "{{name}} 将成为 {{workspace}} 的唯一所有者。你将保留管理员权限,但会失去删除工作区或再次转移等所有者专属权限。",
"transferring": "正在转移…",
"confirm": "转移所有权"
},
"ownershipSubtitle": "只有所有者能看到此部分。",
"ownershipTitle": "所有权"
},
"workspaceRoles": {
"pageTitle": "角色",
"title": "角色",
"subtitle": "定义成员在 {{workspaceName}} 中可以执行的操作。",
"thisWorkspace": "此工作区",
"noAccess": "你需要管理员或所有者权限才能管理工作区角色。",
"sectionTitle": "工作区角色",
"sectionSubtitle": "编辑默认角色或添加自定义角色。成员的已分配角色名称在编辑过程中保持不变。",
"newRole": "新角色",
"loading": "加载中…",
"loadError": "加载角色失败。",
"emptyTitle": "暂无角色",
"emptyDescription": "默认角色在为该工作区初始化后显示在这里。",
"defaultBadge": "默认",
"permissionCount_other": "{{count}} 个权限",
"nameLabel": "姓名",
"nameHint": "小写,保存后不可更改。",
"namePlaceholder": "例如:reviewer",
"discard": "放弃",
"createRole": "创建角色",
"deleteRole": "删除角色",
"defaultRoleHelp": "默认角色:名称已保留且该行不可删除。",
"unsavedChanges": "有未保存的更改",
"allChangesSaved": "所有更改已保存",
"saveChanges": "保存更改",
"defaultRoleDescriptions": {
"viewer": "可以查看任务并发表评论。",
"member": "可以创建并管理任务和项目。",
"admin": "拥有工作区的完全访问权限。"
},
"resources": {
"project": "项目",
"task": "任务",
"label": "标签",
"workspace": "工作区",
"organization": "工作区管理",
"member": "成员",
"invitation": "邀请",
"team": "团队",
"ac": "角色与权限"
},
"permissions": {
"project": {
"create": {
"label": "创建",
"description": "可以创建新项目"
},
"read": {
"label": "查看",
"description": "可以查看项目"
},
"update": {
"label": "更新",
"description": "可以编辑项目设置"
},
"delete": {
"label": "删除",
"description": "可以删除项目"
},
"share": {
"label": "分享",
"description": "可以分享项目"
}
},
"task": {
"create": {
"label": "创建",
"description": "可以创建任务"
},
"read": {
"label": "查看",
"description": "可以查看任务"
},
"update": {
"label": "更新",
"description": "可以编辑任务"
},
"delete": {
"label": "删除",
"description": "可以删除任务"
},
"assign": {
"label": "指派",
"description": "可以将任务指派给成员"
}
},
"label": {
"create": {
"label": "创建",
"description": "可以创建标签"
},
"read": {
"label": "查看",
"description": "可以查看标签"
},
"update": {
"label": "更新",
"description": "可以编辑标签"
},
"delete": {
"label": "删除",
"description": "可以删除标签"
}
},
"workspace": {
"read": {
"label": "查看",
"description": "可以查看工作区设置"
},
"update": {
"label": "更新",
"description": "可以更新工作区设置"
},
"delete": {
"label": "删除",
"description": "可以删除工作区"
},
"manage_settings": {
"label": "管理设置",
"description": "可以管理工作区设置"
}
},
"organization": {
"update": {
"label": "管理工作区设置",
"description": "可以通过账号服务修改工作区设置。"
},
"delete": {
"label": "删除工作区",
"description": "可以通过账号服务永久删除工作区。"
}
},
"member": {
"create": {
"label": "添加成员",
"description": "可以把用户加入此工作区。"
},
"update": {
"label": "变更成员角色",
"description": "可以修改工作区成员的角色。"
},
"delete": {
"label": "移除成员",
"description": "可以把用户移出此工作区。"
}
},
"invitation": {
"create": {
"label": "邀请成员",
"description": "可以发送工作区邀请。"
},
"cancel": {
"label": "取消邀请",
"description": "可以撤销待处理的工作区邀请。"
}
},
"team": {
"create": {
"label": "创建团队",
"description": "可以在此工作区创建团队。"
},
"update": {
"label": "编辑团队",
"description": "可以修改团队和团队成员。"
},
"delete": {
"label": "删除团队",
"description": "可以删除此工作区中的团队。"
}
},
"ac": {
"create": {
"label": "创建",
"description": "可以创建角色并分配权限。"
},
"read": {
"label": "查看",
"description": "可以查看角色及其权限。"
},
"update": {
"label": "更新",
"description": "可以修改角色权限,包括管理权限。"
},
"delete": {
"label": "删除",
"description": "可以删除自定义角色。"
}
}
},
"validation": {
"nameRequired": "角色名称不能为空",
"nameExists": "已存在同名角色",
"permissionRequired": "至少需要选择一项权限"
},
"toast": {
"created": "角色已创建",
"createError": "创建角色失败",
"updated": "角色已更新",
"updateError": "更新角色失败",
"deleted": "角色已删除",
"deleteError": "删除角色失败"
},
"deleteDialog": {
"title": "删除角色",
"description": "这将永久删除角色 \"{{role}}\",分配给该角色的成员将失去其权限。"
}
},
"workspaceLabels": {
"pageTitle": "标签",
"title": "标签",
"subtitle": "标签由此工作区中的所有项目共享。",
"createLabel": "创建标签",
"editLabel": "编辑标签",
"deleteLabel": "删除标签",
"saveLabel": "保存",
"nameLabel": "名称",
"namePlaceholder": "标签名称",
"colorLabel": "颜色",
"createDescription": "此工作区中的项目可以将它添加到任务上。",
"editDescription": "更改会显示在所有带有此标签的任务上。",
"deleteConfirmTitle": "删除“{{name}}”?",
"deleteConfirmDescription": "该标签将从所有使用它的任务中移除,此操作无法撤销。",
"createSuccess": "标签已创建",
"updateSuccess": "标签已更新",
"deleteSuccess": "标签已删除",
"createError": "创建标签失败",
"updateError": "更新标签失败",
"deleteError": "删除标签失败",
"nameRequired": "标签名称不能为空",
"deletionPending": "正在从任务中移除…",
"resumeDeletion": "继续删除",
"editNamed": "编辑 {{name}}",
"emptyDescription": "添加标签,在各个项目中对任务进行分类和筛选。",
"emptyTitle": "还没有标签",
"loadError": "无法加载标签,请重试。",
"newLabel": "新建标签",
"preview": "在任务上的效果",
"previewPlaceholder": "标签",
"resume": "继续",
"rowActions": "{{name}} 的操作",
"sectionDescription": "重命名标签或更改颜色,会同步更新所有使用该标签的任务。",
"sectionTitle": "工作区标签",
"subtitleWithWorkspace": "标签由 {{workspaceName}} 中的所有项目共享。"
},
"projectGeneral": {
"pageTitle": "项目设置",
"title": "常规",
"subtitle": "{{name}} 的名称、标识和外观。",
"projectInfoTitle": "项目",
"iconLabel": "图标",
"iconHint": "显示在侧边栏和项目列表中。",
"pickIconTitle": "选择图标",
"searchIconsPlaceholder": "搜索图标…",
"projectNameLabel": "名称",
"projectNamePlaceholder": "项目名称",
"keyLabel": "标识",
"keyHint": "每个任务 ID 的前缀,例如 {{slug}}-123。",
"keyPlaceholder": "PRO",
"descriptionLabel": "描述",
"descriptionPlaceholder": "这个项目是做什么的?",
"dangerZone": "危险操作",
"deleteProject": "删除项目",
"deleteProjectDescription": "永久删除 {{name}} 及其所有任务。",
"deleteModalTitle": "删除项目?",
"deleteModalDescription": "这将永久删除 {{name}} 及其所有任务,且无法撤销。",
"deleteModalConfirm": "删除项目",
"toastUpdateError": "更新项目失败",
"toastDeleted": "项目已删除",
"toastDeleteError": "删除项目失败",
"validation": {
"nameRequired": "项目名称不能为空",
"keyRequired": "标识不能为空",
"keyMax": "标识最多 8 个字符",
"iconRequired": "图标不能为空"
},
"backgroundHint": "显示在看板后面的图片。每个人都可以关闭。",
"backgroundUnavailable": "此实例未配置图片上传。",
"backgroundLabel": "看板背景",
"backgroundRemove": "移除图片",
"backgroundRemoveError": "移除项目背景失败",
"backgroundRemoveSuccess": "项目背景已移除",
"backgroundReplace": "替换",
"backgroundUpload": "上传",
"backgroundUploadError": "更新项目背景失败",
"backgroundUploadSuccess": "项目背景已更新",
"moveModalConfirm": "移动项目",
"moveProject": "移动到其他工作区",
"moveProjectAction": "移动",
"moveProjectDescription": "任务、列和标签会一起移动。",
"moveProjectPlaceholder": "选择工作区",
"toastMoved": "项目移动成功",
"toastMovedWithUnassigned": "项目移动成功。已取消分配 {{taskCount}} 个任务。",
"toastMoveError": "移动项目失败",
"moveTargetsError": "无法检查你可以将此项目移动到哪些工作区。请重新加载页面后重试。",
"moveDialogDescription": "分配给新工作区以外成员的任务将取消分配,此项目的通知订阅也会被清除。",
"moveDialogTitle": "移动到其他工作区?",
"moveTargetLabel": "工作区",
"moving": "正在移动...",
"tasksTitle": "任务"
},
"projectIntegrations": {
"pageTitle": "集成",
"title": "集成",
"subtitle": "将此项目连接到你的代码托管平台和团队聊天工具。",
"githubSectionTitle": "GitHub 集成",
"githubSectionSubtitle": "与 GitHub Issues 同步任务并启用双向同步。",
"giteaSectionTitle": "Gitea 集成",
"giteaSectionSubtitle": "与自托管的 Gitea 实例同步任务(Issues、PR、Webhook)。",
"discordSectionTitle": "Discord 集成",
"discordSectionSubtitle": "通过 Webhook 将项目任务更新发送到 Discord 频道。",
"genericWebhookSectionTitle": "Webhook",
"genericWebhookSectionSubtitle": "将项目任务事件以 JSON 形式发送到任意 HTTP 端点。",
"slackSectionTitle": "Slack 集成",
"slackSectionSubtitle": "通过 Incoming Webhook 将项目任务更新发送到 Slack 频道。",
"mattermostSectionTitle": "Mattermost 集成",
"mattermostSectionSubtitle": "借助 Incoming Webhook,把项目任务动态推送到 Mattermost 频道。",
"telegramSectionTitle": "Telegram 集成",
"telegramSectionSubtitle": "通过 Bot 将项目任务更新发送到 Telegram 聊天或话题。",
"gitlabSectionSubtitle": "与 GitLab.com 或自建实例同步任务。",
"gitlabSectionTitle": "GitLab 集成",
"codeHostingTitle": "代码托管",
"chatTitle": "聊天与 Webhook",
"statusConnected": "已连接",
"statusPaused": "已暂停",
"connect": "连接",
"configure": "配置",
"done": "完成",
"turnedOffByAdmin": "Turned off by an administrator"
},
"projectVisibility": {
"pageTitle": "项目可见性",
"title": "可见性",
"subtitle": "选择 {{workspace}} 以外哪些人可以查看 {{project}}。",
"sectionTitle": "访问权限",
"publicAccess": "公开链接",
"publicAccessHint": "任何拥有链接的人都可以查看看板及其任务,但无法进行任何更改。",
"publicUrl": "公开链接",
"copy": "复制链接",
"toastUpdated": "可见性已更新",
"toastUpdateError": "更新可见性失败",
"always": "始终",
"copied": "已复制",
"copyError": "无法复制链接",
"membersDescription": "工作区内的所有人,按其角色允许的范围访问。",
"membersTitle": "{{workspace}} 成员",
"offNote": "关闭公开链接后,链接会立即失效。",
"on": "已开启",
"openPublicPage": "打开公开页面",
"thisWorkspace": "此工作区"
},
"projectWorkflow": {
"pageTitle": "工作流设置",
"title": "工作流",
"subtitle": "看板上的列,以及在列之间移动任务的规则。",
"columnsTitle": "列",
"columnsDescription": "拖动以重新排序。完成列中的任务会计为已完成。",
"automationTitle": "自动化",
"automationDescription": "当已连接的仓库中发生事件时,移动关联的任务。"
},
"projectSwitcher": {
"selectProject": "选择项目",
"noProjects": "无项目"
},
"columnEditor": {
"toastCreateError": "创建列失败",
"toastRenameError": "更新列失败",
"toastUpdateError": "更新列失败",
"toastDeleteError": "删除列失败",
"pickIconTitle": "选择列图标",
"searchIconsPlaceholder": "搜索图标…",
"markDoneAria": "将 {{name}} 标记为完成列",
"newColumnPlaceholder": "列名称",
"deleteAria": "删除 {{name}} 列",
"renameAria": "重命名 {{name}} 列",
"addColumn": "添加列",
"columnHeader": "列",
"deleteConfirm": "删除列",
"deleteDescription": "仍有任务的列无法删除。请先移走这些任务。",
"deleteTitle": "删除“{{name}}”?",
"doneHeader": "完成",
"dragAria": "重新排序 {{name}}",
"reorderError": "重新排序列失败"
},
"githubIntegration": {
"toast": {
"verifyError": "验证 GitHub 安装失败",
"installAppFirst": "请先在此仓库上安装 GitHub App",
"missingPermsDetail": "GitHub App 缺少必要权限:{{list}}。请更新应用权限。",
"updated": "GitHub 集成更新成功",
"updateError": "更新 GitHub 集成失败",
"removed": "GitHub 集成已移除",
"removeError": "移除 GitHub 集成失败",
"issuesImported": "Issues 导入成功",
"importError": "导入 Issues 失败",
"commentOnEnabled": "Kaneo 将在新 Issue 上评论任务链接",
"commentOnDisabled": "新 Issue 的任务链接评论已关闭",
"settingsUpdateError": "更新 GitHub 集成失败"
},
"commentTaskLinkTitle": "在新 Issue 上评论 Kaneo 链接",
"commentTaskLinkHint": "方便 GitHub 上的人跳转到对应任务。",
"updatePermissions": "更新权限",
"installGithubApp": "安装 GitHub App",
"importSectionHint": "将仓库中未关闭的 Issue 导入为任务。",
"importDisabledHint": "重新连接仓库后即可导入。",
"accountVerificationHint": "连接你的 GitHub 账户,以验证你拥有此仓库的管理员权限。",
"enableGithubSignInHint": "请联系实例管理员启用 GitHub 登录。",
"reverifyHint": "重新连接此仓库,以验证访问权限并恢复同步。",
"resumeImport": "继续导入",
"importPaused": "本次导入已保存进度,可以继续导入。",
"importSummary": "已创建:{{imported}} · 已更新:{{updated}} · 已跳过:{{skipped}}",
"chooseRepositoryDescription": "该仓库的 Issue 和 PR 会关联到这里的任务。",
"linkAccountDescription": "用于证明你有权管理该仓库。",
"linkAccountTitle": "关联你的 GitHub 账号",
"linked": "已关联",
"linkGithub": "关联 GitHub",
"verifyMissingPermissions": "Kaneo GitHub App 缺少以下权限:{{list}}。",
"verifyNotInstalled": "Kaneo GitHub App 尚未安装到此仓库。",
"verifyReady": "Kaneo GitHub App 已安装,并具备所需权限。",
"workflowHint": "要在 PR 打开或合并时移动任务,请前往",
"workflowLink": "工作流"
},
"giteaIntegration": {
"validation": {
"baseUrlRequired": "Gitea 基础 URL 不能为空",
"baseUrlInvalid": "请输入有效的 URL(例如 https://gitea.example.com)"
},
"toast": {
"verifyError": "验证 Gitea 访问失败",
"verifyFirst": "访问验证失败,请检查 URL、令牌和仓库",
"updated": "Gitea 集成已保存",
"updateError": "保存 Gitea 集成失败",
"removed": "Gitea 集成已移除",
"removeError": "移除 Gitea 集成失败",
"issuesImported": "Issues 导入成功",
"importError": "导入 Issues 失败",
"commentOnEnabled": "Kaneo 将在新 Issue 上评论任务链接",
"commentOnDisabled": "新 Issue 的任务链接评论已关闭",
"settingsUpdateError": "更新 Gitea 集成失败"
},
"commentTaskLinkTitle": "在新 Issue 上评论 Kaneo 链接",
"commentTaskLinkHint": "方便 Gitea 上的人跳转到对应任务。",
"webhookHint": "在仓库设置中添加此 Webhook,以便将变更同步回 Kaneo。",
"baseUrlLabel": "Gitea 地址",
"tokenLabel": "个人访问令牌",
"tokenPlaceholder": "粘贴令牌",
"tokenPlaceholderUpdate": "粘贴新令牌以轮换",
"importSectionHint": "将未关闭的 Issue 和 PR 导入为任务。",
"importDisabledHint": "导入需要已验证的访问权限。请检查上方的令牌状态。",
"browseModalHint": "你的令牌可以访问的仓库。",
"browseNeedsCredentials": "输入 Gitea URL 和令牌即可浏览。",
"browseEmpty": "此令牌看不到任何仓库。",
"chooseRepositoryDescription": "输入 owner/name,或从列表中选择。",
"webhookEvents": "启用 push、pull request、issue、issue comment 和 create 事件。"
},
"slackIntegration": {
"validation": {
"webhookInvalid": "请输入有效的 Slack Webhook URL"
},
"toast": {
"saved": "Slack 集成保存成功",
"saveError": "保存 Slack 集成失败",
"enabled": "Slack 通知已启用",
"disabled": "Slack 通知已暂停",
"updateError": "更新 Slack 集成失败",
"removed": "Slack 集成已移除",
"removeError": "移除 Slack 集成失败"
},
"webhookPlaceholder": "https://hooks.slack.com/services/...",
"webhookHint": "在 Slack 中创建 Incoming Webhook,然后粘贴到这里。",
"connect": "连接 Slack",
"update": "更新 Slack"
},
"discordIntegration": {
"validation": {
"webhookInvalid": "请输入有效的 Discord Webhook URL"
},
"toast": {
"saved": "Discord 集成保存成功",
"saveError": "保存 Discord 集成失败",
"enabled": "Discord 通知已启用",
"disabled": "Discord 通知已暂停",
"updateError": "更新 Discord 集成失败",
"removed": "Discord 集成已移除",
"removeError": "移除 Discord 集成失败"
},
"webhookPlaceholder": "https://discord.com/api/webhooks/...",
"webhookHint": "在 Discord 中创建频道 Webhook,然后粘贴到这里。",
"connect": "连接 Discord",
"update": "更新 Discord"
},
"mattermostIntegration": {
"validation": {
"webhookInvalid": "请输入有效的 Mattermost Webhook URL"
},
"toast": {
"saved": "Mattermost 集成保存成功",
"saveError": "保存 Mattermost 集成失败",
"enabled": "Mattermost 通知已启用",
"disabled": "Mattermost 通知已暂停",
"updateError": "更新 Mattermost 集成失败",
"removed": "Mattermost 集成已移除",
"removeError": "移除 Mattermost 集成失败"
},
"webhookPlaceholder": "https://your-mattermost-server.com/hooks/...",
"webhookHint": "在 Mattermost 中创建 Incoming Webhook,然后粘贴到这里。",
"connect": "连接 Mattermost",
"update": "更新 Mattermost"
},
"genericWebhookIntegration": {
"validation": {
"webhookInvalid": "请输入有效的 Webhook URL",
"leadTimeRange": "请选择 5 分钟到 720 小时之间的时间。"
},
"toast": {
"saved": "通用 Webhook 集成保存成功",
"saveError": "保存通用 Webhook 集成失败",
"enabled": "通用 Webhook 通知已启用",
"disabled": "通用 Webhook 通知已暂停",
"updateError": "更新通用 Webhook 集成失败",
"removed": "通用 Webhook 集成已移除",
"removeError": "移除通用 Webhook 集成失败"
},
"webhookLabel": "端点 URL",
"webhookPlaceholder": "https://example.com/webhooks/kaneo",
"webhookHint": "Kaneo 会为每个已启用的事件发送带 JSON 负载的 POST 请求。",
"secretLabel": "签名密钥",
"secretPlaceholder": "共享密钥",
"secretHint": "Kaneo 会用它为每个请求签名,并在 X-Kaneo-Signature 头中发送摘要。",
"secretHintConfigured": "当前密钥:{{secret}}。粘贴新的密钥即可替换。",
"eventsTitle": "发送时机",
"events": {
"taskCreated": "任务已创建",
"taskStatusChanged": "状态已变更",
"taskPriorityChanged": "优先级已变更",
"taskTitleChanged": "标题已变更",
"taskDescriptionChanged": "描述已变更",
"taskCommentCreated": "新评论",
"taskDeleted": "任务已删除",
"taskMoved": "任务已移动",
"taskDueDateChanged": "截止日期已变更",
"taskAssigneeChanged": "负责人已变更",
"taskUnassigned": "任务已取消指派",
"dueDateReminder": "截止日期提醒"
},
"reminderLeadTimeLabel": "任务截止前的小时数",
"connect": "连接 Webhook",
"activeTitle": "正在发送事件",
"disconnectDescription": "Kaneo 将停止发送事件,并移除已保存的端点和密钥。",
"disconnectTitle": "断开 Webhook 连接?",
"reminderLeadTimeAfter": "小时发送提醒",
"reminderLeadTimeBefore": "在任务截止前"
},
"telegramIntegration": {
"validation": {
"botTokenInvalid": "请输入有效的 Telegram Bot 令牌",
"chatIdRequired": "聊天 ID 不能为空",
"threadIdInvalid": "请输入有效的话题 ID"
},
"toast": {
"saved": "Telegram 集成保存成功",
"saveError": "保存 Telegram 集成失败",
"enabled": "Telegram 通知已启用",
"disabled": "Telegram 通知已暂停",
"updateError": "更新 Telegram 集成失败",
"removed": "Telegram 集成已移除",
"removeError": "移除 Telegram 集成失败"
},
"botTokenLabel": "Bot 令牌",
"botTokenPlaceholder": "123456789:AAExampleBotToken",
"botTokenHint": "使用 BotFather 创建机器人,然后粘贴其令牌。",
"botTokenHintConfigured": "当前令牌:{{token}}",
"chatIdLabel": "聊天 ID",
"chatIdPlaceholder": "-1001234567890 或 @team_updates",
"threadIdLabel": "话题 ID",
"threadIdPlaceholder": "用于论坛话题",
"chatLabelLabel": "聊天名称",
"chatLabelPlaceholder": "工程更新",
"connect": "连接 Telegram",
"botTokenSavedPlaceholder": "已保存。粘贴新的令牌即可替换。",
"loadError": "无法加载 Telegram 设置。"
},
"repositoryBrowser": {
"title": "选择仓库",
"description": "Kaneo GitHub App 可以访问的仓库。",
"searchPlaceholder": "搜索仓库",
"loadError": "无法加载仓库。",
"tryAgain": "重试",
"emptyTitle": "还没有仓库",
"emptyHint": "在你的仓库上安装 GitHub App 后即可在此查看。",
"installGithubApp": "安装 GitHub App",
"noSearchMatchTitle": "没有匹配的仓库",
"noSearchMatchHint": "换个名称试试,或清空搜索。",
"emptyPageHint": "本页没有。加载更多以继续查找。",
"loadMore": "加载更多",
"manageAccess": "管理应用访问权限",
"missingOne": "找不到?",
"searching": "正在搜索…",
"updated": "更新于 {{time}}",
"useRepository": "使用此仓库"
},
"tasksImportExport": {
"exportTasks": "导出任务",
"importTasks": "导入任务",
"dialogTitle": "导入任务",
"dialogDescription": "上传包含任务的 JSON 文件以导入此项目。",
"expectedFormat": "预期格式:",
"dropHint": "将 JSON 文件拖到这里",
"selectFile": "选择文件",
"exporting": "正在导出任务…",
"exportSuccess": "任务导出成功",
"exportError": "导出任务失败",
"importing": "正在导入任务…",
"importSuccess": "成功导入 {{count}} 个任务",
"importPartialError": "{{count}} 个任务导入失败",
"importError": "导入任务失败",
"invalidFormat": "导入文件格式无效",
"noFileDropped": "未拖入文件",
"notJsonFile": "请上传 JSON 文件",
"export": "导出",
"exportDescription": "将此项目中的所有任务下载为文件。",
"import": "导入",
"importDescription": "从之前导出的文件中添加任务。"
},
"workflowEditor": {
"toastError": "更新规则失败",
"events": {
"branch_push": "分支已推送",
"pr_opened": "PR 已开启",
"pr_merged": "PR 已合并",
"issue_opened": "Issue 已开启",
"issue_closed": "Issue 已关闭"
},
"connectMore": "在<link>集成</link>中连接 {{providers}},也可以为它们设置自动化。",
"dontMove": "不移动",
"emptyDescription": "自动化需要先连接 GitHub、Gitea 或 GitLab 仓库。",
"emptyTitle": "没有已连接的仓库",
"openIntegrations": "打开集成"
},
"externalLinks": {
"resources": "资源",
"issue": "议题",
"branch": "分支",
"merged": "已合并",
"draft": "草稿",
"open": "打开",
"adding": "正在添加…",
"addResource": "添加资源",
"cancel": "取消",
"empty": "此任务还没有关联任何资源。",
"titleOptional": "标题(可选)",
"url": "URL",
"remove": "移除 {{title}}",
"removeError": "移除资源链接失败。"
},
"customFields": {
"createError": "创建自定义字段失败。",
"createSuccess": "自定义字段已创建。",
"creating": "正在创建…",
"defaultLabel": "默认",
"deleteError": "删除自定义字段失败。",
"deleteSuccess": "自定义字段已删除。",
"deleting": "正在删除…",
"namePlaceholder": "字段名称",
"required": "必填",
"types": {
"boolean": "复选框",
"date": "日期",
"dropdown": "下拉选择",
"number": "数字",
"text": "文本",
"multiselect": "下拉选择(多选)"
},
"clearDefault": "清除默认值",
"moreOptions": "还有 {{hiddenCount}} 项",
"reorderError": "字段排序失败",
"selectPlaceholder": "选择选项",
"actionsAria": "{{name}} 的操作",
"addOption": "添加选项",
"allowSeveral": "允许多选",
"allowSeveralDescription": "任务可以选择多个选项。",
"checked": "已勾选",
"createField": "创建字段",
"defaultDescription": "新任务默认使用此值。",
"deleteConfirm": "删除字段",
"deleteDescription": "该字段及其在所有任务上的值都会被移除,此操作无法撤销。",
"deleteTitle": "删除“{{name}}”?",
"dialogDescription": "{{project}} 中的每个任务都会获得此字段。",
"dialogDescriptionFallback": "此项目中的每个任务都会获得此字段。",
"dragAria": "重新排序 {{name}}",
"dragOptionAria": "重新排序 {{option}}",
"edit": "编辑",
"editTitle": "编辑字段",
"emptyDescription": "在每个任务上记录规模、客户或上线日期等信息。",
"emptyTitle": "还没有自定义字段",
"issues": {
"defaultRequired": "必填字段需要设置默认值。",
"moreOptionsRequired": "要允许多选,请至少添加两个选项。",
"optionsRequired": "请至少添加一个选项。"
},
"nameLabel": "名称",
"newTitle": "新建字段",
"noDefault": "无默认值",
"optionsLabel": "选项",
"removeOptionAria": "移除 {{option}}",
"hideOptionAria": "在新选择中隐藏 {{option}}",
"showOptionAria": "在新选择中重新提供 {{option}}",
"renameOptionAria": "重命名 {{option}}",
"requiredDescription": "每个任务始终都有值。",
"save": "保存",
"saving": "正在保存...",
"startsAs": "默认为“{{value}}”",
"startsAt": "默认为 {{value}}",
"startsChecked": "默认勾选",
"startsOn": "默认为 {{date}}",
"startsUnchecked": "默认不勾选",
"typeLabel": "类型",
"typeLocked": "字段创建后无法更改类型。",
"unchecked": "未勾选",
"updateError": "保存自定义字段失败。",
"updateSuccess": "自定义字段已保存。"
},
"administration": "管理后台",
"adminUsers": {
"actions": {
"deactivate": "停用",
"edit": "编辑",
"open": "{{name}} 的操作",
"reactivate": "恢复",
"markEmailVerified": "Mark email as verified",
"sendPasswordReset": "Send password reset link",
"sendVerification": "Resend verification email",
"security": "Sessions & API keys"
},
"clearSearch": "清除搜索",
"columns": {
"actions": "操作",
"joined": "加入时间",
"role": "角色",
"status": "状态",
"user": "用户",
"lastActive": "Last active"
},
"confirm": {
"deactivate": {
"action": "停用账号",
"description": "{{name}} 会被登出,并且在管理员恢复账号之前无法登录。",
"title": "停用这个账号?"
},
"delete": {
"action": "永久删除",
"description": "这会永久删除 {{name}},以及其会话、成员关系和关联数据。此操作不可撤销。",
"title": "永久删除这个账号?"
},
"reactivate": {
"action": "恢复账号",
"description": "{{name}} 将可以重新登录并访问其工作区。",
"title": "恢复这个账号?"
},
"working": "处理中…",
"markEmailVerified": {
"action": "Mark as verified",
"title": "Mark this email as verified?"
},
"sendPasswordReset": {
"action": "Send link",
"title": "Send a password reset link?"
},
"sendVerification": {
"action": "Send email",
"title": "Resend the verification email?"
}
},
"directoryTitle": "所有用户",
"edit": {
"description": "修改该账号的身份信息和实例级访问权限。",
"email": "邮箱地址",
"name": "姓名",
"role": "全局角色",
"save": "保存更改",
"saving": "正在保存…",
"selfRoleHint": "不能修改你自己的全局角色。",
"title": "编辑用户"
},
"emptyDescription": "换一个姓名或邮箱试试。",
"emptyTitle": "没有找到用户",
"loadError": "用户加载失败。",
"next": "下一页",
"pagination": "第 {{current}} 页,共 {{total}} 页",
"previous": "上一页",
"refreshing": "正在刷新用户",
"retry": "重试",
"roles": {
"admin": "管理员",
"user": "用户"
},
"searchCount_other": "{{count}} 个匹配用户",
"searchLabel": "搜索用户",
"searchPlaceholder": "按姓名或邮箱搜索",
"status": {
"active": "正常",
"deactivated": "已停用"
},
"subtitle": "在这个 Kaneo 实例上拥有账号的所有人。",
"title": "用户",
"toast": {
"actionError": "更新用户状态失败",
"deactivated": "用户已停用",
"deleted": "用户已删除",
"reactivated": "用户已恢复",
"updated": "用户已更新",
"updateError": "更新用户失败",
"avatarChanged": "Profile picture updated",
"avatarError": "Failed to update the profile picture",
"avatarRemoved": "Profile picture removed",
"createdForSso": "User created for single sign-on.",
"createdLinkFailed": "User created. Password email failed; retry “Send password reset link”.",
"createdLinkSent": "User created. Password link sent to {{email}}.",
"createdNoSmtp": "User created. Set SMTP_HOST to send a password link.",
"createError": "Failed to create user",
"emailError": "The email could not be sent",
"emailVerified": "Email marked as verified",
"passwordResetSent": "Password reset link sent to {{email}}",
"verificationSent": "Verification email sent to {{email}}"
},
"you": "你",
"create": {
"creating": "Creating…",
"open": "Create user",
"submit": "Create user",
"title": "Create user",
"nameRequired": "Enter a name",
"hintNoEmail": "Set SMTP_HOST to send password links."
},
"details": {
"emailStatus": "Email",
"methods": {
"password": "Password"
},
"noSignInMethods": "No password or linked account yet",
"notVerified": "Not verified",
"removeAvatar": "Remove",
"signInMethods": "Sign-in methods",
"uploadAvatar": "Upload",
"verified": "Verified"
},
"filters": {
"anyEmail": "Any email",
"anyRole": "Any role",
"anyStatus": "Any status",
"clear": "Clear filters",
"email": "Email verification",
"label": "Filter users",
"role": "Role",
"status": "Status",
"unverified": "Unverified email",
"verified": "Verified email"
},
"never": "Never",
"unverified": "Unverified",
"security": {
"apiKeysEmpty": "No API keys.",
"apiKeysLoadError": "Couldn't load API keys.",
"apiKeysTitle": "API keys",
"disabled": "Disabled",
"lastUsed": "Last used {{time}}",
"neverUsed": "Never used",
"revokeAll": "Sign out everywhere",
"revokeAllConfirmDescription": "They'll be signed out everywhere right away.",
"revokeAllConfirmTitle": "Sign {{name}} out everywhere?",
"revokeAllSelfDescription": "Your other sessions will be signed out right away.",
"revokeKey": "Revoke",
"revokeKeyConfirmDescription": "Requests using this key will fail right away.",
"revokeKeyConfirmTitle": "Revoke {{name}}?",
"revokeKeyLabel": "Revoke {{name}}",
"revokingKey": "Revoking...",
"sessionsEmpty": "Not signed in anywhere.",
"sessionsTitle": "Sessions",
"title": "Sessions & API keys: {{name}}",
"toastKeyRevoked": "API key revoked.",
"toastKeyRevokeError": "Couldn't revoke the API key.",
"toastRevokedAll": "Sessions signed out."
}
},
"security": "安全",
"securityPage": {
"confirmPassword": "确认新密码",
"confirmPasswordPlaceholder": "再次输入新密码",
"currentPassword": "当前密码",
"currentPasswordPlaceholder": "输入当前密码",
"newPassword": "新密码",
"newPasswordPlaceholder": "输入新密码",
"noPassword": {
"description": "你的账号使用其他方式登录,因此没有可修改的密码。",
"title": "无法修改密码"
},
"pageTitle": "安全",
"sectionTitle": "登录",
"submit": "修改密码",
"submitting": "正在修改...",
"subtitle": "你登录 Kaneo 的方式。",
"title": "安全",
"updateError": "更新密码失败。",
"updateSuccess": "密码已更新。",
"validation": {
"confirmRequired": "请确认新密码。",
"currentRequired": "请输入当前密码。",
"mismatch": "两次输入的密码不一致。",
"tooShort": "新密码至少需要 8 个字符。",
"sameAsCurrent": "新密码不能与当前密码相同。"
},
"changePassword": "修改密码",
"dialogDescription": "至少 8 个字符,且不能与当前密码相同。",
"dialogTitle": "修改密码",
"passwordHint": "请使用至少 8 个字符、且未在其他地方使用过的密码。",
"passwordTitle": "密码",
"sessions": {
"revokeOthers": "Sign out other sessions",
"revokeOthersConfirmDescription": "Your other sessions will be signed out right away.",
"revokeOthersConfirmTitle": "Sign out all other sessions?",
"title": "Active sessions",
"toastRevokedOthers": "Other sessions signed out."
}
},
"gitlabIntegration": {
"baseUrlLabel": "GitLab 地址",
"browseModalHint": "你的令牌所属的项目。",
"browseNeedsCredentials": "输入 GitLab URL 和令牌即可浏览。",
"commentTaskLinkHint": "方便 GitLab 上的人跳转到对应任务。",
"commentTaskLinkTitle": "在新 Issue 上评论 Kaneo 链接",
"importSectionHint": "将未关闭的 Issue 和合并请求导入为任务。",
"openInGitlab": "在 GitLab 中打开 {{project}}",
"projectPathLabel": "项目路径",
"searchProjects": "搜索项目",
"toast": {
"commentOnDisabled": "新 Issue 的任务链接评论已关闭",
"commentOnEnabled": "Kaneo 将在新 Issue 上评论任务链接",
"importError": "导入 Issues 失败",
"issuesImported": "Issues 导入成功",
"removed": "GitLab 集成已移除",
"removeError": "移除 GitLab 集成失败",
"settingsUpdateError": "更新 GitLab 集成失败",
"updated": "GitLab 集成已保存",
"updateError": "保存 GitLab 集成失败",
"verifyError": "验证 GitLab 访问失败",
"verifyFirst": "访问验证失败,请检查 URL、令牌和项目路径"
},
"tokenLabel": "访问令牌",
"tokenPlaceholder": "粘贴令牌",
"tokenPlaceholderUpdate": "粘贴新令牌以轮换",
"tokenTypeBearer": "OAuth2 令牌",
"tokenTypeLabel": "令牌类型",
"tokenTypePrivate": "个人、项目或群组访问令牌",
"validation": {
"baseUrlInvalid": "请输入有效的 URL(例如 https://gitlab.com)",
"baseUrlRequired": "GitLab 基础 URL 不能为空",
"pathInvalid": "请输入完整路径,例如 group/project"
},
"webhookHint": "在项目设置中添加此 Webhook,以便将变更同步回 Kaneo。",
"loadProjectsError": "无法加载项目。",
"importPermissionHint": "导入需要创建和更新任务的权限。",
"browseEmpty": "此令牌不是任何项目的成员。",
"chooseProjectDescription": "输入路径,或从列表中选择。",
"noSearchMatchTitle": "没有匹配的项目",
"useProject": "使用此项目",
"webhookEvents": "启用 push、issue、comment 和 merge request 事件。"
},
"calendarFeeds": {
"title": "日历订阅",
"subtitle": "在你的日历应用里订阅项目已排期的任务。",
"labels": "仅包含以下标签",
"selectLabels": "添加标签",
"noLabels": "没有找到标签。",
"timeZoneHint": "全天日期使用 {{timeZone}}。",
"accessHint": "任何拿到订阅链接的人都能读取对应任务的标题、描述和日期。撤销链接即可停止后续访问。",
"create": "创建订阅",
"creating": "正在创建…",
"created": "日历订阅已创建。",
"createError": "创建日历订阅失败。",
"activeFeeds": "订阅",
"allScheduledTasks": "所有已排期的任务",
"subscribeHint": "在日历应用中以订阅方式添加链接。日历应用刷新订阅后,更新就会显示。",
"copy": "复制链接",
"copyError": "无法复制链接。请选中 URL 后手动复制。",
"revoke": "撤销",
"revoked": "日历订阅已撤销。",
"revokeError": "撤销日历订阅失败。",
"loadError": "无法加载日历订阅或标签,请重试。",
"deletedLabel": "已删除的标签",
"permissionRequired": "管理日历订阅需要项目分享权限。",
"copiedLabel": "已复制",
"dialogDescription": "有开始日期或截止日期的任务会显示在订阅中。",
"dialogTitle": "新建日历订阅",
"emptyDescription": "创建订阅后,即可在日历应用中查看已排期的任务。",
"emptyTitle": "还没有日历订阅",
"feedActions": "订阅操作",
"labelsHint": "留空则包含所有已排期的任务。",
"newFeed": "新建订阅",
"revokeConfirm": "撤销订阅",
"revokeConfirmDescription": "使用此链接的日历应用将不再收到更新,此操作无法撤销。",
"revokeConfirmTitle": "撤销此订阅?",
"revoking": "正在撤销…"
},
"invitationEmailFailed": "邀请已保存,但邮件发送失败。请检查 SMTP 设置并重新发送邀请。",
"billing": {
"accessEnds": "访问权限到期",
"adminsOnly": "只有工作区所有者和管理员可以管理账单。",
"choose": "选择 {{plan}}",
"choosePlan": {
"subtitle": "随时切换,也随时可以取消。",
"title": "选择套餐"
},
"currentPlan": {
"title": "当前套餐"
},
"disabled": "当前实例未启用账单功能。自托管的 Kaneo 包含全部功能,永久免费。",
"expiredCallout": {
"action": "选择套餐",
"adminDescription": "你仍然可以查看所有内容,但在选择套餐之前,创建和编辑会暂停。数据不会被删除。",
"memberDescription": "你仍然可以查看所有内容,但在工作区所有者或管理员选择套餐之前,创建和编辑会暂停。",
"title": "免费试用已结束"
},
"features": {
"backups": "自动备份与更新",
"emailSupport": "邮件支持",
"prioritySupport": "优先邮件支持",
"roles": "工作区角色与权限",
"singleUser": "单用户",
"unlimitedMembers": "不限团队成员数",
"unlimitedProjects": "不限项目和任务数"
},
"foundingFree": {
"badge": "免费",
"description": "作为早期支持者,此工作区可以免费使用 Kaneo Cloud。感谢你从一开始就支持我们。",
"title": "创始免费版"
},
"interval": {
"annual": "按年",
"annualBadge": "省 2 个月",
"monthly": "按月"
},
"manage": "管理账单",
"mostPopular": "最受欢迎",
"opening": "正在打开…",
"pageTitle": "账单",
"plans": {
"personal": {
"name": "个人版",
"tagline": "适合个人用户"
},
"team": {
"name": "团队版",
"tagline": "适合协作的团队"
}
},
"portalHint": "发票、支付方式和取消订阅均在 Creem 中处理。",
"price": {
"billedMonthly": "按月计费",
"billedYearly": "{{price}} / 月,按年计费",
"billedYearlyPerUser": "{{price}} / 人 / 月,按年计费",
"perMonth": "/ 月",
"perUserMonth": "/ 人 / 月",
"perUserYear": "/ 人 / 年",
"perYear": "/ 年"
},
"processedBy": "支付由 Creem 安全处理。价格不含适用税费。",
"renews": "续费时间",
"seats_other": "{{count}} 个席位",
"starting": "正在开始…",
"status": {
"active": "生效中",
"canceled": "已取消",
"expired": "已过期",
"past_due": "逾期未付",
"paused": "已暂停",
"scheduled_cancel": "即将取消",
"trialing": "试用中"
},
"subtitle": "{{workspace}} 的套餐。",
"trial": {
"activeTitle": "免费试用",
"expiredDescription": "订阅下方任意套餐就能继续创建和编辑。在此之前,你的数据都安全保存,随时可以导出。",
"expiredTitle": "试用已结束",
"noDate": "选择下方套餐,试用结束后即可继续使用。",
"badgeDaysLeft_other": "剩余 {{count}} 天"
},
"trialCard": {
"activeDescription": "随时升级,试用结束后仍可保留你的工作区。",
"choosePlan": "选择套餐",
"daysLeft_other": "试用还剩 {{count}} 天",
"dismiss": "忽略",
"ended": "试用已结束",
"endingDescription": "现在就选一个套餐,别让团队的工作被打断。",
"expiredDescription": "订阅后即可继续创建和编辑。",
"viewPlans": "查看套餐"
},
"openFailed": "无法打开此工作区的账单页面",
"checkoutSuccess": {
"title": "感谢订阅",
"description": "已收到付款。确认后,下方的方案会随即更新。"
}
},
"syncRules": {
"addLabel": "添加标签",
"advancedHint": "开启「偏好设置」里的高级设置后,才能编辑这些规则。",
"all": "全部任务和 Issue",
"any": "任一标签",
"apply": "应用同步规则",
"closed": "已关闭",
"every": "全部标签",
"excluded": "不符合当前规则",
"filtered": "按标签筛选",
"impact": "匹配任务:{{matching}} / {{total}} · 新导出:{{create}} · 将暂停关联:{{pause}} · 待确认关联:{{review}}",
"impactTitle": "将会发生什么变化",
"incoming": "仓库 → Kaneo",
"incomingHint": "选择允许导入或用来创建任务的 Issue。请填写仓库中标签的准确名称。已有任务关联按 Kaneo 一侧的任务规则处理。",
"loadError": "无法加载同步规则。",
"loading": "正在加载同步规则…",
"matchLabels": "标签匹配方式",
"missingLabels": "所选的工作区标签已不可用。修复规则之前,同步会保持暂停。",
"removeMissingLabels": "移除不可用的标签",
"next": "下一页",
"noDescription": "暂无描述",
"noLabels": "请先在工作区里创建标签,再配置任务筛选条件。",
"open": "打开",
"outgoing": "Kaneo → 仓库",
"outgoingHint": "选择允许同步的 Kaneo 任务。已有任务一旦不再带匹配标签,两个方向的同步都会暂停。",
"paused": "同步已暂停",
"pausedHint": "记录和关联都会保留。重新匹配上的任务需要确认一次,才会恢复同步。",
"preserveHint": "暂停只是停下同步:Kaneo 任务、仓库 Issue 以及两者的关联都会保留。恢复前需要对比一次;历史评论不会被重复同步。",
"previewing": "正在检查同步影响…",
"previous": "上一页",
"refreshComparison": "刷新对比",
"refreshPreview": "刷新预览",
"removeLabel": "移除 {{name}}",
"repository": "仓库",
"repositoryLabel": "仓库标签名称",
"resumeError": "无法恢复同步。任务、Issue 或规则可能已经变化,也可能是对方服务暂时不可用。同步仍保持暂停,请刷新对比后重试。",
"review": "确认并恢复",
"reviewHint": "对比双方当前的标题、描述和打开/关闭状态,并选择以哪一侧为准。标签和历史评论不受影响。",
"reviewRequired": "符合规则 · 需要确认",
"reviewTitle": "恢复同步前先确认",
"saved": "同步规则已保存",
"saveError": "这些规则未能应用。集成配置或任务范围可能已经变化,请刷新预览后重试。",
"selectLabel": "至少选择一个标签,才能预览这条规则。",
"sharedHint": "这些规则对该项目的所有成员都生效。关闭高级设置并不会让规则失效。",
"title": "同步内容",
"unavailableLabel": "不可用的标签",
"useKaneo": "以 Kaneo 为准",
"useRepository": "以仓库为准",
"exportPending": "导出匹配的任务",
"inactiveHint": "该集成已暂停。重新启用之前,不会有任务被导出。",
"loadSavedRules": "载入已保存的规则",
"rulesChanged": "你编辑期间,已保存的规则发生了变化。你的草稿已保留,可以先检查上面的当前规则再决定是否应用,也可以直接载入已保存的规则。",
"allIssues": "所有 Issue",
"allTasks": "所有任务",
"edit": "编辑",
"hidePaused": "隐藏",
"issuesLabelled": "带有标签的 Issue:",
"joinAnd": "且",
"joinOr": "或",
"kaneoToProvider": "Kaneo → {{provider}}",
"pausedSummary_other": "有 {{count}} 个任务不再符合同步规则,已停止同步。",
"providerToKaneo": "{{provider}} → Kaneo",
"reviewPaused": "查看",
"tasksLabelled": "带有标签的任务:"
},
"advancedSettingsDescription": "显示更多控件,例如集成同步规则。仅对当前浏览器生效。",
"adminWorkspaces": {
"addMember": {
"adding": "正在添加…",
"alreadyMember": "已是成员",
"description": "把已有用户添加到 {{name}}。未加限制前,该用户可以访问所有项目。",
"noUsers": "没有找到用户",
"role": "角色",
"searching": "正在搜索用户…",
"submit": "添加成员",
"title": "添加成员",
"user": "用户",
"userPlaceholder": "搜索姓名或邮箱…",
"usersError": "无法加载用户。"
},
"clearSearch": "清除搜索",
"columns": {
"actions": "操作",
"created": "创建时间",
"members": "成员",
"owners": "所有者",
"projects": "项目",
"workspace": "工作区"
},
"confirm": {
"remove": {
"action": "移除成员",
"description": "{{name}} 将失去对 {{workspace}} 及其项目的访问权限,账号仍保留在本实例上。",
"title": "移除 {{name}}?"
},
"transfer": {
"action": "设为所有者",
"description": "{{name}} 将成为 {{workspace}} 唯一的所有者,当前的所有者将变为管理员。",
"title": "让 {{name}} 成为所有者?"
},
"working": "处理中…",
"archive": {
"action": "Archive workspace",
"description": "Members will lose access until it's restored.",
"title": "Archive {{name}}?"
},
"delete": {
"action": "Delete workspace",
"description": "Its projects, tasks, and files will be permanently deleted.",
"title": "Delete {{name}}?",
"typeName": "Type {{name}} to confirm"
},
"restore": {
"action": "Restore workspace",
"title": "Restore {{name}}?"
}
},
"directoryTitle": "所有工作区",
"emptyDescription": "换个名称或 slug 试试。",
"emptyTitle": "没有找到工作区",
"loadError": "无法加载工作区。",
"manage": "管理",
"manageLabel": "管理 {{name}}",
"members": {
"actions": "{{name}} 的操作",
"add": "添加成员",
"count_other": "{{count}} 名成员",
"description": "即使你不是该工作区的成员,也可以调整角色、项目访问权限和所有者。",
"editAccess": "更改 {{name}} 的项目访问权限({{access}})",
"empty": "该工作区还没有成员。",
"loadError": "无法加载成员。",
"makeOwner": "设为所有者",
"remove": "移出工作区",
"roleLabel": "{{name}} 的角色",
"title": "{{name}} 的成员"
},
"next": "下一页",
"noOwner": "无所有者",
"pagination": "第 {{current}} 页,共 {{total}} 页",
"previous": "上一页",
"refreshing": "正在刷新工作区",
"retry": "重试",
"searchCount_other": "{{count}} 个匹配的工作区",
"searchLabel": "搜索工作区",
"searchPlaceholder": "按名称或 slug 搜索",
"subtitle": "这个 Kaneo 实例上的所有工作区,包括你未加入的工作区。",
"title": "工作区",
"toast": {
"added": "成员已添加",
"addError": "添加成员失败",
"ownershipTransferred": "已转移所有权",
"removed": "成员已移除",
"removeError": "移除成员失败",
"roleError": "更新角色失败",
"roleUpdated": "角色已更新",
"transferError": "转移所有权失败",
"archived": "Workspace archived",
"archiveError": "Could not archive workspace",
"deleted": "Workspace deleted",
"deleteError": "Could not delete workspace",
"restored": "Workspace restored",
"restoreError": "Could not restore workspace"
},
"actions": {
"archive": "Archive workspace",
"open": "Actions for {{name}}",
"restore": "Restore workspace"
},
"archived": "Archived"
},
"workspaceImport": {
"back": {
"allSources": "全部来源",
"changeKey": "更换密钥",
"overview": "导入概览"
},
"connect": {
"cancel": "取消",
"continue": "继续",
"hideSecret": "隐藏 {{field}}",
"sectionDescription": "Kaneo 只从 {{source}} 读取数据。密钥仅用于本次导入,不会保存。",
"sectionTitle": "连接",
"showSecret": "显示 {{field}}",
"title": "从 {{source}} 导入",
"whereToFind": "在哪里获取"
},
"counts": {
"columns_other": "{{count, number}} 列",
"comments_other": "{{count, number}} 条评论",
"labels_other": "{{count, number}} 个标签",
"tasks_other": "{{count, number}} 个任务"
},
"entry": {
"createProjectLink": "导入你的项目",
"createProjectPrompt": "从 Jira、Linear、Trello 或 Plane 迁移过来?",
"projectsEmpty": "从其它工具导入"
},
"history": {
"description": "离开此页面后,导入仍会在服务器上继续运行。",
"empty": "还没有导入记录。你发起的导入会显示在这里。",
"loadError": "无法加载最近的导入记录。",
"started": "开始于 {{time}}",
"title": "最近的导入"
},
"kaneo": {
"apiKeyDescription": "在那个 Kaneo 里依次打开设置 → API 密钥。",
"apiKeyLabel": "API 密钥",
"apiKeyPlaceholder": "粘贴 API 密钥",
"urlDescription": "你要迁出的那个实例。",
"urlLabel": "Kaneo 地址"
},
"linear": {
"apiKeyDescription": "只读权限就够,导入完成后可以撤销。",
"apiKeyLabel": "个人 API 密钥",
"openSettings": "打开 Linear 设置",
"stepCreate": "在「个人 API 密钥」下创建一个只读密钥。",
"stepOpen": "在 Linear 里依次打开设置 → 安全与访问。",
"stepPaste": "复制后粘贴到上方。"
},
"notAllowed": {
"description": "导入会创建项目,因此需要管理空间设置和创建项目的权限。请联系工作区管理员来执行。",
"title": "只有工作区管理员可以导入"
},
"opensInNewTab": "(在新标签页打开)",
"pageTitle": "导入",
"plane": {
"tokenDescription": "个人资料设置 → 开发者 → 个人访问令牌。",
"tokenLabel": "个人访问令牌",
"urlDescription": "在 Plane 里从浏览器地址栏复制即可,自托管实例也可以。",
"urlLabel": "工作区地址",
"urlPlaceholder": "https://app.plane.so/your-workspace"
},
"planka": {
"adminTip": "建议用 PLANKA 管理员账号:PLANKA 只向管理员显示邮箱地址,而卡片成员是按邮箱与这里的用户对应的。",
"apiKeyDescription": "在 PLANKA 的账号设置里创建。",
"apiKeyLabel": "API 密钥",
"apiKeyPlaceholder": "粘贴 API 密钥",
"passwordDescription": "仅用于本次导入时登录。",
"passwordLabel": "密码",
"signInApiKey": "API 密钥",
"signInDescription": "如果你的账号是通过 SSO 登录的,请用 API 密钥。",
"signInLabel": "登录方式",
"signInPassword": "邮箱和密码",
"urlDescription": "你打开 PLANKA 的地址。",
"urlLabel": "PLANKA 地址",
"usernameDescription": "你登录 PLANKA 所用的账号。",
"usernameLabel": "邮箱或用户名"
},
"retry": "重试",
"run": {
"failedBadge": "失败",
"failedNames_other": "{{names, list}} 失败,因此没有为它们创建任何内容。",
"failedTitle": "导入失败",
"finishedNote": "导入的任务不会发送通知。评论会保留原作者和原时间。",
"finishedNoteNoComments": "导入的任务不会发送通知。",
"finishedTitle": "导入完成",
"goToProjects": "前往项目",
"importingBadge": "导入中",
"importingTitle": "正在从 {{source}} 导入",
"importMore": "继续导入",
"keyInMemory": "你的 {{source}} 密钥只在本次导入结束前保存在内存中。",
"leavePage": "可以离开此页面,导入会在服务器上继续运行。",
"loadError": "无法加载这次导入",
"noTasks": "没有任务",
"nothingImported": "没有导入任何内容",
"notImported": "未导入",
"open": "打开",
"openProject": "打开 {{name}}",
"queued": "排队中",
"started": "开始于 {{time}}",
"starting": "正在启动",
"took_other": "耗时 {{count}} 分钟",
"tookUnderMinute": "不到一分钟",
"totals": "已导入 {{parts, list}}",
"waiting": "等待中",
"warnings_other": "{{count}} 条警告"
},
"select": {
"back": "返回",
"clear": "清除",
"commentsDescription": "保留每条评论的原作者和时间。",
"commentsLabel": "导入评论",
"inviteMembers": "邀请成员",
"membersNote": "负责人按邮箱与 {{workspace}} 的成员对应。建议先邀请团队成员,这样任务能保留负责人。",
"membersNoteTrello": "负责人按邮箱与 {{workspace}} 的成员对应,Trello 也可以按姓名匹配。建议先邀请团队成员,这样任务能保留负责人。",
"selectAll": "全选",
"membersNoteJira": "负责人按邮箱与 {{workspace}} 的成员对应,Jira 隐藏邮箱时按姓名匹配。建议先邀请团队成员,这样任务能保留负责人。"
},
"sources": {
"connect": "连接",
"connectTo": "连接 {{source}}",
"description": "选择你要迁出的工具。你挑中的每个项目都会在这里新建为一个项目。",
"kaneo": {
"description": "在 Kaneo 云端和自托管实例之间迁移项目。",
"intro": "该密钥能看到的所有工作区里的项目。你挑中的会复制到这里。",
"pickerName": "另一个 Kaneo"
},
"linear": {
"description": "团队、议题、标签、子议题和评论。粘贴个人 API 密钥即可。",
"intro": "每个 Linear 团队会变成一个项目,其工作流状态成为看板列。"
},
"plane": {
"description": "项目、工作项、子议题和评论。支持云端和自托管。",
"intro": "每个 Plane 项目会变成这里的一个项目,其状态成为看板列。"
},
"planka": {
"description": "从你的 PLANKA 实例导入看板、列表、卡片、检查清单和评论。",
"intro": "每个 PLANKA 看板会变成一个项目,其列表成为看板列。"
},
"title": "选择来源",
"trello": {
"description": "看板、列表、卡片、检查清单和评论。一键授权即可。",
"intro": "每个 Trello 看板会变成一个项目,其列表成为看板列。"
},
"jira": {
"description": "项目、议题、子任务、链接和评论。支持云端和 Data Center。",
"intro": "每个 Jira 项目会变成这里的一个项目,其工作流状态成为看板列。"
}
},
"status": {
"failed": "失败",
"imported": "已导入",
"importing": "正在导入第 {{current}} 个,共 {{total}} 个",
"partial": "已导入 {{done}}/{{total}}",
"warnings_other": "已完成,有 {{count}} 条警告"
},
"steps": {
"connect": "连接",
"done": "(已完成)",
"import": "导入",
"label": "导入步骤"
},
"subtitle": "把其它工具里的项目导入 {{workspace}}。Kaneo 只从来源读取数据。",
"title": "导入",
"toast": {
"failed": "从 {{source}} 导入失败",
"finished": "从 {{source}} 导入完成",
"partial": "从 {{source}} 导入完成,但有错误"
},
"trello": {
"apiKeyDescription": "在你拥有的 Power-Up 里打开 Trello 的 Auth 标签页生成 API 密钥(不是 OAuth 2.0 那个标签页),地址:",
"apiKeyLabel": "API 密钥",
"apiKeyPlaceholder": "粘贴 API 密钥",
"authorizeButton": "在 Trello 上授权",
"authorizeDescription": "会在新标签页打开 Trello。只读权限,一天后失效。",
"authorizeLabel": "授权 Kaneo",
"authorizeNeedsKey": "请先填写 API 密钥。只读权限,一天后失效。",
"tokenDescription": "在 Trello 上点「允许」,然后粘贴它给出的令牌。",
"tokenLabel": "令牌",
"tokenPlaceholder": "粘贴令牌"
},
"units": {
"board": {
"allImported_other": "已导入全部 {{count}} 个看板。",
"empty": "没有找到看板。请确认该密钥能看到你要导入的看板。",
"found_other": "找到 {{count}} 个看板。你挑中的每个都会在 {{workspace}} 里新建为一个项目。",
"importButton_other": "导入 {{count}} 个看板",
"limit": "每次导入最多选择 {{max}} 个看板。",
"pick": "选择要导入的看板。",
"progress_other": "已导入 {{done}}/{{count}} 个看板",
"runTitle_other": "{{source}},{{count}} 个看板",
"section": "看板",
"someImported_other": "已导入 {{done}}/{{count}} 个看板。",
"step": "选择看板"
},
"project": {
"allImported_other": "已导入全部 {{count}} 个项目。",
"empty": "没有找到项目。请确认该密钥能看到你要导入的项目。",
"found_other": "找到 {{count}} 个项目。你挑中的每个都会在 {{workspace}} 里新建为一个项目。",
"importButton_other": "导入 {{count}} 个项目",
"limit": "每次导入最多选择 {{max}} 个项目。",
"pick": "选择要导入的项目。",
"progress_other": "已导入 {{done}}/{{count}} 个项目",
"runTitle_other": "{{source}},{{count}} 个项目",
"section": "项目",
"someImported_other": "已导入 {{done}}/{{count}} 个项目。",
"step": "选择项目"
},
"team": {
"allImported_other": "已导入全部 {{count}} 个团队。",
"empty": "没有找到团队。请确认该密钥能看到你要导入的团队。",
"found_other": "找到 {{count}} 个团队。你挑中的每个都会在 {{workspace}} 里新建为一个项目。",
"importButton_other": "导入 {{count}} 个团队",
"limit": "每次导入最多选择 {{max}} 个团队。",
"pick": "选择要导入的团队。",
"progress_other": "已导入 {{done}}/{{count}} 个团队",
"runTitle_other": "{{source}},{{count}} 个团队",
"section": "团队",
"someImported_other": "已导入 {{done}}/{{count}} 个团队。",
"step": "选择团队"
}
},
"jira": {
"emailDescription": "你的 Atlassian 账号邮箱。Jira Data Center 可以留空。",
"emailLabel": "邮箱",
"nameMatchTip": "Jira 常常隐藏邮箱地址,所以负责人可能按姓名与这里的用户对应。",
"openSettings": "打开 Atlassian API 令牌页",
"stepCreate": "创建一个 API 令牌并复制。",
"stepOpen": "打开 id.atlassian.com,依次进入安全 → API 令牌。",
"stepPaste": "和登录 Jira 用的邮箱一起粘贴到上面。",
"tokenDescription": "云端版:在 id.atlassian.com 创建。Data Center:使用个人访问令牌。",
"tokenLabel": "API 令牌",
"tokenPlaceholder": "粘贴令牌",
"urlDescription": "从浏览器地址栏复制即可,Data Center 也可以。",
"urlLabel": "Jira 站点地址",
"urlPlaceholder": "https://your-site.atlassian.net"
}
},
"chatIntegrations": {
"activeDescription": "关闭后会暂停发布,但保留设置。",
"activeTitle": "正在发布到 {{provider}}",
"channelHint": "仅用于在此列表中显示。",
"channelLabel": "频道",
"channelPlaceholder": "#team-updates",
"disconnect": "断开连接",
"disconnectDescription": "Kaneo 将停止向 {{provider}} 发布消息,并移除已保存的设置。",
"disconnecting": "正在断开连接…",
"disconnectTitle": "断开与 {{provider}} 的连接?",
"events": {
"taskCommentCreated": "有人评论时",
"taskCreated": "创建任务时",
"taskDescriptionChanged": "描述变更时",
"taskPriorityChanged": "优先级变更时",
"taskStatusChanged": "状态变更时",
"taskTitleChanged": "标题变更时"
},
"optional": "可选",
"postWhen": "发布时机",
"retry": "重试",
"saveChanges": "保存更改",
"savedUrlPlaceholder": "已保存。粘贴新的 URL 即可替换。",
"webhookUrlLabel": "Webhook 地址"
},
"codeHosting": {
"browse": "浏览",
"changeToken": "更换令牌",
"checking": "正在检查访问权限…",
"chooseProjectTitle": "选择项目",
"chooseRepositoryTitle": "选择仓库",
"connectProject": "连接项目",
"connectRepository": "连接仓库",
"copied": "已复制",
"copyFailed": "无法复制到剪贴板。",
"copySecret": "复制密钥",
"copyUrl": "复制 Webhook URL",
"disconnect": "断开连接",
"disconnectDescription": "任务将停止与 {{target}} 同步。你之后可以重新连接。",
"disconnecting": "正在断开连接…",
"disconnectTitle": "断开与 {{provider}} 的连接?",
"hideSecret": "隐藏密钥",
"importing": "正在导入…",
"importIssues": "导入 Issue",
"importNeedsReconnect": "重新连接后即可导入。",
"importTitle": "导入未关闭的 Issue",
"issuesSection": "Issue",
"lastImport": "上次导入:创建 {{imported}} 个,更新 {{updated}} 个,跳过 {{skipped}} 个。",
"loadError": "无法加载此集成。",
"pausedHint": "同步已暂停。重新连接即可恢复。",
"projectSection": "项目",
"reconnect": "重新连接",
"repositoryPathInvalid": "请按 owner/name 格式输入仓库。",
"repositoryPathLabel": "仓库",
"repositorySection": "仓库",
"retry": "重试",
"saveToken": "保存令牌",
"showSecret": "显示密钥",
"signInDescription": "请使用能读取该项目及其 Issue 的令牌。",
"signInTitle": "登录你的实例",
"tokenStored": "已保存的令牌",
"tokenTitle": "访问令牌",
"webhookSecret": "密钥",
"webhookSection": "Webhook",
"webhookUrl": "URL"
},
"projectCustomFields": {
"fieldsDescription": "拖动以调整它们在任务中的显示顺序。",
"fieldsTitle": "字段",
"newField": "新建字段",
"pageTitle": "自定义字段",
"subtitle": "{{project}} 中每个任务都可以记录的额外信息,例如规模或客户。",
"subtitleFallback": "此项目中每个任务都可以记录的额外信息,例如规模或客户。",
"title": "自定义字段"
},
"shared": {
"autosave": "更改会自动保存"
},
"adminAuditLog": {
"actions": {
"sessionRevoked": "Revoked a session",
"sessionRevokedAll": "Revoked all sessions",
"userCreated": "Created user",
"userDeactivated": "Deactivated user",
"userDeleted": "Deleted user",
"userImpersonated": "Signed in as user",
"userPasswordSet": "Set user password",
"userReactivated": "Reactivated user",
"userRoleChanged": "Changed instance role",
"userUpdated": "Updated user details",
"workspaceMemberAdded": "Added workspace member",
"workspaceMemberRemoved": "Removed workspace member",
"workspaceMemberRoleChanged": "Changed workspace member role",
"workspaceOwnerTransferred": "Transferred workspace ownership",
"userAvatarChanged": "Changed profile picture",
"userAvatarRemoved": "Removed profile picture",
"userEmailVerified": "Marked email as verified",
"userPasswordResetSent": "Sent password reset link",
"userVerificationSent": "Sent verification email",
"apiKeyRevoked": "Revoked an API key",
"emailTestSent": "Sent test email",
"workspaceArchived": "Archived workspace",
"workspaceDeleted": "Deleted workspace",
"workspaceRestored": "Restored workspace",
"roleCreated": "Role created",
"roleDeleted": "Role deleted",
"roleUpdated": "Role updated",
"instanceSettingsUpdated": "Updated instance settings",
"webhookCreated": "Created webhook",
"webhookDeleted": "Deleted webhook",
"webhookSecretRotated": "Rotated webhook secret",
"webhookUpdated": "Updated webhook"
},
"categories": {
"all": "All actions",
"session": "Sessions",
"user": "Users",
"workspace": "Workspaces",
"apiKey": "API keys",
"email": "Email",
"role": "Roles",
"instance": "Instance settings",
"webhook": "Webhooks"
},
"categoryLabel": "Filter by category",
"clearFilter": "Show all actions",
"columns": {
"action": "Action",
"actor": "Administrator",
"target": "Target",
"time": "Time and IP"
},
"deletedActor": "Account deleted",
"details": {
"change": "{{from}} → {{to}}",
"fields": "Changed {{fields}}",
"memberChange": "{{member}}: {{from}} → {{to}}",
"memberWithRole": "{{member}} as {{role}}",
"noRole": "No role",
"reason": "Reason: {{reason}}",
"createdWithRole": "Role: {{role}}",
"sessionCount_other": "{{count}} sessions",
"workspaceContents": "{{members}} members, {{projects}} projects",
"permissionsChanged": "{{added}} permissions added, {{removed}} removed"
},
"directoryTitle": "Recorded actions",
"emptyTitle": "No actions recorded",
"fields": {
"email": "email",
"emailVerified": "email verification",
"image": "avatar",
"name": "name"
},
"loadError": "The audit log could not be loaded.",
"mobileSummary": "{{actor}} · {{target}} · {{time}}",
"next": "Next",
"pagination": "Page {{current}} of {{total}}",
"previous": "Previous",
"refreshing": "Refreshing audit log",
"retry": "Retry",
"targetTypes": {
"user": "User",
"workspace": "Workspace",
"role": "Role",
"instance": "Instance",
"webhook": "Webhook"
},
"title": "Audit log",
"unknownActor": "Unknown"
},
"sessions": {
"device": "{{browser}} on {{os}}",
"lastActive": "Active {{time}}",
"loadError": "Couldn't load sessions.",
"revoke": "Sign out",
"revokeConfirmDescription": "They'll be signed out right away.",
"revokeConfirmTitle": "Sign out {{device}}?",
"revokeLabel": "Sign out {{device}}",
"revoking": "Signing out...",
"signedIn": "Signed in {{date}}",
"thisDevice": "This device",
"toastRevoked": "Session signed out.",
"toastRevokeError": "Couldn't sign out the session.",
"unknownDevice": "Unknown device"
},
"adminSystem": {
"checkedAt": "Checked {{time}}",
"email": {
"down": "Can't connect to the mail server ({{code}})",
"notConfigured": "Set SMTP_HOST and SMTP_FROM to turn on email.",
"ok": "Connected to the mail server",
"send": "Send test email",
"sending": "Sending…",
"sendTest": "Test email",
"smtp": "SMTP",
"title": "Email"
},
"instance": {
"api": "API",
"apiDescription": "Up {{uptime}} · Node {{node}}",
"database": "Database",
"databaseDown": "Can't reach PostgreSQL ({{code}})",
"databaseVersion": "PostgreSQL {{version}}",
"latency": "{{ms}} ms",
"migrations_other": "{{count}} migrations applied",
"realtime": "Live updates",
"realtimeConnections_other": "{{count}} open connections on this instance",
"realtimeInMemory": "delivered in memory",
"realtimeNotStarted": "WebSockets haven't started",
"realtimeRedis": "shared with other instances through Redis",
"realtimeRedisDown": "Redis is down, so only people on this instance get live updates",
"redis": "Redis",
"redisDown": "Can't reach Redis ({{code}})",
"redisModes": {
"cluster": "Cluster",
"sentinel": "Sentinel",
"standalone": "Standalone"
},
"redisNotConfigured": "Set REDIS_URL to share live updates across API instances.",
"redisOk": "{{mode}}, reachable",
"storage": "File storage",
"storageDown": "Can't reach the bucket ({{code}})",
"storageIncomplete": "Some S3 settings are missing, so uploads are off.",
"storageNotConfigured": "Set S3_ENDPOINT and S3_BUCKET to turn on uploads.",
"storageOk": "Bucket reachable",
"storageWarning": "Can't check the bucket with these credentials ({{code}}).",
"title": "Instance",
"version": "Kaneo version",
"versionUnknown": "Unknown"
},
"integrations": {
"available": "Available",
"connectedProjects_other": "Connected in {{count}} projects",
"connectedUnknown": "Project count unavailable",
"instanceSetup": {
"down": "GitHub App unavailable",
"not_configured": "GitHub App not set up",
"ok": "GitHub App set up",
"warning": "Some GitHub App settings are missing"
},
"title": "Integrations"
},
"loadError": "System status could not be loaded.",
"refresh": "Refresh",
"refreshing": "Checking…",
"retry": "Retry",
"setupStatus": {
"down": "Down",
"not_configured": "Not configured",
"ok": "Configured",
"warning": "Incomplete"
},
"signIn": {
"emailOtpSignIn": "Email sign-in codes",
"guestAccess": "Guest access",
"off": "Off",
"on": "On",
"passwordRegistration": "Sign-up with a password",
"passwordSignIn": "Email and password sign-in",
"registration": "Registration",
"title": "Sign-in",
"workspaceCreation": "Workspace creation",
"customProvider": "OAuth or OpenID Connect"
},
"status": {
"down": "Down",
"not_configured": "Not configured",
"ok": "Operational",
"warning": "Warning"
},
"title": "System",
"toast": {
"testEmailError": "The test email could not be sent.",
"testEmailSent": "Test email sent to {{to}}"
}
},
"adminOverview": {
"activeUsers": "Active (30 days)",
"archivedWorkspaces": "Archived",
"configurationWarnings": "Configuration warnings",
"disabledUsers": "Disabled users",
"loadError": "Could not load the overview.",
"noActions": "No administrative actions",
"noUsers": "No users",
"recentActions": "Recent administrative actions",
"recentUsers": "Recent users",
"services": "Services",
"title": "Overview",
"totalUsers": "Total users",
"viewAuditLog": "View audit log",
"viewSystem": "View system",
"viewUsers": "View users",
"warnings": {
"noSecondAdmin": "Only one administrator has access. Assign a second admin in User management.",
"redisUnreachable": "Redis is unavailable. Check the connection.",
"registrationWithoutEmail": "Registration is open without email. Configure SMTP or set DISABLE_REGISTRATION=true.",
"smtpNotConfigured": "Email is not configured. Set SMTP_HOST and SMTP_FROM.",
"smtpUnreachable": "Email is unavailable. Check SMTP settings.",
"storageIncomplete": "Storage setup is incomplete. Check S3 settings.",
"storageUnreachable": "Storage needs attention. Check S3 access."
},
"workspaces": "Workspaces"
},
"adminRoles": {
"actions": "Actions for {{name}}",
"allPermissions": "All permissions",
"builtIn": "Built-in",
"create": "New role",
"deleteTitle": "Delete {{name}}?",
"dialog": {
"create": "Create role",
"createTitle": "New role",
"editTitle": "Edit role",
"name": "Name",
"nameHint": "Use 2–32 lowercase letters, digits, or hyphens, starting with a letter.",
"save": "Save"
},
"edit": "Edit",
"groups": {
"instance": "Instance",
"users": "Users",
"workspaces": "Workspaces"
},
"listTitle": "All roles",
"loadError": "Roles could not be loaded.",
"noPermissions": "No permissions",
"permissionCount_other": "{{count}} permissions",
"permissions": {
"auditRead": "View the audit log",
"instanceSettings": "Change instance settings",
"systemRead": "View system status",
"usersApiKeys": "View and revoke API keys",
"usersCreate": "Create users",
"usersCredentials": "Send password reset and verification emails",
"usersDelete": "Delete users",
"usersDisable": "Deactivate and reactivate users",
"usersRead": "View users",
"usersSessions": "View and end sessions",
"usersUpdate": "Edit users and their roles",
"workspacesArchive": "Archive and restore workspaces",
"workspacesDelete": "Delete workspaces",
"workspacesManage": "Manage workspace members",
"workspacesRead": "View workspaces and members"
},
"title": "Roles",
"toast": {
"created": "Role created",
"deleted": "Role deleted",
"error": "The role could not be saved.",
"updated": "Role updated"
},
"userCount_other": "{{count}} users",
"viewUsers": "View users"
},
"adminSettings": {
"defaultRole": "Default role for new users",
"general": "General",
"instanceName": "Instance name",
"instanceUrl": "Instance URL",
"instanceUrlMissing": "Set KANEO_CLIENT_URL",
"integrations": "Integrations",
"loadError": "Couldn't load instance settings.",
"lockedByEnv": "Set by {{name}}",
"passwordRegistrationEnabled": "Email and password sign-up",
"registration": "Registration",
"registrationEnabled": "Open registration",
"requireEmailVerification": "Require email verification",
"requiresSmtp": "Requires SMTP",
"signInProviders": "Sign-in providers",
"title": "Settings",
"toast": {
"error": "Couldn't save settings",
"saved": "Settings saved"
},
"workspaceCreationRestricted": "Only administrators can create workspaces",
"workspaces": "Workspaces",
"save": "Save"
},
"adminWebhooks": {
"actions": "Actions for {{url}}",
"add": "Add webhook",
"attempts_other": "{{count}} attempts",
"categories": "Events",
"deleteTitle": "Delete webhook?",
"deliveries": "Recent deliveries",
"disabled": "Disabled",
"edit": "Edit webhook",
"empty": "No webhooks",
"enabled": "Enabled",
"errors": {
"destination": "Destination blocked",
"disabled": "Webhook disabled",
"http": "HTTP error",
"interrupted": "Delivery interrupted",
"network": "Connection failed",
"response": "Invalid response",
"signing": "Signing failed",
"timeout": "Timed out"
},
"failed": "Failed",
"httpStatus": "HTTP {{status}}",
"loadError": "Webhooks could not be loaded.",
"noDeliveries": "No deliveries",
"pending": "Pending",
"rotate": "Rotate secret",
"rotateTitle": "Rotate signing secret?",
"saveError": "The webhook could not be saved.",
"secretTitle": "Signing secret — save it now",
"sendTest": "Send test",
"setup": "Set NOTIFICATION_SECRET_ENCRYPTION_KEY to create webhooks.",
"signingSecret": "Signing secret",
"succeeded": "Delivered",
"testEvent": "Test event",
"testQueued": "Test event queued.",
"title": "Webhooks",
"url": "URL",
"save": "Save"
}
},
"navigation": {
"commandPalette": {
"suggestions": "建议",
"commands": "命令",
"projects": "项目",
"search": "搜索",
"members": "成员",
"createTask": "创建任务",
"createProject": "创建项目",
"createWorkspace": "创建工作区",
"lightTheme": "浅色主题",
"darkTheme": "深色主题",
"systemTheme": "跟随系统主题",
"keyboardShortcuts": "键盘快捷键",
"inputPlaceholder": "搜索应用和命令…",
"empty": "未找到结果。",
"footer": {
"navigate": "导航",
"open": "打开",
"close": "关闭"
}
},
"sidebar": {
"projects": "项目",
"members": "成员",
"invitations": "邀请",
"more": "更多",
"backToBoard": "返回看板",
"home": "首页",
"inbox": "收件箱",
"invitePeople": "邀请成员",
"myTasks": "我的任务"
},
"projectList": {
"viewProject": "查看项目",
"shareProject": "分享项目",
"projectSettings": "项目设置",
"linkCopied": "项目链接已复制到剪贴板",
"addProject": "添加项目",
"deleteConfirmTitle": "删除项目?",
"deleteConfirmDescription": "这将永久删除项目及其所有数据,此操作不可撤销。",
"deletedToast": "项目已删除",
"deleteProject": "删除项目",
"switcherLabel": "切换项目或视图"
},
"search": {
"inputPlaceholder": "搜索任务、项目、评论…",
"minCharsHint": "输入至少 3 个字符开始搜索",
"groups": {
"task": "任务",
"project": "项目",
"workspace": "工作区",
"comment": "评论",
"activity": "活动",
"fallback": "结果"
}
},
"settingsLayout": {
"toggleSidebar": "切换侧边栏",
"back": "返回"
},
"userMenu": {
"signedOutSuccess": "已成功退出登录",
"signOutFailed": "退出登录失败",
"unnamedUser": "用户",
"settings": "设置",
"signingOut": "正在退出…",
"logOut": "退出登录"
},
"workspaceSwitcher": {
"workspaces": "工作区",
"switching": "切换中…",
"addWorkspace": "添加工作区",
"selectWorkspace": "选择工作区"
},
"page": {
"settingsTitle": "设置",
"backToWorkspace": "返回工作区",
"settingsWorkspaceTab": "工作区"
},
"projectSettings": {
"projectLabel": "项目"
},
"shortcuts": {
"categories": {
"general": "通用",
"navigation": "导航",
"create": "创建",
"views": "视图",
"tasks": "任务",
"list": "看板和列表",
"inbox": "收件箱",
"filters": "筛选",
"editor": "编辑器"
},
"items": {
"openCommandMenu": "打开命令面板",
"openSearch": "全局搜索",
"openShortcuts": "显示键盘快捷键",
"submit": "保存或提交",
"back": "关闭弹窗/弹层",
"switchWorkspace": "切换工作区",
"logOut": "退出登录",
"showDisplayOptions": "显示选项",
"dismissToasts": "关闭所有通知",
"toggleSidebar": "切换侧边栏",
"goToHome": "前往首页",
"goToInbox": "前往收件箱",
"goToMyTasks": "前往我的任务",
"goToProjects": "前往项目",
"goToSettings": "前往设置",
"goToTasks": "前往任务",
"goToBacklog": "前往待办",
"goToProject": "前往项目 1–9",
"openTask": "打开任务",
"openProject": "打开项目",
"createTask": "创建任务",
"createProject": "创建项目",
"toggleLayout": "在看板和列表之间切换",
"deleteTask": "删除任务",
"copyTaskUrl": "复制任务链接",
"copyBranchName": "复制任务分支",
"nextTask": "下一项",
"previousTask": "上一项",
"openFocusedTask": "打开当前项",
"selectAll": "全选",
"clearSelection": "清除选择",
"changeStatus": "更改状态",
"changePriority": "更改优先级",
"assignTask": "分配",
"assignToMe": "分配给我",
"changeLabels": "更改标签",
"setDueDate": "设置截止日期",
"removeDueDate": "移除截止日期",
"renameTask": "重命名",
"editDescription": "编辑描述",
"commentOnTask": "评论",
"moveToProject": "移至其他项目",
"createSubtask": "创建子任务",
"setParent": "设置父任务",
"openParent": "打开父任务",
"openSubtask": "打开子任务",
"markBlockedBy": "标记为被阻塞",
"markBlocking": "标记为阻塞",
"markRelated": "标记为相关",
"addLink": "添加链接",
"toggleResources": "显示或隐藏资源",
"copyTaskId": "复制任务 ID",
"copyTaskTitle": "复制任务标题",
"copyAsMarkdown": "复制为 Markdown",
"peekTask": "预览当前任务",
"selectTask": "选择任务",
"selectGroup": "选择组内全部",
"copyPageUrl": "复制页面 URL",
"focusRight": "下一列",
"focusLeft": "上一列",
"moveTaskTop": "移到组顶部",
"moveTaskUp": "上移一位",
"moveTaskDown": "下移一位",
"moveTaskBottom": "移到组底部",
"moveTaskLeft": "移到上一列",
"moveTaskRight": "移到下一列",
"toggleGroup": "折叠或展开分组",
"toggleAllGroups": "折叠或展开所有分组",
"deleteNotification": "删除通知",
"deleteReadNotifications": "删除所有已读通知",
"toggleNotificationRead": "标记为已读或未读",
"markAllNotificationsRead": "全部标记为已读",
"addFilter": "添加筛选",
"clearAllFilters": "清除所有筛选",
"clearLastFilter": "清除最后一个筛选",
"editorBold": "粗体",
"editorItalic": "斜体",
"editorUnderline": "下划线",
"editorStrike": "删除线",
"editorAttach": "附加图片或文件",
"editorInlineCode": "行内代码",
"editorLink": "将文本转为链接",
"editorQuote": "引用",
"editorParagraph": "正文",
"editorHeading1": "标题 1",
"editorHeading2": "标题 2",
"editorHeading3": "标题 3",
"editorChecklist": "待办清单",
"editorToggleChecklist": "切换清单项",
"editorBulletList": "无序列表",
"editorNumberedList": "有序列表",
"editorCodeBlock": "代码块",
"editorUndo": "撤销",
"editorRedo": "重做"
},
"title": "键盘快捷键",
"searchPlaceholder": "按操作或按键搜索",
"results_other": "{{count}} 个结果",
"noResults": "没有匹配的快捷键",
"then": "然后",
"or": "或",
"thenEllipsis": "然后…"
}
},
"notifications": {
"newCount_other": "{{count}} 条新通知",
"emptyTitle": "暂无通知",
"emptySubtitle": "更新和活动将显示在这里。",
"clearAll": "清空所有通知",
"clearDialogTitle": "清空所有通知?",
"clearDialogDescription": "这将永久删除所有通知,此操作不可撤销。",
"reminderLeadTime": {
"minutes_other": "{{count}} 分钟",
"hours_other": "{{count}} 小时",
"days_other": "{{count}} 天"
},
"events": {
"task_created": {
"title": "已创建新任务",
"content": "任务 \"{{taskTitle}}\" 已创建"
},
"workspace_created": {
"title": "工作区已创建",
"content": "你的工作区 \"{{workspaceName}}\" 已成功创建"
},
"task_status_changed": {
"title": "任务状态已变更",
"content": "任务 \"{{taskTitle}}\" 状态从 \"{{oldStatus}}\" 变更为 \"{{newStatus}}\""
},
"task_assignee_changed": {
"title": "任务已指派给你",
"content": "你已被指派到任务:{{taskTitle}}"
},
"task_mention": {
"title": "{{mentionerName}} 提到了你",
"content": "{{mentionerName}} 在 {{taskTitle}} 中提到了你"
},
"task_comment": {
"title": "{{commenterName}} 评论了你的任务",
"content": "新评论于 {{taskTitle}}:{{commentPreview}}"
},
"due_date_reminder": {
"title": "任务即将到期",
"content": "{{taskTitle}} 将在 {{leadTime}} 后到期"
},
"task_overdue": {
"title": "任务已逾期",
"content": "{{taskTitle}} 已超过截止日期"
},
"time_entry_created": {
"title": "已开始计时",
"contentWithTask": "已开始为任务 {{taskTitle}} 计时",
"contentWithoutTask": "已开始为某个任务计时"
}
},
"inbox": {
"back": "收件箱",
"earlier": "更早",
"emptyFilter": "这里什么都没有",
"filters": {
"all": "全部",
"label": "筛选通知",
"mentions": "提及",
"unread": "未读"
},
"openTask": "打开任务",
"pageTitle": "收件箱",
"recentActivity": "最近动态",
"selectPrompt": "选择一条通知查看内容",
"taskUnavailable": "该任务已不存在。",
"today": "今天",
"unread": "未读",
"loadError": "通知加载失败。",
"taskLoadError": "该任务加载失败。",
"actionError": "无法更新收件箱,请重试。",
"readCleared": "已删除已读通知"
}
},
"activity": {
"assignedToSelf": "将任务指派给了自己",
"unassigned": "取消了任务指派",
"assignedTo": "将任务指派给 {{name}}",
"changedStatus": "将状态从 {{from}} 改为 {{to}}",
"changedPriority": "将优先级从 {{from}} 改为 {{to}}",
"clearedDueDate": "清除了截止日期",
"setDueDate": "将截止日期设为 {{date}}",
"changedDueDate": "将截止日期从 {{from}} 改为 {{to}}",
"changedTitle": "将标题从 \"{{from}}\" 改为 \"{{to}}\"",
"moved": "将任务从 \"{{from}}\" 移动到 \"{{to}}\"",
"created": "创建了此任务",
"githubUser": "GitHub 用户",
"comment": {
"viewGithubProfile": "查看 GitHub 主页",
"cannotBeEmpty": "评论不能为空",
"mustBeLoggedInToEdit": "你需要登录后才能编辑评论",
"updated": "评论已更新",
"failedToUpdate": "更新评论失败",
"edit": "编辑评论",
"editPlaceholder": "编辑评论…",
"save": "保存",
"added": "评论已添加",
"failedToAdd": "添加评论失败",
"leavePlaceholder": "发表评论…",
"attachFile": "附加文件",
"submitShortcut": "提交评论",
"editor": {
"uploadsOnlyOnSavedTasks": "仅在已保存的任务上可上传文件。",
"uploadingFile": "正在上传文件…",
"imageUploaded": "图片已上传",
"fileAttached": "文件已附加",
"failedToUploadFile": "上传文件失败",
"plaintext": "纯文本",
"autoDetect": "自动检测",
"slashGroupText": "文本",
"slashGroupLists": "列表",
"slashGroupInsert": "插入",
"slashParagraph": "文本",
"slashHeading": "标题",
"slashBulletList": "无序列表",
"slashTaskList": "待办列表",
"slashOrderedList": "有序列表",
"slashQuote": "引用",
"slashCodeBlock": "代码块",
"slashTable": "表格",
"slashFile": "文件",
"searchParagraph": "文本 段落 普通",
"searchHeading": "标题 heading h2",
"searchBulletList": "列表 项目 无序",
"searchTaskList": "待办 清单 复选框 任务列表",
"searchOrderedList": "列表 有序 编号",
"searchQuote": "引用 块引用",
"searchCodeBlock": "代码 片段",
"searchTable": "表格 网格",
"searchFile": "文件 附件 图片 照片 图片 上传",
"embedErrorInvalidUrl": "请输入有效的 URL",
"embedErrorYoutubeOnly": "只能嵌入 YouTube 链接。",
"embedVideo": "嵌入视频",
"keepAsLink": "保留为链接",
"hintTab": "Tab",
"hintEsc": "Esc",
"pasteUrl": "粘贴 URL",
"asLink": "作为链接",
"embed": "嵌入",
"noCommands": "无命令",
"ariaCommentContent": "评论内容",
"ariaCommentEditor": "评论编辑器",
"ariaCopyCode": "复制代码",
"ariaCopied": "已复制",
"copy": "复制",
"copied": "已复制",
"dropImageToUpload": "拖入图片以上传",
"previewImageAlt": "预览图片",
"codeLang": {
"bash": "Bash",
"csharp": "C#",
"cpp": "C++",
"css": "CSS",
"go": "Golang",
"graphql": "GraphQL",
"html": "HTML",
"json": "JSON",
"java": "Java",
"javascript": "JavaScript",
"markdown": "Markdown",
"mermaid": "Mermaid",
"plaintext": "纯文本",
"python": "Python",
"rust": "Rust",
"sql": "SQL",
"swift": "Swift",
"typescript": "TypeScript",
"yaml": "YAML"
},
"table": {
"addColumnBefore": "在左侧插入列",
"addColumnAfter": "在右侧插入列",
"deleteColumn": "删除列",
"addRowBefore": "在上方插入行",
"addRowAfter": "在下方插入行",
"deleteRow": "删除行",
"deleteTable": "删除表格"
},
"mermaid": {
"renderFailed": "Mermaid 图渲染失败"
}
},
"importedFrom": "从 {{source}} 导入",
"importedBy": "由 {{name}} 导入",
"commentedOnForge": "在 {{forge}} 上评论"
},
"movedFromOtherProject": "将任务从其它项目移动到「{{to}}」"
},
"tasks": {
"dateFilter": {
"startDate": "开始日期",
"noDate": "无日期",
"condition": "日期条件",
"exact": "指定日期",
"range": "日期范围",
"before": "早于",
"after": "晚于",
"apply": "应用日期筛选",
"exactValue": "在 {{date}}",
"beforeValue": "早于 {{date}}",
"afterValue": "晚于 {{date}}",
"rangeValue": "{{date}} – {{end}}"
},
"title": "任务",
"status": {
"label": "状态",
"to-do": "待办",
"in-progress": "进行中",
"in-review": "评审中",
"done": "已完成",
"archived": "已归档",
"planned": "已计划"
},
"priority": {
"label": "优先级",
"no-priority": "无优先级",
"low": "低",
"medium": "中",
"high": "高",
"urgent": "紧急"
},
"view": {
"board": "看板",
"list": "列表",
"backlog": "待办",
"gantt": "甘特图",
"heading": "视图"
},
"common": {
"selectTask": "选择任务",
"loadingTask": "正在加载任务…",
"taskNotFound": "未找到任务",
"taskNotFoundDescription": "你查找的任务不存在或已删除。",
"ticketAmbiguous": "该任务 ID 匹配多个任务",
"ticketAmbiguousDescription": "{{ticketId}} 匹配此工作区中多个项目的任务。请为其中一个项目设置不同的键,使链接正常工作。",
"ticketNotFoundDescription": "此工作区中不存在 ID 为 {{ticketId}} 的任务,或你无权访问该任务。",
"customFields": "自定义字段"
},
"detail": {
"subtaskOf": "子任务属于",
"activity": "活动",
"noActivity": "暂无活动",
"openInFullPage": "在新页面打开",
"titlePlaceholder": "点击添加标题",
"addDescription": "添加描述…",
"editor": {
"ariaLabel": "任务描述编辑器",
"placeholder": "编写描述…",
"previewImage": "预览图片",
"autoDetect": "自动检测",
"copyCode": "复制代码",
"copy": "复制",
"copied": "已复制",
"attachFile": "附加文件",
"dropToUpload": "拖入图片以上传",
"checkbox": {
"markIncomplete": "将任务标记为未完成",
"markComplete": "将任务标记为已完成"
},
"upload": {
"loading": "正在上传文件…",
"failed": "上传文件失败",
"imageSuccess": "图片已上传",
"fileSuccess": "文件已附加"
},
"slash": {
"groups": {
"text": "文本",
"lists": "列表",
"insert": "插入"
},
"empty": "无命令",
"commands": {
"paragraph": "文本",
"heading-2": "标题",
"bullet-list": "无序列表",
"task-list": "待办列表",
"ordered-list": "有序列表",
"blockquote": "引用",
"code-block": "代码块",
"table": "表格",
"file": "文件"
}
},
"languages": {
"bash": "Bash",
"csharp": "C#",
"cpp": "C++",
"css": "CSS",
"clojure": "Clojure",
"cypher": "Cypher",
"dart": "Dart",
"diff": "Diff",
"elixir": "Elixir",
"excel": "Excel",
"go": "Golang",
"graphql": "GraphQL",
"html": "HTML",
"haskell": "Haskell",
"json": "JSON",
"java": "Java",
"javascript": "JavaScript",
"kotlin": "Kotlin",
"makefile": "Makefile",
"markdown": "Markdown",
"mermaid": "Mermaid",
"ocaml": "OCaml",
"php": "PHP",
"perl": "Perl",
"plaintext": "纯文本",
"python": "Python",
"r": "R",
"reasonml": "ReasonML",
"ruby": "Ruby",
"rust": "Rust",
"sql": "SQL",
"swift": "Swift",
"toml": "TOML",
"terraform": "Terraform",
"typescript": "TypeScript",
"xml": "XML",
"yaml": "YAML"
},
"embed": {
"choice": {
"embedVideo": "嵌入视频",
"keepAsLink": "保留为链接"
},
"inputPlaceholder": "粘贴 URL",
"embeddedContent": "嵌入内容",
"asLink": "作为链接",
"submit": "嵌入",
"errors": {
"invalidUrl": "请输入有效的 URL",
"onlyYoutube": "只能嵌入 YouTube 链接。"
},
"onlyYoutubeInline": "仅支持嵌入 YouTube URL,请改用链接模式。"
},
"mermaid": {
"renderFailed": "Mermaid 图渲染失败"
},
"image": {
"large": "大",
"medium": "中",
"reset": "恢复原始大小",
"resizeHandle": "调整图片大小",
"small": "小"
},
"saved": "已保存",
"saving": "正在保存…",
"saveFailed": "更改保存失败",
"retrySave": "重试"
}
},
"entity": {
"task": "任务"
},
"relations": {
"title": "关联",
"tasksInProject": "项目内任务",
"linkError": "关联任务失败",
"empty": "无关联任务",
"searchPlaceholder": "搜索要关联的任务…",
"noTasksFound": "未找到任务",
"openTask": "打开任务",
"removeRelation": "移除关联",
"related": "关联",
"blocks": "阻塞",
"selectTask": "选择要关联的任务",
"types": {
"blocks": "阻塞",
"blocked_by": "被阻塞",
"related": "关联"
},
"blockedBy": "被阻塞于",
"parentPlaceholder": "设置父任务…"
},
"subtasks": {
"title": "子任务",
"inputPlaceholder": "子任务标题…",
"addAction": "添加",
"empty": "暂无子任务",
"createError": "创建子任务失败",
"deleteSuccess": "任务已删除",
"deleteError": "删除任务失败",
"deleteDialogTitle": "删除任务?",
"deleteDialogDescription": "这将永久删除任务及其所有数据,此操作不可撤销。",
"deleteAction": "删除任务",
"completeAria": "将子任务标记为完成",
"progress": "已完成 {{completed}}/{{total}} 个子任务",
"noCompletionColumn": "此项目没有可用于完成或重新打开该子任务的列。"
},
"properties": {
"title": "属性",
"labels": "标签",
"addLabels": "添加标签",
"copyTaskLink": "复制任务链接",
"copyTaskBranch": "复制任务分支",
"taskLinkCopied": "已复制任务链接",
"taskBranchCopied": "已复制分支名称",
"start": "开始",
"startDate": "开始日期",
"noDate": "无日期",
"dates": "日期",
"project": "项目"
},
"move": {
"title": "移动任务",
"projectLabel": "目标项目",
"projectPlaceholder": "选择项目",
"statusLabel": "目标状态",
"statusHintKeep": "该项目的工作流已支持当前状态。",
"statusHintAdjust": "选择在目标项目中使用的状态。",
"action": "移动任务",
"success": "任务移动成功",
"error": "移动任务失败"
},
"popover": {
"assignee": {
"unassigned": "未指派",
"updateError": "更新任务负责人失败"
},
"status": {
"updateError": "更新任务状态失败"
},
"priority": {
"updateError": "更新任务优先级失败"
},
"dueDate": {
"updateError": "更新任务截止日期失败",
"clear": "清除日期"
},
"startDate": {
"updateError": "更新任务开始日期失败",
"clear": "清除开始日期"
},
"labels": {
"searchPlaceholder": "搜索标签…",
"empty": "未找到标签",
"create": "创建 \"{{name}}\"",
"chooseColor": "选择颜色",
"updateError": "更新标签失败",
"createSuccess": "标签已创建并添加",
"createError": "创建标签失败",
"colors": {
"stone": "石板灰",
"slate": "石板蓝",
"lavender": "薰衣草",
"sage": "鼠尾草绿",
"forest": "森林绿",
"amber": "琥珀",
"terracotta": "赤陶",
"rose": "玫红",
"crimson": "深红",
"lagoon": "泻湖青",
"ocean": "海洋蓝",
"orchid": "兰花紫",
"sky": "天空蓝"
},
"editLabels": "编辑标签"
},
"recurrence": {
"updateError": "更新任务重复设置失败",
"every": "每",
"hint": "完成此任务后,将创建下一个任务。",
"interval": "间隔",
"onDays": "重复日",
"pattern": {
"daily": "每天",
"monthly": "每月",
"periodically": "定期",
"weekly": "每周",
"yearly": "每年"
},
"repeats": "重复",
"toggle": "重复",
"unit": {
"days_other": "天",
"label": "单位",
"months_other": "个月",
"weeks_other": "周",
"years_other": "年"
}
}
},
"backlog": {
"pageTitle": "{{name}} 的待办",
"noTasksToMove": "没有可移动的已计划任务",
"moveAllConfirm": "将 {{count}} 个已计划任务全部移至待办?",
"moveAllSuccess": "已将 {{count}} 个任务移至待办",
"plan": "计划",
"moveAllTooltip": "将所有已计划任务移至待办",
"moveAll": "全部移动",
"addTask": "添加任务",
"sections": {
"planned": "已计划",
"archived": "已归档"
},
"noTasksInSection": "无 {{section}} 任务",
"filters": {
"dueThisWeek": "本周到期",
"dueNextWeek": "下周到期",
"noDueDate": "无截止日期"
}
},
"sort": {
"direction": "方向",
"ascending": "升序",
"descending": "降序",
"fields": {
"position": "手动(位置)",
"createdAt": "创建日期",
"priority": "优先级",
"dueDate": "截止日期",
"title": "标题",
"number": "任务编号"
}
},
"boardFilters": {
"selectedCount": "已选 {{count}} 个",
"subjects": {
"status": "状态",
"priority": "优先级",
"assignee": "负责人",
"dueDate": "截止日期",
"labels": "标签"
},
"operators": {
"isAnyOf": "为以下任一",
"includeAnyOf": "包含以下任一",
"is": "为",
"isNot": "不为",
"isNoneOf": "不为以下任一",
"include": "包含",
"exclude": "不包含"
},
"allCustomFieldValues": "所有值",
"noCustomFieldValues": "没有自定义字段的值",
"noValuesUsedYet": "还没有使用过任何值"
},
"calendar": {
"pageTitle": "{{name}} / 日历",
"title": "日历",
"previousMonth": "上个月",
"nextMonth": "下个月",
"today": "今天",
"noTasks": "暂无安排的任务",
"noTasksSubtitle": "给任务加上开始日期或截止日期(或两者),它就会出现在日历上。",
"moreTasks": "+{{count}} 项",
"loadError": "任务加载失败。",
"dayTasksAriaLabel": "查看 {{date}} 的全部任务",
"taskAriaLabel": "{{title}},{{range}}:打开任务",
"noTasksThisMonth": "本月没有安排"
},
"gantt": {
"searchPlaceholder": "搜索已排期工单…",
"pageTitle": "{{name}} / 甘特图",
"title": "甘特图时间线",
"jumpToToday": "回到今天",
"hideTasks": "隐藏任务",
"showTasks": "显示任务",
"noTasks": "无已排期任务",
"noTasksSubtitle": "为任务添加开始日期、截止日期或两者,以将其放入项目时间线。",
"noTasksFound": "未找到任务",
"taskHeader": "任务",
"updateDatesError": "更新任务日期失败",
"resizeStart": "调整开始日期",
"resizeDue": "调整截止日期",
"taskAriaLabel": "{{title}}:打开或拖动以移动",
"previousPeriod": "上一周期",
"nextPeriod": "下一周期",
"periodStart": "时间线开始日期",
"showTaskDates": "显示任务日期"
},
"delete": {
"title": "删除任务?",
"description": "这将永久删除任务及其所有数据,此操作不可撤销。",
"action": "删除任务",
"success": "任务已删除",
"error": "删除任务失败"
},
"duplicate": {
"titleSuffix": "{{title}}(副本)",
"success": "已创建任务副本",
"error": "创建任务副本失败"
},
"archive": {
"success": "已归档 {{count}} 个任务",
"confirmTitle_other": "归档 {{count}} 个已完成的任务?",
"confirmDescription": "这些任务将离开看板,移至待办中的“已归档”分区。"
},
"listView": {
"addTask": "添加任务",
"archiveAllTooltip": "归档所有已完成任务",
"noTasks": "无任务",
"collapseSubtasks": "隐藏 {{title}} 的子任务",
"expandSubtasks": "显示 {{title}} 的子任务",
"subtaskLevel": "子任务,第 {{level}} 层",
"subtasksLoadError": "无法加载子任务,因此任务以无层级的方式显示。"
},
"kanban": {
"addTask": "添加任务",
"automaticallySortedHint": "按{{sort}}自动排序"
},
"pr": {
"merged": "已合并",
"draft": "草稿",
"open": "打开",
"label": "合并请求",
"count_other": "{{count}} 个 PR",
"closed": "已关闭"
},
"assignee": {
"label": "负责人",
"unassigned": "未指派"
},
"dueDate": {
"label": "截止日期",
"clear": "清除日期",
"updateError": "更新任务截止日期失败",
"clearError": "清除截止日期失败"
},
"labels": {
"empty": "无可用标签"
},
"update": {
"error": "更新任务失败"
},
"contextMenu": {
"copyLink": "复制链接",
"copyLinkSuccess": "任务链接已复制!"
},
"actions": {
"duplicate": "创建副本",
"archive": "归档",
"markAsPlanned": "标记为已计划",
"delete": "删除…"
},
"bulk": {
"selectedCount": "已选 {{count}} 个",
"moveToBacklog": "移至待办",
"moveToBacklogSuccess": "{{count}} 个任务已移至待办",
"moveToBacklogError": "将任务移至待办失败",
"moveToBoard": "移至看板",
"moveToBoardSuccess": "{{count}} 个任务已移至看板",
"moveToBoardError": "将任务移至看板失败",
"delete": "删除任务",
"deleteConfirmTitle_other": "删除 {{count}} 个任务?",
"deleteConfirmDescription": "这将永久删除所选任务及其所有数据,此操作不可撤销。",
"deleteSuccess": "已删除 {{count}} 个任务",
"deleteError": "删除任务失败",
"archive": "归档任务",
"archiveSuccess": "已归档 {{count}} 个任务",
"archiveError": "归档任务失败",
"updateSuccess": "已更新 {{count}} 个任务",
"updateError": "更新任务失败",
"assignTo": "指派给",
"assignSuccess": "已指派 {{count}} 个任务",
"assignError": "指派任务失败",
"setPriority": "设置优先级",
"updatePriorityError": "更新优先级失败",
"addLabel": "添加标签",
"addLabelSuccess": "已为 {{count}} 个任务添加标签",
"addLabelError": "添加标签失败",
"updateDueDateError": "更新截止日期失败",
"actions": "操作",
"searchActions": "搜索操作…",
"noActionsFound": "未找到操作。",
"changeStatus": "更改状态",
"clearSelection": "清除选择",
"selectAll": "全选",
"moreActions": "更多操作",
"statusPlaceholder": "更改状态…",
"priorityPlaceholder": "设置优先级…",
"assigneePlaceholder": "分配给…",
"labelPlaceholder": "添加标签…",
"columnPlaceholder": "移至列…"
},
"editor": {
"table": {
"addColumnBefore": "在左侧插入列",
"addColumnAfter": "在右侧插入列",
"deleteColumn": "删除列",
"addRowBefore": "在上方插入行",
"addRowAfter": "在下方插入行",
"deleteRow": "删除行",
"deleteTable": "删除表格"
}
},
"descriptionSearchLoading": "正在搜索完整描述…",
"descriptionSearchError": "描述搜索失败,结果可能不完整。",
"descriptionRetry": "重试",
"descriptionLoading": "正在加载描述…",
"descriptionLoadError": "描述加载失败,请重试载入当前版本。",
"checklistProgress": "已完成 {{completed}}/{{total}} 个清单项",
"customFields": {
"fields": "字段",
"empty": "空",
"required": "必填",
"enterKey": "Enter",
"toSave": "保存",
"clear": "清除",
"setValue": "设置{{field}}…",
"noMatches": "没有匹配的选项",
"missingRequired_other": "有 {{count}} 个必填字段为空",
"saveError": "无法保存{{field}}",
"moreFields_other": "另外 {{count}} 个字段",
"manage": "管理字段"
},
"board": {
"reorderFailed": "无法移动任务,请重试。",
"keyboardInstructions": "按空格键预览,按 Enter 打开此任务。按住 Alt 或 Option 并使用方向键移动任务。",
"loadErrorTitle": "此看板未能加载",
"loadErrorDescription": "获取任务时出错。请检查网络连接后重试。",
"refreshError": "无法刷新此看板,内容可能不是最新的。",
"tryAgain": "重试"
},
"recurrence": {
"daily_other": "每 {{count}} 天",
"monthly_other": "每 {{count}} 个月",
"weekly_other": "每 {{count}} 周",
"yearly_other": "每 {{count}} 年",
"onDays": "{{rule}}的{{days}}"
},
"toolbar": {
"search": "搜索任务",
"clearSearch": "清除搜索",
"taskCount_other": "{{count}} 个任务",
"shownCount_other": "{{shown}} / {{count}} 个任务"
},
"display": {
"title": "显示",
"sortBy": "排序方式",
"showOnCards": "在卡片上显示",
"showOnRows": "在行中显示",
"checklistProgress": "清单进度",
"projectBackground": "项目背景",
"layout": "布局",
"includeSubtasks": "包含子任务",
"useProjectDefault": "使用项目默认设置"
},
"filterBar": {
"label": "已应用的筛选",
"removeFilter": "移除“{{name}}”筛选",
"noMatches": "没有任务符合你的搜索或筛选条件。",
"customFieldsLoading": "Loading custom-field values. Results are shown without custom-field filters.",
"customFieldsRefreshError": "Custom-field values could not be refreshed. Results may be out of date.",
"customFieldsUnavailable": "Custom-field values could not be loaded. Results are shown without custom-field filters."
},
"filterMenu": {
"addFilter": "添加筛选…",
"searchSubject": "{{name}}…",
"noResults": "无结果"
},
"shortcuts": {
"assignedToMe": "已分配给你",
"idCopied": "已复制任务 ID",
"titleCopied": "已复制任务标题",
"markdownCopied": "已复制为 Markdown",
"copyFailed": "无法复制到剪贴板。",
"pageUrlCopied": "已复制页面 URL"
},
"due": {
"overdueDays_other": "逾期 {{count}} 天",
"overdueWeeks_other": "逾期 {{count}} 周",
"today": "今天",
"tomorrow": "明天",
"inDays_other": "{{count}} 天后",
"fullDate": "截止 {{date}}"
},
"datePicker": {
"dueDatePlaceholder": "设置截止日期…",
"startDatePlaceholder": "设置开始日期…",
"datePlaceholder": "设置日期…",
"thisWeekend": "本周末",
"nextWeek": "下周",
"pickDate": "选择日期",
"startsOn": "开始于 {{date}}",
"beforeStart": "{{date}} 早于开始日期",
"afterDue": "{{date}} 晚于截止日期"
}
},
"invitations": {
"email": {
"subject": "{{inviterName}} 邀请你加入 {{instanceName}} 上的 {{workspaceName}}",
"preview": "你被邀请加入 Kaneo 上的 {{workspaceName}}",
"title": "加入 {{workspaceName}}",
"subtitle": "{{inviterName}}({{inviterEmail}})邀请你在 Kaneo 中协作。",
"cta": "接受邀请",
"sameEmail": "你可以使用收到此邮件的同一邮箱接受。",
"ignore": "如果这不是你预期的,可以安全忽略此邮件。",
"footer": "Kaneo 工作区邀请",
"details": {
"title": "邀请详情",
"sentTo": "发送至",
"instance": "实例",
"role": "角色",
"expires": "过期时间"
}
},
"pageTitle": "邀请",
"pendingInvitations": "待处理的邀请",
"acceptSubtitle": "接受邀请以加入工作区",
"noPendingTitle": "无待处理邀请",
"noPendingDescription": "你目前没有任何待处理的工作区邀请。",
"continueToSetup": "继续设置",
"skipForNow": "暂时跳过",
"table": {
"workspace": "工作区",
"invitedBy": "邀请人",
"expires": "过期时间"
},
"toast": {
"acceptError": "接受邀请失败",
"acceptSuccess": "邀请已接受,欢迎加入团队!",
"rejectError": "拒绝邀请失败",
"rejectSuccess": "邀请已拒绝"
}
},
"workspace": {
"projects": {
"pageTitle": "项目",
"createProject": "创建项目",
"title": "标题",
"progress": "进度",
"targetDate": "目标日期",
"dueDate": "截止日期",
"status": "状态",
"emptyTitle": "暂无项目",
"emptyDescription": "先创建你的第一个项目以开始使用。",
"emptyDescriptionReadOnly": "此工作区中暂无项目,请联系管理员创建。",
"projectStatus": {
"notStarted": "未开始",
"complete": "已完成",
"inProgress": "进行中"
},
"noDueDate": "无截止日期",
"reorderHandle": "重新排序项目",
"reorderError": "重新排序项目失败",
"unavailable": {
"backToWorkspace": "返回工作区",
"noAccessDescription": "请联系工作区管理员为你开通访问权限。",
"noAccessTitle": "你没有访问此项目的权限",
"notFoundDescription": "此项目不存在或已被删除。",
"notFoundTitle": "没有找到项目"
}
},
"search": {
"pageTitle": "搜索",
"backToDashboard": "返回控制台",
"placeholder": "按任务标题或短 ID 搜索(例如 DEP-23)…",
"hint": "在此工作区的所有项目中搜索。使用类似 DEP-23 的短 ID 来定位任务。",
"searching": "搜索中…",
"resultsFound_other": "找到 {{count}} 条结果",
"noResultsTitle": "未找到结果",
"noResultsDescription": "请调整搜索条件或搜索其他内容",
"startTitle": "开始搜索",
"startDescription": "输入搜索词以在所有项目中查找任务",
"quickSearchesLabel": "快速搜索:",
"suggestionHighPriority": "高优先级",
"suggestionBug": "缺陷",
"suggestionFeature": "新功能",
"suggestionInProgress": "进行中",
"suggestionCompleted": "已完成"
},
"create": {
"pageTitle": "创建工作区",
"heading": "创建新工作区",
"subtitle": "工作区是团队协作开展项目、迭代和问题的共享环境。",
"nameLabel": "工作区名称",
"namePlaceholder": "输入工作区名称",
"descriptionLabel": "描述(可选)",
"descriptionPlaceholder": "为工作区添加描述",
"required": "必填",
"creating": "创建中…",
"submit": "创建工作区",
"success": "工作区创建成功",
"error": "工作区创建失败"
},
"home": {
"activity": {
"commented": "评论了",
"empty": "最近 30 天没有任何动态。",
"loadError": "动态加载失败。",
"title": "动态",
"updated": "更新了任务"
},
"greeting": {
"afternoon": "下午好",
"evening": "晚上好",
"morning": "早上好"
},
"newTask": "新建任务",
"pageTitle": "首页",
"projects": {
"all": "所有项目",
"tasks_other": "{{count}} 个任务",
"title": "你的项目",
"loadError": "项目加载失败。"
},
"upNext": {
"assigned_other": "{{count}} 个指派给你",
"title": "接下来",
"viewAll": "查看全部"
},
"week": {
"more_other": "还有 {{count}} 个",
"truncated": "本周预览只显示前 {{shown}} 个指派给你的任务(共 {{total}} 个)。"
}
},
"myTasks": {
"emptyDescription": "指派给你的任务都会汇总在这里。",
"groupBy": {
"dueDate": "截止日期",
"label": "分组方式",
"project": "项目"
},
"pageTitle": "我的任务",
"truncated": "共 {{total}} 个任务,只显示前 {{shown}} 个。"
},
"myWork": {
"due": {
"later": "以后",
"noDueDate": "无截止日期",
"overdue": "已逾期",
"thisWeek": "本周",
"today": "今天",
"tomorrow": "明天"
},
"empty": "暂时没有指派给你的任务",
"loadError": "你的任务加载失败。"
},
"archived": {
"description": "Contact an administrator to restore access.",
"manage": "Manage workspaces",
"otherWorkspaces": "Go to workspaces",
"title": "Workspace archived"
}
},
"team": {
"roles": {
"owner": "所有者",
"admin": "管理员",
"member": "成员",
"viewer": "访客"
},
"members": {
"pageTitle": "成员",
"inviteMember": "邀请成员",
"you": "你"
},
"invitations": {
"pendingBadge": "待处理",
"expires": "{{date}} 过期",
"linkLabel": "邀请链接",
"copyLink": "复制链接",
"linkCopied": "邀请链接已复制",
"copyFailed": "无法自动复制,请选中链接后按 Ctrl+C。"
},
"inviteModal": {
"title": "邀请团队成员",
"emailLabel": "邮箱",
"emailPlaceholder": "colleague@company.com",
"sendInvitation": "发送邀请",
"success": "邀请已成功发送",
"error": "邀请团队成员失败",
"createdTitle": "邀请已创建",
"shareLinkDescription": "将此链接分享给 {{email}},以便对方加入工作区。",
"done": "完成"
},
"membersTable": {
"emptyTitle": "暂无团队成员",
"emptyDescription": "先邀请你的第一个团队成员以开始使用。",
"columns": {
"name": "姓名",
"role": "角色",
"joined": "加入于",
"actions": "操作",
"projects": "项目"
},
"memberRolePending": "{{role}}(待处理)",
"ariaCancelInvitation": "取消邀请",
"ariaInvitationActions": "邀请操作",
"ariaRemoveMember": "移除成员",
"removeDialogTitle": "移除团队成员?",
"removeDialogDescription": "确定要从工作区中移除 {{name}} 吗?此操作不可撤销。",
"cancelDialogTitle": "取消邀请?",
"cancelDialogDescription": "确定要取消 {{email}} 的邀请吗?此操作不可撤销。",
"removeMember": "移除成员",
"cancelInvitation": "取消邀请",
"removeSuccess": "团队成员已移除",
"removeError": "移除团队成员失败",
"cancelInviteSuccess": "邀请已取消",
"cancelInviteError": "取消邀请失败",
"roleUpdateSuccess": "角色已更新",
"roleUpdateError": "更新角色失败"
},
"projectAccess": {
"allProjects": "所有项目",
"allProjectsDescription": "可以访问此工作区中的所有项目,包括以后新建的。",
"description": "选择此人可以看到哪些项目。",
"dialogDescription": "选择 {{name}} 可以访问哪些项目。",
"dialogTitle": "项目访问权限",
"editAria": "更改 {{name}} 的项目访问权限({{access}})",
"label": "项目访问权限",
"noProjects": "此工作区还没有项目。",
"projectCount_other": "{{count}} 个项目",
"projectsLabel": "项目",
"save": "保存",
"selectAtLeastOne": "请至少选择一个项目。",
"selectedProjects": "指定项目",
"selectedProjectsDescription": "只能访问你指定的项目。",
"updateError": "更新项目访问权限失败",
"updateSuccess": "项目访问权限已更新",
"archived": "已归档",
"allProjectsUnavailable": "你自己的访问权限有限,所以只能授予指定项目。"
}
},
"publicProject": {
"pageTitle": "公开视图",
"badge": "公开",
"readOnly": "只读",
"error": {
"title": "未找到项目",
"description": "此项目不存在或未公开。"
},
"taskCard": {
"viewDetailsAria": "查看任务 {{title}} 的详情"
},
"taskDetail": {
"labels": "标签",
"externalLinks": "外部链接",
"pullRequestFallback": "合并请求",
"issueFallback": "议题",
"prStatusMerged": "已合并",
"prStatusDraft": "草稿",
"prStatusOpen": "打开",
"dueWithDate": "{{date}} 到期",
"created": "创建于",
"dueDateLabel": "截止日期"
},
"theme": {
"switchToLight": "切换到浅色模式",
"switchToDark": "切换到深色模式"
},
"copyUrl": {
"successToast": "链接已复制",
"errorToast": "复制链接失败",
"copied": "已复制",
"share": "分享"
},
"branding": {
"poweredBy": "由以下技术提供支持"
}
},
"press": {
"title": "媒体资源包",
"headline": "Kaneo 媒体资源包",
"intro": "供文章、视频等媒体使用的 Kaneo 标志和产品截图。",
"description": "Kaneo 媒体资源:产品介绍、标志、截图,以及面向记者和创作者的联络方式。",
"downloadKit": "下载全部素材",
"boilerplateTitle": "关于 Kaneo",
"boilerplate": "Kaneo 是由 Andrej Acevski 创建的开源项目管理平台。团队可以用看板和列表视图整理任务、指派工作、设置优先级和截止日期,并接入 GitHub。Kaneo 采用 MIT 许可,可自行托管,也可以通过 Kaneo Cloud 使用托管服务。",
"logosTitle": "标志",
"darkLogo": "深色字标",
"darkLogoAlt": "浅色背景上的深色 Kaneo 标志",
"darkLogoDetail": "SVG",
"lightLogo": "浅色字标",
"lightLogoAlt": "深色背景上的浅色 Kaneo 标志",
"lightLogoDetail": "SVG",
"icon": "应用图标",
"iconAlt": "Kaneo 应用图标",
"iconDetail": "PNG,512 × 512",
"download": "下载",
"screenshotsTitle": "截图",
"lightScreenshot": "看板(浅色)",
"lightScreenshotAlt": "浅色主题下的 Kaneo 看板,任务卡片按状态排列",
"darkScreenshot": "看板(深色)",
"darkScreenshotAlt": "深色主题下的 Kaneo 看板,任务卡片按状态排列",
"contactTitle": "媒体联络",
"contactBody": "产品咨询、采访邀约或索取更多素材,请联系 Kaneo 团队。",
"usageContrast": "深色背景用浅色字标,浅色背景用深色字标。",
"usageProportions": "保持标志原有的比例和配色,不要拉伸或叠加特效。",
"usageSpace": "标志周围留出足够空间,保证清晰易读。",
"darkListScreenshot": "列表(深色)",
"darkListScreenshotAlt": "深色主题下的 Kaneo 任务列表,按状态分组,显示负责人、优先级、标签和截止日期",
"darkTaskScreenshot": "任务详情(深色)",
"darkTaskScreenshotAlt": "深色主题下的 Kaneo 任务详情,包含描述、清单、团队评论和任务属性",
"darkTimelineScreenshot": "时间线(深色)",
"darkTimelineScreenshotAlt": "深色主题下的 Kaneo 甘特时间线,展示已排期任务及其时长",
"lightListScreenshot": "列表(浅色)",
"lightListScreenshotAlt": "浅色主题下的 Kaneo 任务列表,按状态分组,显示负责人、优先级、标签和截止日期",
"lightTaskScreenshot": "任务详情(浅色)",
"lightTaskScreenshotAlt": "浅色主题下的 Kaneo 任务详情,包含描述、清单、团队评论和任务属性",
"lightTimelineScreenshot": "时间线(浅色)",
"lightTimelineScreenshotAlt": "浅色主题下的 Kaneo 甘特时间线,展示已排期任务及其时长"
},
"landing": {
"sponsors": {
"ciSponsor": "合作伙伴"
},
"founder": {
"title": "Kaneo 为什么存在",
"intro": "我是 Andrej,做 Kaneo 的原因很简单——我受够了那些帮倒忙的项目管理工具。用了好几年臃肿又复杂的平台,注意力全被它们抢走,反而没法专心干活,我就知道一定有更好的做法。",
"problem": "问题从来不在于这些工具功能太少,而在于功能太多。每一条通知、每一个多余的按钮、每一套复杂的流程,都在把团队拉离真正重要的事——把产品做好。",
"principle": "我始终觉得,最好的工具用起来是感觉不到它存在的。它应该顺着团队本来的工作方式放大效率,而不是逼着你去适应它。Kaneo 就是照着“少即是多”做的:每个功能都因为解决了真实的问题而存在,而不是为了在演示里显得厉害。"
},
"hero": {
"cloudCta": "试用 Kaneo Cloud",
"trialNote": "云端试用 14 天,无需信用卡。",
"github": "GitHub",
"productHunt": "Product Hunt",
"title": "项目管理",
"titleAccent": "不该变成另一个项目。",
"description": "开源项目管理工具,带看板、甘特图和 GitHub 集成。免费自托管,内置 SSO;也可以交给 Kaneo Cloud 托管。",
"pricingCta": "See pricing",
"appStore": "App Store"
},
"navigation": {
"product": "产品",
"pricing": "价格",
"resources": "资源",
"docs": "文档",
"blog": "博客",
"guides": "指南",
"comparisons": "工具对比",
"roadmap": "路线图",
"community": "社区",
"menu": "菜单",
"closeMenu": "关闭菜单",
"home": "Kaneo 首页",
"signIn": "登录",
"getStarted": "快速开始"
},
"showcase": {
"label": "Kaneo 产品视图",
"controls": "切换产品视图",
"play": "播放产品视图轮播",
"pause": "暂停产品视图轮播",
"board": "看板",
"list": "待办",
"gantt": "甘特图"
},
"features": {
"tasks": {
"label": "子任务与上下文",
"title": "大任务,也能拆出清晰的下一步。",
"description": "把工作拆成子任务,逐项指派,进度随时可查,原始需求也不会丢。相关细节都留在任务里。"
},
"github": {
"label": "GitHub 集成",
"title": "从 Pull Request 一路到完成。",
"description": "Issue 和标签双向同步。代码提交、Pull Request 合并时,关联任务会自动从评审推进到完成。",
"link": "配置 GitHub"
},
"hosting": {
"title": "跑在你自己的服务器上。",
"description": "用 Docker 部署,工作区始终跑在你自己掌控的服务器上。",
"link": "自托管 Kaneo"
},
"source": {
"title": "代码同样开放。",
"description": "阅读源码、反馈问题,或者直接提交改动。开发都在 GitHub 上。",
"link": "查看源码"
},
"preview": {
"taskAlt": "Kaneo 任务和子任务的交互预览。",
"githubAlt": "用 GitHub 合并操作更新 Kaneo 任务的交互预览。",
"taskTitle": "发布新版首页",
"taskDescription": "下次发布前更新文案,并检查布局。",
"checklistDone": "校对文案",
"checklistOpen": "检查手机端布局",
"inProgress": "进行中",
"high": "高",
"date": "10月12日",
"design": "设计",
"done": "已完成",
"relationsAlt": "Kaneo 任务依赖关系的交互预览。",
"inReview": "评审中",
"trySubtasks": "试着勾掉一个子任务。",
"tryGithub": "预览一次合并,看看任务怎么更新。",
"tryRelations": "打开关联任务,顺着连接往下看。",
"mergeAction": "预览合并",
"resetAction": "重置预览",
"mergedHint": "Pull Request 已合并,任务已移到已完成。",
"progress": "已完成 {{completed}}/{{total}} 个子任务",
"backToTask": "返回首页任务",
"releaseNotes": "撰写发布说明",
"dependencyDescription": "首页还在等移动端的评审结果。把发布说明的链接挂在这里,方便随时查看上下文。",
"mobileDescription": "上线之前,先在窄屏上检查新版首页。",
"notesDescription": "把改动记下来,方便写发布公告。"
},
"relations": {
"label": "关联任务与依赖",
"title": "一眼看清卡在哪里。",
"description": "把阻塞关系连起来,依赖一目了然,相关工作也聚在一处。打开关联任务,就能看清下一步的来龙去脉。"
}
},
"seo": {
"title": "Kaneo — 开源、可自托管的项目管理工具",
"description": "开源项目管理工具,带看板、甘特图和 GitHub 集成。免费自托管,内置 SSO,也可以使用 Kaneo Cloud。"
},
"resources": {
"eyebrow": "按你的方式来",
"title": "从试用到上手,路径清清楚楚。",
"description": "搭好服务器、接上你的工具,或者把 Kaneo 和现在用的工具做个对比。",
"sso": {
"title": "接入你自己的身份提供商",
"description": "在免费的自托管版本里配置 OIDC 单点登录。"
},
"mcp": {
"title": "接入你的 AI 工具",
"description": "通过 AI 客户端用 MCP 处理任务和项目。"
},
"linear": {
"title": "Kaneo 与 Linear 对比",
"description": "看看在托管方式、授权许可和工作流上的差别。"
},
"startups": {
"description": "What a startup needs from a tracker, and what Kaneo Cloud costs as you hire.",
"title": "Project management for startups"
}
},
"product": {
"title": "开始之前",
"description": "关于自托管、规划能力和团队协作的实用细节。",
"overview": "Kaneo 是一个开源、MIT 许可的项目管理平台,带看板、待办、甘特图和日历视图、自定义字段、工时记录和 GitHub 集成。可以自托管在自己的服务器上,也可以使用 Kaneo Cloud。",
"hosting": {
"question": "Kaneo 自托管免费吗?",
"answer": "是的。Kaneo 采用 MIT 许可,自托管免费,并内置单点登录。用 Docker Compose 把应用和 PostgreSQL 一起跑起来,或者用官方 Helm Chart 部署。服务器、更新和备份都由你自己掌控。",
"link": "阅读安装指南"
},
"planning": {
"question": "Kaneo 有甘特图吗?",
"answer": "有。除了看板、列表和待办规划,Kaneo 还提供甘特图和日历视图。用任务的开始日期和截止日期,就能在时间线上排期。预算管理、基线对比和冲刺燃尽图目前还不在范围内。",
"link": "对比规划功能"
},
"sso": {
"question": "包含单点登录吗?",
"answer": "有。免费的自托管版本支持 Google、GitHub、Discord 以及自定义 OAuth/OIDC 提供商。直接在自己的实例上配置就行,不需要另买其他版本。",
"link": "配置 OIDC"
},
"agents": {
"question": "AI 客户端可以操作 Kaneo 吗?",
"answer": "可以。Kaneo 通过 @kaneo/mcp 包提供 MCP 服务器,另外还有一个 HTTP 接口。兼容的 AI 客户端可以用绑定到某个用户的 API 密钥读取和更新任务,权限受工作区设置限制。",
"link": "阅读 MCP 指南"
},
"mobile": {
"answer": "Yes. Kaneo is on the App Store for iPhone and iPad, and Android is coming soon. The app is free for Kaneo Cloud accounts. Connecting it to a self-hosted server is a one-time $9.99 unlock per person, and like the rest of Kaneo, the app is open source.",
"link": "Download on the App Store",
"question": "Is there a mobile app?"
}
},
"comparison": {
"feature": "功能",
"yes": "支持",
"no": "不支持"
},
"selfHostingGuide": {
"summary": "自托管要做哪些事,附上官方维护的 Docker Compose 配置和安装步骤。",
"answer": "自托管 Kaneo 的流程是:用 Docker Compose 把应用和 PostgreSQL 跑起来,配好公网地址和密钥,前面再挂一个 TLS 反向代理。安装指南要求至少 2 GB 内存和 10 GB 磁盘空间。另外还要考虑后续的版本更新、数据库备份,以及上传文件的存储。",
"requirements": "官方给出的最低配置是 2 GB 内存和 10 GB 磁盘空间,Docker 20.10 以上、Docker Compose V2。实际使用还要按业务量、数据库增长和上传文件量预留更多容量。",
"compose": "直接使用 Docker Compose 指南里维护好的 compose.yml。里面定义了 PostgreSQL、持久化的数据库卷、Kaneo 应用和健康检查。启动服务前先配好环境变量文件;生产环境建议固定镜像版本,升级节奏由你掌控。",
"backups": "PostgreSQL 和上传文件用的对象存储都要备份。备份频率取决于团队能承受丢失多少工作,副本要放到应用服务器之外,而且在真正用到之前先做一次恢复演练。",
"worth": "当你需要掌控服务器和数据,并且有人负责日常维护时,自托管才划算。和托管服务比总成本时,要把服务器、存储、备份的费用和维护时间一起算进去。",
"minimum": "安装指南要求 Docker 20.10 或更高版本、Docker Compose V2、至少 2 GB 内存和 10 GB 磁盘空间。这套 Compose 配置已经包含 PostgreSQL。只跑一个 API 实例时,Redis 是可选的。",
"composeLink": "Docker Compose 配置",
"composeLinkDescription": "官方维护的 compose.yml,含持久化存储和健康检查。",
"startLink": "启动并检查服务",
"startLinkDescription": "启动整套服务,查看运行状态,确认应用可以访问。"
}
},
"mobile": {
"account": {
"connection": {
"apiKey": "API 密钥",
"appVersion": "应用版本",
"server": "服务器",
"sessionToken": "会话令牌",
"signedInWith": "登录方式",
"title": "连接"
},
"description": "你在所有工作区中向团队成员展示的个人信息。",
"notifications": {
"delivery": "通知渠道和事件",
"deliveryHint": "邮件、ntfy、Gotify、Webhook",
"invitations": "邀请",
"permissionDenied": "请先在系统设置中允许 Kaneo 发送通知。",
"phone": "手机通知",
"phoneHint": "大约每 15 分钟检查一次",
"title": "通知"
},
"password": {
"confirm": "确认新密码",
"confirmPlaceholder": "再次输入",
"current": "当前密码",
"mismatch": "密码不一致",
"new": "新密码",
"signOutOthers": "退出其他设备",
"title": "修改密码"
},
"photoMenu": {
"choose": "选择照片",
"remove": "移除照片"
},
"profile": {
"change": "更改",
"changePassword": "修改密码",
"name": "姓名",
"photo": "头像",
"photoFormats": "PNG、JPG 或 WebP",
"title": "个人资料"
},
"signOut": {
"button": "退出登录",
"message": "你随时可以重新登录。",
"title": "退出登录?"
},
"title": "账户",
"toast": {
"nameUpdated": "名称已更新",
"passwordChanged": "密码已修改",
"photoRemoved": "照片已移除",
"photoUpdated": "照片已更新"
},
"deleteAccount": {
"confirm": "Delete account",
"confirmLabel": "Type {{email}} to confirm",
"description": "Permanently delete your account and its data.",
"modalDescription": "This permanently deletes your account and cannot be undone. Workspaces only you belong to are deleted with it. Elsewhere, your tasks stay and become unassigned, and your comments are removed.",
"modalTitle": "Delete your account?",
"noPassword": "This account has no password. Leave the field empty.",
"password": "Password",
"passwordHint": "Leave empty if you sign in without a password.",
"sectionTitle": "Danger zone",
"sessionTooOld": "For your security, enter your password, or sign out and sign in again before deleting your account.",
"success": "Your account was deleted",
"title": "Delete account",
"wrongPassword": "That password is not correct."
}
},
"activity": {
"commentedOn": "评论了 {{target}}",
"empty": "暂无近期活动",
"someone": "某人",
"subtitle": "{{workspace}} 中的所有动态",
"title": "活动"
},
"background": {
"channelDescription": "来自工作区的指派、评论和提及",
"channelName": "Kaneo 活动",
"summary_other": "另有 {{count}} 条新通知"
},
"board": {
"addTask": "添加任务",
"archived": "已归档",
"assignee": "负责人",
"assignToMe": "分配给我",
"back": "返回",
"board": "看板",
"boardView": "看板视图",
"dueDateOverdue_other": "{{date}},已逾期 {{count}} 天",
"filters": "筛选",
"filterTasks": "筛选任务…",
"filterTasksActive": "筛选任务…(已启用 {{count}} 项)",
"hideArchived": "隐藏已归档",
"hidePlanned": "隐藏已计划",
"labels": "标签",
"listView": "列表视图",
"me": "我",
"memberYou": "{{name}}(你)",
"more": "更多",
"movedTask": "已将 {{ticket}} 移至 {{status}}",
"moveTo": "移动到",
"newTask": "新建任务",
"noTasksHere": "这里没有任务",
"noTasksMatch": "没有匹配的任务",
"noTasksMatchTheFilters": "没有符合筛选条件的任务",
"noTasksYet": "暂无任务",
"nothingPlannedYet": "暂无已计划的任务",
"openTask": "打开任务",
"overdueOnly": "仅逾期任务",
"planned": "已计划",
"priority": "优先级",
"projects": "项目",
"projectSettings": "项目设置",
"refresh": "刷新",
"reset": "重置",
"searchPeople": "搜索成员",
"sendToBottomOfColumn": "移至列底部",
"sendToTopOfColumn": "移至列顶部",
"showArchived": "显示已归档",
"showPlanned": "显示已计划",
"showTasks_other": "显示 {{count}} 个任务",
"switchProject": "切换项目",
"tasksNotOnTheBoardYet": "尚未加入看板的任务",
"unassigned": "未指派"
},
"common": {
"cancel": "取消",
"close": "关闭",
"delete": "删除",
"retry": "重试",
"save": "保存",
"somethingWrong": "出错了"
},
"composer": {
"attachImage": "添加图片附件",
"mention": "提及",
"mentionSomeone": "提及成员",
"placeholder": "添加评论…",
"reply": "回复 {{name}}…",
"searchPeople": "搜索成员",
"sendComment": "发送评论"
},
"editor": {
"attachment": "附件",
"bold": "粗体",
"code": "代码",
"heading": "标题",
"insertImage": "插入图片",
"italic": "斜体",
"link": "链接",
"list": "列表",
"placeholder": "添加描述…支持 Markdown。",
"applyLink": "Apply",
"checklist": "Checklist",
"linkUrl": "URL",
"numberedList": "Numbered list",
"quote": "Quote",
"removeLink": "Remove link",
"hideKeyboard": "Hide keyboard"
},
"errors": {
"apiKeyRejected": "此 API 密钥被拒绝。",
"deviceFailed": "设备登录失败(HTTP {{status}})。",
"forbidden": "你没有执行此操作的权限。",
"noInstance": "在 {{url}} 未找到 Kaneo 实例(HTTP {{status}})。",
"noSession": "服务器未返回会话,请尝试通过浏览器登录。",
"notFound": "未找到。",
"notKaneo": "{{url}} 似乎不是 Kaneo 服务器。",
"notSignedIn": "尚未登录",
"requestFailed": "请求失败({{status}})。",
"serverProblem": "服务器出现问题({{status}})。",
"sessionExpired": "会话已过期,请重新登录。",
"signInRejected": "服务器拒绝了登录。",
"tooManyRequests": "请求过多,请稍候。",
"unreachable": "无法连接服务器。请检查网络连接和服务器地址。",
"uploadFailed": "上传失败({{status}})"
},
"home": {
"account": "账户",
"archived": "已归档",
"due": "截止 {{date}}",
"empty": {
"message": "项目中包含看板和任务。",
"title": "暂无项目"
},
"hideArchived": "隐藏已归档项目",
"newProject": "新建项目",
"noTasks": "没有任务",
"noWorkspace": {
"body": "工作区集中管理项目和团队。创建一个,或接受邀请。",
"create": "创建工作区",
"joinWithLink": "通过邀请链接加入",
"signedInAs": "已登录为 {{email}}",
"title": "暂无工作区",
"viewInvitations_other": "查看 {{count}} 个邀请"
},
"progress": "{{done}} / {{total}}",
"projects": "项目",
"search": "搜索",
"showArchived": "显示已归档项目",
"switchWorkspace": "切换工作区",
"upNext": "接下来",
"viewAll": "查看全部"
},
"inbox": {
"allCaughtUpToast": "已全部查看",
"clearAll": "清空所有通知",
"confirmClear": {
"confirm": "全部清除",
"message": "这将移除此工作区中的所有通知。",
"title": "清空所有通知?"
},
"earlier": "更早",
"empty": {
"message": "指派、评论和提及会显示在这里。",
"title": "你已查看所有通知"
},
"markAllRead": "全部标为已读",
"more": "更多",
"recent": "最近",
"title": "收件箱",
"today": "今天"
},
"invitations": {
"accept": "接受",
"accepted": "已接受邀请",
"decline": "拒绝",
"declined": "已拒绝邀请",
"description": "你受邀加入的工作区。",
"emptyMessage": "验证邮箱地址后,邀请将显示在这里。你也随时可以通过邮件中的链接加入。",
"emptyTitle": "无待处理邀请",
"invitedYou": "{{name}} 邀请了你",
"join": "加入",
"joinWithLink": "通过邀请链接加入",
"linkPlaceholder": "粘贴邮件中的链接",
"title": "邀请"
},
"labels": {
"actions": "{{name}} 的操作",
"delete": "删除标签",
"deleteMessage": "此标签将从此工作区的所有任务中移除。",
"deleteTitle": "删除“{{name}}”?",
"description": "标签可帮助你分组和筛选任务。",
"edit": "编辑标签",
"empty": {
"message": "创建标签,在不同项目中分组和筛选任务。",
"title": "无标签"
},
"fallbackTitle": "标签",
"form": {
"color": "颜色",
"name": "名称"
},
"new": "新建标签",
"title": "标签",
"toast": {
"deleted": "标签已删除"
}
},
"members": {
"description_other": "{{name}} 中有 {{count}} 人",
"invite": "邀请",
"inviteForm": {
"email": "邮箱",
"intro": "对方会收到包含 {{workspace}} 加入链接的邮件。",
"role": "角色",
"send": "发送邀请",
"title": "邀请成员"
},
"inviteMenu": {
"cancel": "取消邀请",
"fallbackTitle": "邀请",
"resend": "重新发送邀请"
},
"memberMenu": {
"changeRole": "更改角色",
"fallbackTitle": "成员",
"remove": "移出工作区"
},
"pending": {
"expires": "{{role}},{{date}} 到期",
"manage": "管理",
"title": "待处理邀请"
},
"people": {
"title": "成员",
"unknown": "未知",
"you": "(你)"
},
"remove": {
"confirm": "移除",
"message": "{{name}} 将失去 {{workspace}} 的访问权限。",
"they": "该成员",
"title": "移除成员?"
},
"rolePicker": {
"title": "角色"
},
"thisWorkspace": "此工作区",
"title": "成员",
"toast": {
"canceled": "邀请已取消",
"removed": "成员已移除",
"resent": "邀请已重新发送",
"roleUpdated": "角色已更新",
"sent": "已向 {{email}} 发送邀请"
}
},
"meta": {
"labelColor": {
"amber": "琥珀",
"crimson": "深红",
"forest": "森林绿",
"lagoon": "泻湖青",
"lavender": "薰衣草",
"ocean": "海洋蓝",
"orchid": "兰花紫",
"rose": "玫红",
"sage": "鼠尾草绿",
"sky": "天空蓝",
"slate": "石板蓝",
"stone": "石板灰",
"terracotta": "赤陶"
},
"priority": {
"high": "高",
"low": "低",
"medium": "中",
"noPriority": "无优先级",
"urgent": "紧急"
},
"role": {
"admin": "管理员",
"member": "成员",
"owner": "所有者",
"viewer": "访客"
},
"roleHint": {
"admin": "还可以管理成员和设置",
"member": "可以创建和编辑任务",
"owner": "拥有全部权限,包括删除工作区",
"viewer": "可以查看项目和任务"
}
},
"myTasks": {
"assigned_other": "已指派 {{count}} 个",
"by": {
"due": "截止日期",
"project": "项目",
"status": "状态"
},
"due": {
"later": "以后",
"none": "无截止日期",
"overdue": "已逾期",
"thisWeek": "本周",
"today": "今天"
},
"empty": {
"message": "此工作区中指派给你的任务会显示在这里。",
"title": "暂时没有指派给你的任务"
},
"showing": "显示 {{total}} 个任务中的 {{shown}} 个",
"title": "我的任务"
},
"nav": {
"activity": "活动",
"home": "首页",
"inbox": "收件箱",
"inboxUnread": "收件箱,{{count}} 条未读",
"tasks": "我的任务"
},
"notificationSettings": {
"channel": {
"accessToken": "访问令牌",
"appToken": "应用令牌",
"enabled": "向此处发送通知",
"secretOptional": "可选",
"secretSaved": "已保存,输入新值即可替换",
"serverUrl": "服务器地址",
"signingSecret": "签名密钥",
"topic": "主题",
"webhookUrl": "Webhook 地址"
},
"delivery": {
"email": "邮箱",
"emailHint": "发送至账户邮箱",
"gotifyHint": "向 Gotify 服务器发送通知",
"ntfyHint": "向 ntfy 主题发送通知",
"title": "通知渠道",
"webhook": "Webhook",
"webhookHint": "通过 POST 向 URL 发送通知"
},
"description": "设置 Kaneo 通知你的方式和内容。",
"events": {
"assignments": "指派",
"assignmentsHint": "任务指派给你时",
"comments": "评论",
"commentsHint": "你的任务有新评论时",
"dueDate": "截止日期提醒",
"dueDateHint": "指派给你的任务截止前",
"remindBefore": "提前 {{time}}",
"remindMe": "提醒我",
"remindPickerTitle": "提前提醒我",
"statusChanges": "状态变更",
"statusChangesHint": "你的任务在列之间移动时",
"title": "通知我关于"
},
"leadTime": {
"day1": "1 天",
"days2": "2 天",
"hour1": "1 小时",
"hours3": "3 小时",
"minutes_other": "{{count}} 分钟",
"minutes15": "15 分钟",
"week1": "1 周"
},
"notSet": "未设置",
"off": "已关闭",
"on": "已开启",
"title": "通知"
},
"notificationText": {
"activity": {
"assignedTo": "将任务指派给 {{assignee}}",
"assigneeChanged": "更改了负责人",
"commented": "评论了:{{text}}",
"created": "创建了任务",
"descriptionChanged": "更新了描述",
"dueDateRemoved": "移除了截止日期",
"dueDateSet": "将截止日期设为 {{date}}",
"priorityChanged": "将优先级从 {{from}} 改为 {{to}}",
"renamed": "将名称改为“{{title}}”",
"selfAssigned": "将任务指派给自己",
"statusChanged": "将任务从 {{from}} 移至 {{to}}",
"taskUpdated": "更新了任务",
"titleChanged": "更改了标题",
"unassigned": "移除了负责人"
},
"assignedByActor": "{{actor}} 向你指派了任务",
"assignedToTask": "你被指派了“{{title}}”",
"assignedToUntitled": "你被指派了一个任务",
"commentedByActor": "{{actor}} 发表了评论",
"mentioned": "有人提及了你",
"mentionedByActor": "{{actor}} 提及了你",
"newComment": "新评论",
"statusChangedOnTask": "“{{title}}”的状态已变更",
"statusChangedOnUntitled": "任务状态已变更",
"statusTransition": "{{from}} → {{to}}",
"taskCreated": "有新任务指派给你",
"timeLoggedOnTask": "“{{title}}”的工时已记录",
"timeLoggedOnUntitled": "任务工时已记录",
"workspaceCreated": "工作区“{{name}}”已创建"
},
"picker": {
"clear": "清除",
"nextMonth": "下个月",
"nextWeek": "下周",
"previousMonth": "上个月"
},
"projectNew": {
"createProject": "创建项目",
"customerPortal": "客户门户",
"key": "标识",
"name": "名称",
"newProject": "新建项目",
"usedInTaskIDs": "用于任务 ID"
},
"projectSettings": {
"addColumn": "添加列",
"addField": "添加字段",
"allTasksCommentsAndTimeEntriesInThisProjectWillBePermanentlyDeleted": "此项目中的所有任务、评论和工时记录将被永久删除。",
"androidIOSWeb": "Android、iOS、网页",
"anyoneWithTheLinkCanViewTheBoard": "任何拥有链接的人都可以查看看板",
"archive": "归档",
"archiveProject": "归档项目",
"archiveProjectTitle": "归档项目?",
"blocked": "受阻",
"changesFutureAndExistingTaskIDs": "将更改现有及今后的任务 ID",
"checkbox": "复选框",
"column": "列",
"columnDeleted": "列已删除",
"columns": "列",
"customFields": "自定义字段",
"date": "日期",
"deleteColumn": "删除列",
"deleteField": "删除字段",
"deleteNamedTitle": "删除“{{name}}”?",
"deleteProject": "删除项目",
"deleteProjectTitle": "删除项目?",
"doneColumn": "完成列",
"dropdown": "下拉选择",
"field": "字段",
"fieldDeleted": "字段已删除",
"general": "常规",
"itDisappearsFromTheProjectListYouCanRestoreItLater": "项目将从列表中隐藏,你可以稍后恢复。",
"key": "标识",
"markAsDoneColumn": "设为完成列",
"moveDown": "下移",
"moveToAnotherWorkspace": "移动到其他工作区",
"moveToWorkspace": "移至工作区",
"moveUp": "上移",
"multiSelect": "多选",
"name": "名称",
"newColumn": "新建列",
"newCustomField": "新建自定义字段",
"noCustomFields": "无自定义字段",
"number": "数字",
"ok": "确定",
"options": "选项",
"platform": "平台",
"project": "项目",
"projectArchived": "项目已归档",
"projectDeleted": "项目已删除",
"projectMoved": "项目已移动",
"projectRestored": "项目已恢复",
"projectSettings": "项目设置",
"projectUpdated": "项目已更新",
"publicBoard": "公开看板",
"rename": "重命名",
"renameColumn": "重命名列",
"required": "必填",
"restoreProject": "恢复项目",
"saveChanges": "保存更改",
"separateWithCommas": "用逗号分隔",
"tasksHereCountAsFinished": "此列中的任务视为已完成",
"tasksInThisColumnMayNeedToBeMovedFirst": "可能需要先移动此列中的任务。",
"text": "文本",
"type": "类型",
"unmarkAsDoneColumn": "取消设为完成列",
"valuesStoredInThisFieldAreDeletedFromEveryTask": "所有任务中此字段存储的值都将被删除。",
"checked": "已勾选",
"chooseDefault": "选择默认值",
"defaultValue": "默认值",
"multiselectOptionsRequired": "请添加至少两个不同的选项。",
"unchecked": "未勾选",
"validDefaultRequired": "请为此必填字段输入有效的默认值。"
},
"search": {
"clear": "清除",
"commentMeta": "{{name}},{{when}}",
"empty": {
"message": "按标题或编号查找任务,也可搜索项目和评论。",
"title": "搜索此工作区"
},
"failed": "搜索失败",
"kinds": {
"all": "全部",
"comments": "评论",
"projects": "项目",
"tasks": "任务",
"activity": "活动"
},
"noResults": "没有“{{query}}”的搜索结果",
"placeholder": "搜索任务、项目和评论"
},
"signIn": {
"apiKey": {
"label": "API 密钥",
"message": "请在网页版的“设置”→“API 密钥”中创建。即使其他登录方式已关闭,仍可使用。"
},
"browserHint": "GitHub、Google、Discord 或 SSO",
"captcha": "此步骤需要浏览器验证,请使用“在浏览器中继续”。",
"change": "更改",
"cloud": "Kaneo Cloud",
"code": {
"checkEmail": "请检查你的邮箱",
"didntGet": "没收到?",
"message": "我们会向你发送包含 6 位验证码的邮件,无需密码。",
"resend": "重新发送验证码",
"send": "发送验证码",
"sent": "已向 {{email}} 发送 6 位验证码",
"title": "使用验证码登录",
"verify": "验证"
},
"connect": "连接",
"continueInBrowser": "在浏览器中继续",
"createAccount": "创建账户",
"device": {
"codeCopied": "验证码已复制",
"copyCode": "复制验证码",
"copyLink": "复制链接",
"denied": "登录在浏览器中被拒绝。",
"expired": "登录验证码已过期,请重新开始以获取新验证码。",
"gettingCode": "正在获取验证码…",
"linkCopied": "链接已复制",
"message": "请在 Kaneo 网站上批准此设备。你可以使用 GitHub、Google、Discord 或 SSO。",
"openBrowser": "打开浏览器",
"openFailed": "无法打开浏览器,请复制链接。",
"tryAgain": "重试",
"waiting": "等待批准…",
"yourCode": "你的验证码"
},
"email": "邮箱",
"emailCode": "通过邮件获取登录验证码",
"invalidClient": "此服务器不允许设备登录。请让管理员在 DEVICE_AUTH_CLIENT_IDS 中添加“kaneo-cli”,或使用密码或 API 密钥登录。",
"newToKaneo": "初次使用 Kaneo?",
"noPassword": "无需密码",
"or": "或",
"password": "密码",
"recent": "最近",
"selfHosted": "自托管",
"sendTo": "发送至 {{email}}",
"serverAddress": "服务器地址",
"serverAddressHint": "打开 Kaneo 时使用的地址。未启用 TLS 的服务器请使用 http://。如果 API 运行在其他主机上,请输入 API 地址。",
"signIn": "登录",
"signUp": {
"name": "姓名",
"passwordHint": "至少 8 个字符"
},
"tagline": "简单的项目管理。连接 Kaneo Cloud 或你自己的实例。",
"togglePassword": "切换密码显示",
"useApiKey": "使用 API 密钥",
"unlock": {
"buy": "Unlock for {{price}}",
"buyNoPrice": "Unlock",
"message": "Signing in to Kaneo Cloud is always included. Connecting the app to a self-hosted server is a one-time purchase that supports Kaneo's development.",
"nothingToRestore": "No earlier purchase was found for this store account.",
"restore": "Restore purchase",
"title": "Connect your own server",
"unavailable": "Purchases aren't available right now. Try again later."
}
},
"taskDetail": {
"activity": {
"comment": "评论",
"deleteMessage": "此操作无法撤销。",
"deleteTitle": "删除评论?",
"edit": "编辑",
"editComment": "编辑评论",
"edited": "{{time}},已编辑",
"entry": "{{name}} {{action}}",
"title": "活动"
},
"fields": {
"empty": "空",
"none": "无",
"title": "字段"
},
"links": {
"add": "添加链接",
"empty": "无链接",
"optional": "可选",
"remove": "移除链接",
"synced": "已同步",
"title": "链接",
"titleLabel": "标题",
"url": "URL"
},
"menu": {
"delete": "删除任务",
"deleted": "任务已删除",
"deleteMessage": "“{{title}}”及其评论将被永久删除。",
"deleteTitle": "删除任务?",
"duplicate": "创建副本",
"duplicated": "任务副本已创建",
"move": "移至项目…",
"moved": "任务已移动",
"moveTitle": "移至项目",
"refresh": "刷新",
"share": "分享"
},
"relations": {
"blockedBy": "被阻塞",
"blocks": "阻塞",
"empty": "无关联任务",
"link": "关联任务",
"related": "关联",
"relatedTo": "关联到",
"remove": "移除关联",
"removeConfirm": "移除",
"removeMessage": "任务将保留,仅移除它们之间的关联。",
"removeTitle": "移除关联?",
"searchPlaceholder": "按标题或编号搜索任务",
"title": "关联"
},
"screen": {
"addDescription": "添加描述…",
"copyLink": "复制链接",
"editTitle": "编辑标题",
"linkCopied": "链接已复制",
"more": "更多"
},
"section": {
"addTo": "添加到 {{title}}"
},
"someone": "某人",
"status": {
"archived": "已归档",
"planned": "已计划"
},
"subtasks": {
"add": "添加子任务",
"empty": "无子任务",
"parent": "父任务",
"title": "子任务"
},
"time": {
"chipHours": "{{count}}小时",
"chipMinutes": "{{count}}分",
"date": "日期",
"durationHoursMinutes": "{{hours}}小时 {{minutes}}分",
"durationMinutes": "{{minutes}}分",
"editEntry": "编辑工时记录",
"hoursUnit": "小时",
"log": "记录工时",
"logDuration": "记录 {{duration}}",
"logged": "工时已记录",
"minutesUnit": "分",
"notePlaceholder": "你做了什么工作?",
"running": "{{time}}(计时中)",
"start": "启动计时器",
"stop": "停止",
"title": "工时",
"total": "共 {{duration}}"
}
},
"taskFields": {
"addNumber": "添加数字",
"archived": "已归档",
"assignee": "负责人",
"createLabel": "创建标签“{{name}}”",
"done": "完成",
"doneColumn": "完成列",
"dueDate": "截止日期",
"empty": "空",
"labelColor": "新标签的颜色",
"labels": "标签",
"noLabels": "暂无标签,输入名称即可创建。",
"none": "无",
"overdue_other": "{{date}},已逾期 {{count}} 天",
"planned": "已计划",
"priority": "优先级",
"searchOrCreate": "搜索或创建",
"searchPeople": "搜索成员",
"startDate": "开始日期",
"starts": "开始于 {{date}}",
"status": "状态",
"unassigned": "未指派",
"you": "{{name}}(你)"
},
"taskNew": {
"create": "创建",
"newSubtask": "新建子任务",
"noLabels": "此工作区暂无标签。",
"project": "项目",
"taskTitle": "任务标题",
"labelsAndParentFailed": "任务已创建,但部分标签和父任务关联未能保存。",
"labelsFailed": "任务已创建,但部分标签未能添加。",
"parentFailed": "任务已创建,但未能关联到父任务。"
},
"time": {
"durationHoursMinutes": "{{hours}}小时 {{minutes}}分",
"goodAfternoon": "下午好",
"goodEvening": "晚上好",
"goodMorning": "早上好",
"hours_other": "{{count}} 小时",
"hoursAgo_other": "{{count}} 小时前",
"hoursShort_other": "{{count}}小时",
"justNow": "刚刚",
"minutes_other": "{{count}} 分钟",
"minutesAgo_other": "{{count}} 分钟前",
"minutesShort_other": "{{count}}分",
"now": "现在",
"secondsShort_other": "{{count}}秒",
"today": "今天",
"tomorrow": "明天",
"yesterday": "昨天"
},
"ui": {
"back": "返回",
"loadFailed": "无法加载",
"nothingMatches": "没有与“{{query}}”匹配的内容",
"search": "搜索"
},
"workspaceNew": {
"create": "创建工作区",
"description": "集中管理团队项目的地方。接下来可以邀请成员。",
"descriptionLabel": "描述",
"descriptionPlaceholder": "这个工作区用来做什么?",
"name": "名称",
"namePlaceholder": "设计工作室",
"optional": "可选",
"title": "新建工作区"
},
"workspaceSettings": {
"confirm": {
"deleteMessage": "{{name}} 中的所有项目、任务和评论将被永久删除。",
"deleteTitle": "删除工作区?",
"leaveMessage": "在收到新邀请之前,你将无法访问此工作区。",
"leaveTitle": "退出工作区?"
},
"danger": {
"delete": "删除工作区",
"deleteHint": "删除其中所有项目和任务",
"leave": "退出工作区",
"leaveButton": "退出",
"leaveHint": "你可以通过新邀请重新加入",
"title": "危险区域"
},
"description": "适用于 {{name}} 所有成员的设置。",
"general": {
"description": "描述",
"name": "名称",
"save": "保存更改",
"slug": "短标识:<mono>{{slug}}</mono>",
"title": "常规"
},
"manage": {
"labels": "标签",
"members": "成员",
"title": "管理"
},
"thisWorkspace": "此工作区",
"title": "工作区",
"toast": {
"deleted": "工作区已删除",
"left": "你已退出工作区",
"updated": "工作区已更新"
}
},
"workspaceSwitcher": {
"create": "创建工作区",
"invitations": "邀请",
"labels": "标签",
"members": "成员",
"settings": "工作区设置",
"title": "工作区"
},
"permissions": {
"photos": "Kaneo 使用你的照片为任务和评论添加图片,以及设置你的头像。"
}
}
}