{
  "auth": {
    "login": "登录",
    "signup": "注册",
    "logout": "退出登录",
    "loginRequired": "请先登录",
    "loginDescription": "登录后即可使用扫描功能，新用户赠送 10 积分",
    "loginNow": "立即登录 / 注册",
    "email": "邮箱",
    "password": "密码",
    "confirmPassword": "确认密码",
    "forgotPassword": "忘记密码？",
    "noAccount": "没有账号？",
    "hasAccount": "已有账号？",
    "signupSuccess": "注册成功",
    "orContinueWith": "或使用以下方式登录",
    "loginSuccess": "登录成功",
    "logoutSuccess": "已退出登录",
    "emailNotVerified": "邮箱未验证",
    "emailNotVerifiedDesc": "请查看你的邮箱并点击验证链接以激活账号。",
    "invalidCredentials": "邮箱或密码错误",
    "emailAlreadyRegistered": "该邮箱已被注册",
    "verificationSent": "验证邮件已发送",
    "verificationSentDesc": "请查看收件箱并点击验证链接。",
    "checkYourEmail": "请查看你的邮箱",
    "verificationSentTo": "我们已向 {{email}} 发送验证邮件，请点击链接激活账号。",
    "resendEmail": "重新发送验证邮件",
    "verificationResent": "邮件已重发",
    "verificationResentDesc": "新的验证邮件已发送。",
    "enterEmailFirst": "请先输入邮箱地址",
    "didntReceiveEmail": "没收到邮件？重新发送",
    "referralBonus": "使用邀请码可获得 5 积分奖励",
    "emailVerificationNotice": "注册后需要验证邮箱才能完成注册。",
    "emailVerified": "邮箱已验证",
    "emailUnverified": "邮箱未验证",
    "verifyStatus": {
      "waiting": {
        "title": "请查看邮箱",
        "description": "使用积分前，请先打开我们发送的验证链接。"
      },
      "verifying": {
        "title": "正在验证邮箱",
        "description": "请稍候。"
      },
      "verified": {
        "title": "邮箱验证成功",
        "description": "你的账号现在可以开始扫描。"
      },
      "failed": {
        "title": "验证链接无效",
        "description": "链接无效或已过期，请登录后重新发送。"
      }
    },
    "welcomeBack": "欢迎回来。",
    "welcome": "欢迎使用 ScanChess。",
    "emailPlaceholder": "you@example.com",
    "passwordPlaceholder": "至少 6 个字符",
    "signupWithCredits": "注册——赠送 10 积分",
    "enterValidEmail": "请输入有效的邮箱地址",
    "passwordResetSent": "请查看邮箱",
    "passwordResetSentDesc": "如果该邮箱对应一个账号，我们已发送密码重置链接。",
    "validation": {
      "emailInvalid": "请输入有效的邮箱地址。",
      "passwordMin": "密码至少需要 6 个字符。"
    },
    "agreement": "继续即表示你同意《<terms>服务条款</terms>》和《<privacy>隐私政策</privacy>》。",
    "pageTitle": "登录 ScanChess",
    "popup": {
      "title": {
        "default": "登录后继续",
        "scan": "登录后开始识别",
        "save": "登录后保存对局",
        "checkout": "登录后升级",
        "session": "登录已过期，请重新登录",
        "signup": "创建免费账号"
      },
      "staysHere": "登录后仍停留在本页，从刚才的地方继续。",
      "signingIn": "正在登录…",
      "otherWays": "其他登录方式",
      "orEmail": "或使用邮箱",
      "createWithEmail": "用邮箱注册账号",
      "resetNeedsEmail": "请先在上方填写邮箱，我们会把重置密码的链接发给你。",
      "fullPage": "登录遇到问题？打开完整登录页",
      "embedded": "应用内浏览器无法使用 Google 登录。请在 Safari 或 Chrome 中打开本页，或在下方用邮箱登录。",
      "googleUnavailable": "暂时无法连接 Google 登录，请改用邮箱登录。",
      "gateTitle": "登录后查看此页面",
      "joinTitle": "登录后接受俱乐部邀请"
    }
  },
  "scan": {
    "title": "开始扫描",
    "seoHeading": "扫描国际象棋记谱单或棋盘照片",
    "seoIntro": "上传清晰照片，把手写着法转换为经过校验的 SAN 与 PGN，或把棋盘局面转换为 FEN。",
    "inputType": "图片类型",
    "scoresheetMode": "手写记谱单",
    "boardMode": "棋盘图片",
    "uploadBoardImage": "上传棋盘图片",
    "scanning": "AI 识别中...",
    "uploadImages": "上传图片",
    "dragDrop": "拖拽记谱图片到此处",
    "orClick": "或点击选择文件",
    "tapUpload": "点这里添加记谱单照片",
    "tapUploadHint": "可以现拍，也可以从相册里选",
    "pasteSupport": "支持粘贴 (Ctrl+V)",
    "maxImages": "最多 {{count}} 张图片",
    "maxSize": "单张最大 {{size}}MB",
    "scanSuccess": "扫描完成",
    "scanSuccessDesc": "成功识别 {{count}} 步着法，消耗 {{credits}} 积分",
    "scanSuccessSavedDesc": "成功识别 {{count}} 步着法，消耗 {{credits}} 积分，并已保存到对局库",
    "scanSuccessImagePending": "已识别 {{count}} 步着法并保存到对局库，但原始图片仍需重新保存",
    "notationTranslated": "记谱单上的棋子字母按{{language}}记法读取（{{mapping}}）。",
    "scanFailed": "扫描失败",
    "noImages": "请先上传图片",
    "noImagesDesc": "需要上传记谱图片才能进行扫描",
    "insufficientCredits": "积分不足",
    "insufficientCreditsDesc": "扫描需要 {{cost}} 积分，当前余额 {{balance}}",
    "inviteFriends": "邀请好友获取更多积分",
    "scoresheetImages": "记谱单图片",
    "uploadedImages": "已上传图片",
    "monthlyQuotaUsed": "积分不足",
    "monthlyQuotaUsedDesc": "这次操作需要的积分超过了你的余额。下一批 {{credits}} 个积分将于 {{date}} 发放。",
    "monthlyQuotaUsedDescNoDate": "这次操作需要的积分超过了你的余额。下一批套餐积分将在下一个 30 天周期开始时发放。",
    "outOfCredits": "积分不足，无法完成本次扫描。",
    "seePricing": "获取更多积分——$4.99/月",
    "overlayDescription": "正在分析记谱单图片并提取着法。",
    "cancelWait": "停止等待",
    "cancelWaitDesc": "服务端可能仍会完成处理。用相同图片重试可取回结果，不会重复扣费。",
    "uploadRejected": "部分图片无法添加",
    "uploadRejectedDesc": "{{count}} 个文件不符合类型、大小或最多 {{max}} 张图片的限制。",
    "verifyEmailRequired": "请先验证邮箱",
    "verifyEmailRequiredDesc": "验证邮箱后即可开始扫描。请查收邮件，或重新发送验证链接。",
    "verifyEmailCta": "发送验证链接",
    "repeatScanTitle": "同一张图——未扣除积分",
    "repeatScanDesc": "这是这张照片上次扫描的结果。重复扫描未修改的图片不会消耗积分。想得到不同的结果，请换一张更清晰或更完整的照片。",
    "lowBalance": "还剩 {{balance}} 积分，约够再扫一张记谱单。",
    "onlineSourceNotice": "这看起来是在线对局的截图。截图只包含着法面板里当前可见的几步，扫描无法还原其余部分——在 Chess.com 或 Lichess 上直接导出该局的 PGN 可以拿到完整棋谱。",
    "scanWithCost_one": "扫描 · {{cost}} 积分",
    "scanWithCost_other": "扫描 · {{cost}} 积分",
    "recognizeWithCost_one": "识别 · {{cost}} 积分",
    "recognizeWithCost_other": "识别 · {{cost}} 积分",
    "pasteHint": "支持 {{shortcut}} 粘贴",
    "uploadLimits": "最多 {{max}} 张，每张不超过 {{size}} MB，支持 JPG、PNG、WebP。不支持 HEIC，请先转换格式。",
    "uploadLimitsBoard": "一张图片，不超过 {{size}} MB，支持 JPG、PNG、WebP。不支持 HEIC，请先转换格式。",
    "imageCount": "已添加 {{count}} / {{max}} 张图片",
    "fileRejectedType": "{{name}}：不支持的格式。请使用 JPG、PNG 或 WebP，HEIC 需先转换。",
    "fileRejectedSize": "{{name}}：超过 {{size}} MB。",
    "fileRejectedCount": "{{name}}：一次最多扫描 {{max}} 张图片。",
    "fileRejectedRead": "{{name}}：无法读取为图片。",
    "switchToBoardTitle": "只保留第一张图片？",
    "switchToBoardDesc": "棋盘识别只处理一张照片。切换后将保留 {{count}} 张图片中的第一张，其余移除。",
    "switchToBoardConfirm": "保留第一张",
    "signInHint": "开始扫描前需要先登录。新账号赠送 10 积分。",
    "unverifiedNotice": "首次扫描无需验证邮箱；要继续扫描，请先完成验证。",
    "unverifiedUsedTitle": "未验证账号的免费扫描已用完",
    "unverifiedUsedDesc": "验证邮箱后即可继续扫描。可以重新发送验证链接。",
    "resendVerification": "重新发送",
    "stillRunningTitle": "扫描仍在进行",
    "stillRunningDesc": "服务器仍在处理这张照片。积分只扣一次，同一张照片不会再次扣费——请一分钟后重试以取回结果。",
    "replayedTitle": "已载入之前的结果",
    "replayedDesc": "这张照片之前已扫描过，未扣除积分。",
    "getCredits": "获取积分",
    "insufficientInline": "当前 {{balance}} 积分，本次扫描需要 {{cost}} 积分。",
    "imageAlt": "记谱单第 {{n}} 页",
    "boardImageAlt": "棋盘照片",
    "removeImage": "移除第 {{n}} 张图片",
    "moveImageEarlier": "将第 {{n}} 张图片前移",
    "moveImageLater": "将第 {{n}} 张图片后移",
    "restoredTitle": "已恢复未保存的棋局",
    "restoredDesc": "刷新前的着法和图片已恢复。",
    "restoredDismiss": "关闭",
    "batchHint": "要扫描整轮比赛？试试整轮扫描",
    "wrongKindScoresheet": "这张照片看起来是记谱单，不是棋盘。积分已退还。",
    "wrongKindBoard": "这张照片看起来是棋盘，不是记谱单。积分已退还。",
    "wrongKindScoresheetAction": "按记谱单扫描 · {{cost}} 积分",
    "wrongKindBoardAction": "按棋盘识别 · {{cost}} 积分",
    "detectedSwitchedScoresheet": "这张照片看起来是记谱单，已切换为记谱单扫描。",
    "detectedSwitchedBoard": "这张照片看起来是棋盘，已切换为棋盘识别。",
    "detectedSuggestScoresheet": "这张照片看起来是记谱单，不是棋盘。",
    "detectedSuggestBoard": "这张照片看起来是棋盘，不是记谱单。",
    "switchToScoresheet": "按记谱单扫描",
    "switchToBoard": "按棋盘识别"
  },
  "notation": {
    "de": "德语",
    "es": "西班牙语",
    "fr": "法语",
    "pt": "葡萄牙语",
    "nl": "荷兰语",
    "pl": "波兰语",
    "cs": "捷克语",
    "hu": "匈牙利语",
    "ru": "俄语",
    "zh": "中文"
  },
  "game": {
    "moves": "着法",
    "totalMoves_one": "共 {{count}} 步",
    "totalMoves_other": "共 {{count}} 步",
    "doubleClickEdit": "点击铅笔按钮编辑",
    "noMoves": "暂无棋谱数据",
    "noMovesDesc": "上传记谱图片开始扫描",
    "suspiciousMoves_one": "{{count}} 步着法可能需要核对",
    "suspiciousMoves_other": "{{count}} 步着法可能需要核对",
    "autoFixPrompt": "引擎检查发现 {{issues}} 步存在问题，自动修复将调整 {{changes}} 处",
    "autoFixApply": "一键尝试自动修复",
    "autoFixDismiss": "保持原样",
    "allMovesValid": "所有着法验证通过",
    "alternatives": "候选",
    "moveEmpty": "着法不能为空",
    "illegalMove": "第 {{move}} 手在前一个局面下走不通。用铅笔改正后，后面若还有问题会接着显示。",
    "white": "白方",
    "black": "黑方",
    "event": "赛事",
    "site": "地点",
    "date": "日期",
    "result": "结果",
    "unknown": "未知",
    "unknownEvent": "未知赛事",
    "unknownSite": "未知地点",
    "unknownDate": "未知日期",
    "navStart": "回到起始局面",
    "navPrev": "上一步",
    "navNext": "下一步",
    "navEnd": "跳到最终局面",
    "navReset": "重置棋盘",
    "navFlip": "翻转棋盘",
    "resultWhite": "白方胜",
    "resultBlack": "黑方胜",
    "resultDraw": "和棋",
    "resultOngoing": "进行中",
    "editMove": "编辑 {{move}}",
    "goToMove": "显示走完 {{move}} 后的局面",
    "resetTitle": "放弃本次扫描？",
    "resetDescription": "这会清除当前图片、着法和未保存的修正，且无法撤销。",
    "scanUnreliable": {
      "notFromStartingPosition": "这份着法不是从开局第一步开始的",
      "notFromStartingPositionHint": "看起来只是一局棋的片段——着法面板的截图，或记谱单的后面几页。着法按扫描原样显示；缺少前面的着法，我们无法回放或自动纠错。请从第 1 步开始扫描完整的记谱单，或手动编辑着法。",
      "descriptiveNotation": "这份记谱使用的是描述式记谱法",
      "descriptiveNotationHint": "像 P-K4 或 P4R 这样的写法记的是棋子而不是格子。目前我们只能识别代数记谱法（e4、Nf3），所以着法按扫描原样显示，未做转换。"
    },
    "lowConfidence": "识别置信度 {{percent}}%，请对照记谱单核对。",
    "implausible": "这一手合法，但棋理说不通：{{san}} 可以在 {{square}} 白吃 {{gain}} 个兵，却没人走。这一手或下一手很可能识别错了。",
    "replaceWith": "改为 {{move}}",
    "insertBefore": "在 {{move}} 前插入一步",
    "insertMove": "插入着法",
    "deleteMove": "删除 {{move}}",
    "undoEdit": "撤销上一次编辑",
    "newMovePlaceholder": "例如 Nf3",
    "moreActions": "{{move}} 的更多操作",
    "round": "轮次",
    "opening": "开局",
    "addWhite": "填写白方",
    "addBlack": "填写黑方",
    "addEvent": "填写赛事",
    "addSite": "填写地点",
    "addDate": "填写日期",
    "addRound": "填写轮次",
    "editField": "编辑{{field}}",
    "keepMove": "保留 {{move}}",
    "flaggedPosition": "第 {{current}} / {{total}} 处待核对",
    "playerSide": {
      "label": "我执",
      "neither": "都不是",
      "neitherTitle": "这盘不是我下的",
      "fromAliases": "已按你用过的名字匹配。点选一方即可确认。",
      "saved": "已保存",
      "saving": "正在保存",
      "failed": "没能保存你执哪方",
      "cardsHint": "选好你执哪方，你漏掉的着法就会变成练习卡。",
      "summaryLabel": "我执：",
      "notSet": "未选择",
      "changeInAnalysis": "在分析里修改"
    }
  },
  "history": {
    "title": "历史记录",
    "viewAll": "查看全部",
    "noHistory": "暂无历史记录",
    "cloudSync": "登录后可云端同步历史记录",
    "deleted": "已删除",
    "deletedDesc": "历史记录已删除",
    "justNow": "刚刚",
    "minutesAgo": "{{count}}分钟前",
    "hoursAgo": "{{count}}小时前",
    "daysAgo": "{{count}}天前",
    "startScan": "扫描记谱单",
    "totalRecords_one": "已保存 1 盘棋",
    "totalRecords_other": "已保存 {{count}} 盘棋",
    "loadedRecords": "已加载 {{count}} 盘，还有更多记录",
    "moveCount_one": "1 步",
    "moveCount_other": "{{count}} 步",
    "scanAnother": "再扫一张",
    "noHistoryDesc": "扫描后保存的棋谱会出现在这里，登录后所有设备通用。",
    "deleteGame": "删除 {{game}}",
    "deleteTitle": "确认删除这盘棋？",
    "deleteDesc": "{{game}} 将从你的棋谱库中移除，且无法恢复。想留存的话，请先导出 PGN。",
    "searchLabel": "搜索已保存的对局",
    "searchPlaceholder": "按选手、赛事或日期搜索",
    "matchCount": "{{count}} / {{total}} 盘",
    "savedAt": "保存于 {{when}}",
    "loadMore": "加载更多棋谱",
    "openGame": "打开 {{game}}",
    "deleteFailed": "删除失败",
    "deleteFailedDesc": "这盘棋仍在你的棋谱库中，请重试。",
    "sharedBadge": "已分享",
    "revokeShare": "撤销 {{game}} 的分享链接",
    "revokeTitle": "撤销这个分享链接？",
    "revokeDesc": "{{game}} 的链接将对所有人失效。之后可以再生成新的链接。",
    "needsCorrection_one": "1 步待修正",
    "needsCorrection_other": "{{count}} 步待修正",
    "sortLabel": "排序",
    "sort": {
      "savedDesc": "最近保存",
      "savedAsc": "最早保存",
      "gameDateDesc": "对局日期，从新到旧",
      "gameDateAsc": "对局日期，从旧到新",
      "white": "白方姓名 A–Z",
      "black": "黑方姓名 A–Z"
    },
    "filterLabel": "结果",
    "filter": {
      "all": "全部",
      "whiteWins": "1-0",
      "blackWins": "0-1",
      "draws": "½-½",
      "unfinished": "未完成"
    },
    "tryBatch": "一次扫描整轮比赛"
  },
  "export": {
    "exportPGN": "导出 PGN",
    "copyPGN": "复制 PGN",
    "copied": "已复制",
    "embed": "嵌入棋局",
    "embedCopied": "嵌入代码已复制到剪贴板",
    "exportSuccess": "导出成功",
    "exportSuccessDesc": "PGN 文件已下载",
    "copySuccess": "复制成功",
    "copySuccessDesc": "PGN 已复制到剪贴板",
    "noData": "暂无棋谱数据",
    "noDataDesc": "请先扫描记谱图片",
    "saveGame": "保存棋局",
    "saving": "保存中...",
    "gameSaved": "保存成功",
    "gameSavedDesc": "对局已保存到对局库",
    "saveFailed": "保存失败",
    "saveFailedDesc": "保存棋局失败，请重试",
    "gameSavedWithCorrections_one": "已保存——还有 1 步待修正",
    "gameSavedWithCorrections_other": "已保存——还有 {{count}} 步待修正",
    "gameSavedWithCorrectionsDesc": "回放到第 {{ply}} 步停止。修正着法后请再次保存。",
    "signInToSave": "登录后保存",
    "openLichess": "在 Lichess 打开",
    "lichessOpening": "正在发送到 Lichess…",
    "lichessFailed": "Lichess 没有接受这盘棋",
    "lichessFailedDesc": "导入没有成功。可以复制 PGN，到 lichess.org/paste 手动粘贴。",
    "lichessRateLimited": "Lichess 暂时限制了导入频率。请稍等一分钟再试，或复制 PGN 到 lichess.org/paste 粘贴。",
    "lichessPasteReady": "已打开 Lichess 的粘贴页并复制了 PGN——在那里按 ⌘V / Ctrl+V 粘贴导入即可。",
    "moreShare": "更多导出与分享方式"
  },
  "share": {
    "title": "分享",
    "text": "看看这盘棋：{{title}}（{{count}} 步）- 使用 ScanChess.com 扫描",
    "wechat": "微信",
    "wechatTitle": "分享到微信",
    "wechatDesc": "链接已复制！粘贴到微信即可分享。",
    "copyLink": "复制链接",
    "copied": "已复制！",
    "linkCopied": "链接已复制",
    "linkCopiedDesc": "分享链接已复制到剪贴板",
    "more": "更多选项",
    "cardTitle": "分享给对手",
    "cardBody": "这盘棋是两个人下的——把链接发给对手，他也能回放。任何人都能打开，无需注册。",
    "cardBodyShared": "链接已生效。拿到链接的人都可以回放这盘棋。",
    "needsSave": "请先保存棋局——分享链接指向已保存的那一份。",
    "createLink": "生成分享链接",
    "linkReady": "分享链接已生成",
    "linkReadyDesc": "发给对手即可，他不用登录就能打开。",
    "linkFailed": "链接生成失败",
    "linkFailedDesc": "请稍后再试。",
    "linkRevoked": "链接已撤销",
    "linkRevokedDesc": "旧链接不再能打开这盘棋。",
    "revokeLink": "撤销",
    "anyoneWithLink": "拿到链接的人都能查看这盘棋。",
    "anyoneWithLinkImages": "拿到链接的人都能查看这盘棋和记谱单原图。",
    "unsavedEdits": "保存之后你又改动了这盘棋。请再次保存，链接才会显示改动后的内容。",
    "includeImages": "同时分享记谱单原图",
    "includeImagesHint": "默认关闭。如果希望收到链接的人也能看到上传的照片，请打开。",
    "imagesNowShared": "链接现在会显示记谱单原图",
    "imagesNowPrivate": "链接不再显示记谱单原图",
    "updateFailed": "链接更新失败",
    "revokeFailed": "链接撤销失败",
    "copyFailedDesc": "请直接从上方的框中复制链接。"
  },
  "user": {
    "credits": "积分",
    "settings": "设置",
    "referralCode": "邀请码",
    "codeCopied": "邀请码已复制",
    "copyReferralLink": "复制邀请链接",
    "referralBonusDesc": "分享给好友，双方各获得 5 积分！",
    "referralPlaceholder": "好友的邀请码",
    "proUntil": "Pro 有效期至",
    "creditsRefresh": "积分发放",
    "manageSubscription": "管理订阅",
    "inviteFriends": "邀请好友"
  },
  "demo": {
    "title": "使用演示",
    "source": "记谱单",
    "sourceBoard": "棋盘照片",
    "result": "数字棋盘"
  },
  "nav": {
    "home": "首页",
    "history": "历史记录",
    "about": "关于",
    "faq": "常见问题",
    "boardRecognition": "棋盘识别",
    "scan": "扫描",
    "howItWorks": "使用指南",
    "blog": "博客",
    "solutions": "解决方案",
    "scanCta": "识别图片",
    "pricing": "定价",
    "settings": "设置",
    "tools": "工具",
    "extension": "浏览器插件",
    "analyze": "分析",
    "scanBoard": "棋盘图片 → FEN",
    "scanScoresheet": "记谱单 → PGN",
    "roundScan": "整轮扫描（俱乐部）",
    "coachesClubs": "教练与俱乐部",
    "coachesClubsHint": "批量扫描学员对局、组织赛事、分享报告",
    "help": "帮助与常见问题",
    "analyzeMenu": {
      "game-analysis": {
        "label": "分析这盘棋",
        "hint": "粘贴 PGN：准确率、关键时刻、漏着"
      },
      "analysis-board": {
        "label": "分析棋盘",
        "hint": "任意局面，引擎给出最佳着法"
      },
      "best-move": {
        "label": "最佳着法查找",
        "hint": "从棋盘截图直接得出"
      },
      "pgn-viewer": {
        "label": "PGN 棋谱回放",
        "hint": "逐步回放一盘棋"
      },
      "missed-tactics": {
        "label": "练习漏着",
        "hint": "把对局里的漏着变成练习题"
      }
    },
    "toolsMenu": {
      "groups": {
        "analyze": "分析",
        "create": "创建与转换",
        "play": "比赛与趣味"
      },
      "hints": {
        "board-editor": "摆出局面，复制 FEN",
        "pgn-to-gif": "把对局做成动图分享",
        "fen-to-image": "下载棋盘图",
        "pgn-validator": "找出并修复出错的 PGN",
        "pgn-to-pdf": "带棋图打印一盘棋",
        "fen-to-pgn": "从指定局面开始 PGN",
        "pgn-to-fen": "任意一步之后的 FEN",
        "printable-scoresheets": "打印空白记谱单",
        "time-control-calculator": "90+30 的一盘棋要下多久",
        "rating-calculator": "计算 FIDE 等级分变化",
        "chess-wrapped": "你这一年的棋局数据"
      }
    }
  },
  "footer": {
    "rights": "保留所有权利",
    "product": "产品",
    "resources": "资源",
    "company": "公司",
    "howItWorks": "使用指南",
    "blog": "博客",
    "solutions": "解决方案",
    "about": "关于",
    "privacy": "隐私政策",
    "terms": "服务条款",
    "deleteAccount": "删除账号",
    "pricing": "定价",
    "contactSupport": "联系客服",
    "supportLabel": "客服",
    "refunds": "退款政策",
    "operator": "ScanChess 由 SudoAI 运营。网页版订阅的销售主体（Merchant of Record）为 Waffo。",
    "security": "安全",
    "status": "服务状态",
    "changelog": "更新日志",
    "cookieSettings": "Cookie 设置",
    "tools": "免费国际象棋工具",
    "allTools": "全部免费工具",
    "extension": "浏览器插件"
  },
  "about": {
    "kicker": "关于 ScanChess",
    "title": "一个由会下棋的小团队做的棋谱扫描与研究工具",
    "lead": "ScanChess 把手写国际象棋记谱单的照片转换成经过规则校验、可编辑的 PGN，再帮你研究这些对局。这一页说明它是谁做的、为什么做、识别是怎么工作的，以及它做不到什么。",
    "cta": "扫描记谱单",
    "who": {
      "title": "谁在做",
      "body1": "ScanChess 由 SudoAI 开发，这是一家很小的软件工作室。没有销售团队，也没有客服部门：写代码的人自己看客服邮箱，也会逐张查看用户反馈识别有误的扫描。",
      "body2": "博客里的指南由同一批人撰写，并对照 FIDE 手册和文中提到的平台核对过。"
    },
    "why": {
      "title": "为什么做它",
      "body": "线下对局最后往往变成一叠纸。把它们敲进数据库太慢，以至于大多数对局再也没人看过。我们希望从一张记谱单照片到一盘可以回放的棋，只需要一分钟左右——包括核对的时间。"
    },
    "how": {
      "title": "识别是怎么工作的",
      "steps": [
        "视觉模型读取每张照片上的手写字迹，为每一格给出一个候选着法和置信度。",
        "候选着法会用 chess.js 在棋盘上逐手回放。在当前局面下不合法的着法，或模型没有把握的着法，都会被标记出来。不会有任何静默修改。",
        "你在编辑器里对照记谱单核对被标记的着法——重新输入、从规则允许的候选中选一个、插入或删除一手——然后导出 PGN 或保存对局。"
      ],
      "note": "识别效果取决于字迹、光线和记谱方式，所以我们不给出准确率数字。一盘普通的对局，通常需要核对几手。"
    },
    "not": {
      "title": "它做不到什么",
      "items": [
        "它不保证转录零错误。被标记的着法需要核对；没被标记的着法在字迹被自信地读错时也可能是错的。",
        "它识别代数记谱（e4、Nf3、O-O），包括长代数记谱（e2-e4）、兵前加 P 的写法、多种语言的棋子字母和图形记谱。描述式记谱（P-K4）不会被转换。",
        "它不会替你把对局上传到 Lichess 或 Chess.com。它给你的是标准 .pgn 文件，这些网站和桌面软件都能导入。",
        "扫描需要账号并消耗积分。{{tools}} 个免费工具无需登录即可使用；其中的可选功能（AI 讲解，以及在最佳着法查找里识别实物棋盘照片）需要一个已验证邮箱的免费账号。"
      ]
    },
    "links": {
      "title": "站内其他页面",
      "security": "安全——上传内容和账号如何受保护，以及如何报告漏洞",
      "status": "服务状态——实时检测网站与扫描 API",
      "changelog": "更新日志——什么时候上线了什么",
      "contact": "联系我们——识别出错或账单问题，给团队发邮件",
      "tools": "免费国际象棋工具——共 {{tools}} 个，在浏览器里运行"
    }
  },
  "common": {
    "loading": "加载中...",
    "error": "错误",
    "cancel": "取消",
    "confirm": "确认",
    "save": "保存",
    "delete": "删除",
    "back": "返回",
    "next": "下一页",
    "prev": "上一页",
    "language": "语言",
    "optional": "可选",
    "closeMenu": "关闭菜单",
    "copyFailed": "复制失败",
    "pageNotFound": "页面未找到",
    "returnHome": "返回首页",
    "imgScoresheet": "国际象棋记谱单",
    "imgBoard": "国际象棋棋盘",
    "imgDigitalBoard": "电子棋盘",
    "menu": "菜单",
    "versus": "对阵",
    "sentenceEnd": "。",
    "close": "关闭",
    "skipToContent": "跳到正文"
  },
  "notFound": {
    "description": "地址可能输错了，或者页面已经移动。下面是大家最常去的几个地方。",
    "tools": "免费国际象棋工具"
  },
  "errors": {
    "INVALID_CREDENTIALS": "邮箱或密码错误。",
    "EMAIL_EXISTS": "该邮箱已被注册。请直接登录；忘记密码可使用重置链接。",
    "REAUTH_REQUIRED": "密码或登录验证与该账号不匹配。",
    "INVALID_RESET_TOKEN": "重置链接无效或已过期，请在登录页重新申请。",
    "INVALID_VERIFICATION_TOKEN": "验证链接无效或已过期，请登录后重新发送。",
    "VERIFICATION_UNAVAILABLE": "目前无法发送验证邮件，请稍后再试。",
    "INVALID_GOOGLE_TOKEN": "Google 未能确认你的身份，请重试。",
    "GOOGLE_EMAIL_UNVERIFIED": "你的 Google 账号邮箱尚未验证，无法用于登录。",
    "GOOGLE_LOGIN_DISABLED": "Google 登录目前不可用。",
    "INVALID_INPUT": "部分填写内容无效，请检查后重试。",
    "NOT_FOUND": "找不到对应的记录。",
    "SESSION_EXPIRED": "登录已过期，请重新登录。",
    "EMAIL_NOT_VERIFIED": "使用积分前请先验证邮箱。",
    "INSUFFICIENT_CREDITS": "积分不足，无法执行此操作。",
    "SUBSCRIPTION_ACTIVE": "请先在 Apple 端取消仍在生效的 App Store 订阅，再删除账号。",
    "CHECKOUT_FAILED": "无法开始结算，请稍后重试。",
    "CANCEL_FAILED": "取消订阅失败，请重试或联系客服。",
    "server": "我们这边出了点问题，请稍后重试。",
    "network": "无法连接到 ScanChess，请检查网络后重试。",
    "generic": "出了点问题，请重试。",
    "PERMISSION_DENIED": "你在这个俱乐部中的角色无权执行此操作。",
    "WORKSPACE_FORBIDDEN": "你已不再是该俱乐部的成员。",
    "OWNER_MUST_TRANSFER": "请先把所有者转让给其他成员，再退出俱乐部或删除账号。",
    "INVITE_INVALID": "这个邀请链接已过期或已被撤销，请向俱乐部索取新链接。",
    "RATE_LIMITED": "请求过于频繁，请稍后再试。"
  },
  "resetPassword": {
    "title": "重置密码",
    "checkingLink": "正在检查重置链接…",
    "missingToken": "链接缺少令牌。请通过登录页或应用内的“忘记密码”重新发送重置邮件。",
    "goToSignIn": "去登录",
    "done": "密码已更新，请用新密码登录。",
    "confirmNew": "确认新密码",
    "submit": "设置新密码"
  },
  "boardRecognition": {
    "dragDrop": "拖拽棋盘图片到此处",
    "tapUpload": "点这里添加棋盘照片",
    "recognitionSuccess": "识别成功",
    "recognitionSuccessDesc_one": "局面已识别，消耗 {{credits}} 积分",
    "recognitionSuccessDesc_other": "局面已识别，消耗 {{credits}} 积分",
    "recognitionFailed": "识别失败",
    "fenCopied": "FEN 已复制到剪贴板",
    "copyFen": "复制 FEN",
    "uncertainSquares": "请检查高亮格：{{squares}}",
    "flipBoard": "翻转棋盘",
    "openInEditor": "在棋盘编辑器中打开",
    "analyseLichess": "在 Lichess 分析"
  },
  "analysis": {
    "title": "引擎分析",
    "depth": "深度",
    "calculating": "计算中",
    "startAnalysis": "开始分析",
    "stopAnalysis": "停止分析",
    "bestMove": "最佳着法",
    "evaluation": "评估",
    "annotations": "标注",
    "comment": "评论",
    "addComment": "添加评论...",
    "arrows": "箭头",
    "arrowsHighlights": "箭头和高亮",
    "bookmark": "书签",
    "symbols": "符号",
    "engineOff": "引擎关闭",
    "engineLoading": "引擎加载中...",
    "engineReady": "引擎就绪",
    "engineError": "引擎加载失败",
    "enable": "开启引擎",
    "disable": "关闭引擎",
    "unavailable": "引擎无法在这个浏览器里加载。",
    "lines": "最佳着法",
    "noLegalMoves": "没有合法着法：对局已结束。",
    "reviewGame": "分析这盘棋",
    "analyzeGame": "分析这盘棋",
    "reviewing": "正在分析第 {{done}} / {{total}} 个局面…",
    "stopReview": "停止分析",
    "accuracy": "准确率",
    "bestWas": "最佳着法是 {{san}}",
    "kind": {
      "book": "开局谱着",
      "best": "最佳",
      "good": "好棋",
      "inaccuracy": "失误",
      "mistake": "错误",
      "blunder": "严重失误"
    },
    "poweredBy": "Stockfish 18 在你的浏览器里运行，不会上传任何内容。",
    "poweredByLibrary": "Stockfish 18 在你的浏览器里运行。未保存的对局只留在你的设备上；保存对局时，分析结果会随对局一起保存。",
    "licence": "引擎源码（GPL-3.0）",
    "linePreview": "变例预演",
    "previewingLine": "变例预演 · 第 {{current}} / {{total}} 步",
    "exitPreview": "退出预演",
    "previewLineHint": "在棋盘上预演这条路线",
    "saveAsVariation": "保存为变例",
    "tactics": {
      "title": "漏着战术",
      "practice": "练习 {{count}} 道漏着",
      "practiceOne": "练习这道漏着",
      "enginePaused": "练习时引擎暂停分析，免得直接剧透答案。关闭练习后会继续分析。",
      "none": "这盘没有漏掉的战术——只有安静的缓着，或者引擎也没给出强迫着法。",
      "toMove": "{{side}}走",
      "moveNumber": "第 {{number}} 回合",
      "findTheShot": "找出当时漏掉的那步。",
      "correct": "就是这步。",
      "wrong": "不是这步，再试一次。",
      "reveal": "显示答案",
      "next": "下一题",
      "previous": "上一题",
      "youPlayed": "对局里走的是 {{san}}。",
      "solution": "答案：{{line}}",
      "save": "保存，改天再练",
      "saved": "已保存",
      "savedCount_one": "已从你的对局里保存 {{count}} 道",
      "savedCount_other": "已从你的对局里保存 {{count}} 道",
      "practiceSaved_one": "练习已保存的 {{count}} 道题",
      "practiceSaved_other": "练习已保存的 {{count}} 道题",
      "clearSaved": "清空已保存",
      "close": "关闭训练",
      "of": "第 {{current}} / {{total}} 题",
      "foundInGame_one": "这盘漏掉了 {{count}} 步强迫着法。",
      "foundInGame_other": "这盘漏掉了 {{count}} 步强迫着法。",
      "find": "找出我漏掉的战术",
      "searching": "正在查找漏着：第 {{done}} / {{total}} 个局面…",
      "addToPractice": "加入每日练习",
      "addedToPractice": "已加入每日练习",
      "addedDetail_one": "新增 {{count}} 张练习卡。",
      "addedDetail_other": "新增 {{count}} 张练习卡。",
      "openPractice": "打开每日练习",
      "savedLocally": "已保存在这个浏览器里。",
      "signUpToKeep": "免费注册，把它们变成每日练习卡",
      "saveFailed": "未能把这些战术加入练习。"
    },
    "gameReview": {
      "title": "对局转折点",
      "lead": "Stockfish 在你的浏览器里逐步检查，找出决定胜负的几步棋。免费。保存对局后，分析结果会一起保存，下次打开直接显示。",
      "checkFirst": "请先核对标出的可疑着法再分析——识别错一步，分析就会跑偏。",
      "start": "分析这盘棋",
      "fromStorage": "已载入这盘棋保存的分析。",
      "runAgain": "重新分析",
      "none": "没有明显的转折点：没有哪一步让出大量胜率。",
      "winChance": "走棋一方的胜率：走之前 → 走之后",
      "phase": {
        "opening": "开局",
        "middlegame": "中局",
        "endgame": "残局"
      },
      "side": {
        "white": "白方",
        "black": "黑方"
      },
      "pieces": {
        "p": "兵",
        "n": "马",
        "b": "象",
        "r": "车",
        "q": "后",
        "k": "王"
      },
      "sentence": {
        "allowedMate": "{{played}} 让对手有了强制将杀，从 {{refutation}} 开始。应走 {{best}}。",
        "missedMate": "{{best}} 可以强制将杀，{{played}} 错过了。",
        "hungPiece": "{{played}} 让 {{square}} 的{{piece}}被白吃：{{refutation}}。",
        "missedFork": "{{best}} 可以用双重攻击得子：{{square}} 的{{piece}}同时攻击 {{targets}}。",
        "missedCapture": "{{best}} 可以吃掉 {{square}} 的{{piece}}，净得子力。",
        "missedPromotion": "{{best}} 可以升变，{{played}} 错过了。",
        "allowedFork": "{{played}} 让对手有了双重攻击，从 {{refutation}} 开始：{{square}} 的{{piece}}同时攻击 {{targets}}。",
        "missedPin": "{{best}} 可以利用牵制吃掉 {{square}} 的{{piece}}（它被牵制在王前）。",
        "allowedPin": "{{played}} 让 {{square}} 的{{piece}}被牵制在王前并丢掉，从 {{refutation}} 开始。",
        "missedSkewer": "{{best}} 可以用串击得子：{{square}} 的{{piece}}必须让开，后面的子就丢了。",
        "missedDiscovered": "{{best}} 可以发动闪击，{{played}} 错过了。",
        "allowedDiscovered": "{{played}} 让对手有了闪击，从 {{refutation}} 开始。应走 {{best}}。",
        "missedBackRank": "{{best}} 可以底线杀，{{played}} 错过了。",
        "allowedBackRank": "{{played}} 让对手有了底线杀，从 {{refutation}} 开始。应走 {{best}}。",
        "swing": {
          "winning": {
            "winning": "走 {{played}} 后仍然占优，但 {{best}} 能保持大得多的优势。",
            "equal": "{{played}} 把胜势拉回了均势，{{best}} 才能保持优势。",
            "losing": "{{played}} 把赢棋走成了输棋，应走 {{best}}。"
          },
          "equal": {
            "equal": "{{played}} 让出了一些胜率，{{best}} 更精确。",
            "losing": "{{played}} 让均势局面倒向劣势，{{best}} 能保持平衡。"
          },
          "losing": {
            "losing": "{{played}} 让本已困难的局面更糟，{{best}} 能顽强得多。"
          }
        }
      },
      "marks": "着法标记",
      "goTo": "查看复盘分析",
      "countsMine": "你这一方：",
      "countsBoth": "双方：",
      "noneMine": "你这一方没有明显的转折点：你没有哪一步让出大量胜率。",
      "leadSaved": "Stockfish 在你的浏览器里逐步检查，找出决定胜负的几步棋。免费。分析结果会随这盘对局一起保存，下次打开直接显示。"
    },
    "coach": {
      "title": "AI 教练讲解",
      "lead": "教练用白话讲清每个转折点：发生了什么、对手能怎么走、应该怎么下。只依据引擎算出的事实。",
      "iPlayed": "我执",
      "explain": "用 AI 教练讲解 · {{count}} 积分",
      "explainFree": "用 AI 教练讲解 · 今日免费（剩 {{count}} 次）",
      "freeNote": "每天免费讲解 1 次，之后每盘 {{cost}} 积分。",
      "freeUsed": "今天的免费讲解已用完，{{time}} 起可再免费讲解一次。",
      "getCredits": "获取积分",
      "checking": "正在更深入地复查关键时刻… {{done}}/{{total}}",
      "writing": "教练正在撰写…（约 10 秒）",
      "cleared": "深入复查后，这些着法其实都没有造成明显损失，无需讲解，也没有扣积分。",
      "noCredits": "积分不足，无法使用教练讲解。",
      "inProgress": "教练正在讲解这盘棋，请稍后再试。",
      "verifyEmail": "验证邮箱后即可使用 AI 教练，每天免费讲解 1 次。",
      "signIn": "登录后即可使用 AI 教练，每天免费讲解 1 次。",
      "createAccount": "注册免费账号即可使用 AI 教练，每天免费讲解 1 次。",
      "refunded": "部分讲解未能通过校验，已改为显示基础说明，积分已退回。",
      "charged": "已使用 {{count}} 积分。这盘棋再次讲解（换执方或换语言）免费。",
      "free": "已讲解过，未扣积分。",
      "usedFree": "已使用今天的免费讲解，未扣积分。这盘棋再次讲解（换执方或换语言）免费。",
      "refundedFree": "部分讲解未能通过校验，已改为显示基础说明，今天的免费次数已退回。",
      "afterFree": "在此之前，每盘新对局讲解扣 {{count}} 积分（余额：{{credits}}）。",
      "nextFree": "下次免费讲解：{{time}}。",
      "disclaimer": "由 AI 依据引擎事实撰写，仍可能出错；以棋盘上的引擎变化为准。",
      "basis": "引擎依据（Stockfish，深度 {{depth}}）：最佳着法 {{best}} · 胜率 {{before}}% → {{after}}%",
      "uncertain": "引擎的判断依据在这几步之后才显现，所以上面的“原因”是引擎的评估，不是已被证明的变化。可以在棋盘上走一遍这条线自行核对。",
      "addToPgn": "写入 PGN 注释",
      "addedToPgn": "已写入 PGN",
      "report": "报告错误",
      "reported": "已收到，谢谢",
      "showLine": "在棋盘上演示这步",
      "field": {
        "what": "发生了什么",
        "why": "为什么不好",
        "instead": "应该走"
      },
      "sideWhite": "教练讲解白方的着法。",
      "sideBlack": "教练讲解黑方的着法。",
      "sideGuessed": "（根据结果推测。）",
      "changeSide": "更改执棋方"
    },
    "engineOn": "引擎已开启",
    "checkingMarks": "正在复核被标记的着法：{{done}} / {{total}}…",
    "repertoire": {
      "leftPlayer": "你在第 {{move}} 步离开了开局库“{{name}}”：走了 {{played}}，准备的是 {{expected}}。",
      "leftOpponent": "对手在第 {{move}} 步走了 {{played}}，离开了你的开局库“{{name}}”；你准备的是 {{expected}}。",
      "lineEnded": "你把开局库“{{name}}”的变化走到了头（第 {{move}} 步）。",
      "gameEnded": "整盘棋都没有离开你的开局库“{{name}}”。",
      "verdict": "引擎评价：{{kind}}",
      "show": "查看第 {{move}} 步",
      "manage": "开局库"
    },
    "kindCount": {
      "inaccuracy_one": "失误",
      "inaccuracy_other": "失误",
      "mistake_one": "错误",
      "mistake_other": "错误",
      "blunder_one": "严重失误",
      "blunder_other": "严重失误"
    }
  },
  "home": {
    "badge": "AI 记谱单识别",
    "hero": {
      "titlePre": "把手写记谱单",
      "titleMid": "转换成",
      "titleEm": "规范 PGN",
      "lead": "拍一张记谱单照片，ScanChess 会逐手转录、按规则校验每一步、标出没把握的着法，并生成可编辑的 PGN，可用于 Lichess、Chess.com 或你的分析软件。",
      "ctaPrimary": "扫描你的记谱单",
      "ctaSecondary": "了解工作原理",
      "trust": "新用户赠送 10 积分，无需绑卡。",
      "demoOriginal": "手写原稿",
      "demoArrow": "AI 识别并校验",
      "reviewBadge": "规则校验 · 可编辑"
    },
    "exportsLabel": "PGN 可用于",
    "steps": {
      "kicker": "工作原理",
      "title": "三步，从纸面到 PGN",
      "subtitle": "不用打字，也不用手抄。",
      "s1title": "拍下记谱单",
      "s1desc": "只需一张清晰、平整、光线良好的照片——手机或扫描仪皆可，无需安装应用。",
      "s2title": "AI 识别每一手",
      "s2desc": "ScanChess 转录记谱，并在棋盘上逐手校验每一步。",
      "s3title": "检查并导出",
      "s3desc": "在编辑器里修正被标记的着法，然后下载对局或逐手回放。"
    },
    "features": {
      "kicker": "为什么选择 ScanChess",
      "title": "数字化对局所需的一切",
      "f1title": "识别你的笔迹",
      "f1desc": "AI OCR 把手写记谱单的照片转成代数记谱——字迹潦草也能读，没把握的地方会标出来请你核对。",
      "f2title": "发现错误",
      "f2desc": "每一手都经过规则校验并且可编辑：非法或低置信度的着法会被标记，导出前由你确认。",
      "f3title": "导出标准 PGN",
      "f3desc": "下载标准 .pgn 文件，可在 Lichess、Chess.com、ChessBase 或 SCID 中打开。",
      "f4title": "比手敲快得多",
      "f4desc": "整局棋谱通常不到一分钟就转录完成，核对几处被标记的着法，远比把整盘棋敲一遍省事。"
    },
    "blog": {
      "kicker": "博客文章",
      "title": "记谱与 PGN 指南",
      "all": "全部文章",
      "minRead": "分钟"
    },
    "cta": {
      "title": "准备好把你的记谱单数字化了吗？",
      "desc": "上传你的第一局，几秒内获得经过规则校验、可编辑的 PGN。",
      "button": "扫描你的记谱单"
    }
  },
  "blog": {
    "pageTitle": "ScanChess 博客",
    "pageSubtitle": "关于国际象棋记谱法、记谱单、PGN 与对局数字化的实用指南。",
    "solutions": "解决方案",
    "allArticles": "全部文章",
    "searchLabel": "搜索文章",
    "searchPlaceholder": "搜索文章",
    "clearSearch": "清除搜索",
    "resultCount_one": "{{count}} 篇文章",
    "resultCount_other": "{{count}} 篇文章",
    "noResults": "没有匹配的文章。换个关键词，或清除筛选。",
    "minRead": "分钟阅读",
    "keepReading": "继续阅读",
    "relatedTools": "相关免费工具",
    "diagramAlt": "{{title}}的流程示意图",
    "sources": "来源与复核说明",
    "reviewed": "来源复核于 {{date}}",
    "ctaTitle": "几秒内把你的记谱单变成 PGN",
    "ctaDesc": "上传一张照片，让 ScanChess 完成转录。",
    "ctaButton": "开始扫描记谱单",
    "categories": {
      "Improvement": "提高",
      "Guides": "指南",
      "Notation": "记谱法",
      "Comparison": "对比",
      "Rules": "规则",
      "Tools": "工具",
      "Billing": "计费",
      "Statistics": "数据"
    },
    "helpTitle": "帮助",
    "helpLead": "积分、套餐、取消订阅和退款。",
    "helpFaq": "更多解答见常见问题"
  },
  "blogTools": {
    "pgnTitle": "在棋盘上试读 PGN",
    "pgnLead": "示例已预先载入。逐步播放或点击任意着法，也可以复制每个局面的 FEN。",
    "fenTitle": "逐字段解码 FEN",
    "fenLead": "粘贴包含六个字段的完整 FEN，棋盘和解释会在浏览器本地同步更新。",
    "invalidFen": "请输入完整、有效的六字段 FEN。",
    "placement": "棋子布局",
    "placementHint": "从第 8 横线写到第 1 横线；字母代表棋子，数字代表连续空格数。",
    "sideToMove": "走棋方",
    "sideToMoveHint": "w 表示轮到白方，b 表示轮到黑方。",
    "castling": "易位权",
    "castlingHint": "K/Q 是白方王翼/后翼易位权，k/q 是黑方；横线表示均无。",
    "enPassant": "吃过路兵目标格",
    "enPassantHint": "兵刚走两格时越过的格子，不是兵当前所在格；无则为横线。",
    "halfmove": "半回合计数",
    "halfmoveHint": "自上次兵移动或吃子后双方共走的步数，用于 50 回合规则。",
    "fullmove": "完整回合数",
    "fullmoveHint": "从 1 开始，每当黑方走完一着后加 1。",
    "white": "白方",
    "black": "黑方",
    "none": "无",
    "white-kingside": "白方王翼",
    "white-queenside": "白方后翼",
    "black-kingside": "黑方王翼",
    "black-queenside": "黑方后翼",
    "openEditor": "在棋盘编辑器中打开此 FEN",
    "sanTitle": "在棋盘上读懂 SAN",
    "sanLead": "点击每个 SAN 着法，直观看到这种紧凑记谱如何改变局面。",
    "start": "初始局面"
  },
  "solution": {
    "faqTitle": "常见问题",
    "alsoTitle": "ScanChess 的其他用法",
    "freeCredits": "注册即送 10 个免费积分。大量使用见",
    "hubKicker": "选择你的工作流",
    "hubTitle": "记谱单扫描与 PGN 转换解决方案",
    "hubIntro": "先看你是谁：扫描自己对局的棋手，管理一群学员对局的教练或俱乐部，还是替孩子保存对局的家长。",
    "explore": "查看方案",
    "diagramAlt": "{{title}}的 ScanChess 工作流",
    "clusters": {
      "players": {
        "title": "棋手",
        "description": "扫描自己的记谱单和局面，再分析、保存。从记谱单扫描开始。"
      },
      "coaches": {
        "title": "教练与俱乐部",
        "description": "把一群人的对局数字化，处理整轮比赛，保存赛事档案。"
      },
      "parents": {
        "title": "家长",
        "description": "把孩子的比赛对局保存好，随时一起回看。"
      }
    },
    "startHere": "从这里开始：",
    "startHereHint": "手写记谱单转 PGN 的总览，包括费用，以及下一步该看哪一篇。",
    "guidesTitle": "按环节找指南",
    "spokes": {
      "convert-chess-scoresheet-to-pgn": "分步教程：从照片到 PGN",
      "photo-to-pgn": "怎样把照片拍好",
      "scan-chess-notation": "能识别哪些记谱写法",
      "chess-game-scanner": "拍实体棋盘得到 FEN"
    }
  },
  "howToUse": {
    "metaTitle": "ScanChess 使用指南 - 如何扫描记谱单",
    "pageTitle": "ScanChess 使用指南",
    "pageSubtitle": "5 步把记谱单数字化",
    "demoAlt": "手写记谱单示例",
    "demoCaption": "一张典型的手写赛事记谱单，ScanChess 读的就是这种",
    "shotAlts": [
      "一张平放拍摄的手写赛事记谱单",
      "扫描页的上传区：已添加一张记谱单图片，下方是格式与数量限制",
      "扫描后的着法列表：两处橙黄色低置信着法、一处红色非法着法，每步旁有铅笔按钮",
      "行内编辑第 4 回合的着法，下方是识别器给出的两个合法备选",
      "保存棋局、导出 PGN、复制 PGN 按钮，以及分享卡片"
    ],
    "shotCaptions": [
      "你手上的原稿",
      "应用里的第 2 步",
      "应用里的第 3、4 步",
      "编辑一处被标记的着法",
      "应用里的第 5 步"
    ],
    "ctaTitle": "准备好了吗？",
    "ctaSubtitle": "现在就上传你的第一张记谱单",
    "ctaStart": "开始扫描",
    "ctaFaq": "查看 FAQ",
    "schemaName": "如何使用 ScanChess 扫描记谱单",
    "schemaDesc": "用 AI 把手写记谱单转换为 PGN",
    "steps": [
      {
        "title": "1. 拍摄棋谱照片",
        "description": "用手机或相机拍下你的手写记谱单。确保光线充足，着法字迹清晰可见。",
        "tips": [
          "保持照片平整，避免倾斜",
          "确保所有着法都在画面内",
          "多页记谱单可以分别拍摄"
        ]
      },
      {
        "title": "2. 上传图片",
        "description": "从手机或电脑添加照片——点上传区域选择文件，在电脑上也可以把文件拖进去。支持 JPG、PNG、WebP，每次最多 10 张。暂不支持 HEIC（iPhone 默认格式），请先转换。",
        "tips": [
          "单张图片最大 15 MB",
          "多页按列表顺序识别，扫描前可用箭头调整顺序",
          "用手机拍一张照片，直接上传即可"
        ]
      },
      {
        "title": "3. AI 智能识别",
        "description": "点击“扫描 · 2 积分”按钮。模型逐格读取着法，并在棋盘上逐手回放。整局通常不到一分钟就能返回。",
        "tips": [
          "系统会验证每步着法的合法性",
          "低置信度的着法会被标记出来供你核对",
          "一次扫描 2 积分，不论上传几页"
        ]
      },
      {
        "title": "4. 校对修正",
        "description": "在棋盘上预览着法，点击着法旁的铅笔按钮进行编辑。支持简写输入，如“dc”会自动转为“dxc5”。",
        "tips": [
          "红色标记表示非法着法",
          "黄色标记表示低置信度着法，请对照原稿确认",
          "点着法即可跳到该步；在电脑上也可以用方向键前后翻着"
        ]
      },
      {
        "title": "5. 导出保存",
        "description": "确认无误后，导出 PGN 文件或复制到剪贴板。可直接导入 Chess.com、Lichess 等平台。",
        "tips": [
          "扫描成功后自动保存到对局库",
          "PGN 包含完整对局信息",
          "保存后可以分享对局链接"
        ]
      }
    ]
  },
  "seo": {
    "homeTitle": "ScanChess · 棋盘图片转 FEN，手写记谱单转 PGN",
    "homeDesc": "国际象棋 OCR：识别棋盘图片和手写记谱单，把照片变成可分析的 FEN 局面或可回放的 PGN 对局。网页端免安装，核对结果后直接分析、接着下。",
    "scanTitle": "识别棋盘图片或手写记谱单 | ScanChess",
    "scanDesc": "棋盘图片变成可编辑的局面，手写记谱单变成可回放的 PGN。预加载示例无需登录，不调用识别、不扣积分，可以直接体验结果和编辑操作。",
    "aboutTitle": "关于 ScanChess | AI 国际象棋记谱单扫描",
    "aboutDesc": "了解 ScanChess 由谁打造、为什么做、识别原理是什么、有哪些做不到的地方，以及它怎样帮助棋手、裁判和俱乐部把手写记谱单数字化为 PGN。",
    "faqTitle": "ScanChess 常见问题：记谱单识别、PGN 导出与积分",
    "faqDesc": "ScanChess 常见问题：记谱单和棋盘图片扫描、Stockfish 复盘分析与 AI 教练、每日练习、积分与套餐、账号和数据。",
    "blogTitle": "国际象棋记谱指南：记谱法、记谱单、PGN 与 FIDE 规则 | ScanChess 博客",
    "blogDesc": "ScanChess 博客：读懂和填写国际象棋记谱单、代数记谱法（SAN）、PGN 导入 Lichess 与 Chess.com、FIDE 记谱规则，以及把纸质对局数字化的实用指南。",
    "privacyTitle": "隐私政策：ScanChess 如何收集、使用和删除你的数据",
    "privacyDesc": "ScanChess 如何收集、使用、存储和删除你的数据，包括账号邮箱、上传的记谱单图片和积分记录；哪些内容会发给识别模型服务商，以及如何导出或删除数据。",
    "termsTitle": "服务条款：账号、积分与使用规则 | ScanChess",
    "termsDesc": "使用 ScanChess 需要遵守的条款：账号注册、积分与购买、订阅续费与取消、可接受的使用方式、知识产权，以及账号注销后会发生什么。",
    "pricingTitle": "ScanChess 定价：免费积分、Pro 与 Pro+ 订阅方案",
    "pricingDesc": "注册即送 10 个积分。Pro 每 30 天增加 100 个积分，$4.99/月 或 $29.99/年；Pro+ 每 30 天增加 500 个，$19.99/月 或 $119.99/年。",
    "refundsTitle": "退款政策：付款、积分与取消订阅 | ScanChess",
    "refundsDesc": "ScanChess 不提供退款，所有付款均为最终交易。这里说明原因、有哪些例外情形、积分到底是什么，以及不想再续费时怎样在扣款前取消订阅。",
    "contactTitle": "联系 ScanChess 客服：账单、账号与扫描问题",
    "contactDesc": "计费、退款、注销账号或识别出错，都可以发邮件到 support@scanchess.com 联系 ScanChess 客服，我们会在两个工作日内回复。",
    "settingsTitle": "账号设置 | ScanChess",
    "settingsDesc": "积分、订阅、邀请码、语言、分析 Cookie 选择，以及导出或删除你的数据。",
    "statusTitle": "ScanChess 服务状态：网站与扫描 API 实时检测",
    "statusDesc": "打开页面时由你自己的浏览器实时检测 ScanChess 网站和扫描 API 是否可访问，显示真实响应时间，而不是手工填写的数字。",
    "securityTitle": "ScanChess 安全说明：数据保护措施与安全漏洞报告",
    "securityDesc": "ScanChess 如何保护你的数据：全站 HTTPS、密码以 bcrypt 加盐哈希存储、HttpOnly 会话、不经手任何银行卡信息；以及如何向我们报告安全漏洞。",
    "changelogTitle": "ScanChess 更新日志：新功能、识别修复与产品改进记录",
    "changelogDesc": "ScanChess 每次更新了什么、什么时候上线：新的扫描功能、免费国际象棋工具、计费调整、识别修复和新增语言，按时间倒序排列。",
    "historyTitle": "我的棋谱 | ScanChess",
    "historyDesc": "你保存的棋谱，多设备同步——可重新载入棋盘或导出为 PGN。",
    "howToUseTitle": "ScanChess 使用指南：棋盘图片转 FEN，手写记谱单转 PGN",
    "howToUseDesc": "分步教程：上传棋盘图片得到可编辑的 FEN，或上传一盘棋的记谱单页面得到 PGN；再逐一核对标记出来的着法，最后导出结果。",
    "toolsTitle": "免费国际象棋工具 – 最佳着法查找、分析棋盘等",
    "toolsDesc": "在浏览器里使用的免费国际象棋工具：从 FEN 或截图查最佳着法、在 Stockfish 分析棋盘上研究、复盘对局、生成年度回顾等。",
    "solutionsTitle": "国际象棋记谱单扫描与 PGN 转换解决方案 | ScanChess",
    "solutionsDesc": "按需求选择 ScanChess 工作流：手写记谱单识别、照片转 PGN、棋盘图片转 FEN、赛事记谱单归档，以及为学员和孩子保存对局记录。",
    "deleteAccountTitle": "删除账号 | ScanChess",
    "deleteAccountDesc": "永久删除 ScanChess 账号、已保存棋局和已上传的记谱单图片。",
    "authTitle": "登录 | ScanChess",
    "authDesc": "登录 ScanChess，保存扫描的对局并管理积分。",
    "resetTitle": "重置密码 | ScanChess",
    "resetDesc": "为你的 ScanChess 账号设置新密码。",
    "verifyEmailTitle": "验证邮箱 | ScanChess",
    "verifyEmailDesc": "验证 ScanChess 账号的邮箱地址。",
    "batchDesc": "一次扫描整轮比赛：上传全部记谱单，按局分组，每局自动存入对局库。",
    "extensionTitle": "ScanChess 浏览器插件 · 网页棋盘转 FEN",
    "extensionDesc": "框选网页棋盘，核对局面后复制 FEN。支持 Chrome 和 Edge，与网站共用 ScanChess 账号，每次棋盘识别消耗 1 积分。",
    "howItWorksTitle": "ScanChess 使用指南：扫描、复盘分析、练习",
    "howItWorksDesc": "扫描记谱单或棋盘图片并核对着法，再用 Stockfish 和 AI 教练复盘分析，把漏着变成练习题。"
  },
  "deleteAccount": {
    "title": "删除账号",
    "intro": "此操作会删除你的 ScanChess 账号及其全部数据。如果只是想退出登录，请使用菜单中的退出。",
    "warningTitle": "此操作不可撤销",
    "warningGames": "棋谱库中所有已保存的对局和 PGN 都会被删除。",
    "warningImages": "你上传的所有记谱单图片都会被删除。",
    "warningCredits": "剩余积分将作废，且不予退款。",
    "warningSubscription": "删除前会先取消网页续费。仍在生效的 App Store 订阅必须先在 Apple 端取消，否则系统会阻止删号。",
    "manageSubscription": "管理订阅",
    "warningIrreversible": "删除立即生效且永久有效——我们无法在事后恢复账号。",
    "confirmPrompt": "请输入你的邮箱地址以确认：",
    "passwordPrompt": "请输入当前密码",
    "providerPrompt": "或通过登录服务商再次验证身份",
    "providerVerified": "删除账号所需的身份验证已完成",
    "button": "永久删除我的账号",
    "signInFirst": "请先登录你要删除的账号，然后回到本页面。",
    "noAccessNote": "无法登录该账号？发邮件给我们，我们会处理你的请求：",
    "doneTitle": "账号已删除",
    "doneDesc": "你的账号及全部相关数据已被移除。",
    "failedTitle": "删除失败",
    "failedDesc": "出了点问题，请重试，或发邮件至 support@scanchess.com。",
    "proofRequired": "删除账号前需要证明账号属于你：输入当前密码，或重新用 Google 登录验证。",
    "appleTitle": "用 Apple 登录的账号？",
    "appleDesc": "本页面无法验证仅用 Apple 登录的账号。请用账号邮箱给我们发邮件，我们会为你删除。",
    "requestByEmail": "通过邮件申请删除",
    "emailSubject": "账号删除申请（{{email}}）",
    "emailBody": "请删除我的 ScanChess 账号 {{email}} 及其全部数据。我了解此操作不可撤销。"
  },
  "cookies": {
    "title": "Cookie 选择",
    "body": "我们使用 Google Analytics 和 Microsoft Clarity 了解网站的使用情况，其中 Clarity 会记录你在页面上的操作轨迹。",
    "accept": "同意",
    "decline": "拒绝",
    "learnMore": "我们如何使用你的数据",
    "currentlyOn": "分析目前已开启。",
    "currentlyOff": "分析目前已关闭。"
  },
  "pricing": {
    "title": "简单定价",
    "subtitle": "积分用来支付扫描；套餐增加分析、练习和备战工具。",
    "perMonth": "/月",
    "yearlyNote": "按年付 {{price}} · 省 50%",
    "bestValue": "最划算",
    "billing": {
      "monthly": "月付",
      "yearly": "年付",
      "yearlySave": "省 50%"
    },
    "tiers": {
      "pro": "Pro",
      "proplus": "Pro+"
    },
    "tierCredits": {
      "pro": "每 30 天 100 个积分——约 50 张记谱单",
      "proplus": "每 30 天 500 个积分——约 250 张记谱单"
    },
    "subscribe": "订阅",
    "signInToSubscribe": "登录后订阅",
    "smallPrint": "以美元计价，并按同价自动续订（月付每月、年付每年），直到你取消为止。你可以随时在本页取消：取消后 Pro 权益保留至已付费周期结束，且不会再次扣费。所有付款均为最终交易，不提供退款（适用法律强制要求的情形除外），详见退款政策。网页购买的销售主体为 Waffo，税费由 Waffo 在结算时计算。",
    "manage": {
      "title": "你的订阅",
      "activeUntil": "Pro 有效期至 {{date}}，到期将自动续订，除非你取消。",
      "cancel": "取消订阅",
      "cancelNote": "取消后不再扣下一期费用。已付费周期内你仍然是 Pro，余额中的积分也照常保留。",
      "canceledTitle": "订阅已取消",
      "canceledDesc": "不会再次扣费。Pro 权益保留至已付费周期结束。",
      "cancelFailedTitle": "取消失败",
      "cancelFailedDesc": "请重试，或发邮件到 support@scanchess.com，我们帮你取消。",
      "titleWithPlan": "你当前订阅：{{plan}}",
      "appStoreNote": "此订阅是在 iOS 应用内购买的，请在 Apple ID 的订阅设置中管理或取消。",
      "passTitle": "你当前持有：{{plan}}",
      "passActiveUntil": "Pro 有效期至 {{date}}，到期不会自动扣费。",
      "passNote": "需要续期时，在下方再买一张即可，剩余天数会顺延。"
    },
    "plans": {
      "pro_monthly": "Pro 月付",
      "pro_yearly": "Pro 年付",
      "proplus_monthly": "Pro+ 月付",
      "proplus_yearly": "Pro+ 年付",
      "pro_pass_365": "Pro 年付通行证"
    },
    "free": {
      "name": "免费",
      "price": "$0",
      "period": "起步",
      "note": "注册即送 10 个积分，无需绑卡",
      "cta": "扫描记谱单",
      "signUpCta": "免费开始——注册",
      "includedNote": "所有账号的起点，Pro 在此之上。",
      "priceCn": "¥0"
    },
    "credits": {
      "title": "积分如何计费",
      "intro": "积分是 ScanChess 唯一的消耗单位。每个新账号注册即获得 10 个免费积分，积分永不过期。",
      "colAction": "你的操作",
      "colCost": "消耗",
      "rows": {
        "scoresheet": "记谱单照片 → PGN",
        "scoresheetCost": "2 个积分",
        "board": "棋盘照片 → FEN",
        "boardCost": "1 个积分",
        "coach": "AI 讲解：对局教练、单个局面、赛事报告总结",
        "coachCost": "每天免费 1 次，之后每次 1 个积分",
        "other": "编辑、回放、PGN 导出、对局历史",
        "otherCost": "免费",
        "bestMove": "最佳着法查找：识别实物棋盘照片（每 24 小时最多 {{n}} 次）",
        "bestMoveCost": "已验证邮箱的免费账号可免费使用"
      },
      "topUp": "Pro 每 30 天增加 100 个积分——约 50 张记谱单；Pro+ 每 30 天增加 500 个积分。满 30 天后在你登录时发放，未用完的积分会保留在余额中。",
      "perScanMonthly": "按月订阅时，Pro 约合每积分 $0.05、Pro+ 约合 $0.04——也就是每张记谱单 Pro 约 $0.10、Pro+ 约 $0.08。",
      "perScanYearly": "按年订阅时，Pro 约合每积分 $0.025、Pro+ 约 $0.02——也就是每张记谱单 Pro 约 $0.05、Pro+ 约 $0.04，是月付的一半。",
      "perScanPass": "Pro 年度通行证约合每积分 ¥0.08——也就是每张记谱单约 ¥0.17。",
      "bestMoveNote": "截图在你的浏览器里识别，免费且不需要账号。工作区里的棋盘扫描扣 1 个积分，因为它会把可编辑的局面保存到你的账号；最佳着法查找只是读图来显示引擎的答案。"
    },
    "support": {
      "title": "关于付费有疑问？",
      "body": "扣费、退款或积分余额的问题，请发邮件联系"
    },
    "help": {
      "credits": "积分如何计费",
      "cancel": "如何取消订阅",
      "compare": "免费版与 Pro 对比",
      "refunds": "退款政策（不支持退款）"
    },
    "currentPlan": "当前套餐",
    "currentPlanButton": "当前套餐",
    "switchPlan": "切换到此套餐",
    "switchNote": "切换会打开新套餐的结算页；完成付款前，当前套餐不会有任何变化。之后我们会应你的请求停止之前套餐的续费，升级到更高档位会立即发放更多积分。",
    "appStoreSwitchDesc": "该订阅在 iOS 应用内购买，只能由 Apple 修改。请前往 Apple ID 的订阅设置中切换套餐。",
    "overlapTitle": "你已有生效中的 Pro 权益",
    "overlapDesc": "请先取消当前订阅，并在已付费周期结束后再购买其他套餐，以免发生重复扣费。",
    "subscriptionUnknownTitle": "无法查询你的订阅",
    "subscriptionUnknownDesc": "订阅信息暂时加载失败。更换套餐前请先重试。",
    "retry": "重试",
    "switchDoneDesc": "新套餐已生效。之前的套餐（{{previous}}）仍会续费，请看下方说明来停止它。",
    "switchDoneNote": "之前的套餐（{{previous}}）仍处于续费状态。把下面的申请发给我们，我们会在当天、下次扣费之前为你停止它。",
    "switchStopPrevious": "请我们停止之前的套餐",
    "switchEmailSubject": "停止之前套餐的续费（{{previous}}）",
    "switchEmailBody": "我在 ScanChess（{{email}}）从 {{previous}} 切换到了 {{current}}，请停止之前套餐的续费。",
    "switchPreviousCanceledDesc": "新套餐已生效。之前的套餐（{{previous}}）已停止，不会再续费。",
    "switchPreviousNoneDesc": "新套餐已生效。之前的套餐（{{previous}}）此前已停止，不会再产生扣费。",
    "switchPreviousCancelFailedTitle": "新套餐已生效，但之前的套餐仍在续费",
    "switchPreviousCancelFailedDesc": "未能自动停止 {{previous}}。请使用下方的申请，我们会在下次扣费前为你停止它。",
    "market": {
      "label": "购买渠道",
      "global": "国际版",
      "globalDetail": "美元 · 银行卡 / Apple Pay / Google Pay",
      "cn": "中国大陆",
      "cnDetail": "人民币 · 微信支付",
      "showingGlobal": "当前显示国际版价格：美元计价，银行卡、Apple Pay 或 Google Pay 支付。",
      "switchToCn": "你在中国大陆？切换到人民币价格（微信支付）。",
      "showingCn": "当前显示中国大陆价格：人民币计价，微信支付一次付清。",
      "switchToGlobal": "不在中国大陆？切换到国际版价格。"
    },
    "pass": {
      "period": "/年，一次付清",
      "noRenew": "到期不自动扣费",
      "buy": "微信支付购买",
      "extend": "再买一年（顺延）",
      "signInToBuy": "登录后购买",
      "note": "通行证一次付清、有效 365 天，到期不会自动扣费。要续期就再买一张，剩余天数会顺延，不会浪费。",
      "holderSwitchDesc": "你持有的通行证还在有效期内。通行证到期后再订阅，以免重复付费。",
      "listPrice": "原价 {{price}}",
      "proplusNote": "面向俱乐部和教练的 Pro+ 暂未在中国大陆渠道销售。如有需要，请发邮件至 {{email}}。"
    },
    "smallPrintCn": "中国大陆渠道以人民币计价，通过微信支付一次付清，购买的是 365 天 Pro 通行证（仅此一档）：到期不自动扣费，也不需要取消；再次购买即可续期，剩余天数顺延。所有付款均为最终交易，不提供退款（适用法律强制要求的情形除外），详见退款政策。销售主体为 Waffo，税费由 Waffo 在结算时计算。",
    "tierTagline": {
      "free": "扫描、分析、练习",
      "pro": "研究自己的对局、备战下一场",
      "proplus": "为俱乐部和教练设计"
    },
    "cards": {
      "freeBasics": "扫描、编辑、回放、PGN 导出和对局库",
      "freeAnalysis": "Stockfish 分析、每天 1 次免费 AI 讲解和每日练习",
      "proFeatures": "完整画像、开局库、对手侦察和赛事报告",
      "proPractice": "每日练习不限次数",
      "proplusEverything": "包含 Pro 的全部功能，报告和开局库上限更高",
      "proplusClub": "俱乐部棋手名册、学员页面和报告公开链接"
    },
    "compare": {
      "title": "套餐对比",
      "feature": "功能",
      "yes": "包含",
      "no": "不包含",
      "groups": {
        "credits": "积分",
        "analysis": "分析与 AI 讲解",
        "practice": "练习",
        "insights": "画像",
        "preparation": "备战",
        "events": "赛事与报告",
        "clubs": "俱乐部"
      },
      "rows": {
        "credits": "积分",
        "basics": "扫描、编辑、回放、PGN 导出、对局库",
        "engine": "每盘棋的 Stockfish 分析",
        "explain": "AI 讲解：对局教练、单个局面、赛事报告总结",
        "practice": "用自己的失误做每日练习",
        "insightsBasic": "画像概览、线上与线下对比",
        "insightsDeep": "完整画像：准确率走势、阶段、错误类型、开局、筛选",
        "repertoire": "开局库与偏离提醒",
        "scouting": "对手侦察报告",
        "eventReport": "赛事报告",
        "reportShare": "报告公开分享链接",
        "clubPlayers": "棋手名册、学员页面、把整轮扫描的对局分配给棋手"
      },
      "cells": {
        "signup": "注册送 10 个",
        "every30": "每 30 天 {{n}} 个",
        "perDay": "每天 {{n}} 次",
        "perMonth": "每月 {{n}} 份",
        "upTo": "最多 {{n}} 个",
        "unlimited": "不限",
        "preview": "预览",
        "explain_one": "每天免费 {{free}} 次，之后每次 {{count}} 个积分",
        "explain_other": "每天免费 {{free}} 次，之后每次 {{count}} 个积分"
      },
      "clubNote": "俱乐部功能在套餐为 Pro+ 的俱乐部工作区中使用。积分永不过期，未用完的会留在余额里。"
    }
  },
  "checkout": {
    "opening": "正在打开安全收银台…",
    "failed": "收银台没有打开。{{reason}} 没有产生任何扣款。如果一直这样，请发邮件至",
    "trust": {
      "secure": "由 Waffo 提供安全收银",
      "methodsCard": "银行卡、Apple Pay 或 Google Pay",
      "methodsWechat": "微信支付",
      "cancelAnyTime": "随时可取消",
      "oneTime": "一次付清",
      "chargeMonthly": "今天支付 {{price}}，之后每月 {{price}}，直到你取消。如有税费，在收银台计算。",
      "chargeYearly": "今天支付 {{price}}，之后每年 {{price}}，直到你取消。如有税费，在收银台计算。",
      "chargePass": "一次支付 {{price}}，获得 365 天 Pro，到期不会自动扣费。如有税费，在收银台计算。",
      "final": "所有付款概不退款——查看退款政策",
      "returnHere": "付款后会返回本页。"
    },
    "confirm": {
      "processingTitle": "正在确认付款…",
      "processingDesc": "Waffo 正在把付款结果通知我们，通常不到一分钟，请让本页保持打开。",
      "processingDescStay": "通常不到一分钟。本页内容都会保持原样。",
      "pendingTitle": "付款已收到，仍在处理中",
      "pendingDesc": "付款确认还没有送达我们。一旦送达，套餐会自动开通，无需重复付款。如果几分钟后仍无变化，请发邮件至 {{email}}，我们会帮你处理。",
      "refresh": "再查一次",
      "emailSupport": "发邮件给客服",
      "confirmedTitle": "付款已确认",
      "confirmedPlan": "付款已确认——你已开通 {{plan}}",
      "confirmedClubPlan": "付款已确认——俱乐部已开通 {{plan}}",
      "creditsAdded_one": "已向你的余额增加 {{count}} 积分。",
      "creditsAdded_other": "已向你的余额增加 {{count}} 积分。",
      "creditsAddedClub_one": "已向俱乐部余额增加 {{count}} 积分。",
      "creditsAddedClub_other": "已向俱乐部余额增加 {{count}} 积分。",
      "startScan": "扫描记谱单",
      "openWorkspace": "打开工作区",
      "resume": "你之前的操作都还在这里。"
    }
  },
  "settings": {
    "title": "设置",
    "subtitle": "你的账号、套餐，以及你的数据去向。",
    "account": "账号",
    "memberSince": "注册时间",
    "password": "密码",
    "sendReset": "发送重置链接到邮箱",
    "resetSent": "重置链接已发送",
    "resetSentDesc": "请查收邮件并点击链接设置新密码。",
    "resetFailed": "重置邮件发送失败",
    "plan": "套餐与积分",
    "currentPlan": "当前套餐",
    "upgrade": "查看套餐",
    "refresh": "刷新",
    "referral": "邀请好友",
    "preferences": "偏好设置",
    "analytics": "分析 Cookie",
    "analyticsAccepted": "已同意",
    "analyticsDeclined": "已拒绝",
    "analyticsUnset": "尚未选择",
    "analyticsOn": "已开启分析",
    "analyticsOff": "已关闭分析",
    "analyticsNote": "只有在开启状态下，Google Analytics 与 Microsoft Clarity 才会运行。在法律要求事前同意的地区（欧洲经济区、英国、瑞士），未同意前它们不会加载。详见",
    "yourData": "你的数据",
    "yourDataDesc": "把棋谱带走，或向我们索取全部数据副本。",
    "exportGames": "下载全部棋谱（{{count}}）",
    "exportEmpty": "还没有已保存的棋谱",
    "exportDone": "已导出 {{count}} 盘棋",
    "exportFailed": "棋谱导出失败，请重试。",
    "dangerZone": "账号操作",
    "displayName": "显示名称",
    "displayNamePlaceholder": "你的名字",
    "nameSaved": "名称已更新",
    "nameFailed": "名称保存失败",
    "passwordDesc": "修改密码需要输入当前密码。用 Apple 或 Google 登录的账号请改用重置链接。",
    "currentPassword": "当前密码",
    "newPassword": "新密码",
    "changePassword": "修改密码",
    "passwordChanged": "密码已修改",
    "passwordChangedDesc": "所有设备已退出登录，请用新密码重新登录。",
    "passwordFailed": "密码修改失败",
    "passwordMismatch": "两次输入的新密码不一致",
    "passwordTooShort": "新密码至少需要 6 个字符",
    "billingHistory": "账单记录",
    "billingHistoryDesc": "我们在你账号上记录到的事件。收据由 Waffo 发送到你的邮箱。",
    "payment": {
      "paid": "已支付",
      "canceled": "已取消",
      "refunded": "已退款"
    },
    "receiptNote": "需要收据或发票？回复 Waffo 的邮件，或带上订单号联系客服。",
    "analyticsDefaultOn": "你所在地区默认开启",
    "analyticsDefaultOff": "未同意前保持关闭",
    "passwordSignsOutNote": "修改密码后，所有设备（包括当前设备）都会退出登录。",
    "passwordConfirmTitle": "修改密码并在所有设备退出登录？",
    "passwordConfirmDesc": "登录了此账号的所有设备（包括当前设备）都会退出登录。随后会跳转到登录页，用新密码继续。",
    "exportGamesAll": "下载全部棋谱",
    "requestData": "索取数据副本",
    "dataRights": "其他数据权利请来信 "
  },
  "status": {
    "title": "服务状态",
    "subtitle": "打开本页时从你的浏览器实时检测——不是我们手填的数字。",
    "website": "网站",
    "api": "扫描与账号 API",
    "checking": "检测中",
    "up": "可访问",
    "down": "无法访问",
    "recheck": "重新检测",
    "checkedAt": "最后检测：{{time}}",
    "footnote": "网站一行是这个页面 HTML 的响应时间（首次为浏览器记录的到达时间，重新检测时为一次完整请求）；API 一行是一次实时的 /api/health 请求。",
    "failingHint": "扫描本身失败？请看 ",
    "downTitle": "从这里连不上 API",
    "downBody": "在恢复之前，扫描与登录都会失败。如果持续几分钟以上，请告诉我们：",
    "honestTitle": "关于这个页面",
    "honestBody": "我们不公布可用率百分比，因为我们并没有在统计它。本页只是用你的浏览器向 API 发出和扫描时相同的请求并显示结果。这里失败也可能是你自己的网络或请求被拦截。"
  },
  "changelog": {
    "title": "更新日志",
    "subtitle": "什么时候改了什么。",
    "feedback": "有想让我们改的地方吗？"
  },
  "savedGame": {
    "title": "已保存的棋谱",
    "body": "你正在查看棋谱库里的一盘棋。编辑和导出都不收费——重新扫描只会为已有的棋谱再花一次积分。",
    "newScan": "扫描新的记谱单",
    "backToLibrary": "返回我的棋谱"
  },
  "tools": {
    "common": {
      "home": "ScanChess",
      "load": "加载",
      "clear": "清空",
      "copy": "复制",
      "copied": "已复制到剪贴板",
      "copyFailed": "复制失败——请手动选中复制",
      "download": "下载",
      "share": "分享链接",
      "shareCopied": "分享链接已复制",
      "embed": "嵌入代码",
      "embedCopied": "嵌入代码已复制",
      "openInEditor": "在棋盘编辑器中打开",
      "openInViewer": "在 PGN 回放中打开",
      "analyzeLichess": "到 Lichess 分析",
      "flipBoard": "翻转棋盘",
      "chooseFile": "选择文件",
      "dropHint": "或把文件拖到这里",
      "pasteHint": "也可以直接把着法粘贴到上面",
      "loadSample": "加载示例",
      "navStart": "初始局面",
      "navPrev": "上一着",
      "navNext": "下一着",
      "navEnd": "最终局面",
      "featuresTitle": "这个工具能做什么",
      "faqTitle": "常见问题",
      "relatedTools": "更多免费工具",
      "relatedGuides": "这个工具的相关指南",
      "allTools": "全部工具",
      "white": "白方",
      "black": "黑方",
      "fen": "FEN",
      "privacyNote": "在浏览器本地运行，不上传任何内容。",
      "openTool": "打开工具",
      "scanStripBoard": "有这个局面的截图或照片？扫描一下，棋盘会自动摆好。",
      "scanStripScoresheet": "对局记在纸质记谱单上？扫描成 PGN，不用手动输入。",
      "scanStripAction": "扫描图片",
      "scanStripSample": "试试免费示例",
      "pasteFirst": "请先在上方粘贴 PGN、选择文件，或载入示例。",
      "scanStripPrintable": "赛后把填好的记谱单拍照扫描，直接得到 PGN，不用再手动录入。",
      "pgnInputLabel": "PGN 或着法列表",
      "exampleGame": "示例对局",
      "pasteYourGame": "粘贴你的对局",
      "changeGame": "更换对局",
      "cancel": "取消"
    },
    "viewer": {
      "placeholder": "在这里粘贴 PGN，例如：\n\n[Event \"Casual game\"]\n[White \"Anderssen\"]\n[Black \"Kieseritzky\"]\n\n1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ ...",
      "gameSelect": "对局",
      "gameCount": "文件中共 {{count}} 局",
      "movesTitle": "着法",
      "headersTitle": "对局信息",
      "noMoves": "还没有加载着法。在上方粘贴 PGN 后点击“加载”。",
      "parseFailed": "无法从这段文本读取任何着法。",
      "stoppedAt": "在 {{label}} {{token}} 处停止——这一着在当前局面不合法。打开校验器查看详情。",
      "downloadPgn": "下载 PGN",
      "currentFen": "当前局面",
      "result": "结果",
      "openValidator": "用校验器检查",
      "startPosition": "初始局面"
    },
    "editor": {
      "startPosition": "初始局面",
      "emptyBoard": "空棋盘",
      "fenInput": "粘贴 FEN 以加载",
      "fenLoad": "加载 FEN",
      "turn": "走棋方",
      "white": "白方",
      "black": "黑方",
      "castling": "易位权",
      "epSquare": "吃过路兵格",
      "epNone": "无",
      "downloadPng": "下载 PNG",
      "swapColours": "黑白互换",
      "tray": "棋子",
      "trayHint": "把棋子拖到棋盘上，或先选中棋子再点格子。把棋子拖出棋盘即可移除。",
      "eraser": "橡皮擦",
      "playable": "局面合法，可以使用",
      "notPlayable": "局面不可用",
      "status": {
        "checkmate": "将死：{{side}}被将死。",
        "stalemate": "逼和：{{side}}没有合法着法。",
        "check": "轮到{{side}}走，正被将军。",
        "normal": "轮到{{side}}走。"
      },
      "problems": {
        "pawn-back-rank": "兵不能位于第一或第八横线。",
        "white-king-count": "白方必须恰好有一个王。",
        "black-king-count": "黑方必须恰好有一个王。",
        "opponent-in-check": "非走棋方正处于被将军状态。",
        "unplayable": "引擎无法加载这个局面。"
      },
      "selectedPiece": "正在放置：{{piece}}",
      "pieceNames": {
        "wK": "白王",
        "wQ": "白后",
        "wR": "白车",
        "wB": "白象",
        "wN": "白马",
        "wP": "白兵",
        "bK": "黑王",
        "bQ": "黑后",
        "bR": "黑车",
        "bB": "黑象",
        "bN": "黑马",
        "bP": "黑兵"
      },
      "pngFailed": "当前浏览器无法渲染图片。"
    },
    "validator": {
      "placeholder": "粘贴 PGN 或纯着法列表，例如：\n\n1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. 0-0 Be7 ...",
      "validate": "校验",
      "okTitle": "全部 {{count}} 着均合法",
      "okBody": "对局从初始局面顺利走完。结果：{{result}}。",
      "errorTitle": "{{label}} {{token}} 为非法着法",
      "errorBody_one": "在此之前有 {{count}} 着合法。下面列出了该局面下的合法着法。",
      "errorBody_other": "在此之前有 {{count}} 着合法。下面列出了该局面下的合法着法。",
      "warningsTitle": "已自动修正记谱",
      "warningsBody": "{{count}} 处记法被改写为标准 SAN。",
      "legalMoves": "此处的合法着法",
      "rewritten": "{{token}} → {{replacement}}",
      "trailing": "错误之后的 {{count}} 着未检查。",
      "unknownToken": "忽略了无法识别的内容 “{{token}}”。",
      "cleanedTitle": "清洗后的 PGN",
      "partialTitle": "出错前的着法",
      "partialNote": "从非法着法开始的内容都没有包含，结果也被设为“*”。修正那一着才能保留整盘棋。",
      "downloadPgn": "下载 PGN",
      "empty": "请先粘贴一些着法。",
      "openViewer": "在回放中查看",
      "boardAtError": "停止时的局面",
      "movesPlayed": "已走着法",
      "tokens": "读取的标记",
      "notPgn": "这段文本看起来不是 PGN 或着法列表。请粘贴类似 1. e4 e5 2. Nf3 的着法，或带有 [Event \"…\"] 标签的 PGN。",
      "didYouMean": "你是不是想走 <move>{{san}}</move>？",
      "replaceWith": "把 {{token}} 改成 {{san}}",
      "pickToReplace": "点选一个着法替换 {{token}}，然后自动重新校验。",
      "foreignLetters": "这些着法看起来用的是其他语言的棋子字母：{{language}}（{{letters}}）。先翻译成英文 SAN，再回来校验。",
      "foreignLettersAction": "翻译成英文 SAN"
    },
    "analysis": {
      "summaryTitle": "复盘概要",
      "white": "白方",
      "black": "黑方",
      "accuracy": "准确率",
      "jumpToFirst": "跳到第一处",
      "save": {
        "button": "保存到我的对局",
        "lead": "把这盘棋和复盘分析一起保存，并从你的错误中生成练习。",
        "saved": "已保存到你的对局。",
        "savedWithAnalysis": "已连同复盘分析保存到你的对局。",
        "open": "打开这盘棋",
        "signup": "免费注册，保存这盘棋，并从你的错误中生成练习"
      }
    },
    "rating": {
      "currentRating": "你当前的等级分",
      "kFactor": "发展系数",
      "kReasons": {
        "new-player": "前 30 盘定级期",
        "junior": "2300 分以下青少年",
        "reached-2400": "曾达到 2400",
        "standard": "常规",
        "manual": "手动指定"
      },
      "newPlayer": "还在完成前 30 盘等级分对局",
      "junior": "青少年棋手（到满 18 岁那年年底为止）",
      "reached2400": "我的等级分达到过 2400",
      "budgetNote": "K 从 {{base}} 降到 {{k}}，因为 K 乘以盘数不能超过 700。",
      "minimumNote": "FIDE 只公布 {{minimum}} 分以上的等级分，低于这个分数会显示为无等级分。",
      "opponents": "对局",
      "addGame": "添加一盘",
      "round": "轮",
      "opponentRating": "对手等级分",
      "opponentRatingFor": "第 {{round}} 轮对手等级分",
      "result": "结果",
      "expected": "期望得分（分差）",
      "removeGame": "删除第 {{round}} 轮",
      "results": {
        "win": "胜",
        "draw": "和",
        "loss": "负"
      },
      "noGames": "添加一盘对局才能算出等级分变化。",
      "newRating": "新的等级分",
      "scored": "实际得分",
      "expectedTotal": "期望得分合计",
      "deltaSum": "实际减期望之和",
      "rawChange": "取整前",
      "performance": "等级分表现",
      "howTitle": "这是怎么算出来的",
      "howBody": "每盘的期望得分取自 FIDE 的 8.1.2 表，而不是逻辑斯蒂曲线，所以结果和公布的等级分表一致。把这些差值相加再乘以 K，然后取整到整数，正好 0.5 时向远离零的方向进位。",
      "capNote": "对 {{threshold}} 分以下的棋手，超过 400 的分差按 400 计算。{{threshold}} 及以上按真实分差计算，这项修订自 2025 年 10 月 1 日起生效。",
      "list": "等级分类别",
      "lists": {
        "standard": "标准棋",
        "rapid": "快棋",
        "blitz": "超快棋"
      },
      "enterRating": "输入你当前公布的等级分，即可看到变化。",
      "ratingClamped": "{{typed}} 不在 FIDE 等级分的合理范围内，计算时按 {{used}} 处理。请检查输入。",
      "rowEmpty": "请输入对手等级分",
      "rowUnrated": "低于 {{minimum}} 属无等级分：不计入",
      "rowGap600": "分差 600 以上且有一方高于 2600：不计等级分",
      "rowClamped": "按 {{used}} 计算",
      "noRatedGames": "这些对局都不计入等级分，请检查对手的等级分。",
      "capNoteRapidBlitz": "快棋和超快棋中，超过 400 的分差对所有棋手都按 400 计算，2650 的例外只适用于标准棋。自 2024 年 12 月 1 日起，双方分差达到 600 分或以上、且任一方高于 2600 时，该局不计等级分。"
    },
    "diagram": {
      "previewAlt": "该局面的棋盘图",
      "startPosition": "初始局面",
      "sizeLabel": "图片尺寸",
      "themeLabel": "棋盘配色",
      "themes": {
        "classic": "经典棕",
        "green": "比赛绿",
        "blue": "蓝",
        "walnut": "胡桃木",
        "slate": "石板灰"
      },
      "coordinates": "显示坐标",
      "downloadPng": "下载 PNG",
      "downloadSvg": "下载 SVG",
      "copySvg": "复制 SVG 代码",
      "exportNote": "局面图由浏览器用矢量棋子绘制，没有水印，也不要求署名。"
    },
    "gif": {
      "previewAlt": "该对局的动态棋盘",
      "firstFrameAlt": "GIF 的第一帧",
      "rendering": "正在绘制第 {{done}} / {{total}} 帧",
      "fileSize": "{{px}} × {{px}} 像素 · {{size}} KB",
      "fromMove": "从这一步开始",
      "toMove": "到这一步结束",
      "startPosition": "初始局面",
      "frameLimit": "已截断到 {{max}} 帧；想做别的片段请缩小区间。",
      "sizeLabel": "画面尺寸",
      "speedLabel": "速度",
      "speeds": {
        "slow": "慢",
        "normal": "正常",
        "fast": "快"
      },
      "highlight": "给每一着经过的格子着色",
      "download": "下载 GIF",
      "privacyNote": "画帧和 GIF 编码都在你的设备上完成，不上传任何内容。",
      "failed": "GIF 生成失败。请换更小的尺寸或更短的区间再试。",
      "downloadFailed": "GIF 保存失败。请再点一次下载，或直接保存预览图。",
      "rangeReversed": "“从这一步开始”在“到这一步结束”之后。请调换两者再生成 GIF。",
      "play": "播放",
      "pause": "暂停",
      "scrub": "动画中的局面",
      "scanPrompt": "对局记在纸质记谱单上？扫描成 PGN"
    },
    "print": {
      "columnsLabel": "分栏",
      "columns": "{{count}} 栏",
      "diagramsLabel": "局面图",
      "diagramModes": {
        "none": "不放局面图",
        "final": "只放终局",
        "every10": "每 10 回合一张",
        "every20": "每 20 回合一张"
      },
      "paperLabel": "纸张",
      "letter": "US Letter",
      "showTags": "包含 PGN 标签",
      "printButton": "打印 / 另存为 PDF",
      "saveHint": "在打印窗口里把目标改成“另存为 PDF”。",
      "afterMove": "{{move}} {{san}} 之后"
    },
    "hub": {
      "title": "免费国际象棋工具",
      "trustNoAccount": "即开即用 · 无需注册",
      "faq": {
        "q1": "这些国际象棋工具真的是免费且免注册的吗？",
        "a1": "免费，而且没有使用次数限制。所有工具都不需要账号。只有几项可选功能需要一个免费账号：在最佳着法查找里识别实物棋盘照片（截图在浏览器里识别，不需要账号）；请求 AI 讲解局面（每天免费 1 次，之后 1 个积分）；把局面保存到你的账号；以及在对局分析里点“保存到我的对局”，把这盘棋连同分析存进你的账号。",
        "q2": "我的 PGN 棋谱或摆放的局面会被上传到服务器吗？",
        "a2": "不会。PGN 解析、着法校验、引擎分析和棋图生成都在你的浏览器里完成。只有在你主动请求时才会发送内容：设备上识别不了、需要交给识别服务的照片；AI 讲解所依据的局面和引擎变化；你保存到账号里的局面；你保存到对局库的对局及其分析；以及年度回顾向 Chess.com 或 Lichess 查询的用户名。",
        "q3": "如果我手里有一张纸质的手写记谱单，该怎么录入？",
        "a3": "拍一张记谱单照片，上传到 ScanChess 扫描器。它会识别笔迹、按规则逐步回放校验，标出没把握的着法请你核对，然后导出 PGN。扫描一张记谱单 2 个积分，新账号赠送 10 个。",
        "q4": "这些工具支持手机或平板使用吗？",
        "a4": "支持。所有工具都能在手机和平板的浏览器里使用，电脑上也一样。"
      },
      "lead": "查最佳着法、分析对局、转换 PGN 和 FEN、打印记谱单，全部在浏览器里完成。"
    },
    "printable": {
      "selectLayout": "1. 选择记谱单版式",
      "selectLayoutDesc": "所有版式都按 A4 / US Letter 排好，可以直接打印或“另存为 PDF”。",
      "printButton": "打印记谱单 (或存为 PDF)",
      "signInToPrint": "登录后免费打印 (存为 PDF)",
      "clearAll": "清空所有预填",
      "signInRequiredTitle": "请先登录",
      "signInRequiredDesc": "登录 ScanChess 账号即可免费打印与导出标准记谱单",
      "layouts": {
        "standard60Badge": "正规赛推荐",
        "standard60Title": "标准 60 回合",
        "standard60Desc": "双栏，对局与签名完整",
        "classical80Badge": "慢棋长局",
        "classical80Title": "慢棋 80 回合",
        "classical80Desc": "适合长时间深度对抗",
        "junior40Badge": "儿童 / 初学",
        "junior40Title": "大格 40 回合",
        "junior40Desc": "加大行距，更易书写",
        "rapid2in1Badge": "快棋经济版",
        "rapid2in1Title": "双局 2 合 1 (30着)",
        "rapid2in1Desc": "一页打两局，省纸高效"
      },
      "prefillTitle": "2. 可选：预填赛事信息 (直接打印在纸张上)",
      "prefillHint": "留空则供棋手现场手写",
      "club": "俱乐部 / 主办方 (选填)",
      "clubPlaceholder": "印在标题下方，例如：城南国际象棋俱乐部",
      "paper": "纸张",
      "event": "赛事名称 (选填)",
      "eventPlaceholder": "例如：市俱乐部公开赛",
      "date": "比赛日期 (选填)",
      "datePlaceholder": "例如：2026-09-08",
      "round": "轮次 (选填)",
      "table": "台次 (选填)",
      "whitePlayer": "白方姓名 (选填)",
      "blackPlayer": "黑方姓名 (选填)",
      "fieldOptional": "留空供手写",
      "printTip": "提示：在浏览器的打印选项中，选择“目标打印机：另存为 PDF”可导出高清电子文档；勾选“背景图形”以确保清晰线框。",
      "digitizeCta": "手上有写完的记谱单？拍照转 PGN →",
      "sheet": {
        "title": "国际象棋记谱单",
        "subtitle": "ScanChess.com · 国际棋联 FIDE 标准记谱单",
        "badgeStandard": "60 着 · 正规赛",
        "badgeClassical": "80 着 · 慢棋长局",
        "badgeJunior": "40 着 · 儿童大格",
        "eventLabel": "赛事:",
        "roundLabel": "轮次:",
        "tableLabel": "台次:",
        "dateLabel": "日期:",
        "whiteLabel": "白方:",
        "blackLabel": "黑方:",
        "ratingLabel": "等级分:",
        "resultLabel": "结果:",
        "whiteSignLabel": "白方签字:",
        "blackSignLabel": "黑方签字:",
        "signLabel": "签字:",
        "signLine": "白方 ________ 黑方 ________",
        "white": "白方 (White)",
        "black": "黑方 (Black)",
        "game1": "第 1 局 · 30 着",
        "game2": "第 2 局 · 30 着",
        "cutHere": "✂ 沿虚线裁开",
        "digitize": "⚡ 赛后使用 AI 几秒将手写记谱转为 PGN 棋谱:",
        "digitizeBody": "用手机平整拍摄本记谱单，ScanChess 运用视觉 AI 自动识别手写着法并校验每步合法性，导出 PGN 到 Lichess 与 Chess.com。",
        "footerNote": "官方比赛标准记谱单",
        "signInToPrint": "请先登录 ScanChess 账号以免费打印或下载官方记谱单 (scanchess.com)",
        "qrLabel": "二维码：打开 ScanChess 记谱单扫描"
      },
      "previewCaption": "打印预览。着法在打印出的纸上手写；上方的可选信息会印在记谱单上。"
    },
    "board": {
      "promoteTo": "升变为",
      "undo": "悔一步",
      "reset": "回到初始局面",
      "whiteToMove": "轮到白方走",
      "blackToMove": "轮到黑方走",
      "inputLabel": "从 FEN 或 PGN 开始",
      "inputPlaceholder": "粘贴 FEN 或 PGN",
      "inputEmpty": "请先粘贴 FEN 或 PGN。",
      "inputInvalid": "这既不是 FEN，也不是第一步合法的 PGN。",
      "copyFen": "复制 FEN",
      "copyPgn": "复制 PGN",
      "engineHint": "走出第一步时引擎会自动启动。",
      "movesTitle": "着法",
      "noMoves": "走一步棋开始分析，着法会显示在这里。",
      "findBestMove": "查找最佳着法",
      "navGroup": "前后翻看着法",
      "editGroup": "修改棋盘",
      "linkFenError": "链接里的 FEN 摆不出来：{{reason}}棋盘暂时显示初始局面。",
      "linkPgnError": "链接里的对局读不出来：{{reason}}棋盘暂时显示初始局面。",
      "fenInvalid": "这个 FEN 摆不出来：{{reason}}",
      "fenError": {
        "fields": "FEN 需要棋子布局（八条横线，用 / 分隔）和轮到哪方走（w 或 b）。",
        "ranks": "布局里有 {{ranks}} 条横线，应该是 8 条，用 / 分隔。",
        "character": "“{{detail}}”既不是棋子字母（KQRBNP、kqrbnp），也不是 1 到 8 的数字。",
        "rankLength": "横线“{{detail}}”加起来不是 8 格。",
        "side": "轮到哪方走只能写 w 或 b，不能是“{{detail}}”。",
        "kings": "双方必须各有且只有一个王。",
        "pawnBackRank": "兵不能在第一或第八横线上。",
        "opponentInCheck": "刚走完的一方正被将军，实战里不可能出现。",
        "other": "这不是合法的局面。"
      },
      "moveInputLabel": "输入着法",
      "moveInputHint": "用英文字母表示棋子（K、Q、R、B、N），例如 Nf3、exd5 或 O-O，然后按回车。",
      "moveInputPlaceholder": "Nf3",
      "playMove": "走棋",
      "moveInputEmpty": "请先输入着法，例如 Nf3。",
      "moveInputIllegal": "{{move}} 在这个局面里不是合法着法。",
      "boardLabel": "棋盘。{{turn}}。{{pieces}}",
      "pieceOn": "{{piece}}在 {{square}}",
      "lastMove": "上一步：{{move}}",
      "startPosition": "初始局面",
      "evaluation": "评估：{{score}}"
    },
    "bestMove": {
      "answerTitle": "最佳着法",
      "sideToMove": "走棋方",
      "whiteToMove": "白方走",
      "blackToMove": "黑方走",
      "find": "查找最佳着法",
      "engineNote": "Stockfish 18 在你的浏览器里运行。第一次计算要下载引擎，约 7 MB。",
      "playIt": "在棋盘上走出这一步",
      "inputTitle": "局面",
      "uploadTitle": "上传截图或照片",
      "uploadHint": "拖入、粘贴或选择一张局面图片。截图直接在你的浏览器里识别，免费，不用登录。",
      "reading": "正在识别局面…",
      "readDone": "局面已识别。请检查棋盘和走棋方。",
      "signInToRead": "实体棋盘的照片，以及浏览器没把握识别的图片，会交给我们的服务器识别。登录后即可使用，免费且不扣积分。",
      "verifyToRead": "实体棋盘的照片，以及浏览器没把握识别的图片，会交给我们的服务器识别。验证邮箱后即可免费使用。",
      "signIn": "免费登录",
      "readFailedTitle": "无法识别局面",
      "readFailed": "识别这张图片时出了问题。请重试，或者直接粘贴 FEN。",
      "readNoBoard": "图片里没有找到棋盘。试试裁剪得更紧一些。",
      "readLimit": "图片识别次数已达到过去 24 小时的上限，请稍后再试。你也可以粘贴 FEN 继续分析，不限次数。",
      "readVerify": "请先验证邮箱，然后再试一次。",
      "fenLabel": "或者粘贴 FEN",
      "sideImpossible": "这里不可能轮到这一方走：对方的王会处于被将军状态。",
      "editPosition": "编辑局面",
      "openAnalysisBoard": "分析棋盘",
      "uncertain": "请检查这些格子：{{squares}}",
      "readDoneLocal": "已在你的浏览器里识别，图片没有上传。请检查棋盘和走棋方。",
      "localFailedTitle": "浏览器没能识别这张图片",
      "rotate": "把局面转过来",
      "rotateImpossible": "转过来之后不是合法局面。",
      "readDoneLocalTurn": "已在你的浏览器里识别，图片没有上传。走棋方已根据高亮的上一步设好，请检查棋盘。",
      "fenPlaceholder": "粘贴 FEN，例如从 Lichess 或 Chess.com 复制",
      "scoreWhiteView": "正数对白方有利",
      "checkmate": "将杀：{{side}}已经获胜，没有着法可找了。",
      "stalemate": "逼和：{{side}}没有合法着法，这盘棋是和棋。",
      "mateIn_one": "{{side}} {{count}} 步内将杀",
      "mateIn_other": "{{side}} {{count}} 步内将杀"
    },
    "wrapped": {
      "form": {
        "platform": "平台",
        "username": "用户名",
        "placeholder": "例如 {{name}}",
        "year": "年份",
        "yearSoFar": "{{year}}（截至目前）",
        "submit": "生成我的年度总结",
        "privacy": "任何公开的 Chess.com 或 Lichess 账号都可以，无需登录，也不用密码。",
        "examples": "试试：",
        "exampleAria": "生成 {{name}} 的年度总结"
      },
      "progress": {
        "profile": "正在 {{site}} 上查找 {{name}}…",
        "archives": "正在读取你的 {{site}} 对局存档…",
        "month": "已加载{{month}} · {{done}}/{{total}} 个月 · {{games}} 盘",
        "stream_other": "正在从 Lichess 读取对局… 已有 {{games}} 盘",
        "lichessHint": "Lichess 每秒大约传来 20 盘棋，一年下了几千盘的账号要等好几分钟。",
        "stopEarly": "现在就看结果",
        "stream_one": "正在从 Lichess 读取对局… 已有 {{games}} 盘",
        "streamOf_one": "正在从 Lichess 读取对局… 已读 {{games}} 盘，共约 {{expected}} 盘",
        "streamOf_other": "正在从 Lichess 读取对局… 已读 {{games}} 盘，共约 {{expected}} 盘",
        "lessThanMinute": "还剩不到一分钟",
        "minutesLeft_one": "还需约 {{count}} 分钟",
        "minutesLeft_other": "还需约 {{count}} 分钟"
      },
      "errors": {
        "invalidUsername": "这看起来不像用户名。只能包含字母、数字、_ 或 -。",
        "emptyUsername": "先输入一个 Chess.com 或 Lichess 用户名。",
        "notFound": "在 {{site}} 上找不到“{{name}}”。检查一下拼写，或者换另一个平台试试。",
        "rateLimited": "{{site}} 让我们慢一点。请过一分钟再试。",
        "network": "无法连接 {{site}}。请检查网络后重试。",
        "aborted": "已停止。",
        "tryOther": "改用 {{site}} 查找",
        "refused": "{{site}} 上有“{{name}}”这个用户，但暂时拒绝发送对局。请过几分钟再试。"
      },
      "empty": {
        "title": "{{name}} 在 {{year}} 年没有对局",
        "body": "账号找到了，但 {{site}} 上这一年没有已完成的对局。",
        "tryYear": "看看 {{year}} 年"
      },
      "small_other": "{{year}} 年目前只有 {{count}} 盘棋，还不够讲完整的故事。多下几盘再回来看看。",
      "partial_other": "已提前停止：结果只覆盖你今年最近的 {{games}} 盘棋。",
      "hero": {
        "eyebrow": "{{site}} · {{year}} 年度总结"
      },
      "ready": "{{name}} 的 {{year}} 年度总结已生成。",
      "archetype": {
        "label": "你的棋手人格",
        "also": "同时也是：{{list}}",
        "speedDemon": {
          "name": "闪电狂魔",
          "tagline": "想得快，预走更快。",
          "why": "你 {{value}}% 的对局是子弹棋。"
        },
        "giantSlayer": {
          "name": "巨人杀手",
          "tagline": "等级分越高的对手，越是你的目标。",
          "why": "{{value}} 盘积分赛战胜了比你高 200 分以上的对手。"
        },
        "wall": {
          "name": "铜墙铁壁",
          "tagline": "很难被打败，更难被攻破。",
          "why": "你 {{value}}% 的对局以和棋告终。"
        },
        "loyalist": {
          "name": "开局死忠",
          "tagline": "认准了一个开局，就再也不撒手。",
          "why": "执这一方时，{{value}}% 的对局下的是{{detail}}。"
        },
        "deepThinker": {
          "name": "深思熟虑派",
          "tagline": "你从不着急，棋盘上看得出来。",
          "why": "你 {{value}}% 的对局是快棋、慢棋或通讯棋。"
        },
        "grinder": {
          "name": "肝帝",
          "tagline": "再来一盘，然后再来一盘。",
          "why": "一年下了 {{value}} 盘棋。"
        },
        "allRounder": {
          "name": "全能选手",
          "tagline": "没有哪一种习惯能定义你的棋。",
          "why_other": "这一年均衡地下了 {{value}} 种时限。",
          "why_one": "这一年均衡地下了 {{value}} 种时限。"
        }
      },
      "stories": {
        "games": {
          "eyebrow": "对局总数",
          "line_other": "分布在 {{days}} 天里。",
          "line_one": "分布在 {{days}} 天里。"
        },
        "winRate": {
          "eyebrow": "胜率",
          "line": "{{wins}} 胜 · {{draws}} 和 · {{losses}} 负"
        },
        "rating": {
          "eyebrow": "{{timeClass}}等级分",
          "line": "{{start}} → {{end}}，最高 {{peak}}。"
        },
        "bestWin": {
          "eyebrow": "最佳胜局",
          "eyebrowRating": "最佳胜局 · 对手等级分",
          "line": "{{date}} 在{{timeClass}}中战胜 {{name}}。",
          "gap": "比你当时的等级分高 {{gap}} 分。",
          "open": "查看这盘棋"
        },
        "streak": {
          "eyebrow": "最长连胜",
          "line": "连续获胜，从 {{from}} 到 {{to}}。"
        },
        "opening": {
          "white": "执白最爱的开局",
          "black": "执黑最爱的开局",
          "line_other": "{{games}} 盘，占你执这一方对局的 {{share}}，得分率 {{score}}。",
          "then": "其次：{{list}}",
          "line_one": "{{games}} 盘，占你执这一方对局的 {{share}}，得分率 {{score}}。"
        },
        "firstMove": {
          "eyebrow": "最爱的第一步",
          "line": "执白时 {{share}} 的对局都这样开局。"
        },
        "month": {
          "eyebrow": "最忙的月份",
          "line_other": "这个月下了 {{games}} 盘。",
          "line_one": "这个月下了 {{games}} 盘。"
        },
        "weekday": {
          "eyebrow": "最爱在哪天下棋",
          "line": "最常在你当地时间 {{hour}} 前后。",
          "day_other": "最疯狂的一天：{{date}}，下了 {{games}} 盘。",
          "day_one": "最疯狂的一天：{{date}}，下了 {{games}} 盘。"
        },
        "opponent": {
          "eyebrow": "交手最多的对手",
          "line": "{{games}}：{{wins}} {{draws}} {{losses}}。",
          "unique_other": "今年你一共遇到了 {{opponents}} 位不同的对手。",
          "unique_one": "今年你一共遇到了 {{opponents}} 位不同的对手。"
        },
        "time": {
          "eyebrow": "下棋时长",
          "value_other": "约 {{hours}} 小时",
          "days": "相当于连续下了大约 {{days}} 天的实时对局。",
          "perDay": "下棋的日子里，平均每天约 {{minutes}} 分钟。",
          "value_one": "约 {{hours}} 小时"
        },
        "accuracy": {
          "eyebrow": "平均准确率",
          "line_other": "基于网站分析过的 {{games}} 盘对局。",
          "line_one": "基于网站分析过的 {{games}} 盘对局。"
        }
      },
      "timeClass": {
        "bullet": "子弹棋",
        "blitz": "超快棋",
        "rapid": "快棋",
        "classical": "慢棋",
        "daily": "通讯棋"
      },
      "timeClasses": {
        "title": "按时限统计",
        "timeClass": "时限",
        "games": "对局",
        "record": "胜 / 和 / 负",
        "rating": "等级分（起 → 止，最高）",
        "wdl": "{{wins}} / {{draws}} / {{losses}}",
        "ratingLine": "{{start}} → {{end}}（{{peak}}）",
        "variants_other": "其中包括 {{games}} 盘变体棋（如 Chess960），计入战绩，但不计入等级分和开局统计。",
        "variants_one": "其中包括 {{games}} 盘变体棋（如 Chess960），计入战绩，但不计入等级分和开局统计。"
      },
      "counts": {
        "games_one": "{{n}} 盘",
        "games_other": "{{n}} 盘",
        "wins_one": "{{n}} 胜",
        "wins_other": "{{n}} 胜",
        "draws_one": "{{n}} 和",
        "draws_other": "{{n}} 和",
        "losses_one": "{{n}} 负",
        "losses_other": "{{n}} 负"
      },
      "card": {
        "eyebrow": "国际象棋年度总结",
        "eyebrowSoFar": "国际象棋年度总结 · 截至目前",
        "games": "对局",
        "winRate": "胜率",
        "wdl": "{{wins}} 胜 · {{draws}} 和 · {{losses}} 负",
        "bestWin": "最佳胜局",
        "opponentRating": "{{name}} 的等级分",
        "streak": "最长连胜",
        "peak": "最高等级分",
        "openings": "最爱的开局",
        "asWhite": "执白：{{name}}",
        "asBlack": "执黑：{{name}}",
        "activeDays_one": "共 {{days}} 天",
        "activeDays_other": "共 {{days}} 天",
        "streakSub": "连胜局数",
        "peakIn": "{{timeClass}}最高分",
        "ratingRange": "今年 {{start}} → {{end}}",
        "hours": "对局时长（小时）",
        "hoursSub": "实时对局",
        "months": "每月对局"
      },
      "share": {
        "heading": "分享你的这一年",
        "body": "下载图片发到朋友圈、小红书或棋友群，或者复制链接，任何人打开都能看到这一页。",
        "download": "下载 PNG",
        "copyLink": "复制链接",
        "native": "分享…",
        "failed": "你的浏览器无法生成图片，不过链接仍然可用。",
        "title": "我的国际象棋年度总结",
        "text": "我的 {{year}} 国际象棋年度总结：{{games}} 盘棋。{{archetype}}",
        "previewAlt": "{{name}} 的 {{year}} 国际象棋年度总结图片",
        "formatLabel": "尺寸",
        "saveImage": "保存图片",
        "downloadShort": "下载",
        "preparing": "正在生成高清图片…",
        "saved": "已保存到下载",
        "shared": "已分享",
        "linkCopied": "链接已复制",
        "meta": "PNG · {{width}} × {{height}} 像素",
        "formats": {
          "story": {
            "name": "竖版",
            "hint": "抖音、Instagram 快拍"
          },
          "post": {
            "name": "帖子",
            "hint": "小红书、Instagram"
          },
          "square": {
            "name": "方形",
            "hint": "朋友圈、微信群"
          }
        },
        "tapAgain": "已就绪，点一下即可分享"
      },
      "crossSell": {
        "text": "今年参加过线下比赛？扫描你的记谱单，把那些对局也加进来。",
        "cta": "扫描记谱单"
      },
      "disclaimer": "与 Chess.com 和 Lichess 无关联。数据直接从它们的公开 API 传到你的浏览器，我们的服务器不保存任何内容。",
      "small_one": "{{year}} 年目前只有 {{count}} 盘棋，还不够讲完整的故事。多下几盘再回来看看。",
      "partial_one": "已提前停止：结果只覆盖你今年最近的 {{games}} 盘棋。",
      "partialMark_one": "部分数据 · {{games}} 盘",
      "partialMark_other": "部分数据 · {{games}} 盘",
      "partialNoArchetype_one": "只有部分对局，不生成棋手人格：人格要用全年每一盘棋来算，这里只有你最近的 {{games}} 盘。",
      "partialNoArchetype_other": "只有部分对局，不生成棋手人格：人格要用全年每一盘棋来算，这里只有你最近的 {{games}} 盘。"
    },
    "convert": {
      "linksLabel": "相关的国际象棋工具",
      "linkFenToPgn": "FEN 转 PGN",
      "linkPgnToFen": "PGN 转 FEN",
      "linkBoardImage": "棋盘图片转 FEN",
      "linkViewer": "PGN 查看器",
      "linkValidator": "PGN 校验器",
      "pgnPlaceholder": "粘贴 PGN 或着法列表，例如 1. e4 e5 2. Nf3",
      "fenPlaceholder": "粘贴 FEN，例如 rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1",
      "start": "开始局面",
      "afterMove": "{{move}} 之后",
      "emptyPgn": "请粘贴 PGN 或着法列表。",
      "notPgn": "这看起来不像 PGN 或着法列表。",
      "badFenHeader": "这份 PGN 里的 FEN 标签不是合法局面：{{reason}}",
      "badFen": "这个 FEN 不能使用：{{reason}}",
      "emptyFen": "请粘贴 FEN。",
      "fenReady": "局面已接受。下面的 PGN 从这里开始。在棋盘上走子即可把着法写进去。",
      "placementOnly": "只给了棋子位置，没有写轮到哪方，默认白方走棋，且不保留易位和吃过路兵的权利。",
      "stopped": "停在 {{label}} {{token}}。这一步之前的每个 FEN 仍然有效。",
      "copyFen": "复制 FEN",
      "copyAll": "复制每一步的 FEN",
      "downloadAll": "下载 FEN 列表",
      "downloadPgn": "下载 PGN",
      "copyPgn": "复制 PGN",
      "plyCount": "含开始局面在内共 {{count}} 个局面",
      "everyPly": "每一步之后的 FEN",
      "openFenToPgn": "在 FEN 转 PGN 中打开",
      "openPgnToFen": "在 PGN 转 FEN 中打开",
      "pgnOutput": "PGN",
      "addMoves": "拖动棋子，把后续着法加进去。它们会写进这份 PGN。",
      "nameOptional": "可选"
    },
    "links": {
      "boardEditor": "棋盘编辑器",
      "fenToImage": "FEN 转棋盘图",
      "flipFen": "翻转或镜像 FEN",
      "fenValidator": "FEN 校验器",
      "whatIsFen": "什么是 FEN？",
      "scanNotation": "扫描国际象棋记谱",
      "scoresheetScanner": "记谱单扫描器",
      "notationExplained": "国际象棋记谱法详解",
      "howLong": "一盘国际象棋要下多久？",
      "printableScoresheets": "可打印记谱单",
      "ratingCalculator": "FIDE 等级分计算器"
    },
    "fenValidator": {
      "validate": "检查 FEN",
      "validTitle": "这个 FEN 合法",
      "invalidTitle": "这个 FEN 不合法，发现问题：{{n}} 个",
      "invalidBody": "下面每个问题都说明了该改什么。",
      "status": {
        "normal": "轮到{{side}}走。",
        "check": "轮到{{side}}走，正被将军。",
        "checkmate": "轮到{{side}}走，已被将死。",
        "stalemate": "轮到{{side}}走，但无子可动：逼和，对局为和棋。"
      },
      "fixLabel": "改法：",
      "repairedTitle": "修正后的 FEN",
      "repairedBody": "同一局面，已修正易位、吃过路兵和步数计数字段。请确认这是你想要的。",
      "useRepaired": "检查这个 FEN",
      "fullFen": "完整 FEN",
      "openImage": "生成局面图",
      "openFlip": "翻转或镜像",
      "issue": {
        "tooManyFields": "这个 FEN 有 {{n}} 个用空格分隔的字段，最多只能有 6 个。",
        "missingFields": "FEN 的六个字段中，缺少最后 {{n}} 个。",
        "whiteKings": "棋盘上的白王数量：{{n}}。必须恰好有一个。",
        "blackKings": "棋盘上的黑王数量：{{n}}。必须恰好有一个。",
        "whitePawns": "棋盘上的白兵数量：{{n}}。每方最多 8 个。",
        "blackPawns": "棋盘上的黑兵数量：{{n}}。每方最多 8 个。",
        "whitePieces": "棋盘上白方的棋子和兵：{{n}} 个。每方最多 16 个。",
        "blackPieces": "棋盘上黑方的棋子和兵：{{n}} 个。每方最多 16 个。",
        "whitePromotions": "白方的后、车、象或马多于缺少的兵能升变出来的数量。",
        "blackPromotions": "黑方的后、车、象或马多于缺少的兵能升变出来的数量。",
        "castlingSyntax": "易位字段“{{detail}}”无效：应为 -，或由 K、Q、k、q 中的若干个组成，每个最多出现一次。",
        "castlingRight": "易位权 {{detail}} 与棋盘不符：对应的王和车并不都在初始格上。",
        "enPassantSyntax": "吃过路兵字段“{{detail}}”既不是 -，也不是第三或第六横线上的格子。",
        "enPassantRank": "吃过路兵格 {{detail}} 所在横线与轮到走棋的一方不符。",
        "enPassantPawn": "吃过路兵格 {{detail}} 不像是兵刚走两格留下的：它前面没有对应的兵，或兵经过的格子不是空的。",
        "halfmove": "半回合计数“{{detail}}”不是大于或等于 0 的整数。",
        "fullmove": "回合数“{{detail}}”不是大于或等于 1 的整数。"
      },
      "fix": {
        "fields": "先写棋子摆放，空一格，再写 w 或 b，例如 rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w。",
        "ranks": "从第八横线到第一横线，恰好写八条横线，用 / 分隔。",
        "character": "白方用 K Q R B N P，黑方用 k q r b n p，空格用数字 1 到 8 表示。",
        "rankLength": "每条横线上的棋子加数字之和必须等于 8。请重新数一下空格。",
        "side": "轮到白方走写 w，轮到黑方走写 b。",
        "tooManyFields": "删掉回合数后面多余的文字。",
        "missingFields": "无需修改：默认没有易位权、没有吃过路兵格，从第 1 回合开始。如有需要，再补上这些字段。",
        "whiteKings": "棋盘上只保留一个 K。",
        "blackKings": "棋盘上只保留一个 k。",
        "pawnBackRank": "移走或删除 {{detail}} 上的兵。兵走到底线就会升变。",
        "whitePawns": "删除白兵，直到剩下 8 个或更少。",
        "blackPawns": "删除黑兵，直到剩下 8 个或更少。",
        "whitePieces": "删除白方棋子，直到剩下 16 个或更少。",
        "blackPieces": "删除黑方棋子，直到剩下 16 个或更少。",
        "whitePromotions": "删除多出的棋子，或删掉一些白兵：初始配置之外的每个棋子，都需要一个兵升变而来。",
        "blackPromotions": "删除多出的棋子，或删掉一些黑兵：初始配置之外的每个棋子，都需要一个兵升变而来。",
        "castlingSyntax": "不能易位就写 -，否则只能按顺序写 K、Q、k 和 q。",
        "castlingRight": "从易位字段中删除 {{detail}}。",
        "enPassantSyntax": "写 -，或刚走了两格的兵身后的那个格子，例如 e3 或 d6。",
        "enPassantRank": "轮到白方走时，该格在第六横线；轮到黑方走时，在第三横线。否则写 -。",
        "enPassantPawn": "在吃过路兵字段写 -。",
        "halfmove": "不确定就写 0。",
        "fullmove": "不确定就写 1。",
        "opponentInCheck": "改变轮到走棋的一方，或移动正在将军的棋子：不该走棋的一方不能处于被将军状态。",
        "other": "在棋盘编辑器里摆好局面，再复制它生成的 FEN。"
      }
    },
    "flipFen": {
      "inputLabel": "要翻转的 FEN",
      "opsTitle": "变换",
      "rotate": {
        "label": "旋转 180°",
        "hint": "棋盘整个转过来，相当于从黑方一侧看。颜色不变。"
      },
      "mirror": {
        "label": "镜像 a↔h",
        "hint": "a 线和 h 线互换。颜色不变。"
      },
      "swapColors": {
        "label": "交换颜色",
        "hint": "上下镜像各条横线，每个棋子换成另一方的颜色。改由另一方走棋。"
      },
      "reset": "重置",
      "resultLabel": "新的 FEN",
      "droppedCastling": "已删除易位权：{{rights}}。",
      "droppedEnPassant": "已删除吃过路兵格 {{square}}。",
      "notLegal": "其他工具可能不接受这个新局面。{{reason}}",
      "downloadPng": "下载 PNG",
      "viewOnlyNote": "“翻转棋盘”只是转动棋图，不会改变 FEN。",
      "openValidator": "在 FEN 校验器中检查"
    },
    "notation": {
      "directionLabel": "方向",
      "toEnglish": "转成英文",
      "fromEnglish": "从英文转出",
      "languageLabel": "着法使用的字母",
      "auto": "自动识别",
      "targetLabel": "翻译成",
      "inputLabel": "要翻译的着法",
      "inputEnglishLabel": "英文 SAN 着法",
      "placeholder": "粘贴着法，例如 1. e4 e5 2. Sf3 Sc6 3. Lb5",
      "placeholderEnglish": "粘贴着法，例如 1. e4 e5 2. Nf3 Nc6 3. Bb5",
      "startFenLabel": "起始局面（可选 FEN）",
      "startFenPlaceholder": "默认为标准初始局面",
      "empty": "粘贴要翻译的着法。",
      "noMoves": "这段文字里没有找到着法。",
      "detected": "识别为：{{language}}（{{letters}}）。",
      "readAs": "按{{language}}读取（{{letters}}）。",
      "movesRead": "已读取着法：{{read}} / {{total}}。",
      "stopped": "停在 {{label}} {{token}}：在该局面下这不是合法着法。",
      "stoppedHint": "对照记谱单检查这一着，或手动选择语言。",
      "stoppedHintEnglish": "检查这一着，然后重新翻译。",
      "sanTitle": "英文 SAN",
      "copyMoves": "复制着法",
      "openValidator": "在 PGN 校验器中检查",
      "translatedTitle": "{{language}}着法",
      "languages": {
        "en": "英语",
        "de": "德语",
        "es": "西班牙语",
        "fr": "法语",
        "it": "意大利语",
        "pt": "葡萄牙语",
        "nl": "荷兰语",
        "ru": "俄语",
        "pl": "波兰语",
        "cs": "捷克语"
      }
    },
    "timeControl": {
      "inputLabel": "用时",
      "placeholder": "例如 90+30、15|10 或 90/40+30+30",
      "movesLabel": "对局回合数",
      "presetsLabel": "常见用时",
      "formatsHint": "先写分钟，再写每步加秒：15+10 和 15|10 相同。90/40+30+30 表示 40 回合 90 分钟，之后 30 分钟，每步加 30 秒。加上 d5 表示每步延时 5 秒。",
      "readAs": "解读为：{{text}}。",
      "period": {
        "first": "前 {{moves}} 回合 {{minutes}} 分钟",
        "whole": "每方整盘 {{minutes}} 分钟",
        "next": "之后 {{moves}} 回合再加 {{minutes}} 分钟",
        "rest": "余下对局再加 {{minutes}} 分钟",
        "increment": "从第 1 回合起每步加 {{seconds}} 秒",
        "delay": "每步延时 {{seconds}} 秒",
        "separator": "，"
      },
      "error": {
        "empty": "请输入用时，例如 90+30。",
        "invalid": "无法识别为用时。试试 90+30、15|10 或 90/40+30+30。",
        "noFinalPeriod": "在限步用时之后补上余下对局的时间，例如 90/40+30。",
        "tooLong": "这比任何棋钟能设置的时间都长。请检查数字。"
      },
      "waiting": "能识别用时后，结果会显示在这里。",
      "maxTitle": "最长对局，{{moves}} 回合",
      "perPlayer": "每位棋手的时钟最多 {{time}}。",
      "typicalTitle": "典型对局",
      "about": "≈ {{time}}",
      "typicalBody": "线下对局的中位数是 {{moves}} 回合，约用掉这些回合允许时间的 85%。",
      "fideTitle": "FIDE",
      "fideBody": "{{minutes}} 分钟：基本用时 + 60 × 加秒",
      "fide": {
        "blitz": "超快棋",
        "rapid": "快棋",
        "standard": "标准棋（慢棋）"
      },
      "lichess": {
        "ultraBullet": "UltraBullet",
        "bullet": "子弹棋（Bullet）",
        "blitz": "超快棋（Blitz）",
        "rapid": "快棋（Rapid）",
        "classical": "慢棋（Classical）"
      },
      "chesscom": {
        "bullet": "子弹棋（Bullet）",
        "blitz": "超快棋（Blitz）",
        "rapid": "快棋（Rapid）"
      },
      "estimateBody": "估算：{{time}}",
      "duration": {
        "hm": "{{h}} 小时 {{m}} 分钟",
        "h": "{{h}} 小时",
        "m": "{{m}} 分钟",
        "ms": "{{m}} 分 {{s}} 秒",
        "s": "{{s}} 秒"
      },
      "onlineNote": "Lichess 和 Chess.com 按“基本用时 + 40 × 加秒”估算对局时长。Chess.com：子弹棋不到 3 分钟，超快棋 3 分钟到不满 10 分钟，快棋 10 分钟及以上（Chess.com 帮助中心《Why are there different ratings in live chess?》）。Lichess：子弹棋不到 3 分钟，超快棋不到 8 分钟，快棋不到 25 分钟，慢棋 25 分钟及以上。",
      "movesError": "请输入 1 到 300 之间的回合数。在此之前，最长时长按 {{moves}} 回合计算。",
      "shareFallback": "浏览器拦截了复制。下面的链接已选中，直接复制即可。"
    }
  },
  "sharedGame": {
    "eyebrow": "分享的棋局",
    "scoresheet": "记谱单原图",
    "scoresheetPage": "记谱单第 {{page}} 页",
    "moveCount": "手数",
    "noMoves": "这盘棋没有可回放的着法。",
    "ctaTitle": "扫描你自己的记谱单",
    "ctaBody": "ScanChess 把手写记谱单的照片变成可回放的棋局和 PGN 文件。注册即送免费积分。",
    "ctaButton": "免费试用",
    "notFoundTitle": "该链接已失效",
    "notFoundBody": "分享链接已被撤销，或棋局已被删除。",
    "replayStops": "回放到第 {{ply}} 步停止：{{san}} 无法在前一局面中走出。下方仍列出了完整着法。",
    "playableCount": "可回放",
    "unplayableMove": "{{san}} 无法走出",
    "pgnPartial": "PGN 只包含可以走出的 {{playable}} 步，记谱单上共 {{total}} 步。",
    "claimButton": "存入我的对局库",
    "claimSaving": "保存中…",
    "claimed": "已存入你的对局库",
    "claimedDesc": "这盘棋的副本已在你的对局库中。分享者的记谱单照片仍归分享者所有。",
    "claimedOpen": "已在对局库 · 打开",
    "claimAlready": "这盘棋已经在你的对局库里",
    "claimFailed": "无法保存这盘棋",
    "metaTitle": "{{white}} 对 {{black}} | ScanChess",
    "metaDesc": "逐着回放这盘棋：{{white}} 对 {{black}}，共 {{count}} 手，由 ScanChess 从手写记谱单扫描生成。"
  },
  "apiErrors": {
    "RATE_LIMITED": "请求过于频繁，请过几分钟再试。",
    "RATE_LIMITED_RETRY_one": "请求过于频繁，请 1 分钟后再试。",
    "RATE_LIMITED_RETRY_other": "请求过于频繁，请 {{count}} 分钟后再试。",
    "NOT_FOUND": "这盘棋已不存在，可能已被删除。",
    "INVALID_INPUT": "请求未被接受，请检查数据后重试。",
    "PERMISSION_DENIED": "你没有权限访问这盘棋。",
    "EMAIL_NOT_VERIFIED": "验证邮箱前的免费扫描已用完，验证邮箱后即可继续扫描。",
    "INSUFFICIENT_CREDITS": "积分不足，无法完成本次扫描。",
    "SCAN_IN_PROGRESS": "这次扫描仍在处理中，请稍候。",
    "UPLOAD_LIMIT_REACHED": "图片存储空间已满，请删除一些已保存的棋谱腾出空间。",
    "IMAGE_TOO_LARGE": "有一张图片过大，请换一张更小的照片。",
    "PAYLOAD_TOO_LARGE": "请求内容过大，请减少图片数量或使用更小的图片。",
    "AI_GATEWAY_ERROR": "识别服务无法处理这张图片，积分已退还。",
    "AI_INVALID_RESPONSE": "识别服务返回了意外结果，积分已退还。",
    "NO_SCORESHEET_FOUND": "照片里读不到任何着法。请确保整张记谱单都在画面内、对焦清晰、光线充足。积分已退还。",
    "NO_BOARD_FOUND": "照片里读不到棋盘。请确保整个棋盘和所有棋子都在画面内。积分已退还。",
    "server": "服务器出了点问题，请稍后再试。",
    "network": "无法连接服务器，请检查网络后重试。",
    "unknown": "出了点问题，请重试。"
  },
  "annotations": {
    "title": "批注与变例",
    "needMoves": "先扫描或载入一盘棋，再进行批注。",
    "beforeGame": "对局开始前",
    "afterMove": "{{number}}{{ellipsis}} {{move}} 之后",
    "commentOn": "注释（{{position}}）",
    "commentPlaceholder": "这个局面有什么值得记下来的？",
    "commentHint": "注释会跟着这一步写进导出的 PGN。切换棋盘位置即可批注其他局面。",
    "variations": "已记录的变例",
    "insteadOfFirst": "替代第一着",
    "variationFrom": "添加变例（{{position}}）",
    "variationPlaceholder": "例如 Nf3 d5 exd5",
    "addVariation": "添加",
    "variationHint": "用 SAN 输入着法，以空格分隔；它将作为当前局面的另一种着法。",
    "illegalLine": "{{move}} 在这里不是合法着法。",
    "variationRejected": "这条路线无法从当前局面走出。",
    "previewVariation": "在棋盘上预演这条变例",
    "deleteVariation": "删除这条变例"
  },
  "batch": {
    "title": "一次扫描整轮比赛",
    "intro": "为裁判和俱乐部组织者准备：把一轮比赛的全部记谱单一次上传，双面或多页的按盘分组，每一盘都会单独识别并存入你的对局库。",
    "signInRequired": "整轮扫描需要登录——积分按局消耗。",
    "fileRejectedCount": "{{name}}：本批已达上限（{{max}} 张）。",
    "groups": "本批的对局",
    "gameLabel": "第 {{number}} 盘",
    "pageAlt": "第 {{number}} 张照片",
    "joinPrevious": "这张照片接续上一盘（同一份记谱单）",
    "separateGame": "以这张照片开始新的一盘",
    "sharedMeta": "共用信息",
    "sharedMetaHint": "记谱单上没写的内容由这里补齐：赛事、地点和日期会写入本批的每一盘。",
    "eventPlaceholder": "春季俱乐部锦标赛",
    "sitePlaceholder": "俱乐部场馆、城市",
    "balance": "余额 {{credits}}",
    "stop": "本盘结束后停止",
    "summary": "已保存 {{saved}} 盘，失败 {{failed}} 盘。",
    "state": {
      "pending": "等待中",
      "scanning": "识别中…",
      "saved": "已保存",
      "failed": "失败",
      "blocked": "积分不足"
    },
    "open": "打开",
    "retry": "重试",
    "moveCount": "{{count}} 步",
    "signInCta": "登录",
    "tournament": {
      "title": "对阵表",
      "hint": "上传本轮对阵表，每盘棋会自动填入正确的选手、等级分、轮次和台次。文件名形如 R3B7.jpg 的照片会自动分组归位。",
      "formats": "带表头的 CSV 或制表符分隔文件、PGN 名单，或 JSON 对阵文件。",
      "placed": "第 {{round}} 轮，第 {{board}} 台",
      "parseFailed": "{{name}} 无法作为对阵表读取。",
      "exportPgn": "整轮 PGN",
      "exportCsv": "核对 CSV"
    }
  },
  "extensionImport": {
    "title": "来自 ScanChess 插件",
    "loading": "正在接收采集内容…",
    "error": "未能接收或导入内容。可以在此重试，或丢弃后重新采集；当前工作会保留。",
    "imageHint": "导入前请先核对图片。只有点击识别按钮时才会调用 AI 识别，使用网站账号的积分。",
    "textHint": "导入到当前工具后检查并编辑棋谱。",
    "replaceHint": "导入将替换此页面的当前工作，请先保存需要保留的内容。",
    "board": "棋盘局面 → FEN",
    "scoresheet": "记谱单 → PGN",
    "imageAlt": "从 ScanChess 插件接收的图片",
    "accept": "确认导入",
    "discard": "丢弃",
    "retry": "重试",
    "cleanupPending": "正在清理临时传输内容…",
    "cleanupError": "无法确认临时传输内容已清理。重试只会清理传输，不会改变当前棋谱。",
    "analysisHint": "免费完整复盘这盘棋：Stockfish 在你的浏览器中运行，不消耗积分，也不需要账号。",
    "analyze": "分析这盘棋"
  },
  "policy": {
    "effectiveDate": "生效日期",
    "updated": "更新于",
    "seeAlso": "相关："
  },
  "privacyPage": {
    "title": "隐私政策",
    "intro": "ScanChess（“我们”）尊重并保护你的隐私。本隐私政策说明我们在你使用 ScanChess 网站和浏览器插件（“服务”）时如何收集、使用、存储和披露你的信息。",
    "sections": [
      {
        "heading": "我们收集的信息",
        "paragraphs": [
          "为提供棋谱扫描服务，我们收集以下信息："
        ],
        "bullets": [
          "账号信息：当你用邮箱和密码创建账号，或通过 Google 登录（使用 Apple 登录的账号则通过 Apple）时，我们会接收你的电子邮件地址和基本账号标识，用于创建并管理你的账号。",
          "你上传的内容：你拍摄或上传的记谱单、棋盘照片及相关图片。记谱单图片会被发送给 AI 模型服务商识别为 PGN。棋盘图片首先发送给 Chessvision.ai 的识别服务；如果该服务不可用或无法读出棋盘，则交给我们自己的识别服务，再交给 AI 模型服务商。识别结果为标准棋谱（PGN 或 FEN）。",
          "对局与分析：你保存或导入的对局、随对局保存的引擎分析、根据你的失误生成的练习局面、开局库、你保存的局面，以及你创建的报告。",
          "AI 讲解：当你请求讲解一盘棋、一个局面或一份赛事报告时，讲解所依据的着法、局面和引擎变化会被发送给 AI 模型服务商来撰写讲解，讲解文本会随对局、局面或报告保存。",
          "关联的线上账号与对手侦察：如果你关联了 Lichess 或 Chess.com 用户名，我们会通过这两个网站的公开 API 读取该账号的公开对局，并在你的账号中保存统计摘要；取消关联即会删除。对手侦察报告以同样方式读取对手的公开对局，并保存在你的账号中。",
          "俱乐部工作区：教练和俱乐部可以保存所教棋手的名册（姓名、在记谱单上使用的名字、FIDE ID、等级分以及是否为未成年棋手），以及与这些棋手关联的对局和报告。",
          "分享链接：对局或报告的公开链接由你创建，只显示该页面上的内容，并可随时撤回。报告链接还会在你选择的日期过期。",
          "积分与交易记录：你的积分余额、购买记录及消费记录，用于计费和防止滥用。",
          "使用与设备信息：为保障安全与改进服务，我们可能记录基本的日志数据（如设备类型、浏览器或插件版本、错误报告）。",
          "网站分析：Google Analytics 4 和 Microsoft Clarity 可能按照下方所述的 Cookie 规则及你的选择，收集页面访问、来源渠道、大致城市级位置和页面交互信息。"
        ]
      },
      {
        "id": "browser-extension",
        "heading": "浏览器插件的登录与扫描",
        "paragraphs": [
          "插件连接你在 ScanChess 网站使用的账号，将会话凭证和基本资料保存在受保护的插件存储中，断开连接或会话过期时清理。旧版插件可能提供弹窗登录，密码仅发送至 ScanChess 身份验证接口，不会保存在插件中。",
          "只有你主动发起棋盘识别，插件才会截取网页可见内容。框选与裁剪在本地完成，选中的图片区域发送至 api.scanchess.com 及本政策披露的棋盘识别服务商（Chessvision.ai、我们自己的识别服务、AI 模型服务商）。",
          "识别进度和结果保存在浏览器会话存储中，会话结束或断开账号时清理。你保存的局面存入 ScanChess 账号。插件不在后台收集浏览历史，也不包含分析追踪脚本。",
          "只有你主动选择，结果才会在 scanchess.com 打开。该传输绑定目标页面和标签页，30 分钟后过期。账号、图片和棋谱信息仅用于已披露的账号连接、识别、校对与保存功能。"
        ]
      },
      {
        "heading": "我们如何使用信息",
        "bullets": [
          "提供核心功能：识别你上传的图片、分析你的对局，并撰写你请求的讲解和报告。",
          "管理你的账号、积分余额与交易。",
          "保障服务安全、防止欺诈与滥用。",
          "响应你的支持请求并改进产品。",
          "根据你账号中的对局生成画像和练习局面。"
        ]
      },
      {
        "heading": "第三方服务",
        "paragraphs": [
          "我们与以下第三方共享必要的数据以提供服务："
        ],
        "bullets": [
          "AI 模型服务商（目前为 Google、Anthropic 和 OpenAI）：你上传用于识别的图片，以及你请求的 AI 讲解所依据的着法、局面和引擎变化，会被发送给它们处理。",
          "Chessvision.ai：你上传的棋盘图片会被发送给 Chessvision.ai 的识别服务，识别为 FEN。如果该服务不可用或无法读出棋盘，则改由我们自己运营的识别服务或 AI 模型服务商读取。",
          "Lichess 与 Chess.com：当你关联用户名、请求对手侦察报告或使用国际象棋年度回顾时，会通过它们的公开 API 请求该账号的公开对局。",
          "Google 登录（以及使用 Apple 登录的账号所用的 Sign in with Apple）：用于身份验证。",
          "Waffo（Waffo Pancake）：网页版订阅的销售主体（Merchant of Record）。你的支付信息由 Waffo 直接收集与处理，我们不接触也不存储你的银行卡信息；我们仅接收订单号、账单邮箱与订阅状态，用于开通权益。",
          "Google Analytics 4 与 Microsoft Clarity：网站分析服务，遵循下方所述的 Cookie 规则及你的选择。",
          "Cloudflare：为网站与 API 提供托管、CDN 与邮件路由，会处理必要的连接日志。",
          "我们不会将你的个人信息出售给第三方，也不会用于与本服务无关的广告。"
        ]
      },
      {
        "heading": "Cookie 与分析",
        "paragraphs": [
          "网页登录会话保存在仅供服务器读取的安全 Cookie 中。浏览器存储保存界面偏好；在你确认导入后，也可能保存棋谱数据和图片，以便恢复工作。这些草稿优先使用会话存储，会话存储不可用时使用本地存储。必要会话 Cookie 无法关闭，否则你无法在网页保持登录状态。",
          "除此之外，我们使用两项分析服务，它们都会设置 Cookie。在法律要求事前同意的地区——欧洲经济区（EEA）、英国、瑞士——未经你在提示中点击“同意”，它们不会加载；在其他地区它们默认开启，你可以随时关闭（见下）："
        ],
        "bullets": [
          "Google Analytics 4：统计访问量、来源渠道与页面表现。数据由 Google 处理，可能传输至中国境外（含美国）。",
          "Microsoft Clarity：记录页面内的点击、滚动与鼠标轨迹（会话回放）与热图，用于发现界面问题。我们不会用它来识别个人身份。"
        ],
        "paragraphsAfter": [
          "你可以随时更改选择：点击任意页面页脚的“Cookie 设置”，或在账号设置中操作。关闭后上述脚本完全不会加载；但已经在当前标签页运行的脚本不会因此中止，刷新页面后即不再出现。"
        ]
      },
      {
        "heading": "数据保留",
        "paragraphs": [
          "我们仅在为你提供服务所必需的期间内保留你的账号信息、棋谱历史和图片。当这些数据不再需要，或你请求删除时，我们会将其删除。"
        ]
      },
      {
        "heading": "数据删除与注销账号",
        "paragraphs": [
          "你可以随时在网页 https://scanchess.com/delete-account 上删除账号。该操作将删除你的账号信息以及与你账号关联的已上传图片、对局和扫描数据。删除后这些数据无法恢复。",
          "如需协助删除数据，你也可以发送邮件至 {{email}}。"
        ]
      },
      {
        "heading": "数据安全",
        "paragraphs": [
          "我们采用合理的技术与组织措施保护你的数据传输与存储。但请注意，任何通过互联网传输或电子存储的方式都无法保证绝对安全。"
        ]
      },
      {
        "heading": "你的权利",
        "paragraphs": [
          "无论你身处何地，你都可以就我们持有的个人数据主张以下权利。行使方式：发送邮件至 {{email}}，我们会在 30 天内答复。"
        ],
        "bullets": [
          "访问与获取副本：了解我们持有哪些与你有关的数据。",
          "更正：要求更正不准确的数据。",
          "删除：随时通过“注销账号”自助删除，或来信要求删除。",
          "限制处理与反对：反对我们基于正当利益进行的处理（例如分析）。",
          "数据可携：以通用格式获取你的棋谱数据；你也可以随时自行导出 PGN。",
          "撤回同意：随时撤回分析 Cookie 的同意，且不影响撤回前处理的合法性。"
        ],
        "paragraphsAfter": [
          "欧盟/英国用户：我们处理数据的法律依据是——为履行与你的服务合同（账号、扫描、计费）、我们的正当利益（安全与防滥用）、以及你的同意（分析 Cookie）。你有权向所在地的数据保护监管机构投诉。",
          "加州用户：我们不会“出售”或“分享”你的个人信息（依 CCPA/CPRA 定义），也不会因你行使权利而给予差别待遇。",
          "数据跨境：我们的服务商（各 AI 模型服务商、Chessvision.ai、Cloudflare、Google、Microsoft、Waffo）可能在中国境外（含美国与欧盟）处理数据。"
        ]
      },
      {
        "heading": "儿童隐私",
        "paragraphs": [
          "本服务不面向 13 周岁以下的儿童。我们不会在知情的情况下收集儿童的个人信息。如你认为有儿童向我们提供了个人信息，请联系 {{email}}，我们会删除。",
          "教练和俱乐部可以把所教的棋手（包括未成年棋手）加入俱乐部工作区，并有责任确保自己有权这样做。除非俱乐部另行设置，棋手默认按未成年处理：关于未成年棋手的报告分享出去时绝不显示其全名，链接有效期最长 30 天。父母或监护人可发送邮件至 {{email}}，要求我们删除未成年棋手的记录。"
        ]
      },
      {
        "heading": "本政策的变更",
        "paragraphs": [
          "我们可能会不时更新本隐私政策。重大变更将在本页面发布并更新顶部的生效日期。"
        ]
      },
      {
        "heading": "联系我们",
        "paragraphs": [
          "如你对本隐私政策有任何疑问，请通过电子邮件联系我们：{{email}}。"
        ]
      }
    ]
  },
  "termsPage": {
    "title": "服务条款",
    "intro": "欢迎使用 ScanChess。以下条款（“条款”）约束你对 ScanChess 网站及浏览器插件（“服务”）的访问与使用。使用本服务即表示你同意这些条款。",
    "sections": [
      {
        "heading": "服务说明",
        "paragraphs": [
          "ScanChess 是一款 AI 驱动的工具，可将手写记谱单和棋盘的照片识别并转换为标准棋谱格式（PGN 和 FEN），并帮助你研究对局：引擎分析、AI 撰写的讲解、练习和报告。AI 识别结果和 AI 讲解都可能存在错误，请你在使用前自行核对。"
        ]
      },
      {
        "heading": "账号与年龄要求",
        "paragraphs": [
          "你需要一个账号（邮箱和密码，或 Google 登录）才能使用部分功能。你有责任保护好你的账号，并对在你账号下发生的所有活动负责。",
          "本服务不面向 13 周岁以下的用户。若你未满 18 周岁（或你所在地的成年年龄），仅可在父母或监护人同意的前提下使用本服务；任何付费购买都必须由能够签订合同的成年人完成，或经其明确同意。",
          "教练和俱乐部可以把所教的棋手（包括未成年棋手）加入俱乐部工作区。添加棋手的人有责任确保自己有权这样做，例如已取得棋手本人或其父母、监护人的同意。"
        ]
      },
      {
        "heading": "订阅、积分与购买",
        "bullets": [
          "本服务使用积分：记谱单扫描消耗 2 个积分，棋盘照片识别消耗 1 个积分；AI 讲解每天免费 1 次，之后每次消耗 1 个积分；新账号注册即获得 10 个免费积分。当前价格、积分规则以及各套餐包含的内容请见定价页 scanchess.com/pricing。",
          "Pro 和 Pro+ 为订阅制，按你选择的周期（每月或每年）以同样价格自动续订，直到你取消为止。",
          "中国大陆渠道以人民币出售 365 天 Pro 通行证，通过微信支付一次付清；通行证到期不自动续费、不再扣款，再次购买即可续期，剩余天数顺延。",
          "你可以随时在 scanchess.com/pricing 自助取消订阅。取消后不再产生新的扣费，Pro 权益保留至已付费周期结束。",
          "网页版订阅的销售主体（Merchant of Record）为 Waffo，账单上显示的是 Waffo，税费由其在结算时计算。",
          "所有付款均为最终交易，不提供退款——包括未使用完的周期与未使用的积分；适用法律强制要求的情形除外。请先用注册赠送的免费积分确认效果，再决定是否订阅。完整说明见退款政策 scanchess.com/refunds。",
          "通过第三方应用商店进行的购买，亦受该商店的条款约束，退款需向该商店申请。"
        ]
      },
      {
        "heading": "可接受的使用",
        "paragraphs": [
          "使用本服务时，你同意不会："
        ],
        "bullets": [
          "上传任何违法、侵权或你无权处理的内容。",
          "试图破坏、逆向工程或滥用本服务或其底层系统。",
          "以自动化方式过度请求服务，或规避积分与计费机制。"
        ]
      },
      {
        "heading": "期限、暂停与终止",
        "paragraphs": [
          "本条款自你开始使用本服务之日起生效，并持续至你或我们终止为止。若你违反上述“可接受的使用”规则，我们可根据违规的严重程度与是否重复，采取以下一项或多项措施："
        ],
        "bullets": [
          "发出警告，或删除、限制访问违规内容；",
          "暂停你的账号，或限制扫描等具体功能的使用；",
          "对于严重违规——例如上传违法内容、攻击本服务、或规避积分与计费机制——立即终止你的账号，且可不事先通知；",
          "账号因违反本条款被终止的，剩余未使用的积分将失效且不予退款，进行中的订阅将停止续订；适用法律或相关应用商店政策要求退款的情况除外。"
        ],
        "paragraphsAfter": [
          "除法律禁止告知的情形外，我们会通过你账号绑定的邮箱通知暂停或终止的决定。若你认为处理有误，可在收到通知后 30 天内发送邮件至 {{email}} 提出申诉，我们会进行复核。",
          "你也可以随时停止使用本服务，并通过“注销账号”删除账号与相关数据。终止后，依其性质应当继续有效的条款（包括“免责声明”“责任限制”与“适用法律”）仍然有效。"
        ]
      },
      {
        "heading": "你的内容",
        "paragraphs": [
          "你上传的图片和棋局归你所有。为提供服务，你授予我们处理这些内容所必需的有限许可，包括将图片传输给我们使用的第三方识别服务商，以及在你请求讲解时把对局或局面的着法、局面和引擎变化发送给 AI 模型服务商。如果你为报告创建了公开链接，任何持有链接的人都能查看该报告，直到链接过期或被你撤回。具体处理方式详见我们的隐私政策。"
        ]
      },
      {
        "heading": "账号删除",
        "paragraphs": [
          "你可以随时在“删除账号”页面 scanchess.com/delete-account 删除你的账号及关联数据。删除后相关数据将无法恢复。"
        ]
      },
      {
        "heading": "免责声明",
        "paragraphs": [
          "本服务按“现状”和“现有”基础提供，不附带任何明示或暗示的保证。我们不保证识别结果完全准确或服务不间断、无错误。"
        ]
      },
      {
        "heading": "责任限制",
        "paragraphs": [
          "在适用法律允许的最大范围内，ScanChess 不对因使用或无法使用本服务而产生的任何间接、附带或后果性损害承担责任。"
        ]
      },
      {
        "heading": "知识产权与侵权投诉",
        "paragraphs": [
          "ScanChess 的软件、界面与文档归我们所有。你上传的图片与生成的棋谱归你所有，我们仅为提供服务而处理它们。",
          "如你认为本服务上的某项内容侵犯了你的著作权或其他权利，请发送邮件至 {{email}}，并说明：你的联系方式、涉嫌侵权的具体内容与位置、你对该作品享有权利的说明，以及你善意相信该使用未经授权的声明。我们收到后会及时核查并在必要时移除相关内容，并可对重复侵权的账号予以终止。"
        ]
      },
      {
        "heading": "服务的变更与中止",
        "paragraphs": [
          "我们可能改进、变更或停止本服务的部分功能。若变更对你有实质不利影响（例如提价、削减 Pro 权益或停止服务），我们会提前至少 30 天通过你账号绑定的邮箱或站内公告通知，订阅用户可在变更生效前取消，避免按新条件续订。",
          "为维护、修复或应对安全事件，服务可能临时中断，我们会尽量减少影响。"
        ]
      },
      {
        "heading": "条款变更",
        "paragraphs": [
          "我们可能不时更新本条款。重大变更将在本页面发布并更新顶部的生效日期，并在生效前通过邮件或站内公告通知订阅用户。继续使用本服务即表示你接受更新后的条款。"
        ]
      },
      {
        "heading": "争议解决与适用法律",
        "paragraphs": [
          "出现问题时，请先发邮件至 {{email}} 与我们沟通——绝大多数争议都能在 30 天内直接解决。",
          "本条款受新加坡法律管辖并据其解释，由此产生的争议提交新加坡有管辖权的法院处理。",
          "如果你是消费者，本条款适用你经常居住地的强制性消费者保护法，你也可以在当地有管辖权的法院提起诉讼——本条款的任何内容都不减损这些权利。",
          "如本条款的任何部分被认定无效或不可执行，该部分将在必要范围内被调整或删除，其余部分继续有效。"
        ]
      },
      {
        "heading": "联系我们",
        "paragraphs": [
          "如对本条款有任何疑问，请通过电子邮件联系我们：{{email}}。"
        ]
      }
    ]
  },
  "refundsPage": {
    "title": "退款政策",
    "sections": [
      {
        "heading": "所有销售均为最终交易",
        "paragraphs": [
          "订阅费用一经支付不予退款，包括未使用完的周期、忘记取消而产生的续订扣费，以及已购买但未使用的积分。",
          "我们之所以能这样定价，正是因为不承担退款成本；作为交换，每个新账号都能获得 10 个免费积分（5 张记谱单），无需绑卡。请先用免费积分确认识别效果符合预期，再决定是否订阅。"
        ]
      },
      {
        "heading": "例外情况",
        "paragraphs": [
          "以下情形不受上述条款限制："
        ],
        "bullets": [
          "适用法律强制要求退款的情形——本政策不会减损你所在地强制性消费者保护法赋予的权利。欧盟/英国用户在法定条件下仍可行使撤回权。",
          "通过第三方应用商店完成的购买：退款由相应商店按其自身政策处理，需向商店申请，我们既无权批准也无权拒绝。",
          "重复扣费、扣错金额等我们或支付服务商的技术性错误——这类不是退款，是纠错，请直接联系我们。"
        ]
      },
      {
        "heading": "不想再被扣费怎么办",
        "paragraphs": [
          "取消订阅，而不是等扣费之后来申请退款。取消是自助的，在定价页登录后点“取消订阅”即可，两次点击完成，无需联系客服。",
          "取消后不再产生新的扣费，Pro 权益保留至已付费周期结束，余额里的积分也照常保留、永不过期。具体步骤见《如何取消订阅》。",
          "建议在续订日之前取消。年付订阅可以在收到续订提醒后立即处理。"
        ]
      },
      {
        "heading": "积分的性质",
        "bullets": [
          "积分是使用本服务的内部单位，不是储值，也没有现金价值。",
          "积分不可退款、不可提现、不可转让给其他账号。",
          "注册赠送与邀请奖励获得的积分同样如此。",
          "取消订阅不会清空你已有的积分余额。"
        ]
      },
      {
        "heading": "有疑问先来问",
        "paragraphs": [
          "如果扫描结果完全不可用、账号出现异常扣费，或者你觉得情况不该按上述条款处理，请发邮件到 {{email}}，说明账号邮箱和订单号（在 Waffo 的收据邮件里）。我们在 2 个工作日内答复，会按具体情况处理——政策是政策，人是人。"
        ]
      },
      {
        "heading": "销售主体",
        "paragraphs": [
          "网页版订阅的销售主体（Merchant of Record）为 Waffo，账单上显示的也是 Waffo。任何依法必须执行的退款由我们发起、经 Waffo 完成。",
          "中国大陆渠道通过微信支付购买的 365 天通行证同样由 Waffo 收款，同样适用本政策：一次付清、不可退款；通行证不会自动续费，所以也不存在“忘记取消”的扣费。"
        ]
      }
    ],
    "intro": "ScanChess 不提供退款。这一点我们写在最前面，也写在购买按钮旁边——你在付款前就应该知道，而不是事后才发现。下面说明原因、有哪些例外，以及不想继续付费时该怎么做。",
    "stopCharges": "想停止扣费？直接在<pricing>定价页</pricing>取消订阅，或发邮件到 <mail>{{email}}</mail>。"
  },
  "securityPage": {
    "title": "安全",
    "sections": [
      {
        "heading": "报告漏洞",
        "paragraphs": [
          "发现安全问题请发邮件至 {{email}}，标题带上“Security”。请描述复现步骤与影响，我们会在 3 个工作日内答复，并在修复后告知你结果。",
          "我们不会对善意的安全研究采取法律行动，前提是：不访问、不修改、不外泄他人数据；不做拒绝服务或垃圾信息测试；在我们修复前不公开披露。目前没有付费赏金计划，但我们会在致谢中署名（如果你愿意）。"
        ]
      },
      {
        "heading": "数据如何保护",
        "bullets": [
          "所有流量通过 HTTPS 传输，站点与 API 由 Cloudflare 前置。",
          "密码使用 bcrypt 加盐哈希存储，我们无法读取你的原始密码。",
          "网页会话使用签名 JWT 并保存在 HttpOnly Cookie 中；修改密码会撤销此前签发的会话与密码重置令牌。",
          "支付信息我们从不接触：网页版结算由销售主体 Waffo 托管，我们只收到订单号与订阅状态。",
          "账号删除是真删除，不是标记：账号、棋谱、上传的图片一并移除，且不可恢复。"
        ]
      },
      {
        "heading": "你上传的图片",
        "paragraphs": [
          "记谱单照片会传输给我们使用的第三方 AI 模型服务商进行识别，具体范围见隐私政策。图片与你的账号绑定，你可以随时删除单盘对局，或注销账号一并删除。"
        ]
      },
      {
        "heading": "我们没有的",
        "paragraphs": [
          "坦白讲：我们目前没有 SOC 2、ISO 27001 等第三方审计认证，也没有正式的赏金计划。ScanChess 是个小团队的产品。如果你所在的机构需要这类合规材料，请来信说明需求，我们会如实告知能提供什么。"
        ]
      }
    ]
  },
  "contactPage": {
    "title": "联系我们",
    "subtitle": "我们是个小团队，每一封邮件都是人工回复。",
    "emailHeading": "客服邮箱",
    "replyTime": "我们在 2 个工作日内答复；计费相关的问题通常当天处理。",
    "includeHeading": "写信时请附上",
    "include": [
      "你注册时用的邮箱地址。",
      "如果是计费问题：Waffo 收据邮件里的订单号。",
      "如果是识别错误：那张记谱单的照片，以及识别错的是第几步。"
    ],
    "shortcutsHeading": "也许这里就有答案",
    "shortcuts": {
      "pricing": "价格、积分与取消订阅",
      "refunds": "退款政策（不支持退款）",
      "deleteAccount": "注销账号与删除数据",
      "faq": "常见问题"
    },
    "operatorHeading": "经营主体",
    "operatorBody": "ScanChess 由 SudoAI 运营。网页版订阅的销售主体（Merchant of Record）为 Waffo，你的账单上显示的是 Waffo。"
  },
  "faqPage": {
    "title": "常见问题",
    "subtitle": "扫描、复盘分析、每日练习、套餐和账号，常见问题都在这里。",
    "items": [
      {
        "question": "什么是 ScanChess？",
        "answer": "ScanChess 把手写国际象棋记谱单的照片转换成 PGN 棋谱文件，把棋盘图片（照片、截图或棋图）转换成 FEN 局面。识别出的每一步都会在棋盘上回放校验，不合法或没把握的着法会标出来，供你核对。之后它帮你从对局中学习：Stockfish 分析、讲解转折点的 AI 教练，以及用你自己的失误生成的每日练习。它运行在网站上，另有适用于 Chrome 和 Edge 的浏览器插件，可以识别网页上的棋盘。扫描一张记谱单 2 个积分，一张棋盘图片 1 个积分；新账号赠送 10 个免费积分。由 SudoAI 开发。"
      },
      {
        "question": "支持哪些记谱格式？",
        "answer": "我们支持标准代数记法（SAN），包括各种手写风格。支持简写形式如 “dc”（兵吃兵），系统会自动转换为标准格式如 “dxc5”。"
      },
      {
        "question": "免费使用吗？",
        "answer": "新用户注册即获得 10 个免费积分，无需绑卡。记谱单扫描消耗 2 个积分，棋盘照片识别消耗 1 个积分。编辑、回放、PGN 导出、Stockfish 分析和对局库都不收费，每天还有 1 次免费 AI 讲解，免费账号也可以做每日练习。你也可以通过邀请朋友获得更多积分。"
      },
      {
        "question": "Pro 多少钱？包含什么？",
        "answer": "Pro 为 {{proMonthly}}/月 或 {{proYearly}}/年：每 30 天增加 100 个积分（约 50 张记谱单），并解锁完整画像、不限次数的每日练习、开局库、对手侦察和赛事报告。Pro+（{{proPlusMonthly}}/月 或 {{proPlusYearly}}/年）是为俱乐部和教练设计的套餐：每 30 天 500 个积分、更高的报告和开局库上限、带学员页面的俱乐部棋手名册，以及报告公开分享链接。扫描、编辑、回放、PGN 导出、引擎分析和对局库对所有账号开放，未用完的积分会保留在余额里。完整对比见定价页 /pricing。"
      },
      {
        "question": "怎么付款？账单上显示什么？",
        "answer": "在定价页登录后点“订阅”，会跳转到 Waffo 的结算页。Waffo 是我们网页版订阅的销售主体（Merchant of Record），负责收款与计税，你的账单上显示的是 Waffo，而不是 ScanChess。我们不接触也不存储你的银行卡信息。在中国大陆，定价页显示的是中国大陆渠道：Pro 以 365 天通行证出售，用微信支付以人民币一次付清，到期不自动扣费。Pro+ 暂未在该渠道销售，如有需要请发邮件至 support@scanchess.com。"
      },
      {
        "question": "怎么取消订阅？",
        "answer": "在定价页 /pricing 登录后，页面顶部会出现“你的订阅”，点“取消订阅”即可，无需联系客服。取消后不再扣费，Pro 权益保留至已付费周期结束，余额里的积分也照常保留。"
      },
      {
        "question": "可以退款吗？",
        "answer": "不可以。所有付款均为最终交易，不提供退款，包括未使用完的周期和未使用的积分（适用法律强制要求的情形除外）。所以每个账号注册即送 10 个免费积分、无需绑卡，请先用它确认识别效果再订阅。不想继续付费的话，取消订阅即可，取消是自助的、两次点击完成。完整说明见 /refunds。"
      },
      {
        "question": "识别准确率如何？",
        "answer": "识别效果取决于字迹、光线、拍摄角度和记谱格式，因此我们不承诺固定准确率。系统会用国际象棋规则验证结果，并标记低置信或不合法的着法供你确认。"
      },
      {
        "question": "可以一次扫描多页吗？",
        "answer": "是的！一次扫描最多可上传 10 张图片（JPG、PNG 或 WebP，暂不支持 HEIC）。多页按列表顺序识别，双面或多页记谱单会合成一局，并且只算一次扫描。"
      },
      {
        "question": "如何导出棋谱？",
        "answer": "扫描完成后，点击“导出 PGN”按钮即可下载标准 PGN 文件。你也可以复制 PGN 到剪贴板，直接粘贴到 Chess.com 或 Lichess。"
      },
      {
        "question": "识别出错怎么办？",
        "answer": "点击着法旁的铅笔按钮即可编辑。系统会实时验证着法合法性。你也可以使用简写输入（如 “dc”），系统会自动转换为完整记法。"
      },
      {
        "question": "我的对局记录会保存吗？",
        "answer": "扫描成功后会自动保存到你的对局库（工作区里的“对局”）；之后如果你修改着法或对局信息，“保存棋局”会更新同一条记录，不会重复创建。扫描功能需要登录。"
      },
      {
        "question": "我的照片和棋谱会保存多久？怎么删除？",
        "answer": "记谱单照片和识别出的棋谱一起保存在你的账号里，直到你删除。在对局库里删除一盘棋，照片会随之删除；删除账号后，所有对局、照片和积分记录会一起清除。删除会立即从线上数据库生效，日常备份副本最长保留 90 天后过期。"
      }
    ],
    "ctaTitle": "还有其他问题？",
    "ctaBody": "现在就试试 ScanChess 的 AI 记谱单识别",
    "ctaButton": "开始扫描"
  },
  "changelogEntries": {
    "2026-10-12": {
      "title": "从扫描到研究：对局库、画像、备战和俱乐部工具",
      "items": [
        "对局库列出每盘棋的来源、时限、你执的颜色和开局。“全部分析”会为还没分析的对局排队运行 Stockfish，分析结果随对局保存。",
        "“我的画像”根据你已分析的对局生成；还可以关联 Lichess 或 Chess.com 用户名，对比你的线上和线下对局。完整画像（准确率走势、各阶段、错误类型、开局和筛选）是 Pro 功能。",
        "开局库（Pro）：保存你走的开局变化，看对局是从哪一步离开准备的。",
        "对手侦察（Pro）：输入对手的 Lichess 或 Chess.com 用户名，看对方走什么开局、成绩如何、该从哪里下手。",
        "讲解局面：在分析棋盘、最佳着法查找和任何一盘棋里，AI 教练都可以讲解当前局面，与对局讲解共用每天 1 次的免费额度；保存的局面会进入你的局面笔记本。",
        "赛事报告可以生成 AI 撰写的总结；Pro+ 用户还可以通过公开链接分享报告，并可随时撤回链接。",
        "Pro+ 俱乐部有棋手名册和每位学员的页面，整轮扫描的对局可以一步分配给对应的棋手。",
        "评判着法的规则改进后，你保存的分析会在夜间自动更新，由此生成的练习局面也一起更新。"
      ]
    },
    "2026-10-11": {
      "title": "每日练习、每天 1 次免费 AI 讲解和赛事报告",
      "items": [
        "已验证邮箱的账号现在每天可以免费获得 1 次 AI 教练讲解，之后每盘 1 个积分。",
        "扫描完成后直接进入完整的复盘分析，分析结果随对局保存，再次打开无需重新运行引擎。",
        "每日练习把你走错的局面变成简短的练习题。免费账号每天 15 题，Pro 不限。",
        "赛事报告（Pro）汇总一位棋手的一次比赛：每轮的准确率和最大失误、开局、反复出现的错误，以及接下来该练什么。可以打印。"
      ]
    },
    "2026-10-08": {
      "title": "截图在你的浏览器里识别",
      "items": [
        "最佳着法查找现在直接在浏览器里识别截图和电子棋图：免费、无需账号、不上传。实物棋盘的照片仍由我们的识别服务读取，已验证邮箱的账号免费使用。",
        "把记谱单当成棋盘上传、或把棋盘当成记谱单上传时，扫描前后都会提示，不会把积分花在错误的识别上。"
      ]
    },
    "2026-10-05": {
      "title": "为你的对局配一位 AI 教练",
      "items": [
        "复盘分析会标出对局的转折点，AI 教练用平实的语言讲解这些时刻：发生了什么、更好的着法是什么、为什么，讲解都以引擎给出的变化为依据。"
      ]
    },
    "2026-10-01": {
      "title": "最佳着法查找、分析棋盘和国际象棋年度回顾",
      "items": [
        "新的免费工具：最佳着法查找。粘贴 FEN，或者登录后上传截图、照片，Stockfish 18 会给出最佳着法和前三条变化。登录用户从图片识别局面免费，不扣积分。",
        "新的免费工具：分析棋盘。从任意局面走棋，Stockfish 在你的浏览器里评估每一步；分析完可以复制 FEN 或 PGN。",
        "新的免费工具：国际象棋年度回顾。输入 Chess.com 或 Lichess 用户名，生成一年的回顾，还有可以下载或分享的卡片。"
      ]
    },
    "2026-09-15": {
      "title": "从你真正下过的棋里抽出战术",
      "items": [
        "Stockfish 复盘之后，ScanChess 会抽出你漏掉的强迫着法——本来能走的吃子、将军和将杀——让你在棋盘上再做一遍。可以先存下来，改天再练。题目来自你自己的对局，包括扫描的记谱单，不是公共题库。"
      ]
    },
    "2026-09-10": {
      "title": "八种语言的网站、对可疑着法更敏锐的判断，以及整轮比赛的对阵匹配",
      "items": [
        "ScanChess 现在除英文和中文外，还支持西班牙语、德语、法语、葡萄牙语、意大利语和俄语。点击页首的地球图标，或在设置里的“语言”中选择。",
        "识别错的着法多半仍然合法，所以光靠规则永远抓不到它。现在扫描结果还会检查子力有没有以真实对局里不会有的方式运动——白送的子却没人吃——相关的半回合会连同理由一起标出，供你核对。不会改写任何一步。",
        "棋手真正会写的记法现在能读懂，而不是被判为无效：兵前面加 P、`e2-e4` 这样的长代数记法、写被吃子的吃法（`BxN`），以及线吃线（`cxd`）。",
        "遇到可疑着法时，核对环节现在给出当前局面下最贴近墨迹的几步合法着法供选择，而不是一个开放式问题；会让棋走不通的选择会被撤销，而不是被保存。",
        "批量扫描学会了裁判的工作流。`R3B7p2.jpg` 这样命名、或放在 `Round 3/Board 7` 下的照片会自动分组归位；上传对阵表——CSV、PGN 名单或 JSON，任何编排软件导出的都行——每一局就会归到正确的选手、等级分、轮次和台次下。可以把整轮下载为一个 PGN，另附一份“还需要人看一眼”的 CSV。"
      ]
    },
    "2026-09-07": {
      "title": "棋盘上的变例预演、对局批注，以及整轮比赛的批量模式",
      "items": [
        "点击引擎给出的任一路线，它会在棋盘上逐步演示；开启引擎后，棋盘还会以箭头标出当前局面的最佳着法。",
        "为对局添加批注：在任意局面写注释，记录变例——可以手动输入，也可以把引擎预演的路线直接保存。注释和变例随对局保存、随分享链接展示，并写进导出的 PGN。",
        "要扫描整轮比赛？新的批量页一次接收全部记谱单，多页记谱单按局分组，每一局单独识别并存入对局库。"
      ]
    },
    "2026-09-06": {
      "title": "引擎分析、开局名称，以及属于双方的对局",
      "items": [
        "Stockfish 直接在浏览器里运行。在棋盘下方开启引擎即可看到评估和最佳着法；也可以复盘整盘棋，标出每一处失误、错误和严重失误，并给出双方准确率。不上传任何内容。",
        "每盘棋都会标出开局名称（ECO 编码与 Lichess 名称），显示在工作区、分享页、对局库和 PGN 头信息里。",
        "用德语、西班牙语、法语、葡萄牙语、荷兰语、波兰语、捷克语、匈牙利语、俄语或中文棋子字母写的记谱单，以及图形记谱，都会被识别并转成标准 SAN。",
        "一键把棋局发送到 Lichess 并打开。收到分享链接后，“存入我的对局库”会把这盘棋复制到你自己的账号。",
        "对局库可按保存时间、对局日期或棋手姓名排序，并按结果筛选。"
      ]
    },
    "2026-09-04": {
      "title": "九月复查后的修复",
      "items": [
        "验证邮箱之前也可以上传记谱单并完成第一次扫描；从第二次扫描起才需要验证。",
        "正在修正的对局刷新后不会丢失：着法和图片会恢复到你离开时的状态。",
        "低置信度着法重新被标记出来，并列出规则允许的候选；除了改写，现在也可以插入或删除一手。修正尚未完成时也可以先保存对局。",
        "扫描后可以编辑对局信息（棋手、赛事、日期、结果）；历史记录里的对局可以直接导出 PGN。",
        "分享链接可以关闭；撤销后的链接会立即失效。",
        "修复：手机端菜单打不开；登录状态在浏览中途失效而不是静默续期；定价页对套餐的描述有误。",
        "文案更诚实：首页不再暗示零错误，关于页写明了 ScanChess 是谁做的、做不到什么；工具页加载更快且不再出现空白棋盘；中文文章显示真实的阅读时长。"
      ]
    },
    "2026-08-23": {
      "title": "对手也能打开的分享链接",
      "items": [
        "每盘已保存的对局都可以生成公开链接。打开链接的人无需账号即可看到棋盘、着法和 PGN。",
        "AI 请求因发出地区被拒绝时，会自动从美国线路重试，而不是直接失败退款。"
      ]
    },
    "2026-08-19": {
      "title": "不再自信地猜",
      "items": [
        "识别出的对局走不通时，会标出出问题的那一手，其余按原样保留。自动修正已关闭，改动由你决定。",
        "棋盘照片会识别两次并交叉核对后才给出局面；无法读取的图片会如实报告，而不是给出一个看似合理的局面。",
        "棋盘模式展示真实的照片 → 局面示例；免费工具页面的工具移到首屏。"
      ]
    },
    "2026-08-17": {
      "title": "免费工具与 Pro+",
      "items": [
        "三个无需账号的工具：PGN 查看器、可生成 FEN 的棋盘编辑器，以及能找出问题着法的 PGN 校验器。",
        "新增 Pro+（$19.99/月 或 $119.99/年），每 30 天增加 500 积分，面向扫描量大的俱乐部和教练。网页订阅用户可以在 Pro 与 Pro+ 之间切换。",
        "同一张照片扫描两次不再重复扣费：会免费返回之前的结果。",
        "扫描完成邮件恢复发送；API 迁移到 Cloudflare，离你更近。"
      ]
    },
    "2026-08-12": {
      "title": "账号、计费与 Cookie 选择",
      "items": [
        "新增设置页：套餐与积分、显示名称、密码、邀请码、语言、账单记录，以及一键下载全部棋谱。",
        "可以在定价页两次点击自助取消订阅。取消后不再扣费，Pro 与积分保留至已付费周期结束。",
        "分析工具改为先询问：未同意前 Google Analytics 与 Microsoft Clarity 不会加载，且可随时在设置中更改。",
        "新增定价页（写清每次扫描消耗多少积分）、退款政策、联系我们与安全页。",
        "上线首批中文版指南，每篇有译文的文章都带语言切换链接。"
      ]
    },
    "2026-08-11": {
      "title": "网页版订阅",
      "items": [
        "Pro 现在可以在网页上购买。结算由销售主体 Waffo 处理。",
        "修复：记谱单上带引号的数字（如把回合号与着法连写）不再导致整页识别失败。"
      ]
    },
    "2026-08-10": {
      "title": "自助注销账号",
      "items": [
        "注销账号不再需要发邮件：/delete-account 可直接删除账号、棋谱与已上传的图片，不可恢复。",
        "邮件改由 Cloudflare 发送，修复了验证邮件进垃圾箱的问题。"
      ]
    }
  },
  "toolCopy": {
    "pgn-viewer": {
      "name": "PGN 棋谱回放",
      "seoTitle": "PGN 查看器 – 在线免费打开和回放 PGN 文件",
      "seoDescription": "粘贴或上传 PGN 文件，逐着回放国际象棋对局。免费在线 PGN 查看器，支持键盘翻棋、FEN 导出和分享链接，无需注册。",
      "kicker": "免费工具 · 无需登录",
      "h1": "在线 PGN 棋谱回放",
      "tagline": "粘贴 PGN，逐着回放对局，随时复制任意局面的 FEN。",
      "intro": "粘贴 PGN（Portable Game Notation）文本或打开 .pgn 文件，即可在交互棋盘上逐着回放对局。任意局面都可以复制 FEN、打开到棋盘编辑器，或生成分享链接。全部在浏览器本地运行，不会上传任何内容。不熟悉格式？见“PGN 是什么”了解标签、着法正文以及怎么打开 .pgn。",
      "features": [
        {
          "title": "多局文件",
          "body": "直接加载包含几十局的比赛文件，在列表里切换对局。"
        },
        {
          "title": "点选或键盘翻棋",
          "body": "点任意着法即可跳到该局面；在电脑上还可以用 ← → 前后翻着，Home / End 跳到开局或终局。"
        },
        {
          "title": "局面工具",
          "body": "一键复制任意局面的 FEN、打开到棋盘编辑器，或跳转 Lichess 分析。"
        },
        {
          "title": "宽容解析",
          "body": "注释、变着、NAG 符号，甚至 0-0、dc 这类记谱单简写都能识别；非法着法会被标出，而不是被悄悄丢掉。"
        }
      ],
      "howToTitle": "如何使用 PGN 回放",
      "howTo": [
        "把 PGN 文本粘贴到输入框，或用“选择文件”挑一个 .pgn；在电脑上也可以把文件拖进来。",
        "点击“加载”。棋盘显示初始局面；宽屏时着法列表在棋盘旁边，手机上排在棋盘下方。",
        "点任意着法即可跳到对应局面；在电脑上也可以用方向键。",
        "用“复制 FEN”“在编辑器中打开”或“分享”把局面带到别处。"
      ],
      "faq": [
        {
          "question": "什么是 PGN 文件？",
          "answer": "PGN（Portable Game Notation）是记录国际象棋对局的标准纯文本格式。文件开头是 Event、White、Black、Result 等标签，后面是代数记谱法的着法。Chess.com、Lichess 和所有棋谱数据库都能导入导出 PGN。"
        },
        {
          "question": "我的 PGN 会被上传到服务器吗？",
          "answer": "不会。解析和回放完全在你的浏览器里完成，粘贴或打开的内容不会离开你的设备。"
        },
        {
          "question": "可以查看包含多局的 PGN 吗？",
          "answer": "可以。当文件包含多局时，棋盘上方会出现选择器，可以在对局之间切换。"
        },
        {
          "question": "PGN 里有非法着法怎么办？",
          "answer": "查看器会回放到出问题之前的所有合法着法，并高亮无法走出的那一着。用 PGN 校验器可以看到当时的合法着法，并生成清洗后的文件。"
        },
        {
          "question": "怎么把纸质记谱单变成 PGN？",
          "answer": "给记谱单拍照，用 ScanChess 识别。AI 会读取手写着法、校验合法性，并生成可下载的 PGN，直接在这个查看器里打开。"
        },
        {
          "question": "和在 Lichess 或 Chess.com 上查看 PGN 有什么不同？",
          "answer": "这两个网站要先把对局导入账号或研究里才能查看。这个查看器不需要账号也不需要导入，对局只留在你的设备上，还能生成嵌入代码，把对局放到你自己的网站上。"
        }
      ],
      "cta": {
        "title": "手上是纸质记谱单？",
        "body": "ScanChess 把记谱单照片读成校验过的 PGN，通常不到一分钟。新用户注册即送免费积分，无需绑卡。",
        "button": "扫描记谱单"
      }
    },
    "board-editor": {
      "name": "棋盘编辑器与 FEN 生成器",
      "seoTitle": "国际象棋棋盘编辑器 – 免费在线 FEN 生成与摆盘",
      "seoDescription": "免费在线国际象棋棋盘编辑器（FEN 生成器）。点击或拖动棋子摆盘，粘贴 FEN，或拖入截图做图片转 FEN。导出 FEN、分享链接、下载 PNG，并显示将军、将死或逼和。无需登录。",
      "kicker": "免费工具 · 无需登录",
      "h1": "国际象棋棋盘编辑器",
      "tagline": "摆出任意局面，复制 FEN，导出 PNG，或把截图交给图片转 FEN 扫描。",
      "intro": "把这个棋盘编辑器当成轻量的在线摆盘工具：点击或拖动棋子，粘贴 FEN，或在棋盘上方拖入截图转入图片转 FEN。编辑时 FEN 实时更新；局面可用时，面板会提示轮到走的一方是否被将军、将死或逼和。可复制 FEN、分享链接、下载 PNG，或打开局面进行分析。",
      "features": [
        {
          "title": "实时 FEN",
          "body": "每一步改动都会更新 FEN 字符串，也可以粘贴一个 FEN 作为起点。"
        },
        {
          "title": "局面检查",
          "body": "在面板里设置易位权、走棋方和吃过路兵格；局面不可用时会给出提示。"
        },
        {
          "title": "棋盘转图片",
          "body": "把局面下载为清晰的 PNG，用于博客、习题纸或社交媒体。"
        },
        {
          "title": "触屏友好",
          "body": "点选托盘里的棋子，再点格子放置；点橡皮擦清空格子。"
        }
      ],
      "howToTitle": "如何使用棋盘编辑器",
      "howTo": [
        "从初始局面、空棋盘开始，或粘贴一个 FEN。",
        "先点托盘里的棋子，再点格子即可落子；在电脑上也可以直接拖过去。点橡皮擦，或把棋子拖出棋盘，即可移除。",
        "在面板里选择走棋方和易位权。",
        "复制 FEN、下载 PNG、分享链接，或打开局面进行分析。"
      ],
      "faq": [
        {
          "question": "什么是 FEN？棋盘编辑器如何使用它？",
          "answer": "FEN（Forsyth–Edwards Notation）是用一行文本描述局面的标准格式。在棋盘编辑器中，每次摆放棋子都会实时更新 FEN，你可以一键复制或发送到分析板与 PGN 查看器中。"
        },
        {
          "question": "为什么提示我的局面不可用？",
          "answer": "合法局面要求双方各恰好一个王、第一和第八横线没有兵，并且非走棋方不能处于被将军状态。你仍然可以复制 FEN，但引擎和分析板可能会拒绝它。"
        },
        {
          "question": "支持从真实棋盘照片或截图摆盘吗？",
          "answer": "支持——ScanChess 内置 AI 棋盘照片识别，把实体棋盘或屏幕棋盘的照片瞬间变成 FEN，并直接导入棋盘编辑器进行微调。"
        },
        {
          "question": "怎么从 FEN 判断是否将死？",
          "answer": "把 FEN 粘贴进这个棋盘编辑器。局面可用时，棋盘下方的状态行会显示轮到走的一方是否被将军、将死或逼和。FEN 本身没有“将死”字段——这是由棋子位置和走棋方按规则推出来的。"
        },
        {
          "question": "怎么把 FEN 变成图片？",
          "answer": "把 FEN 粘贴到编辑器，点击“下载 PNG”。图片在本地以高分辨率渲染并带坐标。需要更多导出选项时，可在“FEN 转图片”工具里打开同一条 FEN。"
        },
        {
          "question": "和 Lichess 的棋盘编辑器有什么不同？",
          "answer": "Lichess 的编辑器免费而且好用。这个编辑器还会告诉你局面为什么不合法，比如兵在底线、双方的王同时被将军；能把棋盘导出成 PNG 棋图；也可以直接从截图开始，而不必从空棋盘摆起。"
        }
      ],
      "cta": {
        "title": "直接拍一张真实棋盘",
        "body": "ScanChess 能识别实体棋盘照片并给出 FEN，可以在这里继续编辑或分析。注册即送免费积分。",
        "button": "识别棋盘照片"
      }
    },
    "pgn-validator": {
      "name": "PGN 校验与清洗",
      "seoTitle": "PGN 校验器 – 在线检查并修正国际象棋 PGN",
      "seoDescription": "粘贴国际象棋记谱或 PGN，逐着检查合法性、定位出错的着法，并下载符合标准的干净 PGN 文件。免费、即时，无需登录，直接在浏览器里完成。",
      "kicker": "免费工具 · 无需登录",
      "h1": "PGN 校验与清洗工具",
      "tagline": "找出第一个走不通的着法，并输出规范的七标签 PGN。",
      "intro": "粘贴 PGN 或一串着法。校验器会在真实棋盘上逐着走出来，指出第一个走不通的着法并列出当时的合法着法，然后把对局重写成规范的七标签 PGN。0-0、dc、e8Q 之类的简写会自动标准化。各标签含义见“PGN 是什么”。",
      "features": [
        {
          "title": "精确定位错误",
          "body": "看到出错的回合数、原始文本，以及该局面下的全部合法着法。"
        },
        {
          "title": "记谱清洗",
          "body": "用 0 写的易位、缺失的将军符号、小写棋子字母、升变简写都会被修正为标准 SAN。"
        },
        {
          "title": "标准输出",
          "body": "结果是七标签、80 列换行的 PGN，Chess.com、Lichess、ChessBase 都能直接导入。"
        },
        {
          "title": "不上传任何内容",
          "body": "校验用 chess.js 在本地完成，粘贴比赛对局也无需担心隐私。"
        }
      ],
      "howToTitle": "如何校验 PGN",
      "howTo": [
        "把 PGN 或只有着法的文本粘贴到输入框。",
        "点击“校验”。绿色表示所有着法合法；红色会指出第一个问题。",
        "在原文（或 PGN 回放里）修正着法，然后重新校验。",
        "复制或下载清洗后的 PGN。"
      ],
      "faq": [
        {
          "question": "校验器检查什么？",
          "answer": "它解析标签头，去掉注释和变着，然后在遵守国际象棋规则的棋盘上逐着走出。任何非法、歧义或格式错误的着法都会连同回合数和当时的合法着法一起报告。"
        },
        {
          "question": "会自动修复错误吗？",
          "answer": "会修复记谱错误——0-0 改为 O-O，dc 改为 dxc5，e8Q 改为 e8=Q，补上缺失的 + 和 #。它无法猜测一个真正非法的着法原本想写什么，所以会列出合法着法供你选择。"
        },
        {
          "question": "可以只粘贴着法，不带标签吗？",
          "answer": "可以。像 “1. e4 e5 2. Nf3 Nc6” 这样的裸着法列表就够了。清洗后的输出会补上占位标签供你填写。"
        },
        {
          "question": "为什么手写记谱单经常产生无效 PGN？",
          "answer": "棋手会漏记一着、写错列，或忘记标记吃子。如果你在手动录入记谱单，ScanChess 可以直接识别照片、做同样的校验，并让你在棋盘上修正着法。"
        }
      ],
      "cta": {
        "title": "还在手动录入记谱单？",
        "body": "省掉打字。ScanChess 识别手写记谱单，用同样的方式校验每一着，并让你在棋盘上修正错误。注册即送免费积分。",
        "button": "扫描记谱单"
      }
    },
    "printable-scoresheets": {
      "name": "可打印记谱单模板",
      "seoTitle": "国际象棋记谱单 PDF 免费打印 – 记谱本模板",
      "seoDescription": "免费打印国际象棋记谱单与记谱本页 PDF：60 着比赛版、80 着慢棋版、少儿大格 40 着，以及一页两盘快棋版。支持 A4 与 US Letter。",
      "kicker": "免费 PDF · A4 与 US Letter",
      "h1": "免费国际象棋记谱单",
      "tagline": "打印记谱单或记谱本页，写完后拍照即可扫成 PGN。",
      "intro": "国际象棋记谱单（也叫记谱纸，装订成册就是记谱本）是比赛对局中双方记录每一步着法的表格。这里有四种版式可选：双栏比赛格式的 60 着记谱单、长时限慢棋用的 80 着记谱单、给孩子和初学者用的 40 着大格记谱单，以及一页容纳两盘 30 着对局的快棋版。填上赛事、轮次和俱乐部，看一眼实时预览，就可以打印或另存为 PDF。着法用代数记谱法书写——白方左栏、黑方右栏，写法见“如何正确填写记谱单”。下完之后，给写好的记谱单拍一张照片，ScanChess 就能把它变成校验过的 PGN。",
      "features": [
        {
          "title": "四种版式",
          "body": "60 着适合俱乐部赛和正式比赛，80 着适合慢棋时限，40 着大格给少儿棋手，快棋赛可以一页印两盘 30 着对局。"
        },
        {
          "title": "赛事信息直接印上",
          "body": "打印前可以填好赛事、日期、轮次、台次、棋手和俱乐部，任何一栏也都可以留空，让棋手现场手写。"
        },
        {
          "title": "A4 与 US Letter 都清晰",
          "body": "记谱单以黑白矢量绘制，线条和回合号在任何办公打印机上都清楚锐利，也很省墨粉。"
        },
        {
          "title": "写完就能扫描",
          "body": "表格把白方和黑方的着法分在编号清楚的两栏里，这正是记谱单扫描识别最可靠的版式。"
        }
      ],
      "howToTitle": "如何打印国际象棋记谱单",
      "howTo": [
        "选择版式：60 着、80 着、儿童 40 着，或一页两盘快棋。",
        "可以选填赛事、轮次、俱乐部或棋手姓名，让它们印在每一张记谱单上。",
        "点击“打印记谱单”直接打印，或在打印对话框里选择“另存为 PDF”保存文件。",
        "下完之后，给写好的记谱单拍照，让 ScanChess 把手写着法变成 PGN。"
      ],
      "faq": [
        {
          "question": "国际象棋记谱纸是什么？",
          "answer": "它和记谱单是同一样东西：一张带编号行的表格，双方用代数记谱法记录每一步着法，另有填写赛事、轮次、棋手和结果的栏目。记谱本就是把很多张记谱单装订在一起。"
        },
        {
          "question": "这些记谱单符合 FIDE 惯例吗？",
          "answer": "60 着和 80 着记谱单采用常见的比赛版式：表头有白方、黑方、赛事、日期、轮次、台次和结果，下面是分白方、黑方两栏的编号着法行，以及双方签名栏。不过某项赛事的裁判仍然可以要求使用该赛事的官方记谱单。"
        },
        {
          "question": "国际象棋记谱单怎么填？",
          "answer": "每行写一次回合号，白方着法写在左栏，黑方着法写在右栏，用 Nf3、exd5 这样的代数记谱法。按照 FIDE 规则，要先在棋盘上走完这一步，再把它记下来。下方相关指南里的“如何正确填写记谱单”有完整示例。"
        },
        {
          "question": "如何把记谱单另存为 PDF 文件？",
          "answer": "点击“打印记谱单”（或按 Ctrl+P / Cmd+P），把打印目标从打印机改为“另存为 PDF”即可。"
        },
        {
          "question": "该用什么纸张尺寸？",
          "answer": "在纸张设置里选择 A4（210 × 297 毫米）或 US Letter（8.5 × 11 英寸），两种都按标准页边距打印。"
        },
        {
          "question": "写好的记谱单怎么变成 PGN？",
          "answer": "给记谱单拍一张清晰、平整的照片，上传到 ScanChess。它会识别手写笔迹，把每一步着法在棋盘上回放一遍检查是否合法，下载 PGN 之前你还可以修改任何一步。"
        }
      ],
      "cta": {
        "title": "记谱单已经写好了？",
        "body": "省掉打字。ScanChess 读取手写着法，逐步按规则检查，给你一个可以回放、也可以导入 Lichess 的 PGN。",
        "button": "扫描记谱单"
      }
    },
    "game-analysis": {
      "name": "对局分析",
      "seoTitle": "免费国际象棋对局分析 – 浏览器里跑 Stockfish",
      "seoDescription": "粘贴 PGN，让 Stockfish 复盘整盘棋：双方准确率、每一个失误与严重失误、以及引擎更想走的着法。免费、免注册，棋谱不上传。",
      "kicker": "免费工具 · 无需登录",
      "h1": "免费国际象棋对局分析",
      "tagline": "粘贴一盘棋，不用登录就能拿到 Stockfish 对每一着的判断。",
      "intro": "加载 PGN 之后，Stockfish 直接在这个标签页里运行，而不是在服务器上。打开引擎、复盘整盘棋，着法列表里就会标出每一着的判断：双方各一个准确率，以及每一处失误、错误和严重失误的标记。点开任意局面还能看到引擎给出的变着，以及它本来想走的那一着。",
      "features": [
        {
          "title": "引擎跑在你自己的设备上",
          "body": "Stockfish 18 只下载一次，之后都在浏览器里搜索。棋谱不会被发送到任何地方，也不用排队，没有每日次数限制。"
        },
        {
          "title": "每一着都有判断",
          "body": "整盘复盘会逐个局面搜索，把实际走的着法和引擎想走的着法做对比，用胜率差而不是原始厘兵值来打分。"
        },
        {
          "title": "双方各一个准确率",
          "body": "每一方给出一个准确率数字，加上失误、错误、严重失误的计数，复盘时知道该从哪里看起。"
        },
        {
          "title": "变着可以走进去",
          "body": "引擎给的任何一条变着都能摆到棋盘上逐着推演，看完退出就回到原来的对局。"
        }
      ],
      "howToTitle": "怎么分析一盘棋",
      "howTo": [
        "把 PGN 粘贴进输入框，或者打开一个 .pgn 文件。想先看看效果，点一下就能载入示例对局。",
        "打开“开启引擎”开关。引擎大约七兆字节，只需下载一次，所以第一次会稍等片刻。",
        "点“分析这盘棋”。搜索进度会沿着着法列表往下走。",
        "点任意一着，就能看到它的判断、引擎更想走的着法，以及从这个局面出发的变着。"
      ],
      "faq": [
        {
          "question": "真的免费吗，需要注册吗？",
          "answer": "真的免费，也不需要注册。引擎在你的浏览器里运行，没有什么可计费的，不消耗积分，也不限制每天能复盘多少盘棋。"
        },
        {
          "question": "用的是哪个引擎，分析强度怎么样？",
          "answer": "Stockfish 18 的单线程精简 WebAssembly 版本。整盘复盘从干净的状态出发，给每个局面同样固定的搜索量，所以同一盘棋每次得到的标记都一样；任何要被标成错误或严重失误的着法，在显示标记前都会再用更深的搜索复核一次。单独停在某个局面时搜得更深。如果是认真准备开局，桌面引擎给每一着几分钟时间，永远会看得更远。"
        },
        {
          "question": "我的棋谱会被上传吗？",
          "answer": "不会。PGN 在页面里解析，引擎用你自己的处理器搜索，这盘棋的任何信息都不会离开你的设备。"
        },
        {
          "question": "准确率是什么意思？",
          "answer": "每一着按它相对引擎选择放弃了多少胜率来打分，准确率是一方所有着法的平均值。它是个概括，不是等级分：一盘平稳、没什么抉择的棋，分数会比同样水平下出来的一盘尖锐的棋更高。"
        },
        {
          "question": "为什么第一次分析比较慢？",
          "answer": "WebAssembly 引擎要先下载完才能开始搜索。下载后会被缓存，之后再来就能立即开始。"
        },
        {
          "question": "和 Chess.com 的对局复盘、Lichess 的分析有什么不同？",
          "answer": "Chess.com 对免费账号的完整对局复盘次数有限制，Lichess 则要先把对局导入网站才能分析。这个工具既不需要账号也不需要导入：粘贴任意 PGN，包括从纸质记谱单扫描出来的，Stockfish 就在你的浏览器里复盘，没有每日次数限制。"
        },
        {
          "question": "纸上的棋谱怎么分析？",
          "answer": "先把记谱单拍照交给 ScanChess 扫描。它会识别手写笔迹、按规则校验每一着，生成的 PGN 可以直接粘贴到这里复盘。"
        }
      ],
      "cta": {
        "title": "想分析的那盘棋还在纸上",
        "body": "ScanChess 把拍下来的记谱单读成经过校验的 PGN，拿来就能复盘。新账号自带免费积分。",
        "button": "去扫描记谱单"
      }
    },
    "missed-tactics": {
      "name": "漏着训练",
      "seoTitle": "从自己的对局里练漏掉的战术：免费国际象棋战术训练工具",
      "seoDescription": "复盘一盘 PGN，练习你在自己对局里漏掉的吃子、将军和将杀。为扫描记谱单后的对局而做，不是公共战术题库。免费，直接在浏览器里完成。",
      "kicker": "免费工具 · 无需账号",
      "h1": "从自己的对局里练漏着",
      "tagline": "把棋盘上漏掉的那步，做成明天还能再做一遍的题。",
      "intro": "公共战术训练练的是别人的组合。这里练的是你自己的。载入一盘 PGN——粘贴，或先扫描记谱单——跑和分析工具同一套 Stockfish 复盘，ScanChess 只留下真正的战术漏着：引擎想走、你没走的吃子、将军、将杀或升变。安静的局面缓着不收录。可以先存在这个浏览器里，明天再练。",
      "features": [
        {
          "title": "来自你的记谱单，不是题库",
          "body": "局面就是你下过的那些。扫描纸质记谱、复盘，漏掉的强迫着法变成题集。Lichess 做不到这一点，因为它从没见过那张纸。"
        },
        {
          "title": "只要强迫着法",
          "body": "引擎想让王安静挪一步的 20 分优势流失，不是战术题。抽取器只保留吃子、将军、将杀和升变，并去掉同一侧紧挨着的重复崩盘，避免一盘输棋倒出同一堆残骸。"
        },
        {
          "title": "在棋盘上做出来",
          "body": "走出答案的第一步，引擎变化里对方的应着会自动出现。两次答错后可以看答案，对局里实际走的那步只在之后显示。"
        },
        {
          "title": "保存在这台设备上",
          "body": "留下一组改天再练。什么都不会上传；列表在这个浏览器里，直到你清空。"
        }
      ],
      "howToTitle": "怎么练漏着",
      "howTo": [
        "粘贴 PGN，或先扫描记谱单再把对局导到这里。",
        "点“找出我漏掉的战术”。引擎会自动开启，Stockfish 在这个标签页里复盘每个局面；第一次要下载大约七兆字节。",
        "结果就显示在按钮下方：在棋盘上练习找出的强迫着法，也可以先保存，明天再来。",
        "每个局面找出当时漏掉的那步。变化会一直走到这套战术结束。"
      ],
      "faq": [
        {
          "question": "这和 Lichess 的战术题一样吗？",
          "answer": "不一样。没有公共题库。每个局面都来自你载入的对局——通常是你在棋盘上下过、再从记谱单扫描进来的那盘。"
        },
        {
          "question": "哪些错误会变成题？",
          "answer": "错误和严重失误里，引擎着法是吃子、将军、将杀或升变的那些。安静的失误和开局谱着不收录；同一侧相差一两步的两道题只保留跌幅更大的那道。"
        },
        {
          "question": "需要账号吗？",
          "answer": "不需要。引擎在浏览器里跑，保存的题也留在这个浏览器的存储里。只有想把扫描的对局放进棋谱库时才需要登录。"
        },
        {
          "question": "纸质记谱怎么变成 PGN？",
          "answer": "给记谱单拍照，用 ScanChess 扫描。着法核对完后在这里复盘，漏掉的战术就会变成题集。"
        },
        {
          "question": "我记得的漏着为什么没变成题？",
          "answer": "如果更好的着法只是安静的改进——回撤、预防性的王步——那就不是战术。复盘仍会在着法列表上标出来；这个训练器只收强迫着法。"
        }
      ],
      "cta": {
        "title": "漏掉的那些着法还在纸上",
        "body": "扫描记谱单，复盘这盘棋，练习真正让你丢分的战术。新账号有免费积分。",
        "button": "扫描记谱单"
      }
    },
    "rating-calculator": {
      "name": "FIDE 等级分计算器",
      "seoTitle": "FIDE 等级分计算器 – 国际棋联等级分变化与表现分计算",
      "seoDescription": "免费在线 FIDE 等级分计算器。输入等级分与对手分，依据国际棋联官方 8.1.2 概率表、K 值规则及 2025 年新规计算 Elo 变化与比赛表现分。",
      "kicker": "免费工具 · 无需登录",
      "h1": "FIDE 等级分计算器",
      "tagline": "免费 FIDE 计算器：官方 Elo 等级分变化与比赛表现分即时计算。",
      "intro": "填入你公布的等级分，每盘棋加一行，写上对手等级分和结果，计算器就会照 FIDE 等级分规则一步步算：每盘的期望得分取自 8.1.2 表，发展系数按 8.3.3 条的规则确定，总数按 8.3.4 条的方式取整。同时还会给出这次比赛的等级分表现。",
      "features": [
        {
          "title": "用官方的表，不是公式",
          "body": "FIDE 把分差换算成期望得分用的是一张查找表，每一档保留两位小数。改用逻辑斯蒂曲线的计算器，在一场长赛事里会差出一分甚至更多。"
        },
        {
          "title": "2650 这条规则",
          "body": "标准棋中，自 2025 年 10 月 1 日起，分差 400 封顶只对 2650 分以下的棋手适用。2650 及以上按实际分差算，这直接改变了和低分对手战平要付出的代价。快棋和超快棋仍对所有人封顶。"
        },
        {
          "title": "K 值的每一种情形",
          "body": "前三十盘定级期内 K 取 40，2300 分以下的青少年取 40，等级分达到过 2400 之后取 10，其余取 20，还有 K 乘盘数不超过 700 的上限。"
        },
        {
          "title": "顺带算等级分表现",
          "body": "对手平均分加上你这个得分率对应的分差，取自 8.1.1 表，也就是比赛成绩单上印的那个数字。"
        }
      ],
      "howToTitle": "怎么算自己的等级分变化",
      "howTo": [
        "填入你当前公布的等级分。如果还在前三十盘的定级期内，或者你是青少年棋手，勾上对应的选项。",
        "每盘棋加一行：对手的等级分，以及你是胜、和还是负。",
        "每行右侧是这盘的期望得分，括号里是封顶之后实际参与计算的分差。",
        "右侧面板给出新的等级分、变化值，以及这次比赛的等级分表现。"
      ],
      "faq": [
        {
          "question": "这款 FIDE 等级分计算器是如何计算变化的？",
          "answer": "每盘棋先取分差，从 8.1.2 表查出期望得分，用实际得分减去它。把整场比赛的这些差值加起来，再乘以你的发展系数 K。结果取整到整数，正好 0.5 时向远离零的方向进位。"
        },
        {
          "question": "我该用哪个 K 值？",
          "answer": "在完成前 30 盘等级分对局之前 K 取 40；棋手在满 18 岁那一年年底之前，只要等级分低于 2300，也取 40。公布等级分达到过 2400 之后取 10，之后即使掉下来也保持 10。其余情况取 20。"
        },
        {
          "question": "为什么分差要按 400 封顶？",
          "answer": "为了避免一盘对阵实力悬殊对手的结果把等级分推得太远。2025 年 10 月 1 日起，这个封顶只对 2650 分以下的棋手适用，2650 及以上一律按真实分差计算。"
        },
        {
          "question": "快棋和超快棋的等级分也能这样算吗？",
          "answer": "可以，选择快棋或超快棋即可。FIDE 快棋和超快棋等级分规则用的是同一张概率表和同一套 K 值规则（K = 40、20 或 10，条件相同）。有两处不同：分差 400 封顶对所有棋手都适用，没有 2650 的例外；另外自 2024 年 12 月 1 日起，双方分差达到 600 分或以上、且任一方高于 2600 时，该局不计等级分。切换类别后这两点都会自动套用。"
        },
        {
          "question": "这是官方的 FIDE 计算器吗？",
          "answer": "不是。它严格按国际棋联公开的等级分规则与 8.1.2 概率表在浏览器本地实现，计算结果与公布的等级分表保持一致。最终以官方等级分表为准。"
        },
        {
          "question": "对手的等级分从哪里查？",
          "answer": "编排表或比赛公布的参赛名单上就有，而且计算用的正是这个等级分，不是等到等级分表公布时对手的分数。"
        },
        {
          "question": "能用来算 Chess.com 或 Lichess 的等级分吗？",
          "answer": "只能作为粗略参考。Chess.com 用的是 Glicko 系统，Lichess 用的是 Glicko-2，分数变化还取决于双方等级分的稳定程度，所以同样的结果在网上等级分里的涨跌幅度不一样。这个计算器遵循国际棋联线下比赛的 Elo 规则。"
        }
      ],
      "cta": {
        "title": "那场比赛的记谱单还在包里",
        "body": "ScanChess 把拍下来的记谱单读成经过校验的 PGN，这样等级分变化背后的对局是可以检索的，而不是压在抽屉里。",
        "button": "去扫描记谱单"
      }
    },
    "fen-to-image": {
      "name": "FEN 转棋盘图",
      "seoTitle": "FEN 转棋盘图 – 免费国际象棋局面图生成器（PNG、SVG）",
      "seoDescription": "把任意 FEN 变成棋盘图片。可选尺寸、格子配色和棋盘朝向，导出 PNG 或矢量 SVG。免费、免注册，不上传任何内容。",
      "kicker": "免费工具 · 无需登录",
      "h1": "FEN 转棋盘图",
      "tagline": "粘贴一个 FEN，导出可下载的棋盘局面图，PNG 或 SVG 都行。",
      "intro": "粘贴 FEN，局面会被画成一张可以下载的棋盘图。尺寸最大 1600 像素，可以换格子配色、把棋盘转过来，或者去掉坐标；发帖用 PNG，需要放大或印刷就用 SVG。棋盘是用页面里的矢量棋子画出来的，文件里没有任何外部图片，生成过程也不上传任何东西。",
      "features": [
        {
          "title": "PNG 或矢量 SVG",
          "body": "要图片的地方用 PNG；印刷、幻灯片，以及之后还要改尺寸的场合用 SVG。"
        },
        {
          "title": "最大 1600 像素",
          "body": "小到够发论坛帖，大到够印在纸上或做成课堂讲义。"
        },
        {
          "title": "五种棋盘配色",
          "body": "经典棕、比赛绿、蓝、胡桃木和石板灰，坐标可以关掉。"
        },
        {
          "title": "任意局面，不限于合法局面",
          "body": "没有王的排局片段、只占半边棋盘的谜题，都能照样画出来。只需要 FEN 的棋子位置那一段。"
        }
      ],
      "howToTitle": "怎么把 FEN 变成图片",
      "howTo": [
        "把 FEN 粘贴进输入框。画图只用到第一段，也就是棋子位置。",
        "选好尺寸、棋盘配色，以及哪一方在下方。",
        "下载 PNG；如果这张图要印刷或放大，就取 SVG。",
        "想先改改局面？打开棋盘编辑器拖动棋子，改完再回来。"
      ],
      "faq": [
        {
          "question": "FEN 是什么？",
          "answer": "FEN 是一行文本，用来描述一个国际象棋局面：棋子的位置、轮到谁走、王车易位权、吃过路兵的目标格，以及两个步数计数器。PGN 传递整盘棋，FEN 传递单个局面。"
        },
        {
          "question": "该下载 PNG 还是 SVG？",
          "answer": "发帖、聊天或者放进文档里就用 PNG。要印刷、投影，或者之后还会放大，就用 SVG，矢量图放到多大都清晰。"
        },
        {
          "question": "图片会被上传吗？会加水印吗？",
          "answer": "都不会。棋盘在你的浏览器里绘制，文件写在你的设备上，没有水印，也不要求署名。"
        },
        {
          "question": "这些局面图能用在书或课程里吗？",
          "answer": "可以。棋子来自我们自己的矢量图，导出的图片没有使用限制，放进讲义、文章和印刷品都没问题。"
        },
        {
          "question": "怎么从棋盘照片得到 FEN？",
          "answer": "把局面拍下来交给 ScanChess 的棋盘识别，它会给出 FEN，粘贴到这里就能生成一张干净的局面图。"
        }
      ],
      "cta": {
        "title": "局面就摆在你面前的真棋盘上",
        "body": "拍一张照片，ScanChess 会把局面读成 FEN。识别一个棋盘消耗 1 积分。",
        "button": "去识别棋盘"
      }
    },
    "pgn-to-gif": {
      "name": "PGN 转 GIF",
      "seoTitle": "PGN 转 GIF – 免费国际象棋动态棋谱生成器",
      "seoDescription": "粘贴 PGN，把整盘国际象棋对局导出成动态 GIF。可选尺寸、速度、棋盘配色和着法区间。免费、免注册，GIF 直接在你的浏览器里编码生成。",
      "kicker": "免费工具 · 无需登录",
      "h1": "国际象棋 GIF 生成器",
      "tagline": "把 PGN 变成一张能到处发的动态 GIF。",
      "intro": "载入一盘棋，工具会把每个局面画出来，编码成动态 GIF 交给你。可以选尺寸和速度、换棋盘配色、高亮每一着经过的格子，也可以只截取值得展示的那一段。画帧和编码都在这个页面里完成，一盘棋不用离开你的设备就能变成图片。",
      "features": [
        {
          "title": "在浏览器里编码",
          "body": "不上传、不排队、没有水印。GIF 从第一帧到最后一帧都写在你的设备上。"
        },
        {
          "title": "只要那几着",
          "body": "设定起止着法，只把杀法那一段做成动画，而不是八十个回合的调整没人看得下去。"
        },
        {
          "title": "三种尺寸、三档速度",
          "body": "边长 480、640 或 800 像素，在手机和聊天窗口里都清楚；每着大约半秒到一秒半，首尾帧多停一会儿，循环起来才看得清。"
        },
        {
          "title": "着法一眼就跟得上",
          "body": "棋子离开和落下的格子会被着色，视线不用去找哪里变了。"
        }
      ],
      "howToTitle": "怎么做一张国际象棋 GIF",
      "howTo": [
        "粘贴 PGN，或者打开 .pgn 文件。点一下就能载入示例对局。",
        "只想要一部分就先截取着法区间，然后挑尺寸、速度和棋盘配色。",
        "改设置时 GIF 会自动重新生成，进度条会随着画帧往前走。",
        "看一眼预览，点“下载”保存 GIF。"
      ],
      "faq": [
        {
          "question": "文件大概多大？",
          "answer": "每一帧只记录变化的格子，所以一盘四十回合的完整对局在 640 像素下通常只有几百 KB，远低于聊天软件和社交平台的上限。如果某个网站仍然嫌大，截短区间或换成 480 像素即可。"
        },
        {
          "question": "为什么限制着法数量？",
          "answer": "超过两百来帧，GIF 就失去了分享的意义：体积超出多数网站的上限，也没人会看到最后。所以工具会把区间截断，而不是拒绝这盘棋。"
        },
        {
          "question": "生成 GIF 会上传我的棋谱吗？",
          "answer": "不会。棋盘绘制和 GIF 编码都在你的浏览器里完成，这也是为什么它需要在你的设备上跑一会儿，而不是瞬间完成。"
        },
        {
          "question": "GIF 可以商用吗？",
          "answer": "可以。棋子是我们自己的矢量图，没有水印，输出也没有任何使用限制。"
        },
        {
          "question": "面对面下的棋能做成 GIF 吗？",
          "answer": "先用 ScanChess 扫描记谱单。棋谱变成 PGN 之后，粘贴到这里，想展示哪一段就做哪一段。"
        }
      ],
      "cta": {
        "title": "值得做成动画的那盘棋写在记谱单上",
        "body": "ScanChess 把拍下来的记谱单读成 PGN，通常不到一分钟，而这个工具要的正是 PGN。",
        "button": "去扫描记谱单"
      }
    },
    "pgn-to-pdf": {
      "name": "PGN 转打印棋谱",
      "seoTitle": "PGN 转 PDF – 打印带局面图的国际象棋棋谱",
      "seoDescription": "粘贴 PGN，把对局排成适合纸张的版式：两栏或三栏着法、按需插入局面图、A4 或 Letter。在打印窗口里选“另存为 PDF”即可。免费、免注册。",
      "kicker": "免费工具 · 无需登录",
      "h1": "PGN 转打印棋谱",
      "tagline": "把一盘棋排成带局面图的纸质棋谱，另存为 PDF。",
      "intro": "粘贴 PGN，对局会被排成一份印刷体的棋谱：顶部是棋手和赛事信息，着法分栏排列，并在你指定的位置插入局面图。可以直接打印，也可以在打印窗口里选“另存为 PDF”保存文件。因为走的是浏览器自己的打印通道，着法仍然是可选中的文字、局面图仍然是矢量图，所以 PDF 放到多大都清晰，体积也小到可以直接发邮件。PGN 是纯文本棋谱格式——粘贴前若需要入门，见“PGN 是什么”。",
      "features": [
        {
          "title": "是棋谱，不是截图",
          "body": "着法是文字，局面图是矢量绘制，打印干净，而且可以检索和复制。"
        },
        {
          "title": "局面图插在你想要的位置",
          "body": "只放终局、每十回合一张、每二十回合一张，或者一张都不放。每张图都会给这一着经过的格子上色。"
        },
        {
          "title": "A4 或 Letter",
          "body": "两种纸张都做了排版，页边距保证家用打印机不会把栏切掉。"
        },
        {
          "title": "两栏或三栏",
          "body": "两栏留出手写批注的空间，三栏能把一盘长棋压进一张纸。"
        }
      ],
      "howToTitle": "怎么把一盘棋存成 PDF",
      "howTo": [
        "粘贴 PGN，或者打开 .pgn 文件。",
        "选两栏还是三栏、局面图放在哪里，以及纸张尺寸。",
        "点“打印”。在弹出的窗口里，把目标打印机改成“另存为 PDF”。",
        "页面上除棋谱本身以外的部分都不会进入打印，文件直接从棋谱开始。"
      ],
      "faq": [
        {
          "question": "下载按钮在哪里？",
          "answer": "没有单独的下载按钮，打印窗口就是下载。把目标改成“另存为 PDF”，再选保存位置即可。这样生成的文件比在页面里合成 PDF 更小也更清晰。"
        },
        {
          "question": "PDF 里的着法能选中吗？",
          "answer": "能。棋谱是真正的文字，可以检索、复制，也能被屏幕阅读器读出来。截图做成的 PDF 这些都做不到。"
        },
        {
          "question": "能一次打印好几盘棋吗？",
          "answer": "一张纸一盘棋。如果 PGN 里有多盘，输入框上方会出现选择器，切换之后逐盘打印即可。"
        },
        {
          "question": "会打印 PGN 里的注释和变着吗？",
          "answer": "不会。这个版式排的是棋谱本身：实际走出的着法，加上标签和结果。注释、变着和评注符号都被略去，好让纸面保持易读。"
        },
        {
          "question": "我想打印的是空白记谱单，怎么办？",
          "answer": "用可打印记谱单工具，那里有适配不同时限的版式，也留好了赛事、轮次和棋手姓名的位置。"
        }
      ],
      "cta": {
        "title": "反过来，从纸到 PGN",
        "body": "ScanChess 把拍下来的记谱单读成经过校验的 PGN。新账号自带免费积分，不需要绑卡。",
        "button": "去扫描记谱单"
      }
    },
    "best-move": {
      "name": "最佳着法查找",
      "seoTitle": "国际象棋最佳着法计算器 – 免费查下一步怎么走",
      "seoDescription": "查任意国际象棋局面的最佳着法：粘贴 FEN，或上传截图、照片，Stockfish 18 在浏览器里给出前三条变化。免费使用。",
      "kicker": "免费工具 · Stockfish 18",
      "h1": "查找国际象棋最佳着法",
      "tagline": "粘贴 FEN 或上传截图，Stockfish 告诉你这一步最好怎么走。",
      "privacyNote": "引擎和截图识别都在你的浏览器里运行。识别实物棋盘照片、AI 讲解和保存需要免费账号，并会把图片或局面发送到我们的服务器。",
      "intro": "给出一个局面，Stockfish 18 就在这个页面里计算，告诉你最佳着法、评估分数和另外两个候选着法。局面可以来自 FEN、棋盘编辑器，也可以来自图片：拖入一张截图，局面就在你的浏览器里识别出来，不用登录，图片也不会上传。实体棋盘的照片由我们的服务器识别，登录后免费使用。走棋方就在答案旁边由你选择；如果图片里能看到上一步，会自动帮你设好。",
      "features": [
        {
          "title": "截图、照片都能识别",
          "body": "拖入一张网上对局的截图或电子棋图，浏览器会把它识别成 FEN，没把握的格子会框出来。实体棋盘的照片交给我们的服务器识别，已验证邮箱的免费账号可免费使用。"
        },
        {
          "title": "Stockfish 18 在你的设备上运行",
          "body": "引擎只下载一次，在浏览器里计算。除非你请求 AI 讲解或保存，你输入的局面都留在你的设备上，也没有每日次数限制。"
        },
        {
          "title": "三条变化，不只一步",
          "body": "最佳着法附带评估，以及另外两个候选着法和引擎预计的后续变化，能看出几个选择差多少。"
        },
        {
          "title": "走一步，接着算",
          "body": "在棋盘上走出最佳着法，引擎会接着分析新局面；也可以把局面打开到分析棋盘里，试试自己的想法。"
        }
      ],
      "howToTitle": "怎样查最佳着法",
      "howTo": [
        "把 FEN 粘贴到输入框，或者拖入一张局面截图。登录后还可以上传实体棋盘的照片。",
        "检查棋盘。被圈出的格子是识别时拿不准的，需要的话到棋盘编辑器里改正。",
        "选择轮到哪方走：白方还是黑方。",
        "点“查找最佳着法”。引擎约 7 MB，只下载一次；计算过程中会陆续显示答案和前三条变化。"
      ],
      "faq": [
        {
          "question": "最佳着法查找免费吗？",
          "answer": "免费。粘贴 FEN 和识别截图都不用登录，也没有每日次数限制。实体棋盘的照片以及浏览器识别不了的图片会用我们的服务器识别：免费、不扣积分，但需要一个验证过邮箱的账号，并且按过去 24 小时的尝试次数限量，识别失败也计入。"
        },
        {
          "question": "截图是怎么被识别成局面的？",
          "answer": "一个在你浏览器里运行的小模型会先找到棋盘，再逐一判断 64 个格子，拼出 FEN；图片不会离开你的设备。如果截图里高亮了上一步，它还能判断轮到谁走。没把握的格子会在棋盘上框出来。遇到没把握识别的图片，比如实体棋盘的照片，可以交给 ScanChess 扫描器用的同一个识别服务，这需要一个免费账号；拍实体棋盘请从正上方拍，把 64 个格子都拍进去。"
        },
        {
          "question": "为什么要我选轮到谁走？",
          "answer": "图片能看出棋子在哪，却不一定看得出轮到谁走。截图里高亮了上一步时，识别器会据此设好走棋方；否则默认轮到图片下方的一方。无论哪种情况，走棋方都放在答案旁边由你确认，因为替错的一方找出的最佳着法，是一个看起来很可信的错误答案。"
        },
        {
          "question": "用的是什么引擎，有多强？",
          "answer": "Stockfish 18 的单线程 WebAssembly 版本，每个局面最多算到 18 层或 4 秒。这远强于任何人类棋手，不过在复杂局面里，给足几分钟的桌面引擎会算得更深。"
        },
        {
          "question": "和 Lichess 的分析棋盘有什么不同？",
          "answer": "Lichess 的分析棋盘免费而且很好用，但局面要手动摆或粘贴 FEN。在这里，截图或照片就能完成这一步，结果直接给出一个明确的最佳着法和几个备选。"
        },
        {
          "question": "下棋的时候可以用吗？",
          "answer": "不可以。按照 Chess.com、Lichess 和国际棋联的公平竞赛规则，对局中借助引擎就是作弊，账号会被封。请在对局结束后用它来看自己错过了什么。"
        }
      ],
      "cta": {
        "title": "把查过的局面保存下来",
        "body": "在 ScanChess 工作区里，棋盘照片会变成可以编辑、分享、随时回看的已保存局面。",
        "button": "打开棋盘扫描"
      }
    },
    "analysis-board": {
      "name": "分析棋盘",
      "seoTitle": "免费国际象棋分析棋盘 – 在线 Stockfish 18",
      "seoDescription": "免费的在线国际象棋分析棋盘：从初始局面走棋，或粘贴 FEN、PGN，Stockfish 18 在浏览器里评估每个局面。无需注册。",
      "kicker": "免费工具 · 无需账号",
      "h1": "国际象棋分析棋盘",
      "tagline": "随手走棋，Stockfish 18 在浏览器里评估每一个局面。",
      "intro": "从初始局面替双方走棋，或者粘贴 FEN、PGN 从别的局面开始。走出第一步时，Stockfish 18 会在当前页面里启动，评估你走到的每个局面，并给出三条最佳变化。退回到任意一步，换一着试试，后面的着法就会被替换。分析完可以复制 FEN 或 PGN，或者把整条变化复盘一遍找出失误。",
      "features": [
        {
          "title": "想走哪条变化都行",
          "body": "双方的棋子都能拖动或点击走棋。退回到任意一步再走别的，新着法会替换掉后面的内容，就像在真实棋盘上一样。"
        },
        {
          "title": "每个局面都有评估",
          "body": "Stockfish 18 在浏览器里运行，跟着棋盘走：评估条、用箭头标出的最佳着法，以及三条可以逐步演示的变化。"
        },
        {
          "title": "从任意 FEN 或 PGN 开始",
          "body": "粘贴一个局面或一整盘棋。PGN 会一直走到最后一步合法着法为止，一处笔误不会让整盘棋作废。"
        },
        {
          "title": "随时复制出来",
          "body": "复制当前局面的 FEN 或整条变化的 PGN，把局面打开到棋盘编辑器，或者交给最佳着法查找。"
        }
      ],
      "howToTitle": "怎样使用分析棋盘",
      "howTo": [
        "走一步棋。引擎在你走第一步时加载，约 7 MB，只下载一次。",
        "查看评估和三条变化。点一条变化，就能在棋盘上逐步演示。",
        "用方向键或着法列表退回，换一着试试。",
        "粘贴 FEN 或 PGN 从别的局面开始，分析完复制 FEN 或 PGN。"
      ],
      "faq": [
        {
          "question": "分析棋盘免费吗？",
          "answer": "免费，不需要账号，也没有每日次数限制。引擎在你自己的设备上运行，没有什么需要计费的。可选的 AI 局面讲解需要一个已验证邮箱的免费账号：每天免费 1 次，之后 1 个积分。"
        },
        {
          "question": "和 Lichess 的分析棋盘有什么不同？",
          "answer": "Lichess 的分析棋盘同样免费，而且有开局浏览器和云端评估，更适合研究开局。这里更轻量：引擎在你的设备上运行，除非你请求讲解或保存局面，你走的棋都留在浏览器里；还能直接跳到最佳着法查找和扫描器，带笔误的 PGN 也能读到出错为止。"
        },
        {
          "question": "能保存分支变化吗？",
          "answer": "不能，这里只保留一条变化。从前面的局面换一着走，后面的着法就会被替换。如果要在一盘棋里保留分支，请用 PGN 查看器，它可以读写变化。"
        },
        {
          "question": "引擎有多强？",
          "answer": "Stockfish 18 的单线程 WebAssembly 版本，每个局面最多算到 18 层或 4 秒。在复杂局面里，每步给几分钟的桌面引擎会算得更深。"
        },
        {
          "question": "我的分析会被保存吗？",
          "answer": "只有你选择保存时才会保存。登录后点“保存到我的局面”，局面会存进你的账号；否则请复制 FEN 或 PGN，或者分享链接：在 /tools/analysis-board?fen= 后面接上局面，打开就是这个局面。"
        }
      ],
      "cta": {
        "title": "直接从照片开始",
        "body": "拍一张棋盘照片或截一张棋图，ScanChess 会替你把局面摆好，直接开始分析。",
        "button": "扫描棋盘图片"
      },
      "privacyNote": "引擎在你的浏览器里运行。可选的 AI 讲解和保存功能需要免费账号，并会把局面发送到我们的服务器。"
    },
    "chess-wrapped": {
      "name": "国际象棋年度回顾",
      "seoTitle": "国际象棋年度回顾 {{year}} – Chess.com 和 Lichess Wrapped",
      "seoDescription": "生成你在 Chess.com 或 Lichess 上的国际象棋年度回顾：对局数、胜率、等级分最高点、常用开局、最佳胜局，还有可分享的卡片。免费，无需注册。",
      "kicker": "免费工具 · 无需账号",
      "h1": "国际象棋年度回顾（Chess Wrapped）",
      "tagline": "输入 Chess.com 或 Lichess 用户名，一年的对局变成一组数字。",
      "privacyNote": "在你的浏览器里运行。对局数据直接来自 Chess.com 或 Lichess。",
      "intro": "年度回顾会从 Chess.com 或 Lichess 的公开对局存档里读取一位棋手这一年的对局，整理成一份年度总结：下了多少盘、胜率多少、各个用时类别的等级分怎么变化、最常用的开局、最佳胜局、最长连胜和最忙的月份。任何公开的用户名都能用，你自己的或朋友的都行，最后会生成一张可以下载或分享的卡片。",
      "features": [
        {
          "title": "支持 Chess.com 和 Lichess",
          "body": "两个网站都公开了每个公开账号的对局存档。选择网站、输入用户名、选好年份即可。"
        },
        {
          "title": "分用时类别的等级分",
          "body": "超快棋、快棋、快速棋和每日棋或慢棋分别统计：年初多少、最高到过多少、年底多少。"
        },
        {
          "title": "开局、最佳胜局和连胜",
          "body": "执白、执黑最常用的开局，赢过的最高等级分对手，最长连胜，以及交手最多的对手。"
        },
        {
          "title": "一张能分享的卡片",
          "body": "把总结下载成图片，复制一个能重新生成它的链接，或者在手机上直接分享。"
        }
      ],
      "howToTitle": "怎样生成你的年度回顾",
      "howTo": [
        "选择 Chess.com 或 Lichess。",
        "输入用户名，选择年份。",
        "点“生成我的年度回顾”。对局多的账号要逐月读取，会稍慢一些。",
        "浏览各张卡片，然后下载或分享总结。"
      ],
      "faq": [
        {
          "question": "年度回顾免费吗？需要账号吗？",
          "answer": "免费，不需要在这里或棋站上登录。它读取的是公开的对局存档，所以任何公开的用户名都能用。"
        },
        {
          "question": "这是 Chess.com 或 Lichess 官方做的吗？",
          "answer": "不是。这是一个独立工具，读取两个网站提供的公开 API，与它们没有任何关联。"
        },
        {
          "question": "我的数据会被保存吗？",
          "answer": "不会。是你的浏览器从 Chess.com 或 Lichess 拉取对局并自己算出这些数字，ScanChess 不会收到对局或用户名。"
        },
        {
          "question": "为什么有些对局没算进去？",
          "answer": "存档里只有已经结束的对局，中止的对局不包括在内。Lichess 每秒大约传来 20 盘棋，一年下了几千盘的账号要等好几分钟。进度条会显示大约有多少盘、还要等多久；你也可以随时先看已读到的结果，这时结果会标为部分数据。"
        },
        {
          "question": "能看往年的回顾吗？",
          "answer": "可以，生成前先选年份。当年的回顾只包括到目前为止下过的对局。"
        },
        {
          "question": "线下比赛的对局怎么办？",
          "answer": "写在纸上的比赛对局不在任何网上存档里。用 ScanChess 扫描记谱单，它们就会变成可以分析、能长期保存的 PGN 文件。"
        }
      ],
      "cta": {
        "title": "线下对局也该算进来",
        "body": "写在记谱单上的比赛对局不在任何网上存档里。扫描记谱单，它们就会变成可以分析、能长期保存的 PGN。",
        "button": "扫描记谱单"
      }
    },
    "pgn-to-fen": {
      "name": "PGN 转 FEN",
      "seoTitle": "PGN 转 FEN 转换器：免费，逐步转换，在浏览器中完成",
      "seoDescription": "粘贴 PGN，得到任意一步之后的 FEN，以及每一步的 FEN。免费，无需注册，在浏览器中转换。内容不会上传。",
      "kicker": "免费工具 · 无需登录",
      "h1": "PGN 转 FEN 转换器",
      "tagline": "粘贴 PGN，选一步，复制 FEN。",
      "intro": "粘贴一局棋，本页在浏览器里逐步回放。选中任意一步，复制这一步之后的 FEN，也可以一次复制每一步的 FEN。用来核对你从自己拥有的棋书里打出来的对局，取出组合前的局面，或把图工具需要的 FEN 交出去。它只回放你已经有的着法，不会在你正在下的对局里建议着法。",
      "features": [
        {
          "title": "每一步都有 FEN",
          "body": "列表从第一步之前的局面排到最后一个合法着法之后的局面。点一行，或复制整份列表。"
        },
        {
          "title": "停在第一个不合法的着法",
          "body": "打错一步就会停在那里并标出这一步。之前的每个 FEN 仍然有效，PGN 校验器会列出当时的合法着法。"
        },
        {
          "title": "一个文件里有多局",
          "body": "粘贴多局文件后选择要转换的那一局。PGN 如果已经带有 FEN 标签，就从那个局面开始，而不是从初始局面开始。"
        },
        {
          "title": "在你的设备上转换",
          "body": "回放发生在页面里。PGN 不会上传，也不需要账号。"
        }
      ],
      "howToTitle": "如何把 PGN 转成 FEN",
      "howTo": [
        "粘贴 PGN 或纯着法列表，放入一个 .pgn 文件，或载入示例。",
        "在列表里选一步。棋盘显示这一步之后的局面，FEN 在棋盘下方。",
        "复制这个 FEN，或复制并下载每一步的 FEN。",
        "手里是棋图而不是对局？先把棋盘图片扫描成 FEN，如果想要一份从那里开始的文件，再打开 FEN 转 PGN。"
      ],
      "faq": [
        {
          "question": "PGN 和 FEN 有什么区别？",
          "answer": "PGN 是整局：棋手、着法和结果。FEN 是一个局面：棋子在哪里、轮到谁走、易位权、吃过路兵的格子，以及两个回合计数。本页沿着 PGN 走，写出每一步之后的 FEN。"
        },
        {
          "question": "这个 FEN 描述的是哪个局面？",
          "answer": "FEN 是你选中的那一步之后的局面。第一行、任何着法之前，是初始局面；如果 PGN 带有 FEN 标签，则是那个标签里的局面。"
        },
        {
          "question": "着法不合法会怎样？",
          "answer": "回放停在那一步。之前的 FEN 保留。把同一局打开到 PGN 校验器，可以看到当时的合法着法。"
        },
        {
          "question": "能转换棋书里的对局吗？",
          "answer": "能。把你自己拥有的书里的对局打出来，供自己学习。本页不托管书中文字，也不提供棋书下载。"
        },
        {
          "question": "手机上能用吗？",
          "answer": "能。窄屏幕上，PGN 输入、棋盘和着法列表上下排列，每一行都可以点。"
        }
      ],
      "cta": {
        "title": "局面是你自己书里的一则棋图",
        "body": "拍下棋图，ScanChess 把它读成你可以改正的 FEN。一则棋盘图片消耗 1 个积分。",
        "button": "扫描棋盘图片"
      }
    },
    "fen-to-pgn": {
      "name": "FEN 转 PGN",
      "seoTitle": "FEN 转 PGN 转换器：免费的 SetUp 标签，在浏览器中完成",
      "seoDescription": "粘贴 FEN，得到带 SetUp 和 FEN 标签的 PGN。可以在棋盘上从这个局面接着走。不合法的 FEN 会说明原因。免费，无需注册，内容不会上传。",
      "kicker": "免费工具 · 无需登录",
      "h1": "FEN 转 PGN 转换器",
      "tagline": "粘贴 FEN，得到一份从这个局面开始的 PGN。",
      "intro": "粘贴一个局面，本页会写出带 [SetUp \"1\"] 和 [FEN] 标签的 PGN。这是保存一局不从初始局面开始的棋的标准写法。在棋盘上继续走，着法会写进同一份 PGN，并按这个局面的回合数编号；黑方先走时也会按黑方着法编号。缺少横排、没有走棋方，或有王被将军的 FEN 会被拒绝，并说明原因。用来处理你从自己拥有的棋书里扫描的棋图，或你自己摆出的局面。它不会在你正在下的对局里建议着法。",
      "features": [
        {
          "title": "每份文件都有 SetUp 和 FEN",
          "body": "即使是初始局面也会写上这个标签，文件自己说明从哪里开始，而不是让读者默认是初始局面。"
        },
        {
          "title": "把后续着法加进去",
          "body": "在棋盘上拖动棋子。着法会附加到同一份 PGN。撤销会去掉最后一步。"
        },
        {
          "title": "不合法的 FEN 会说明原因",
          "body": "八条横排、走棋方是 w 或 b、双方各一个王、兵不在第一或第八横排，并且刚走完的一方不能被将军。"
        },
        {
          "title": "内容不会上传",
          "body": "校验和 PGN 都在浏览器里生成。不需要账号。"
        }
      ],
      "howToTitle": "如何把 FEN 写成 PGN",
      "howTo": [
        "粘贴 FEN。局面合法时，棋盘会显示它。",
        "复制 PGN。它先写七个标准标签，然后是 SetUp 和 FEN。",
        "可选：在棋盘上走出后续着法。轮到黑方的局面会按黑方着法编号。",
        "在 PGN 查看器里回放这份文件，或把走不下去的着法交给 PGN 校验器。"
      ],
      "faq": [
        {
          "question": "为什么 PGN 里有 SetUp 和 FEN？",
          "answer": "没有这两个标签的 PGN 会被当成从初始局面开始。SetUp \"1\" 加上 FEN 标签，是在告诉数据库、Lichess、ChessBase 或 PGN 查看器：这局棋从你的局面开始。"
        },
        {
          "question": "什么样的 FEN 算不合法？",
          "answer": "棋子布置需要八条各有八格的横排，走棋方必须是 w 或 b，双方各一个王，兵不能站在第一或第八横排，刚走完的一方不能被将军。提示会指出是哪一条不符合。"
        },
        {
          "question": "能从这个局面接着走吗？",
          "answer": "能。拖动棋子，或先点棋子再点目标格。升变时会询问升成什么。着法写进同一份 PGN。这是记下你输入的变化，不是替你查着法。"
        },
        {
          "question": "图片上的 FEN 从哪里来？",
          "answer": "来自棋盘图片扫描，包括你自己拥有的棋书里的棋图。一则棋盘图片 1 个积分。改正局面、设置走棋方，再把 FEN 粘贴到这里。"
        },
        {
          "question": "初始局面可以吗？",
          "answer": "可以。仍然会写出 SetUp 和 FEN，文件会明确写出开始局面。不合法的吃过路兵格子会在规范化时去掉。"
        }
      ],
      "cta": {
        "title": "这个 FEN 是你自己书里的一则棋图",
        "body": "拍下棋图，ScanChess 把局面读成 FEN。一则棋盘图片消耗 1 个积分。然后回到这里写成 PGN。",
        "button": "扫描棋盘图片"
      }
    },
    "fen-validator": {
      "name": "FEN 校验器",
      "seoTitle": "FEN 校验器 – 在线检查国际象棋 FEN 是否合法",
      "seoDescription": "粘贴 FEN，检查是否合法：子力数量、王、易位权、吃过路兵格和轮到谁走，每个错误都用大白话告诉你怎么改。",
      "kicker": "免费工具 · 无需登录",
      "h1": "FEN 校验器",
      "tagline": "粘贴 FEN，看它是否合法；不合法的话，告诉你怎么改。",
      "intro": "FEN 用一行文字描述一个国际象棋局面：棋子摆在哪里、轮到谁走、易位权、吃过路兵格，以及两个步数计数。只要错一个字符，国际象棋软件就可能拒绝读取，往往只丢下一句“无效的 FEN”，别的什么也不说。这个页面会逐段检查整串 FEN，把每个问题用通俗的话列出来，并说明该改什么。通过校验的 FEN 会显示棋盘、轮到哪一方走，以及这一方是否被将军、被将死或无子可动（逼和）。",
      "features": [
        {
          "title": "列出全部问题，而不只是第一个",
          "body": "某条横线加起来不是 8 格、多了奇怪的字符、少了王、9 个兵、棋子位置不允许的易位权、错误的吃过路兵格、不合规的步数计数：所有问题一次列全，每个都附上改法。"
        },
        {
          "title": "不只查格式，也查规则",
          "body": "有些 FEN 格式完全正确，局面却不可能出现：刚走完棋的一方仍被将军、兵站在底线上、后的数量多到升变也解释不了。这些同样会被查出来。"
        },
        {
          "title": "能确定改法时，直接给出修正后的 FEN",
          "body": "如果只是易位、吃过路兵或步数计数字段有误，页面会给出修正好这些字段的 FEN。王的数量或棋子摆放出错，则交给你自己决定。"
        },
        {
          "title": "在你的设备上完成检查",
          "body": "FEN 在页面内检查，不会上传任何内容，也不需要账号。"
        }
      ],
      "howToTitle": "如何检查 FEN",
      "howTo": [
        "把 FEN 粘贴到输入框里，或者通过以 ?fen= 加 FEN 结尾的链接打开本页。",
        "点击“检查 FEN”。绿色结果表示局面合法；红色结果会逐条列出问题。",
        "按每个问题下方的提示修改，或者在页面给出修正后的 FEN 时直接使用它。",
        "校验通过后，复制完整 FEN，或在棋盘编辑器、FEN 转棋盘图、FEN 转 PGN 中打开。"
      ],
      "faq": [
        {
          "question": "怎样的 FEN 才算合法？",
          "answer": "由空格分隔的六个字段：棋子摆放（从第八横线到第一横线共八条横线，用斜杠分隔）、轮到谁走（w 或 b）、易位权（例如 KQkq，或 -）、吃过路兵格（例如 e3，或 -）、半回合计数和回合数。局面本身也必须可能存在：双方各一个王，第一和第八横线上没有兵，刚走完棋的一方不能处于被将军状态。"
        },
        {
          "question": "为什么提示我的易位权有误？",
          "answer": "只有当对应的王和车都还在初始格上，易位字母才可能成立：K 需要白王在 e1、白车在 h1，Q 需要 e1 和 a1，k 需要黑王在 e8、黑车在 h8，q 需要 e8 和 a8。哪一对王车已经动过，就把对应的字母删掉。"
        },
        {
          "question": "FEN 里的吃过路兵格该怎么写？",
          "answer": "写上一步兵跳过的那个格子，而且只在兵刚走了两格之后才写：轮到白方走时在第六横线，轮到黑方走时在第三横线。其他情况写 -。有些软件只在真的可以吃过路兵时才写这一格；两种写法都合法。"
        },
        {
          "question": "只有棋子摆放和轮到谁走的 FEN 算合法吗？",
          "answer": "很多软件都能接受，并默认没有易位权、没有吃过路兵格、从第 1 回合开始。本校验器同样接受，但会给出提示，并显示完整的六字段 FEN。"
        },
        {
          "question": "合法的 FEN 会不会仍是实战中不可能出现的局面？",
          "answer": "会。校验器检查的是所有局面都必须遵守的规则，而不是真实对局能否走到这个局面。少数局面能通过全部检查，却无法从初始局面走出来。"
        }
      ],
      "cta": {
        "title": "局面在截图或书上的棋图里？",
        "body": "扫描图片，ScanChess 会帮你摆好棋盘并写出 FEN，再拿来这里检查。注册即送免费积分。",
        "button": "扫描棋盘图片"
      }
    },
    "flip-fen": {
      "name": "翻转 FEN",
      "seoTitle": "翻转或镜像国际象棋局面（FEN）– 在线免费工具",
      "seoDescription": "把 FEN 旋转成黑方视角、左右镜像或交换黑白双方，然后复制新的 FEN 或下载局面图。",
      "kicker": "免费工具 · 无需登录",
      "h1": "翻转或镜像国际象棋局面",
      "tagline": "旋转、镜像或交换颜色，然后复制新的 FEN。",
      "intro": "把局面倒过来，用处比想象中多。按黑方视角印刷的棋图，录入时常被整个摆反；交换颜色后，研究局面更方便对照；测试引擎时，需要把同一局面镜像一下，看评估是否对称。这个页面能对任意 FEN 做三种变换，并同步改写所有相关部分：棋子摆放、轮到谁走、易位权和吃过路兵格。变换后不可能成立的权利会被删掉并注明，确保其他工具能接受新的 FEN。",
      "features": [
        {
          "title": "旋转 180 度",
          "body": "把棋盘整个转过来，颜色不变，相当于从黑方一侧看。适用于黑方在下方的棋图被当成白方在下方录入的情况。"
        },
        {
          "title": "左右镜像",
          "body": "a 线和 h 线互换，颜色不变。王离开了初始格，所以易位权会被取消。"
        },
        {
          "title": "交换颜色",
          "body": "上下镜像各条横线，并把每个棋子换成另一方的颜色，轮到谁走、易位权和吃过路兵格也随之改变。结果是同一个局面，只是换给另一方来下。"
        },
        {
          "title": "复制、下载或继续打开",
          "body": "复制新的 FEN，把棋盘保存为 PNG，或在 FEN 转棋盘图、棋盘编辑器、FEN 校验器中打开。"
        }
      ],
      "howToTitle": "如何翻转 FEN",
      "howTo": [
        "粘贴一个 FEN，或载入示例。",
        "打开旋转、镜像或交换颜色。三者可以组合，关掉某一项就撤销该变换。",
        "检查新的棋盘，并留意关于被删除的易位权或吃过路兵格的提示。",
        "复制新的 FEN，或下载局面图。"
      ],
      "faq": [
        {
          "question": "怎样从黑方视角查看一个 FEN？",
          "answer": "如果只是想从黑方一侧看局面，用棋图下方的“翻转棋盘”即可。FEN 不会改变，因为 FEN 本身不记录棋盘朝向。旋转 FEN 会真正移动棋子，只有在局面被整个摆反录入时才该这么做。"
        },
        {
          "question": "旋转和交换颜色有什么区别？",
          "answer": "旋转是把棋盘转 180 度，每个棋子的颜色不变，所以白兵会朝错误的方向走。交换颜色是上下镜像并互换颜色，棋子仍朝正确的方向走，改由另一方走棋：相当于坐到对手的位置上看同一个局面。"
        },
        {
          "question": "为什么易位权被删掉了？",
          "answer": "易位权要求王和车都在初始格上。旋转或镜像之后它们不在了，所以易位权无法保留。交换颜色会保留易位权，只是白方和黑方的互换。"
        },
        {
          "question": "回合数会变吗？",
          "answer": "不会。半回合计数和回合数保持不变。只有轮到谁走会改变，而且只在交换颜色时才变。"
        }
      ],
      "cta": {
        "title": "局面在截图或书里？",
        "body": "扫描截图、棋图或棋盘照片，ScanChess 会为你写出方向正确的 FEN。注册即送免费积分。",
        "button": "扫描棋盘图片"
      }
    },
    "chess-notation-translator": {
      "name": "国际象棋记谱翻译器",
      "seoTitle": "国际象棋记谱翻译器 – 各国棋子字母转英文 SAN",
      "seoDescription": "粘贴用德语、西班牙语、法语、俄语等棋子字母写的着法，立即转成标准英文 SAN 和 PGN。免费，无需注册。",
      "kicker": "免费工具 · 无需登录",
      "h1": "国际象棋记谱翻译器",
      "tagline": "把用任何语言棋子字母写的着法，转成英文 SAN 和 PGN。",
      "intro": "代数记谱法全世界通用，唯一不同的是棋子字母。同样是马走到 f3，德语记谱单写 Sf3，西班牙语或法语写 Cf3，俄语写 Кf3，而大多数国际象棋软件只认 Nf3。逐个替换字母是行不通的：R 在西班牙语、意大利语、法语和葡萄牙语里是王，在英语里却是车；К 在俄语里是马，Кр 才是王。这个页面按某一种语言的字母读取每一步，并在棋盘上重放，所以每一着都会对照当时的局面检查。结果是标准的英文 SAN，以及任何国际象棋软件都能打开的 PGN。",
      "features": [
        {
          "title": "十套字母，自动识别",
          "body": "英语、德语、西班牙语、法语、意大利语、葡萄牙语、荷兰语、俄语、波兰语和捷克语，还支持 ♘f3 这样的棋子符号。系统会选出能重放最多着法的那一套，你也可以自己指定。"
        },
        {
          "title": "每一着都经过检查",
          "body": "从初始局面或你提供的 FEN 开始重放整盘棋。第一个不合法的着法会被指出，认错的字母或记谱单上的笔误一下就能找到。"
        },
        {
          "title": "简式和详式记谱都能读",
          "body": "支持 Sf3、Sg1-f3 和 g1-f3，用 x 或冒号表示的吃子，e8D 或 e8=Ф 这样的升变，以及用数字 0 或字母 O 写的易位。"
        },
        {
          "title": "双向翻译",
          "body": "也能把英文 SAN 转成德语、西班牙语、俄语或其他任一套字母，用于俱乐部简报或你母语的记谱单。"
        }
      ],
      "howToTitle": "如何翻译国际象棋记谱",
      "howTo": [
        "粘贴着法，带不带回合数都可以。注释和变着会被跳过。",
        "语言保持自动识别，或手动选择着法所用的字母。",
        "如果对局不是从标准初始局面开始，把它的 FEN 粘贴到起始局面一栏。",
        "复制英文着法或 PGN，下载 PGN，或在 PGN 查看器中打开。"
      ],
      "faq": [
        {
          "question": "其他语言里国际象棋棋子用什么字母？",
          "answer": "按王、后、车、象、马、兵的顺序：英语 K Q R B N P；德语 K D T L S B；西班牙语和意大利语 R D T A C P；法语 R D T F C P；葡萄牙语 R D T B C P；荷兰语 K D T L P，兵没有字母；俄语 Кр Ф Л С К п；波兰语 K H W G S P；捷克语 K D V S J P。兵的着法通常不写字母。"
        },
        {
          "question": "它怎么知道我用的是哪种语言？",
          "answer": "它用每一套字母重放着法，保留走得最远、没有遇到不合法着法的那一套。如果几套同样合适，比如整盘只有兵的着法，就优先选择文本中出现过其字母的那一套。西班牙语和意大利语字母相同，选哪一个得到的英文着法都一样。"
        },
        {
          "question": "为什么在某一着停下了？",
          "answer": "因为按所选字母读取时，这一着在当时的局面下不合法。通常是某个字母认错了，或者着法本身记错了。请对照记谱单检查，或手动换一种语言。"
        },
        {
          "question": "能读手写记谱单吗？",
          "answer": "本工具翻译的是打字输入的着法。ScanChess 记谱单扫描器能读取用英文棋子字母（K、Q、R、B、N）手写的记谱单，并检查每一着；用其他字母写的记谱单，可以先打出来，再在这里翻译。"
        },
        {
          "question": "支持 P-K4 这样的描述记谱法吗？",
          "answer": "不支持。描述记谱法从各自一方的视角给格子命名，需要另一套读取方式。本工具读取的是代数记谱法，不论棋子字母用的是哪种语言。"
        }
      ],
      "cta": {
        "title": "还在手动录入记谱单？",
        "body": "如果记谱单用的是英文棋子字母，ScanChess 能把手写内容识别成 PGN，并检查每一着。注册即送免费积分。",
        "button": "扫描记谱单"
      }
    },
    "time-control-calculator": {
      "name": "用时计算器",
      "seoTitle": "国际象棋用时计算器 – 一盘棋要下多久",
      "seoDescription": "输入 90+30 或 15+10 等用时，查看对局最长和典型时长，以及它属于 FIDE 的哪一类（标准棋、快棋、超快棋）。",
      "kicker": "免费工具 · 无需登录",
      "h1": "国际象棋用时计算器",
      "tagline": "90+30、15+10 或 3+2 的一盘棋最长能下多久，又属于哪一类。",
      "intro": "像 90+30 这样的用时，表示每位棋手整盘有 90 分钟，每走一步再加 30 秒。一盘棋要下多久，取决于走了多少回合、双方用掉多少时间。这个页面会算出在你设定的回合数下对局最长能持续多久，根据我们统计的 347,741 盘线下对局给出典型时长，并说明这种用时的分类：按 FIDE 国际象棋规则属于超快棋、快棋还是标准棋，以及在 Lichess 和 Chess.com 上属于哪一类。",
      "features": [
        {
          "title": "常见写法都能识别",
          "body": "90+30、15|10、3+2，表示先限步再进入第二阶段的 90/40+30+30，或带延时的 G/90;d5。"
        },
        {
          "title": "最长时长和典型时长",
          "body": "最长时长是在你选定的回合数内双方时钟都用到零。典型时长是一盘 41 回合的中位数对局所用的时间：约为这些回合允许时间的 85%。"
        },
        {
          "title": "FIDE 分类",
          "body": "以基本用时加 60 倍加秒计算：每方 10 分钟及以下为超快棋，超过 10 分钟且少于 60 分钟为快棋，60 分钟及以上为标准棋。"
        },
        {
          "title": "网站分类",
          "body": "Lichess 和 Chess.com 都按“基本用时 + 40 × 加秒”估算对局时长。根据 Chess.com 帮助中心，不到 3 分钟算子弹棋，3 分钟到不满 10 分钟算超快棋，10 分钟及以上算快棋。"
        }
      ],
      "howToTitle": "如何计算一盘国际象棋要下多久",
      "howTo": [
        "输入用时，或从常见用时中选一个。",
        "看输入框下方的说明：它会告诉你用时是如何被解读的。",
        "设定最长时长对应的回合数。60 回合能覆盖约 85% 的慢棋对局。",
        "查看最长时长、典型时长、每位棋手的用时和所属分类。"
      ],
      "faq": [
        {
          "question": "90+30 的一盘国际象棋要下多久？",
          "answer": "每位棋手有 90 分钟，每步加 30 秒，所以一盘 60 回合的对局两边时钟加起来最多 4 小时，41 回合的对局最多约 3 小时 41 分钟。在我们统计的线下对局中，90+30 对局时长的中位数是 3 小时 3 分钟。"
        },
        {
          "question": "15+10 是快棋还是超快棋？",
          "answer": "快棋。FIDE 以基本用时加 60 倍加秒计算：15 分钟加 60 × 10 秒等于 25 分钟，超过 10 分钟且少于 60 分钟。超快棋是 10 分钟及以下，所以 3+2（5 分钟）和 5+3（8 分钟）都是超快棋。"
        },
        {
          "question": "90/40+30+30 是什么意思？",
          "answer": "前 40 回合 90 分钟，之后余下的对局再加 30 分钟，并且从第 1 回合起每走一步加 30 秒。这是许多 FIDE 等级分赛事采用的标准棋用时。有人写成 40/90 而不是 90/40；计算器会把较大的那个数当作分钟数。"
        },
        {
          "question": "为什么 FIDE 和 Lichess 对同一用时的分类不同？",
          "answer": "它们计算加秒的方式不同。FIDE 在基本用时上加 60 次加秒，Lichess 和 Chess.com 加 40 次。所以 10+0 在 FIDE 是超快棋（10 分钟及以下），在 Lichess 和 Chess.com 上却是快棋。"
        },
        {
          "question": "2|1 在 Chess.com 上算子弹棋还是超快棋？",
          "answer": "子弹棋。Chess.com 按“基本分钟数 + 40 × 加秒秒数”估算每位棋手的用时，2|1 算下来是 2 分 40 秒，不到超快棋起点的 3 分钟。根据 Chess.com 帮助中心，子弹棋不到 3 分钟，超快棋 3 分钟到不满 10 分钟，快棋 10 分钟及以上：1|0 是子弹棋；3|0、5|0、4|4 是超快棋；10|0、2|12、15|10 是快棋。每步以天计的每日对局（Daily）是单独的类别，不在这些实时分类里。"
        },
        {
          "question": "延时是怎么计算的？",
          "answer": "延时（如 G/90;d5）表示每步先有几秒缓冲，之后时钟才开始走。没用完的延时不会加到时钟上，所以对局最长时长与同样秒数的加秒相同，计算器在分类时也按加秒来算。"
        }
      ],
      "cta": {
        "title": "这个周末要下慢棋？",
        "body": "为本轮打印一张记谱单，赛后扫描它：ScanChess 会把手写内容识别成 PGN，供你回放和分析。",
        "button": "扫描记谱单"
      }
    }
  },
  "experience": {
    "startWithImage": "从你手中的图片开始",
    "heroTitle": "棋盘图片转 FEN，手写记谱单转 PGN。",
    "heroLead": "上传棋盘图片或手写记谱单，核对识别结果，再用 Stockfish 和 AI 教练复盘分析，或者回放、导出。",
    "boardTitle": "棋盘图片，变成可编辑的局面",
    "boardLead": "粘贴或上传一张清晰截图、二维棋图或俯拍棋盘照片，生成可编辑 FEN。倾斜照片和实体立体棋子可能需要修正；请始终核对棋子与行棋方。",
    "sheetTitle": "手写记谱单，变成可回放的 PGN",
    "sheetLead": "按顺序上传同一盘棋的多页记谱单，对照原稿核对着法，再导出 PGN。多盘独立对局请使用整轮扫描。",
    "samples": "没有图片？先体验一个样例。",
    "sampleHint": "预加载示例，无需登录，不调用识别、不扣积分。可以直接体验结果和编辑操作。",
    "sample_board": "棋盘照片 → 可编辑局面",
    "sample_scoresheet": "手写记谱单 → 前 8 回合",
    "sample_review": "练习核对一处标记的着法",
    "sampleNotice": "这是预加载示例或校对练习，没有执行实时扫描。记谱单示例只展示原稿前 8 回合；练习中的标记用于教学，不代表实际 OCR 测量。",
    "importNotice": "这是直接导入的棋谱，没有执行图片识别。使用前请核对内容。",
    "checkPosition": "规则检查通过，不代表与原稿完全一致。请对照图片核对，并修正不一致的地方。",
    "newTask": "新建扫描",
    "continueTask": "继续刚才的任务",
    "replaceTitle": "保留当前任务吗？",
    "replaceHint": "当前图片或结果仍然保留。你可以继续处理，也可以替换它们并开始新任务；需要保留的结果请先导出。",
    "replace": "替换并开始",
    "keep": "继续当前任务",
    "reviewTitle": "核对这盘棋的着法",
    "reviewNext": "核对下一处",
    "reviewRemaining_one": "还有 {{count}} 处需要核对",
    "reviewRemaining_other": "还有 {{count}} 处需要核对",
    "sourceImage": "原始图片",
    "zoom": "缩放",
    "extras": "对局信息、注释与分享",
    "editPosition": "校正棋子与局面",
    "applyPosition": "使用这个局面",
    "turnHint": "轮到哪方行棋？棋盘朝向不能说明这一点。王车易位等历史状态也可能需要在局面编辑器中修正。",
    "confirmPosition": "我已核对这个局面",
    "reviewed": "你已核对",
    "unreviewed": "你尚未核对，仍可复制这份 FEN。",
    "outputTitle": "一个局面，或一整盘对局。",
    "boardCost": "真实图片识别需登录，每个棋盘 1 积分；新账号赠送 10 积分。",
    "sheetCost": "真实图片识别需登录，每张记谱单扫描 2 积分，可包含同一盘棋的多页。",
    "lowBalance": "剩余 {{balance}} 积分，当前模式还能识别 {{count}} 次。",
    "boardWaiting": "正在识别棋子位置与棋盘朝向。结果返回后，可以核对并修正局面。",
    "freeAllowance": "注册赠送 10 积分，最多识别 10 张棋盘图片或扫描 5 张记谱单，无需绑卡。",
    "pricingUsage": "积分可混合使用：100 积分可识别 100 张棋盘图片，或扫描 50 张记谱单。编辑、回放、PGN 导出和对局历史仍然免费。",
    "selectedPlan": "已保留所选方案：{{plan}}。请核对下方价格后继续。",
    "toolsTitle": "已经有 PGN 或 FEN？",
    "toolsLead": "直接回放、校验、分析，或准备要分享的棋谱素材。这些工具在浏览器中运行，无需账号。",
    "tournamentTitle": "需要整理整轮比赛？",
    "tournamentLead": "按对局归组照片，补充对阵表，核对后按轮次导出 PGN。单盘扫描与多盘赛事各有适合的流程。",
    "faqBoard": "适合上传什么样的棋盘图片？",
    "faqBoardComparison": "与 FENShot 或 Chessify 相比有什么不同？",
    "boardComparison": "它们都解决图片转 FEN，但侧重点不同。FENShot 主打免费的本地截图识别，Chessify 在其服务中提供棋盘扫描；ScanChess 支持截图、二维棋图和清晰照片，并把修正流程放在结果旁边，但识别需要登录并消耗 1 个积分。无论使用哪个工具，分析前都应核对结果。",
    "faqSheet": "同一盘棋可以上传多页吗？",
    "faqCorrection": "识别结果可以修改吗？",
    "faqExample": "体验样例会扣积分吗？",
    "correctionHelp": "打开被标记的着法，或进入局面编辑器修正结果。编辑不消耗积分。",
    "analysisHint": "可以拖动棋子，或依次点选棋子与目标格试走。试走不会修改原始局面。",
    "resetAnalysis": "回到原始局面",
    "partialTitle": "还有着法需要修正",
    "partialHint": "整盘棋尚不能完整回放。可以先导出能够回放的开头部分，结果标记为未完赛。原始着法会保留，供你继续核对。",
    "partialConfirm": "导出可回放部分",
    "sheetCostSignedIn": "每次扫描记谱单消耗 2 积分，同一盘棋的多页算一次。",
    "boardCostSignedIn": "每张棋盘图片消耗 1 积分。",
    "homeFaqTitle": "关于 ScanChess 的常见问题",
    "homeFaq": [
      {
        "q": "ScanChess 免费吗？",
        "a": "注册即送 10 个免费积分，最多可以识别 10 张棋盘图片或扫描 5 盘记谱单，无需绑定银行卡。识别一张棋盘扣 1 积分，扫描一盘记谱单扣 2 积分，不论这盘棋有几页。免费工具不需要账号；在最佳着法查找里识别实物棋盘照片，以及请求 AI 讲解，需要一个免费账号。"
      },
      {
        "q": "能识别手写的记谱单吗？",
        "a": "能。按顺序上传一盘棋的各页，着法会被识别出来、按规则逐步校验，并和原图并排显示，导出 PGN 之前可以先改正拿不准的着法。支持代数记谱法；P-K4 这类描述记谱法不会被转换。"
      },
      {
        "q": "什么样的棋盘图片可以用？",
        "a": "网上对局的截图、书上的棋图，或者从正上方拍的清晰实体棋盘照片都可以。你会得到一个可编辑的 FEN，再自己选择轮到哪方走；斜拍的照片和立体雕刻棋子可能需要改正一两个格子。"
      },
      {
        "q": "为什么不直接把棋谱输入 Lichess 或 Chess.com？",
        "a": "这两个网站都能导入 PGN，但得有人先把它打出来，而且一处笔误就会导入失败。ScanChess 把照片直接变成 PGN，并检查每一步都合法，结果可以导入 Lichess、Chess.com 或 ChessBase。"
      },
      {
        "q": "扫描之后还能做什么？",
        "a": "对局会连同照片存进你的对局库。Stockfish 复盘分析免费，给出双方准确率和对局的转折点；AI 教练用大白话讲解这些时刻，每天免费 1 盘，之后每盘 1 积分。漏着会变成每日练习（免费账号每天 15 题），分析过的对局还会汇成“我的画像”。Pro 增加开局库、对手侦察和赛事报告；Pro+ 增加俱乐部功能。"
      }
    ],
    "exampleBoardCaption": "预设示例与局面，用于体验操作；此处没有执行图片识别。",
    "exampleScoresheetCaption": "编排的记谱单示例，仅展示前 8 回合及预设结果，没有执行图片识别。",
    "group_analyze": "分析与练习",
    "group_convert": "转换与导出",
    "group_tournament": "比赛与记谱",
    "group_fun": "趣味",
    "afterScan": {
      "title": "扫描之后",
      "lead": "扫描只是开始。一盘棋扫描完，接下来会经过这些环节：",
      "steps": {
        "save": {
          "title": "存进对局库",
          "text": "扫描的对局连同原始照片存进对局库，在你登录的每台设备上都能看到，随时可以导出 PGN。",
          "link": "整理你的历史对局"
        },
        "analyze": {
          "title": "免费复盘分析",
          "text": "Stockfish 给出双方准确率和对局的转折点；AI 教练用大白话讲清楚：每天免费 1 盘，之后每盘 1 积分。",
          "link": "分析一盘棋"
        },
        "practice": {
          "title": "漏着变成练习题",
          "text": "你没抓住的战术机会会变成每日练习题，题目都来自你自己的对局：免费账号每天 15 题，Pro 不限。",
          "link": "练习漏着"
        },
        "insights": {
          "title": "我的画像",
          "text": "分析过的对局汇成你的画像，还能和你在 Lichess 或 Chess.com 上的对局对比。完整画像（准确率走势、各阶段表现、错误类型）是 Pro 功能。",
          "link": "查看我的画像"
        },
        "prepare": {
          "title": "备战下一个对手",
          "text": "整理开局库，看对局从哪一步离开了准备；赛前侦察对手的线上对局。Pro：5 个开局库、每月 30 份侦察报告；Pro+：20 个和 100 份。",
          "link": "比较套餐"
        },
        "clubs": {
          "title": "俱乐部与教练",
          "text": "棋手名册和每位学员的页面，整轮扫描的对局一步分配给棋手，赛事报告可以用公开链接分享，并可随时撤回。",
          "link": "教练与俱乐部"
        }
      }
    }
  },
  "refinement": {
    "preparing": "正在准备图片…",
    "boardInputHint": "截图、棋图或照片",
    "sheetInputHint": "同一盘棋，可含多页",
    "fileGuide": "JPG、PNG、WebP · 单张不超过 15 MB",
    "playablePosition": "可编辑的局面",
    "tryResult": "点开这个局面试一试",
    "sampleHint": "样例免费体验，无需登录或积分。",
    "useOwnImage": "用自己的图片",
    "portable": "把结果带到你常用的国际象棋工具中。",
    "position": "局面",
    "correct": "校正",
    "needTurn": "分析前请选择行棋方，当前 FEN 按{{side}}行棋。",
    "reviewHint": "核对棋子或标记的着法，修正不消耗积分。",
    "analyse": "分析局面",
    "notChecked": "你尚未核对",
    "moreOptions": "更多操作",
    "stepImage": "图片",
    "stepReview": "核对",
    "stepUse": "使用",
    "boardReview": "核对棋盘局面",
    "sample": "示例",
    "imported": "已导入",
    "unsaved": "尚未保存修改",
    "saved": "已保存",
    "reviewPending": "待核对",
    "boardSampleHint": "可以直接体验编辑与分析。",
    "sheetSampleHint": "前 8 回合示例，标记项用于校对练习。",
    "next": "下一处",
    "save": "保存",
    "export": "导出",
    "guideLead": "按手中的材料选择流程，完成上传、核对和导出。",
    "exportHint": "核对后下载或复制 PGN；仍有非法着法时，可以选择只导出能回放的开头部分。"
  },
  "scanFlow": {
    "signInToScan_one": "登录并识别 · {{cost}} 积分",
    "pagesReady_one": "已添加 {{count}} 页，请按同一盘棋的记录顺序排列。",
    "replaceImage": "更换图片",
    "addPages": "继续添加棋谱页",
    "boardReady": "图片已就绪，确认无误后即可开始识别。",
    "pagesReady": "已添加 {{count}} 页，请按同一盘棋的记录顺序排列。",
    "signInToScan": "登录并识别 · {{cost}} 积分",
    "readyLead": "确认图片后即可开始识别。选错了图片类型？直接切换，无需重新上传。"
  },
  "dashboard": {
    "seo": {
      "overviewTitle": "概览 · ScanChess 工作区",
      "gamesTitle": "对局 · ScanChess 工作区",
      "reviewTitle": "待核对 · ScanChess 工作区",
      "eventsTitle": "赛事 · ScanChess 工作区",
      "positionsTitle": "局面 · ScanChess 工作区",
      "clubTitle": "俱乐部成员 · ScanChess 工作区",
      "billingTitle": "积分与套餐 · ScanChess 工作区",
      "joinTitle": "加入俱乐部 · ScanChess",
      "description": "你的 ScanChess 工作区：扫描、对局、赛事与积分。",
      "playersTitle": "俱乐部棋手 · ScanChess 工作区",
      "trainingTitle": "每日练习 · ScanChess 工作区",
      "insightsTitle": "我的画像 · ScanChess 工作区",
      "repertoireTitle": "开局库 · ScanChess 工作区",
      "scoutingTitle": "对手侦察 · ScanChess 工作区",
      "gameTitle": "{{game}} · ScanChess 工作区",
      "settingsTitle": "设置 · ScanChess 工作区",
      "batchTitle": "整轮扫描 · ScanChess 工作区",
      "notFoundTitle": "页面未找到 · ScanChess 工作区",
      "eventTitle": "{{name}} · 赛事 · ScanChess 工作区",
      "scoutingReportTitle": "{{name}} · 对手侦察 · ScanChess 工作区",
      "playerTitle": "{{name}} · 俱乐部棋手 · ScanChess 工作区",
      "scanTitle": "新建扫描 · ScanChess 工作区",
      "scanBoardTitle": "棋盘图片 · ScanChess 工作区",
      "scanSheetTitle": "记谱单 · ScanChess 工作区",
      "tournamentsTitle": "我的比赛 · ScanChess 工作区",
      "tournamentTitle": "{{name}} · 我的比赛 · ScanChess 工作区",
      "inviteTitle": "邀请好友 · ScanChess 工作区"
    },
    "nav": {
      "label": "工作区",
      "scan": "新建扫描",
      "overview": "概览",
      "review": "待核对",
      "games": "对局",
      "events": "赛事",
      "positions": "局面",
      "members": "成员",
      "clubBilling": "积分与账单",
      "clubHeading": "俱乐部",
      "billing": "积分与套餐",
      "settings": "设置",
      "tools": "免费工具",
      "more": "更多",
      "players": "棋手",
      "training": "每日练习",
      "insights": "我的画像",
      "repertoire": "开局库",
      "scouting": "对手侦察",
      "new": "新建",
      "groupGames": "我的棋局",
      "groupImprove": "提高",
      "groupPrepare": "备战",
      "myTournaments": "我的比赛",
      "practiceShort": "练习",
      "invite": "邀请好友"
    },
    "userMenu": {
      "workspace": "工作区"
    },
    "workbench": {
      "board": "台次",
      "addBoard": "填写台次",
      "whiteElo": "白方等级分",
      "addWhiteElo": "填写白方等级分",
      "blackElo": "黑方等级分",
      "addBlackElo": "填写黑方等级分",
      "section": "分组",
      "addSection": "填写分组",
      "tab": {
        "board": "棋盘",
        "details": "详情",
        "notes": "备注",
        "share": "分享"
      }
    },
    "guest": {
      "title": "尚未登录",
      "body": "示例免费体验。登录后即可扫描你自己的图片并保存对局。新账号可获 10 个免费积分。"
    },
    "workspace": {
      "switch": "切换工作区",
      "heading": "工作区",
      "personal": "个人",
      "pro": "Pro",
      "free": "免费",
      "clubMembers_one": "俱乐部 · {{count}} 名成员",
      "clubMembers_other": "俱乐部 · {{count}} 名成员",
      "clubDetail_one": "{{role}} · {{count}} 积分",
      "clubDetail_other": "{{role}} · {{count}} 积分",
      "personalPro_one": "Pro · {{count}} 积分",
      "personalPro_other": "Pro · {{count}} 积分",
      "personalFree_one": "免费 · {{count}} 积分",
      "personalFree_other": "免费 · {{count}} 积分",
      "create": "创建俱乐部",
      "join": "通过邀请链接加入",
      "hint": "新的扫描、对局与积分都归属于你在这里选择的工作区。"
    },
    "roles": {
      "owner": "所有者",
      "admin": "管理员",
      "member": "成员"
    },
    "credits": {
      "count_one": "{{count}} 积分",
      "count_other": "{{count}} 积分",
      "enoughScoresheets_one": "够扫 {{count}} 张记谱单",
      "enoughScoresheets_other": "够扫 {{count}} 张记谱单",
      "enoughBoards_one": "够识别 {{count}} 张棋盘照片",
      "enoughBoards_other": "够识别 {{count}} 张棋盘照片",
      "nextGrant": "Pro · {{date}} 发放下一批积分",
      "free": "免费",
      "clubBalance": "俱乐部共享",
      "pro": "Pro 会员"
    },
    "creditHistory": {
      "activity": {
        "scoresheet": "记谱单扫描",
        "board": "棋盘识别",
        "coachExplanation": "AI 教练讲解",
        "reportSummary": "报告总结",
        "positionExplanation": "局面讲解"
      },
      "refund": "退款：{{what}}",
      "free": "{{what}}（每日免费）",
      "freeReturned": "{{what}}（每日免费，已退回）"
    },
    "status": {
      "toCheck_one": "{{count}} 处待核对",
      "toCheck_other": "{{count}} 处待核对",
      "illegalFrom": "第 {{move}} 手起出现非法着法",
      "noFlags": "无标记",
      "ruleChecked": "每一步都已按规则回放校验，但还没有人确认过",
      "checked": "已核对",
      "filterFlagged": "待核对"
    },
    "progress": {
      "checked": "{{count}} 已核对",
      "noFlags": "{{count}} 无标记",
      "toCheck": "{{count}} 待核对",
      "notScanned": "{{count}} 未扫描"
    },
    "game": {
      "round": "第 {{round}} 轮",
      "board": "第 {{board}} 台",
      "missingTitle": "此对局不在这个工作区",
      "missingBody": "它可能已被删除，或属于另一个工作区。请切换工作区，或打开你的对局列表。",
      "breadcrumb": "面包屑导航",
      "startChecking": "开始核对"
    },
    "overview": {
      "personalDescription": "个人工作区",
      "continue": "继续",
      "savedToday": "今天已保存",
      "savedOn": "保存于 {{date}}",
      "today": "今天",
      "dropTitle": "拖放、粘贴或选择一张图片",
      "dropCosts": "棋盘照片 1 积分 · 记谱单 2 积分",
      "scoresheet": "记谱单",
      "recentGames": "最近对局",
      "allGames": "全部对局",
      "allPositions": "全部局面",
      "noGamesTitle": "还没有对局",
      "noGamesBody": "扫描一张记谱单，对局就会保存在这里，随时可以核对、回放和导出。",
      "scanFirst": "扫描一张记谱单",
      "credits": "积分",
      "inviteLine": "邀请好友：双方各得 5 积分",
      "copyLink": "复制链接",
      "extensionHint": "你在网站或浏览器插件中保存的棋盘会出现在这里",
      "continueChecking": "继续核对",
      "openAnalysis": "查看复盘分析",
      "toCheckTitle_one": "{{count}} 盘待核对",
      "toCheckTitle_other": "{{count}} 盘待核对",
      "toCheckBody": "部分着法识别得不够确定。分析或分享之前，先对照原稿核对一下。",
      "toCheckAction": "开始核对",
      "nextStep": "下一步",
      "practiceTitle_one": "今天有 {{count}} 张练习卡",
      "practiceTitle_other": "今天有 {{count}} 张练习卡",
      "insightsTitle": "看看你的对局反映了什么",
      "latestAnalyzed": "你最近的对局 {{game}} 已完成复盘分析。",
      "openInsights": "查看我的画像"
    },
    "lowBalance": {
      "body": "Pro 每 30 天增加 100 个积分——约 50 张记谱单——每月 $2.50，按年计费 $29.99。",
      "seePro": "了解 Pro",
      "invite": "邀请好友 · 各得 5 积分",
      "notNow": "暂不"
    },
    "upgrade": {
      "cta": "升级到 Pro",
      "title": "升级 Pro，继续扫描",
      "titlePass": "升级 Pro 年付通行证，继续扫描",
      "subtitle": "付款确认后积分立即到账。",
      "usage": "过去 30 天你使用了 {{credits}} 积分：{{scoresheets}} 张记谱单和 {{boards}} 张棋盘照片。",
      "billing": "计费方式",
      "planLabel": "套餐",
      "fits": "匹配你的扫描量",
      "tierDetail": {
        "pro": "每 30 天 100 个积分 · 约 50 张记谱单",
        "proplus": "每 30 天 500 个积分 · 约 250 张记谱单 · 适合扫描量大的俱乐部和教练"
      },
      "monthlyEquivalent": "{{monthly}}/月，按年计费 {{yearly}}",
      "perYear": "/ 年",
      "perMonth": "/ 月",
      "totalBeforeTax": "税前总额",
      "continue": "继续结算",
      "smallPrint": "按相同价格自动续订，直到你取消为止。所有付款均为最终交易，不提供退款（适用法律强制要求的情形除外）。积分永不过期。税费由销售主体 Waffo 在结算时计算。",
      "refundPolicy": "退款政策",
      "clubPlan": "Pro+ 是面向俱乐部和教练的套餐：包含 Pro 的全部功能、更多积分，以及与他人共享的功能。",
      "cnNoProPlus": "人民币商店暂未上架 Pro+。请联系客服，我们会协助你开通。",
      "contactSupport": "联系客服",
      "quota": {
        "notIncluded": "不包含"
      },
      "topics": {
        "insights": {
          "title": "升级 Pro，查看完整画像",
          "subtitle": "在你分析过的全部对局里，看清你在哪里赢棋、在哪里丢分。",
          "points": {
            "0": "准确率走势，以及按对局阶段、按错误类型的分布",
            "1": "你执白、执黑的开局表现，优势局面的转化，以及下一步练什么",
            "2": "按时间段、来源和时限筛选，以及更深入的线上与线下对比"
          },
          "included": "完整画像与筛选"
        },
        "repertoire": {
          "title": "升级 Pro，保存开局库",
          "subtitle": "保存你准备的变化，看看每盘棋在哪一步离开了准备。",
          "points": {
            "0": "从 PGN 导入开局库，或根据你自己的对局生成",
            "1": "看到每盘棋离开准备的那一步"
          },
          "quota_one": "{{count}} 个开局库",
          "quota_other": "{{count}} 个开局库"
        },
        "scouting": {
          "title": "升级 Pro，侦察对手",
          "subtitle": "赛前了解对手：线上常下什么开局、各开局得分如何，以及该往哪里打。",
          "points": {
            "0": "读取对手在 Lichess 或 Chess.com 上最近的公开对局",
            "1": "对手执白、执黑的开局，以及各开局的得分"
          },
          "quota_one": "每月 {{count}} 份侦察报告",
          "quota_other": "每月 {{count}} 份侦察报告"
        },
        "eventReport": {
          "title": "升级 Pro，查看完整赛事报告",
          "subtitle": "一份可打印的单个棋手赛事总结，基于每盘棋保存的引擎分析生成。",
          "points": {
            "0": "每轮最大错误、所下的开局，以及反复出现的错误",
            "1": "没有赢下来的优势局面，以及下一步练什么"
          },
          "quota_one": "每月 {{count}} 份赛事报告",
          "quota_other": "每月 {{count}} 份赛事报告"
        },
        "reportShare": {
          "title": "升级 Pro+，分享报告",
          "subtitle": "把报告的私密链接发给家长或其他教练，有效期由你决定。",
          "points": {
            "0": "拿到链接的人无需账号即可查看",
            "1": "除非你选择显示，棋手姓名会保持隐藏"
          },
          "included": "报告分享链接"
        },
        "clubPlayers": {
          "title": "升级 Pro+，管理棋手名册",
          "subtitle": "开通 Pro+ 的俱乐部可以维护学员名册，并把扫描的每盘对局归到下棋的学员名下。",
          "points": {
            "0": "每位学员的画像、对局和报告集中在一处",
            "1": "整轮扫描的记谱单归到对应的棋手名下"
          },
          "included": "俱乐部棋手名册"
        },
        "training": {
          "title": "练习不限张数",
          "subtitle_one": "免费账号每天 {{count}} 张练习卡；Pro 和 Pro+ 不限张数。",
          "subtitle_other": "免费账号每天 {{count}} 张练习卡；Pro 和 Pro+ 不限张数。",
          "points": {
            "0": "来自你自己对局的局面：当时有一步制胜的着法被漏掉了",
            "1": "每张卡会在你快要忘记之前再出现"
          },
          "included": "练习不限张数"
        },
        "coach": {
          "title": "让教练继续讲解",
          "subtitle_one": "每天免费讲解 {{count}} 次。",
          "subtitle_other": "每天免费讲解 {{count}} 次。",
          "points": {
            "1": "Pro 和 Pro+ 每 30 天发放积分，积分永不过期",
            "0_one": "之后每次讲解 {{count}} 积分",
            "0_other": "之后每次讲解 {{count}} 积分"
          }
        }
      }
    },
    "needCredits": {
      "title_one": "这次扫描需要 {{cost}} 积分，你有 {{count}} 个。",
      "title_other": "这次扫描需要 {{cost}} 积分，你有 {{count}} 个。",
      "keep": "你的照片会留在这里，结算完成后会直接回到这次扫描。",
      "proTitle": "Pro · 年付",
      "proBody": "每 30 天 100 个积分 · 约 50 张记谱单 · 或每月 {{monthly}}",
      "inviteTitle": "邀请好友",
      "inviteBody": "新朋友用你的链接注册并验证邮箱后，双方各得 5 积分。",
      "freeStays": "编辑、回放、PGN 导出和示例始终免费。",
      "proNext": "下一批 {{credits}} 个积分将于 {{date}} 发放。",
      "proPlus": "Pro+ 每 30 天增加 500 个积分——约 250 张记谱单。",
      "seeProPlus": "了解 Pro+",
      "clubTitle": "{{name}} 积分已用完",
      "clubBody": "这次扫描需要 {{cost}} 积分；俱乐部还有 {{balance}}。",
      "buyForClub": "为俱乐部购买积分",
      "usePersonal": "在我的个人工作区扫描 · {{count}} 积分",
      "personalNote": "在个人工作区扫描会保存到你自己的对局库，而不是俱乐部的。"
    },
    "games": {
      "count_one": "{{count}} 盘",
      "count_other": "{{count}} 盘",
      "exportAll": "导出全部",
      "exportFiltered": "导出这些",
      "exported_one": "已导出 {{count}} 盘",
      "exported_other": "已导出 {{count}} 盘",
      "exportTruncated": "一个文件最多容纳前 1,000 盘。请缩小筛选范围以导出其余对局。",
      "searchLabel": "搜索对局",
      "searchPlaceholder": "按选手或赛事搜索",
      "event": "赛事",
      "round": "轮次",
      "status": "状态",
      "result": "结果",
      "sort": "排序",
      "any": "全部",
      "sortSaved": "最近保存",
      "sortDate": "对局日期",
      "sortBoard": "台次",
      "sortFlagged": "标记最多",
      "selected_one": "已选 {{count}} 盘",
      "selected_other": "已选 {{count}} 盘",
      "markChecked": "标记为已核对",
      "markedChecked_one": "已将 {{count}} 盘标记为已核对",
      "markedChecked_other": "已将 {{count}} 盘标记为已核对",
      "illegalNotChecked_one": "{{count}} 盘存在非法着法，已留待核对。",
      "illegalNotChecked_other": "{{count}} 盘存在非法着法，已留待核对。",
      "moveToEvent": "移动到赛事",
      "delete": "删除",
      "deleted_one": "已删除 {{count}} 盘",
      "deleted_other": "已删除 {{count}} 盘",
      "deleteTitle_one": "删除这 {{count}} 盘？",
      "deleteTitle_other": "删除这 {{count}} 盘？",
      "deleteBody": "这些对局及其记谱单照片将被永久移除，且无法恢复。已导出的 PGN 文件不受影响。",
      "clear": "清空",
      "clearFilters": "清除筛选",
      "noMatchTitle": "没有符合筛选条件的对局",
      "emptyTitle": "还没有对局",
      "emptyBody": "你扫描的每张记谱单都会保存在这里。可以扫一盘，也可以一次扫描整轮。",
      "selectAll": "选择本页全部对局",
      "select": "选择 {{game}}",
      "boardShort": "台",
      "opening": "开局",
      "saved": "保存时间",
      "showing": "显示第 {{from}}–{{to}} 条",
      "previous": "上一页",
      "next": "下一页",
      "moveTitle_one": "把这 {{count}} 盘移动到某个赛事",
      "moveTitle_other": "把这 {{count}} 盘移动到某个赛事",
      "moveBody": "对局会沿用该赛事的名称；如果你填写了轮次，也会一并沿用。",
      "noEvents": "这个工作区还没有赛事。请到“赛事”里创建一个。",
      "roundOptional": "轮次（可选）",
      "moveConfirm": "移动",
      "moved_one": "已将 {{count}} 盘移动到 {{event}}",
      "moved_other": "已将 {{count}} 盘移动到 {{event}}",
      "scannedBy": "扫描人",
      "deleteOwnOnly": "作为成员，你只能删除自己扫描的对局。",
      "viewLabel": "显示",
      "checkOneByOne": "逐局核对",
      "analysis": {
        "column": "复盘分析",
        "analyzed": "已分析",
        "none": "未分析",
        "outdated": "需更新",
        "outdatedHint": "保存的分析针对的是修改前的着法或旧版分析，重新分析这盘棋即可更新。"
      }
    },
    "review": {
      "gamesCount_one": "{{count}} 盘",
      "gamesCount_other": "{{count}} 盘",
      "filterLabel": "按赛事筛选",
      "allEvents": "全部赛事",
      "noEvent": "无赛事",
      "sortedBy": "标记最多的对局优先",
      "queueLabel": "待核对的对局",
      "paneLabel": "视图",
      "pane": {
        "moves": "着法",
        "image": "图片",
        "board": "棋盘"
      },
      "noImage": "这盘对局保存时没有照片。",
      "pickGame": "选择一盘进行核对",
      "keyNext": "下一个标记的着法",
      "keyChecked": "标记为已核对",
      "fixIllegal": "请先修正非法着法",
      "remaining_one": "{{count}} 步待核对",
      "remaining_other": "{{count}} 步待核对",
      "nothingLeft": "没有需要核对的了",
      "position": "第 {{index}} 盘，共 {{total}} 盘",
      "unsaved": "有未保存的修改",
      "skip": "跳过",
      "nextIssue": "下一个标记的着法",
      "markChecked": "标记为已核对并前进",
      "checkedToast": "{{game}} 已核对",
      "emptyTitle": "没有需要核对的内容",
      "emptyBody": "这个工作区里的对局要么已核对，要么没有任何标记。"
    },
    "positions": {
      "description": "你从书本、视频、扫描和对局中保存的局面——可以讲解，也可以加入练习。",
      "scanBoard": "扫描棋盘",
      "filterLabel": "按来源筛选",
      "filter": {
        "all": "全部"
      },
      "source": {
        "extension": "浏览器插件",
        "board_scan": "上传",
        "editor": "棋盘编辑器",
        "game": "来自对局",
        "book": "书本",
        "video": "视频"
      },
      "whiteToMove": "轮到白方走棋",
      "blackToMove": "轮到黑方走棋",
      "fromHost": "来自 {{host}}",
      "analyse": "在 Lichess 上分析",
      "openGame": "打开对局",
      "delete": "删除局面",
      "loadMore": "加载更多",
      "save": "保存到局面库",
      "saved": "已保存到局面库",
      "savedToast": "局面已保存，可在“局面”中找到它。",
      "emptyTitle": "还没有保存的局面",
      "emptyBody": "在扫描结果、最佳着法工具或分析棋盘中保存局面（可记下书本页码或视频时间点），然后在这里研究。",
      "untitled": "未命名局面",
      "close": "关闭",
      "study": "研究",
      "openBoard": "在分析棋盘中打开",
      "engineLines": "引擎变化",
      "startEngine": "启动引擎",
      "details": "笔记信息",
      "edit": "编辑",
      "saveDetails": "保存信息",
      "updated": "已保存",
      "openSource": "打开来源",
      "page": "第 {{page}} 页",
      "at": "{{time}} 处",
      "watchAt": "从 {{time}} 观看",
      "fromTools": "寻找最佳着法"
    },
    "billing": {
      "freeDescription": "你目前用的是免费套餐。积分是你在 ScanChess 唯一要花费的东西。",
      "proDescription": "你的套餐、余额，以及最近扫描的内容。",
      "balance": "余额",
      "balanceWorth": "约合 {{scoresheets}} 张记谱单或 {{boards}} 张棋盘照片",
      "last30": "最近 30 天",
      "scoresheets": "记谱单",
      "boards": "棋盘照片",
      "scans_one": "{{count}} 次扫描",
      "scans_other": "{{count}} 次扫描",
      "noUsage": "最近 30 天没有扫描记录。",
      "coachUsage": "AI 教练：免费讲解 {{free}} 次，付费讲解 {{paid}} 次",
      "inviteTitle": "邀请好友",
      "inviteBody": "新朋友用你的链接注册并验证邮箱后，双方各得 5 积分。",
      "copyInvite": "复制你的邀请链接",
      "coach": "AI 讲解",
      "explanations_one": "{{count}} 次付费讲解",
      "explanations_other": "{{count}} 次付费讲解",
      "myPlan": "我的套餐",
      "activeUntil": "有效期至 {{date}}",
      "nextCredits": "下次发放积分：{{date}}",
      "freePlanLine": "Pro 每 30 天发放 {{count}} 积分，并解锁完整的分析功能。",
      "seePlans": "查看套餐",
      "managePlan": "更换或取消",
      "changePlan": "更换套餐",
      "upgrade": "升级",
      "seeInvites": "查看邀请进度"
    },
    "club": {
      "overviewDescription_one": "这里的对局与积分由 {{count}} 名成员共享",
      "overviewDescription_other": "这里的对局与积分由 {{count}} 名成员共享",
      "openEvent": "打开赛事",
      "reviewGames_one": "核对 {{count}} 盘",
      "reviewGames_other": "核对 {{count}} 盘",
      "needsCheck": "待核对",
      "openQueue": "逐局核对",
      "newEvent": "新建赛事",
      "noEvents": "还没有赛事",
      "billingDescription": "积分归俱乐部所有。每位成员在这个工作区的扫描都从这个余额中扣除。",
      "plan": "套餐",
      "planActive": "生效中",
      "noPlan": "无套餐",
      "planUntil": "已付费至 {{date}}",
      "planHint": "在下方为俱乐部购买套餐",
      "nextGrant": "下次发放",
      "neverExpire": "积分永不过期",
      "usageByEvent": "最近 30 天按赛事统计的用量",
      "coachUsage": "AI 教练",
      "coachPaidUses": "付费使用 {{uses}} 次",
      "buyTitle": "为俱乐部购买积分",
      "buyBody": "为俱乐部购买套餐：积分会进入俱乐部余额，不会有人获得个人 Pro。",
      "planCredits": "每 30 天 {{count}} 个积分",
      "receipts": "收据由销售主体 Waffo 通过邮件发送。",
      "askTitle": "需要更多积分？",
      "askBody": "只有所有者和管理员可以为俱乐部购买积分。我们现在就可以通知他们。",
      "askAdmins": "请管理员充值",
      "askedAdmins_one": "已通知 {{count}} 位所有者或管理员",
      "askedAdmins_other": "已通知 {{count}} 位所有者或管理员",
      "transactions": "交易记录",
      "when": "时间",
      "what": "内容",
      "member": "成员",
      "creditsColumn": "积分",
      "noTransactions": "还没有交易记录。",
      "createTitle": "创建俱乐部",
      "createBody": "俱乐部是一个共享工作区：成员用各自的账号登录，用俱乐部的积分扫描，并把俱乐部的对局保存在同一个库里。",
      "nameLabel": "俱乐部名称",
      "createCta": "创建俱乐部",
      "created": "{{name}} 已创建。接下来邀请你的成员吧。",
      "membersDescription": "每个人都用自己的账号登录，不会有人共用密码。",
      "inviteTitle": "邀请链接",
      "inviteBody": "打开链接的人会以你选择的角色加入。链接 7 天后失效。",
      "joinsAs": "加入身份",
      "createInvite": "创建邀请链接",
      "copy": "复制",
      "inviteOnce": "请现在复制：出于安全考虑，链接只显示一次，将于 {{date}} 失效。",
      "inviteRow_one": "{{role}}链接 · 创建于 {{created}} · 失效于 {{expires}} · 已使用 {{count}} 次",
      "inviteRow_other": "{{role}}链接 · 创建于 {{created}} · 失效于 {{expires}} · 已使用 {{count}} 次",
      "revoke": "撤销",
      "revoked": "邀请链接已撤销",
      "memberCount_one": "{{count}} 名成员",
      "memberCount_other": "{{count}} 名成员",
      "noMembers": "还没有成员",
      "role": "角色",
      "gamesThisPeriod": "对局 · 30 天",
      "creditsThisPeriod": "积分 · 30 天",
      "lastActive": "最近活跃",
      "you": "你",
      "roleFor": "{{name}} 的角色",
      "roleChanged": "角色已更改",
      "memberActions": "{{name}} 的操作",
      "leave": "退出俱乐部",
      "makeOwner": "设为所有者",
      "transferred": "所有权已转移",
      "remove": "移出俱乐部",
      "removed": "成员已移除",
      "removeTitle": "移除 {{name}}？",
      "removeBody": "对方将无法访问俱乐部的对局与积分。他们扫描过的对局会留在俱乐部中。",
      "leaveTitle": "退出 {{name}}？",
      "leaveBody": "你将无法访问俱乐部的对局与积分。你扫描过的对局会留在俱乐部中。",
      "roleHelp": {
        "owner": "拥有管理员的全部权限，此外还可以转移所有权和删除俱乐部。",
        "admin": "邀请和移除成员，购买积分，管理赛事与对阵，删除任意对局。",
        "member": "用俱乐部积分扫描，核对并编辑俱乐部的任意对局，导出 PGN。只能删除自己扫描的对局。"
      },
      "deleteTitle": "删除俱乐部",
      "deleteBody": "移除俱乐部、其对局、赛事和剩余积分——对所有成员生效。",
      "deleteCta": "删除俱乐部",
      "deleteConfirmTitle": "删除 {{name}}？",
      "deleteConfirmBody": "属于该俱乐部的每一盘对局、赛事和积分都会被删除，对所有成员生效，且无法撤销。",
      "transferTitle": "将 {{name}} 设为所有者？",
      "transferBody": "{{name}} 将可以修改所有成员的角色并删除俱乐部。你会变成管理员，只有新的所有者才能把所有权转回给你。"
    },
    "join": {
      "pasteTitle": "加入俱乐部",
      "pasteBody": "粘贴俱乐部所有者或管理员发给你的邀请链接。",
      "linkLabel": "邀请链接",
      "continue": "继续",
      "badLink": "这看起来不是 ScanChess 的邀请链接。",
      "invalidTitle": "这个邀请已失效",
      "invalidBody": "它可能已过期或被撤销。请向俱乐部索要新的链接。",
      "tryAnother": "使用其他链接",
      "title": "加入 {{name}}",
      "role": "你将以 {{role}} 身份加入。此邀请将于 {{date}} 失效。",
      "accept": "加入俱乐部",
      "alreadyMember": "你已经是成员——打开工作区",
      "joined": "欢迎加入 {{name}}"
    },
    "events": {
      "description": "锦标赛和俱乐部活动，按轮次组织。",
      "count_one": "1 项赛事",
      "count_other": "{{count}} 项赛事",
      "new": "新建赛事",
      "newTitle": "新建赛事",
      "newBody": "现在就给赛事起个名字。对阵表是可选的：有了它，每一盘扫描的对局都会归入正确的选手、等级分、轮次和台次。",
      "create": "创建赛事",
      "created": "{{name}} 已创建",
      "emptyTitle": "还没有赛事",
      "emptyBody": "创建一个赛事，就能按对阵表核对每一轮的扫描进度、查看还缺哪些台次，并把对局分享给你的棋手。",
      "form": {
        "name": "赛事名称",
        "site": "地点",
        "startDate": "开始",
        "endDate": "结束",
        "endBeforeStart": "结束日期早于开始日期。"
      },
      "list": {
        "event": "赛事",
        "rounds": "轮次",
        "games": "对局",
        "progress": "进度",
        "eventPage": "赛事主页",
        "public": "公开",
        "private": "私密",
        "noGames": "还没有扫描任何对局"
      },
      "pairings": {
        "title": "对阵表",
        "choose": "导入对阵表（CSV、TSV、PGN 或 JSON）",
        "remove": "移除",
        "readAs": "我们将你的文件识别为{{format}}。",
        "format": {
          "csv": "表格文件（CSV 或 TSV）",
          "pgn": "PGN 名单",
          "json": "JSON 对阵文件"
        },
        "found_one": "找到 1 条对阵，{{rounds}}。",
        "found_other": "找到 {{count}} 条对阵，{{rounds}}。",
        "rounds_one": "第 {{list}} 轮",
        "rounds_other": "第 {{list}} 轮",
        "none": "文件中没有找到对阵信息。",
        "moreWarnings_one": "还有 1 条警告",
        "moreWarnings_other": "还有 {{count}} 条警告"
      },
      "personal": {
        "new": "添加比赛",
        "description": "你参加过的比赛，每场都有比赛报告。",
        "emptyTitle": "还没有比赛",
        "emptyBody": "添加一场你参加过的比赛，把对局归入其中。比赛报告会帮你总结：比分和每轮准确率、开局、反复出现的错误，以及接下来该练什么。",
        "organizerHint": "你是组织者？可以按对阵表一次扫描整轮记谱单。",
        "newBody": "给你参加过的比赛起个名字。然后导入它的对局，或把已保存的对局归入其中，比赛报告会为你总结。",
        "create": "添加比赛",
        "created": "已添加 {{name}}",
        "nameLabel": "比赛名称",
        "namePlaceholder": "市公开赛",
        "organizerPairings": "你是这场比赛的主办方？导入对阵表"
      }
    },
    "event": {
      "gameCount_one": "1 盘",
      "gameCount_other": "{{count}} 盘",
      "roundCount_one": "1 轮",
      "roundCount_other": "{{count}} 轮",
      "roundsLabel": "轮次",
      "tabGames_one": "1 盘",
      "tabGames_other": "{{count}} 盘",
      "uploadRound": "上传第 {{round}} 轮照片",
      "uploadPhotos": "上传照片",
      "uploadHint": "命名为 R3B5.jpg 这样的文件会直接归入对应台次。",
      "stillMissing": "仍缺：",
      "boardList_one": "第 {{boards}} 台",
      "boardList_other": "第 {{boards}} 台",
      "allScanned": "所有已配对的台次都已扫描。",
      "notScanned": "未扫描",
      "resultConflict": "对阵表结果：{{result}}",
      "resultConflictHint": "对阵表中记录的结果不同。以记谱单上的结果为准。",
      "open": "打开",
      "review": "核对",
      "upload": "上传",
      "actions": "操作",
      "sideLabel": "赛事工具",
      "emptyTitle": "本轮还没有内容",
      "emptyBody": "导入对阵表即可看到每个台次，或上传本轮的记谱单照片。",
      "missingTitle": "这个赛事不可用",
      "missingBody": "它已被删除，或属于另一个工作区。",
      "backToEvents": "返回赛事列表",
      "share": {
        "title": "赛事主页",
        "body": "任何持有链接的人都能按轮次查看没有未处理标记的对局。仍有标记的对局在核对完成前保持隐藏。",
        "on": "赛事主页已公开",
        "off": "赛事主页已重新设为私密",
        "copy": "复制赛事主页链接",
        "open": "在新标签页打开赛事主页"
      },
      "export": {
        "title": "导出",
        "roundPgn": "第 {{round}} 轮 PGN",
        "eventPgn": "整个赛事 PGN",
        "auditCsv": "核对 CSV",
        "auditCsvDetail": "第 {{round}} 轮：每个台次及其状态",
        "nothing": "暂无可导出的对局"
      },
      "edit": {
        "button": "编辑赛事",
        "title": "编辑赛事",
        "body": "新的名称会应用到赛事中的每一盘对局。",
        "saved": "赛事已更新"
      },
      "pairings": {
        "import": "导入",
        "replace": "替换",
        "importTitle": "导入对阵表",
        "replaceTitle": "替换对阵表",
        "body": "该文件会替换这个赛事已保存的对阵表。已保存的对局会保留原有名称和结果。",
        "importConfirm": "导入对阵表",
        "replaceConfirm": "替换对阵表",
        "none": "还没有对阵表。没有它，台次来自文件名，姓名来自记谱单。",
        "saved_one": "已保存 1 条对阵",
        "saved_other": "已保存 {{count}} 条对阵"
      },
      "delete": {
        "button": "删除赛事",
        "title": "删除 {{name}}？",
        "body": "赛事、其对阵表和公开主页都会被删除。对局会保留在你的对局库中，附带原有的名称、轮次和台次。",
        "confirm": "删除赛事",
        "done": "{{name}} 已删除"
      },
      "gamesTab": "对局",
      "uploadAbove": "用页面顶部的“{{action}}”上传",
      "personal": {
        "missingTitle": "这场比赛不可用",
        "back": "返回我的比赛",
        "importGames": "导入这场比赛的对局",
        "emptyTitle": "这场比赛还没有对局",
        "emptyBody": "以 PGN 导入它的对局、扫描你的记谱单，或在“对局”里把已保存的对局移动到这里。",
        "edit": "编辑比赛",
        "editBody": "新的名称会应用到这场比赛的每一盘对局。",
        "delete": "删除比赛",
        "deleteBody": "这场比赛和它的公开主页都会被删除。对局会保留在你的对局里，附带原有的名称和轮次。"
      }
    },
    "report": {
      "tab": "报告",
      "title": "赛事报告",
      "intro": "一份可以打印的单人赛事总结：每轮的准确率和最大错误、开局、反复出现的错误类型、没有赢下来的优势局面，以及下一步练什么。内容来自每盘对局保存的引擎分析。",
      "generate": "生成报告",
      "previewButton": "查看免费预览",
      "existing": "自这份报告生成以来没有变化，因此再次显示它，不计次数。",
      "created": "报告已生成",
      "print": "打印",
      "allowanceHint": "同样的内容重复生成不计次数。",
      "forPlayer": "棋手：{{name}}",
      "changePlayer": "更换",
      "emptyTitle": "这个赛事还没有对局",
      "emptyBody": "先上传本赛事的记谱单，报告由其中的对局生成。",
      "noneTitle": "还没有报告",
      "noneBody": "赛事的对局齐了就可以生成。还没有保存分析的对局会先列出来。",
      "noneBodyFree": "免费预览显示你每一轮的准确率，Pro 提供完整报告。",
      "eyebrow": "赛事报告",
      "playerUnknown": "棋手",
      "madeOn": "生成于 {{date}}",
      "roundN": "第 {{round}} 轮",
      "roundUnknown": "未标轮次",
      "boardN": "{{board}} 台",
      "notAnalysed": "没有可分析的着法",
      "noMistake": "没有错误",
      "evidence": "例子",
      "footnote": "由 ScanChess（scanchess.com）根据已保存对局的 Stockfish 分析生成。错误类型由固定的棋盘规则判断；看不出明确战术的错误归为局面性错误，不硬套名称。",
      "colour": {
        "white": "白方",
        "black": "黑方"
      },
      "outcome": {
        "win": "胜",
        "draw": "和",
        "loss": "负",
        "unknown": "结果未知"
      },
      "kind": {
        "mistake": "错误",
        "blunder": "严重失误"
      },
      "stats": {
        "score": "得分",
        "scoreValue": "{{score}} / {{games}}",
        "wdl": "{{wins}} 胜 · {{draws}} 和 · {{losses}} 负",
        "accuracy": "平均准确率",
        "analysed": "已分析 {{done}} / {{total}} 盘",
        "opponents": "对手平均等级分",
        "errors": "错误 / 严重失误",
        "errorsHint_one": "另有 {{count}} 次失误",
        "errorsHint_other": "另有 {{count}} 次失误",
        "games": "对局"
      },
      "table": {
        "round": "轮次",
        "colour": "执色",
        "opponent": "对手",
        "result": "结果",
        "accuracy": "准确率",
        "biggestMistake": "最大错误",
        "opening": "开局",
        "leftBook": "出谱",
        "preparation": "开局准备"
      },
      "rounds": {
        "title": "逐轮表现",
        "hint": "准确率是引擎给你的着法打的 0–100 分。最大错误是让胜率损失最多的那一着。"
      },
      "openings": {
        "title": "开局",
        "hint": "每盘棋在哪一步离开已知开局理论，以及是谁先离开的。",
        "leftByYou": "第 {{move}} 回合，你先出谱",
        "leftByOpponent": "第 {{move}} 回合，对手先出谱",
        "stayedInBook": "全程在谱内",
        "unknown": "未识别"
      },
      "recurring": {
        "title": "反复出现的错误",
        "hint": "在两盘或更多对局中出现的错误类型。",
        "none": "没有哪种错误类型在一盘以上的对局中出现。",
        "tooFew": "至少需要两盘已分析的对局。",
        "line_one": "{{count}} 盘 · {{mistakes}} 次错误或严重失误 · 胜率共损失 {{loss}} 个百分点",
        "line_other": "{{count}} 盘 · {{mistakes}} 次错误或严重失误 · 胜率共损失 {{loss}} 个百分点"
      },
      "conversion": {
        "title": "没有赢下来的优势局面",
        "hint": "你取得过明显胜势（胜率 80% 以上并保持至少三个回合）却没有赢下的对局。",
        "none": "这次比赛没有出现明显胜势的局面。",
        "all_one": "你取得的 {{count}} 次胜势都赢下来了。",
        "all_other": "你取得的 {{count}} 次胜势都赢下来了。",
        "some_one": "你在 {{count}} 盘棋中取得过胜势，但没有赢下。",
        "some_other": "你在 {{count}} 盘棋中取得过胜势，其中 {{failures}} 盘没有赢下。",
        "peak": "胜率最高 {{win}}%，在第 {{move}} 回合"
      },
      "practice": {
        "title": "下一步练什么",
        "hint": "按规则挑选：与准确率相近的棋手相比，让你损失最多的错误类型。",
        "small": "至少需要 {{min}} 盘已分析的对局才会给出建议，这份报告有 {{count}} 盘。",
        "none": "没有哪种错误类型出现得足够多，暂不给出建议。",
        "stats_one": "{{count}} 次，平均每次损失 {{loss}} 个百分点的胜率。",
        "stats_other": "{{count}} 次，平均每次损失 {{loss}} 个百分点的胜率。",
        "above": "这类错误让你付出的代价比同等准确率的大多数棋手更高。",
        "notAbove": "与同等准确率的棋手大致相当，但仍是你代价最大的一类。"
      },
      "preview": {
        "title": "逐轮准确率",
        "hint": "免费预览。完整报告还包括下面这些部分。"
      },
      "locked": {
        "ctaProPlus": "了解 Pro+",
        "rounds": "每轮最大错误",
        "openings": "开局与出谱位置",
        "recurring": "反复出现的错误",
        "conversion": "没有赢下来的优势局面",
        "practice": "下一步练什么"
      },
      "pending": {
        "title_one": "还有 {{count}} 盘对局没有保存的分析",
        "title_other": "还有 {{count}} 盘对局没有保存的分析",
        "body": "报告来自每盘对局保存的引擎分析。可以直接在这里分析剩下的对局：引擎在本浏览器里一盘接一盘地运行，每盘的分析随对局保存。免费。",
        "saving": "分析期间你可以继续做别的事；你自己使用引擎时，分析会先让开。分析完成后，报告会自动出现在这里。",
        "open": "打开对局",
        "others_one": "本赛事另有 {{count}} 盘",
        "others_other": "本赛事另有 {{count}} 盘",
        "retry": "重新检查",
        "analyzeRemaining_one": "分析剩下的 {{count}} 盘",
        "analyzeRemaining_other": "分析剩下的 {{count}} 盘",
        "progress": "已分析 {{done}} / {{total}} 盘",
        "done": "所有对局都已分析并保存。点“重新检查”生成报告。",
        "state": {
          "analyzed": "已分析",
          "waiting": "等待中",
          "analyzing": "分析中…",
          "fixMoves": "需先改正棋步",
          "notSaved": "未保存"
        }
      },
      "side": {
        "title": "你执哪一方？",
        "titleClub": "这份报告是谁的？",
        "body_one": "这盘棋看不出哪位棋手是你，请选择你的执色。",
        "body_other": "有 {{count}} 盘对局看不出哪位棋手是你，请逐盘选择你的执色。",
        "bodyClub": "从俱乐部名册中选择一名棋手，或逐盘选择执色。不计入的对局不会出现在报告里。",
        "rosterLabel": "俱乐部棋手",
        "rosterNone": "选择棋手",
        "rosterSubmit": "生成该棋手的报告",
        "rosterHint": "使用已分配给该棋手的对局。",
        "quick": "快速选择：",
        "iAm": "我是 {{name}}",
        "gameLabel": "第 {{round}} 轮：{{white}} – {{black}}",
        "skip": "不计入",
        "more_one": "另有 {{count}} 盘也需要选择，会在这些之后再问。",
        "more_other": "另有 {{count}} 盘也需要选择，会在这些之后再问。",
        "submit": "生成报告",
        "remembered": "你的选择会保存在这个浏览器中。",
        "unassigned": "本赛事还没有对局分配给 {{name}}。请在其下过的对局中选择执色。"
      },
      "noGames": {
        "title": "没有可以生成报告的对局",
        "body": "本赛事的对局目前都不能放进报告。"
      },
      "account": {
        "title": "报告需要 ScanChess 账号",
        "body": "你正在使用试用会话。注册免费账号即可保存对局并生成报告。",
        "cta": "注册免费账号"
      },
      "limit": {
        "title": "本月的报告次数已用完",
        "body_one": "你的套餐每月包含 {{count}} 份赛事报告。之前生成的报告仍可打开和打印。",
        "body_other": "你的套餐每月包含 {{count}} 份赛事报告。之前生成的报告仍可打开和打印。"
      },
      "list": {
        "title": "以往报告",
        "empty": "为本赛事生成的报告会显示在这里。",
        "accuracy": "准确率 {{value}}",
        "delete": "删除报告",
        "deleteTitle": "删除这份报告？",
        "deleteBody": "这份报告会对本工作区的所有人删除，对局及其分析会保留。",
        "deleteConfirm": "删除报告",
        "deleted": "报告已删除",
        "emptyAfterPreview": "还没有保存的报告。免费预览不会保存，生成的完整报告会保存在这里。"
      },
      "category": {
        "hanging": {
          "name": "送子",
          "hint": "把棋子放在了对手能赢走的位置。"
        },
        "allowed-tactic": {
          "name": "给对手留下战术",
          "hint": "让对手有了强制性手段：捉双、牵制、闪击或杀棋。"
        },
        "missed-tactic": {
          "name": "漏掉战术",
          "hint": "本有能得子或将杀的强制性手段，却走了别的着法。"
        },
        "conversion": {
          "name": "胜势没有赢下",
          "hint": "明显的胜势被送了回去。"
        },
        "endgame": {
          "name": "残局中的错误",
          "hint": "残局阶段的错误，没有对应的战术名称。"
        },
        "opening": {
          "name": "出谱后的早期错误",
          "hint": "离开开局理论后头几步内的错误。"
        },
        "quiet": {
          "name": "局面性错误",
          "hint": "背后没有明确的战术：计划、子力位置或兵的走法让局面变差。"
        }
      },
      "preparation": {
        "leftPlayer": "你在第 {{move}} 步离开（{{played}}）",
        "leftOpponent": "对手在第 {{move}} 步离开（{{played}}）",
        "lineEnded": "走完了准备的变化（第 {{move}} 步）",
        "hit": "整盘都在准备之内"
      },
      "narrative": {
        "title": "总结",
        "lead": "由 AI 教练根据本报告的数据写成的几句话，概括这次比赛；显示前会逐句与报告核对。",
        "writeFree": "生成总结 · 今日免费（剩 {{count}} 次）",
        "writeCredit": "生成总结 · {{count}} 积分",
        "writeNoCharge": "用当前语言生成总结 · 不扣积分",
        "freeNote": "使用每日一次的免费 AI 教练讲解（与对局讲解共用）；用完后每次 {{count}} 积分。",
        "freeUsed": "今天的免费讲解已用完，{{time}} 起可再免费使用一次；在此之前每次 {{count}} 积分。",
        "paidNote": "这份报告的总结已付过费，换一种语言不再扣积分。",
        "writing": "正在撰写总结，并逐句与报告核对……",
        "disclaimer": "由 AI 教练根据本报告的事实写成，并已与之核对。以下表格为数据来源。",
        "outdated": "这段总结由旧版撰写程序生成。重新生成免费。",
        "rewrite": "重新生成",
        "usedFree": "已使用今日免费讲解，未扣积分。再次打开这份报告时直接显示总结，不再扣费。",
        "charged": "已扣 {{count}} 积分。再次打开这份报告时直接显示总结，不再扣费。",
        "noCharge": "未扣积分。",
        "noCredits": "积分不足，无法生成总结。",
        "getCredits": "获取积分",
        "inProgress": "总结正在生成中，请稍后再试。",
        "failed": "总结未通过事实核对，因此不予显示。未扣任何费用，请重试。",
        "verifyEmail": "验证邮箱后即可获得文字总结——每天一次 AI 教练讲解免费。",
        "createAccount": "创建免费账号即可获得文字总结。"
      },
      "previewRefresh": "刷新预览"
    },
    "batch": {
      "title": "整轮扫描",
      "description": "扫描整轮比赛。每张记谱单会与对阵匹配，并归入相应赛事。",
      "event": "赛事",
      "noEvent": "无赛事",
      "noEventHint": "没有赛事时，请在下方填写详情，如有对阵表文件也可以一并添加。",
      "createEvent": "请先创建赛事",
      "eventPairings_one": "已导入 1 条对阵",
      "eventPairings_other": "已导入 {{count}} 条对阵",
      "eventNoPairings": "未导入对阵表，台次将来自文件名。",
      "round": "轮次",
      "roundPlaceholder": "例如 3",
      "roundHint": "用于文件名中没有轮次信息的照片。",
      "roundScanned": "本轮已扫描 {{scanned}} / {{total}} 个台次",
      "roundGames_one": "本轮已有 1 盘",
      "roundGames_other": "本轮已有 {{count}} 盘",
      "dropTitle": "拖入照片或整个文件夹",
      "limits": "每批最多 {{max}} 张照片，每张不超过 {{size}} MB · JPG、PNG 或 WebP（不支持 HEIC）· 一张记谱单的正反两面算一盘",
      "choosePhotos": "选择照片",
      "chooseFolder": "选择文件夹",
      "photoCount_one": "1 张照片",
      "photoCount_other": "{{count}} 张照片",
      "gameCount_one": "1 盘",
      "gameCount_other": "{{count}} 盘",
      "fromPairings": "姓名、等级分和台次来自对阵表",
      "matched": "第 {{board}} 台 · {{white}} – {{black}}",
      "matchedNoBoard": "{{white}} – {{black}}",
      "boardOnly": "第 {{board}} 台",
      "noBoard": "文件名中没有台次信息",
      "chooseBoard": "选择台次",
      "chooseBoardFor": "第 {{number}} 盘的台次",
      "pages_one": "1 页",
      "pages_other": "{{count}} 页",
      "removeGame": "移除第 {{number}} 盘",
      "creditsReturned_one": "已退回 1 积分",
      "creditsReturned_other": "已退回 {{count}} 积分",
      "failure": {
        "noScoresheet": "未找到记谱单",
        "looksLikeBoard": "这张照片看起来是棋盘，不是记谱单。整轮扫描只识别记谱单，积分已退还。",
        "recognition": "无法读取这张记谱单"
      },
      "footerHint": "有标记着法的对局完成后会标为待核对",
      "cost_one": "1 盘 · {{credits}} 积分",
      "cost_other": "{{count}} 盘 · {{credits}} 积分",
      "scan_one": "扫描 1 盘",
      "scan_other": "扫描 {{count}} 盘",
      "clear": "清空批次",
      "openEvent": "打开赛事",
      "blockedTitle": "积分不足。",
      "blockedBody_one": "另一盘仍留在本批次中。积分充足后再运行它。",
      "blockedBody_other": "另外 {{count}} 盘仍留在本批次中。积分充足后再运行它们。",
      "rewritten_one": "已根据对阵表更新 1 盘",
      "rewritten_other": "已根据对阵表更新 {{count}} 盘",
      "attachFailed_one": "1 盘未能加入 {{event}}，请到“对局”中手动添加。",
      "attachFailed_other": "{{count}} 盘未能加入 {{event}}，请到“对局”中手动添加。",
      "resume": {
        "title": "继续上次未完成的批次？",
        "body_one": "已保存 {{saved}} / 1 盘 · 上次操作于 {{time}}",
        "body_other": "已保存 {{saved}} / {{count}} 盘 · 上次操作于 {{time}}",
        "action": "继续批次",
        "discard": "丢弃",
        "missing_one": "1 张照片无法恢复，已跳过",
        "missing_other": "{{count}} 张照片无法恢复，已跳过"
      }
    },
    "publicEvent": {
      "published_one": "目前已发布 1 盘",
      "published_other": "目前已发布 {{count}} 盘",
      "copyLink": "复制链接",
      "downloadAll": "下载全部对局（PGN）",
      "downloadPgn": "下载 PGN",
      "inLibrary": "已在你的对局库中",
      "roundNote_one": "1 盘",
      "roundNote_other": "{{count}} 盘",
      "stillToCheck_one": "还有 1 盘待核对",
      "stillToCheck_other": "还有 {{count}} 盘待核对",
      "otherGames": "其他对局",
      "checked": "已核对",
      "ruleChecked": "已通过规则校验",
      "ruleCheckedHint": "每一步都合法，且没有任何标记。但还没有人对照记谱单核实过。",
      "start": "开始",
      "viewer": "对局查看器",
      "emptyTitle": "还没有发布任何对局",
      "emptyBody": "对局在扫描完成且没有未处理标记后会出现在这里。",
      "unavailableTitle": "这个赛事主页不可用",
      "unavailableBody": "组织者已关闭该页面，或该赛事已被删除。",
      "metaTitle": "{{name}} | ScanChess",
      "metaDesc": "回放并下载 {{name}} 的对局：共 {{count}} 局，按轮次排列。"
    },
    "players": {
      "description": "俱乐部扫描对局的学员和成员。记录他们的姓名和别名后，一轮的记谱单就能归到对应棋手名下。",
      "clubOnlyTitle": "棋手名册属于俱乐部",
      "clubOnlyBody": "切换到俱乐部工作区，或新建一个俱乐部，即可维护棋手名册。",
      "lockedBody": "俱乐部 Pro+ 可以维护学员名册，并把扫描的每盘对局归到下棋的学员名下。",
      "showArchived": "显示已归档",
      "addTitle": "添加棋手",
      "addCta": "添加棋手",
      "editTitle": "编辑 {{name}}",
      "name": "姓名",
      "fideId": "FIDE ID",
      "rating": "等级分",
      "aliases": "其他写法",
      "aliasesPlaceholder": "王小明, Wang Xiaoming",
      "aliasesHelp": "姓名在记谱单和对阵表上的写法，用逗号分隔。",
      "minorLabel": "未满 18 岁",
      "privacyNote": "只需填写姓名。除非取消勾选，棋手默认按未满 18 岁处理；不保存出生日期或家长联系方式。",
      "added": "已添加棋手",
      "saved": "已保存棋手",
      "count_one": "{{count}} 名棋手",
      "count_other": "{{count}} 名棋手",
      "emptyTitle": "还没有棋手",
      "emptyBody": "添加俱乐部学员后，扫描的对局就能归到他们名下。",
      "emptyBodyMember": "俱乐部所有者或管理员在这里添加棋手。",
      "games": "对局",
      "minorBadge": "未满 18 岁",
      "archivedBadge": "已归档",
      "alsoWritten": "其他写法：{{aliases}}",
      "actionsFor": "{{name}} 的操作",
      "edit": "编辑",
      "archive": "归档",
      "restore": "恢复",
      "archived": "已归档棋手",
      "restored": "已恢复棋手",
      "remove": "移除",
      "removed": "已移除棋手",
      "archivedInstead_one": "已改为归档：仍有 {{count}} 盘对局关联此棋手",
      "archivedInstead_other": "已改为归档：仍有 {{count}} 盘对局关联此棋手",
      "removeTitle": "移除 {{name}}？",
      "removeBody": "将从名册中删除该棋手。",
      "removeBodyGames_one": "有 {{count}} 盘对局关联此棋手，因此会改为归档：对局保留棋手信息，名册中不再显示。",
      "removeBodyGames_other": "有 {{count}} 盘对局关联此棋手，因此会改为归档：对局保留棋手信息，名册中不再显示。",
      "fideTaken": "本俱乐部已有棋手使用这个 FIDE ID。请恢复或编辑那位棋手。",
      "rosterFull": "本俱乐部的名册已达上限。请移除不再需要的棋手。",
      "accuracy": "准确率",
      "form": "近期状态",
      "lastGame": "最近一盘",
      "form_up": "最近 {{games}} 盘比之前提高 {{change}} 分",
      "form_down": "最近 {{games}} 盘比之前下降 {{change}} 分",
      "form_flat": "最近 {{games}} 盘与之前基本持平",
      "formNoPrevious_one": "最近 1 盘已分析对局的准确率；还没有更早的对局可以对比",
      "formNoPrevious_other": "最近 {{count}} 盘已分析对局的准确率；还没有更早的对局可以对比",
      "analysedOf": "{{count}} 盘中已分析 {{analysed}} 盘",
      "studentsTruncated": "准确率和状态取自俱乐部最新的 {{count}} 盘学员对局。"
    },
    "training": {
      "title": "每日练习",
      "description": "来自你自己对局的局面：当时有一步制胜的着法被漏掉了。找出这步；每张卡会在你快要忘记之前再出现。",
      "statsLabel": "练习记录",
      "streak_one": "天连续练习",
      "streak_other": "天连续练习",
      "dueToday": "今天待练",
      "longest": "最长连续天数",
      "motifFilter": "类型",
      "allMotifs": "全部类型",
      "progress": "第 {{current}} / {{total}} 张",
      "tally_one": "答对 {{correct}} / {{count}}",
      "tally_other": "答对 {{correct}} / {{count}}",
      "progressLabel": "本轮进度",
      "findTheShot": "找出当时漏掉的那步。每张卡只有一次机会。",
      "checking": "正在判定你的着法…",
      "right": "答对了，就是这步。",
      "wrong": "这次没答对。",
      "wrongDetail": "你走了 {{tried}}，正解是 {{answer}}。",
      "solution": "变化：{{line}}",
      "comesBack": "这张卡大约 10 分钟后会再出现。",
      "fromGame": "来自你的对局",
      "yourGame": "你的对局",
      "moveNumber": "第 {{number}} 回合",
      "fromSaved": "保存自",
      "fromSavedNoGame": "保存自漏着战术工具",
      "youPlayed": "对局里你走的是 {{san}}。",
      "next": "下一张",
      "finish": "完成",
      "suspend": "不再练这张",
      "suspended": "这张卡已移出练习",
      "undo": "撤销",
      "suspendFailed": "无法移出这张卡",
      "answerFailed": "无法判定你的着法",
      "loadFailed": "练习加载失败。",
      "retry": "重试",
      "sessionDone_one": "本轮完成：答对 {{correct}} / {{count}}",
      "sessionDone_other": "本轮完成：答对 {{correct}} / {{count}}",
      "noneForMotif": "这个类型今天没有待练的卡。",
      "allDone": "现在没有待练的卡。",
      "moreDue_one": "今天还有 {{count}} 张待练。",
      "moreDue_other": "今天还有 {{count}} 张待练。",
      "comeBack": "今天的练习完成了。明天再来，保持连续天数。",
      "continue": "继续练习",
      "limit": {
        "title": "今天的 {{count}} 张免费卡已用完",
        "body": "明天还有免费卡。Pro 会员练习不限张数。",
        "bodyAt": "{{time}} 起有新的免费卡。Pro 会员练习不限张数。",
        "upgrade": "了解 Pro"
      },
      "empty": {
        "title": "还没有练习卡",
        "body": "练习卡来自你已分析的对局：你这一方漏掉的每一步强迫着法，都会变成这里的一道题。ScanChess 需要知道哪一方是你，所以请在下面填写你在记谱单和线上用的名字。",
        "games": "去我的对局",
        "tool": "在一盘对局里找漏着"
      },
      "aliases": {
        "title": "我用过的名字",
        "why": "记谱单和线上对局对你名字的写法常常不一样。把它们都列在这里，没有设置执色的对局就能按名字匹配到你，你漏掉的着法也就会变成练习卡。",
        "short": "没有设置执色的对局会按这些名字匹配到你。",
        "none": "还没有添加名字。",
        "add": "添加名字",
        "placeholder": "例如 Zheng, Y.",
        "hint": "最多 {{count}} 个名字。顺序和重音符号不影响匹配。",
        "remove": "删除 {{name}}",
        "saved": "名字已保存",
        "failed": "名字保存失败",
        "tooLong": "每个名字最多 {{count}} 个字符。",
        "tooMany": "最多 {{count}} 个名字。",
        "editInSettings": "在设置中修改"
      },
      "accuracy": {
        "title": "首次答对率",
        "row": "{{percent}}%，共 {{count}} 次",
        "note": "每张卡每天只统计第一次作答。"
      },
      "import": {
        "title": "这个浏览器里保存的战术题",
        "body_one": "你登录前在这里保存了 {{count}} 道漏着战术。把它加入练习卡，以后就跟着你的账号走。",
        "body_other": "你登录前在这里保存了 {{count}} 道漏着战术。把它们加入练习卡，以后就跟着你的账号走。",
        "action_one": "加入练习（{{count}} 道）",
        "action_other": "加入练习（{{count}} 道）",
        "notNow": "以后再说",
        "done_one": "已加入 {{count}} 张练习卡",
        "done_other": "已加入 {{count}} 张练习卡",
        "doneDetail": "{{existing}} 道已在练习中，{{invalid}} 道无法读取。",
        "failed": "战术题没能加入练习，它们仍保存在这个浏览器里。"
      },
      "overview": {
        "title": "每日练习",
        "empty": "你已分析对局里漏掉的着法会变成这里的题目，每天练一小组。",
        "start_one": "练习 {{count}} 张",
        "start_other": "练习 {{count}} 张",
        "done": "今天已完成",
        "open": "打开练习"
      },
      "motifs": {
        "allowed-back-rank": "被底线杀",
        "allowed-mate": "被将杀",
        "missed-back-rank": "错过底线杀",
        "missed-mate": "错过杀棋",
        "hung-piece": "丢子",
        "allowed-fork": "被捉双",
        "allowed-discovered": "被闪击",
        "allowed-pin": "被牵制",
        "missed-fork": "错过捉双",
        "missed-skewer": "错过串击",
        "missed-discovered": "错过闪击",
        "missed-pin": "错过牵制",
        "missed-capture": "错过吃子",
        "missed-promotion": "错过升变",
        "other": "其他战术"
      }
    },
    "insights": {
      "title": "我的画像",
      "description": "从你已分析的对局里看出强项和弱点。",
      "loadFailed": "画像加载失败。",
      "aliasesWhy": "没有标明你执哪方的对局，会按这些名字来匹配：记谱单上写的你的名字，以及你的线上用户名。",
      "chart": {
        "label": "每盘准确率，从旧到新",
        "point": "{{date}} · 对手 {{opponent}} · 准确率 {{accuracy}} · {{outcome}}"
      },
      "recent": {
        "label_one": "最近 {{count}} 盘",
        "label_other": "最近 {{count}} 盘",
        "noPrevious": "再多分析几盘，就能和之前的状态对比。",
        "up": "比之前 10 盘（{{previous}}）提高 {{change}} 分。",
        "down": "比之前 10 盘（{{previous}}）下降 {{change}} 分。",
        "flat": "和之前 10 盘（{{previous}}）差不多。"
      },
      "accuracy": {
        "label": "平均准确率",
        "detail_one": "基于 {{count}} 盘已分析对局",
        "detail_other": "基于 {{count}} 盘已分析对局"
      },
      "top": {
        "label": "最常见的错误类型",
        "none": "没有发现错误",
        "stats_one": "{{count}} 次 · 占你全部错误的 {{share}}",
        "stats_other": "{{count}} 次 · 占你全部错误的 {{share}}"
      },
      "results": {
        "score": "得分率",
        "wdl": "胜 {{wins}} · 和 {{draws}} · 负 {{losses}}",
        "errors": "每盘错误 / 严重失误",
        "errorsHint": "另有每盘 {{inaccuracies}} 次失误"
      },
      "colour": {
        "white": "执白准确率",
        "black": "执黑准确率",
        "games_one": "{{count}} 盘",
        "games_other": "{{count}} 盘"
      },
      "trend": {
        "title": "准确率走势",
        "hint_one": "你最近的 {{count}} 盘，左边最早。点柱子打开该盘。",
        "hint_other": "你最近的 {{count}} 盘，左边最早。点柱子打开该盘。",
        "months": "按月准确率",
        "month": "月份",
        "games": "局数",
        "accuracy": "准确率"
      },
      "phases": {
        "title": "你在哪个阶段丢胜率",
        "hint": "每盘在各阶段损失的胜率（百分点）。",
        "weakest": "损失最多",
        "loss": "每盘 {{loss}}",
        "counts": "错误 {{mistakes}} · 严重失误 {{blunders}}"
      },
      "phase": {
        "opening": "开局",
        "middlegame": "中局",
        "endgame": "残局"
      },
      "categories": {
        "title": "错误类型",
        "hint": "你的每一个错误和严重失误，按类型归类，损失大的在前。",
        "none": "已分析的对局里没有错误或严重失误。",
        "stats_one": "{{count}} 次 · 平均损失 {{loss}}",
        "stats_other": "{{count}} 次 · 平均损失 {{loss}}",
        "motif": "最常见：{{motif}}"
      },
      "motifs": {
        "title": "背后的战术形态"
      },
      "openings": {
        "title": "开局",
        "hint": "你在各开局族（ECO 代码）里执白、执黑的得分情况。",
        "none": "没有能识别出开局的对局。",
        "family": "开局",
        "games": "局数",
        "wdl": "胜–和–负",
        "score": "得分率",
        "accuracy": "准确率",
        "asWhite": "执白",
        "asBlack": "执黑"
      },
      "conversion": {
        "title": "优势转化",
        "hint": "你曾取得胜势（胜率 80% 以上并保持至少三个回合）的对局。",
        "none": "已分析的对局里还没有出现过胜势。",
        "rate_one": "{{count}} 次胜势中转化了 {{converted}} 次",
        "rate_other": "{{count}} 次胜势中转化了 {{converted}} 次",
        "game": "对 {{opponent}}，{{date}}",
        "peak": "最高 {{peak}}%"
      },
      "practice": {
        "small": "至少需要 {{min}} 盘已分析对局才能给建议；你现在有 {{count}} 盘。",
        "cta": "练这一类",
        "example": "例 {{n}}"
      },
      "locked": {
        "trend": "准确率走势与执色对比",
        "phases": "你在哪个阶段丢胜率",
        "categories": "全部错误类型与战术形态",
        "openings": "按 ECO 族和执色的开局表现",
        "conversion": "优势转化率",
        "practice": "下一步练什么"
      },
      "empty": {
        "title": "还没有已分析的对局",
        "body": "画像来自每盘对局保存的引擎分析。从对局库打开一盘棋，点“{{button}}”；分析会随对局保存，并出现在这里。",
        "games": "去我的对局",
        "noGamesTitle": "先添加第一盘对局",
        "noGamesBody": "扫描记谱单或导入一盘对局，再分析它，画像就会逐渐建立起来。",
        "scan": "扫描一盘棋",
        "noSideTitle": "你执的是哪一方？",
        "noSideBody_one": "有 {{count}} 盘已分析对局没有标明你执哪方。添加你用过的名字，然后重新检查。",
        "noSideBody_other": "有 {{count}} 盘已分析对局没有标明你执哪方。添加你用过的名字，然后重新检查。",
        "checkAgain": "重新检查"
      },
      "coverage": {
        "based_one": "基于 {{count}} 盘已分析对局。",
        "based_other": "基于 {{count}} 盘已分析对局。",
        "pending_one": "还有 {{count}} 盘对局没有保存的分析。",
        "pending_other": "还有 {{count}} 盘对局没有保存的分析。",
        "games": "打开我的对局",
        "sideUnknown_one": "有 {{count}} 盘已分析对局没有标明你执哪方，未计入。",
        "sideUnknown_other": "有 {{count}} 盘已分析对局没有标明你执哪方，未计入。",
        "aliases": "添加你用过的名字",
        "truncated": "只计入你最新的 {{count}} 盘已分析对局。"
      },
      "overview": {
        "title": "我的画像",
        "accuracy_one": "{{count}} 盘平均准确率",
        "accuracy_other": "{{count}} 盘平均准确率",
        "empty": "分析你保存的对局，就能看到准确率、最常见的错误和走势。",
        "open": "查看画像"
      },
      "online": {
        "title": "线上 vs 线下",
        "hint": "关联你的 Lichess 或 Chess.com 账号，把最近的线上对局和已分析的线下对局放在一起比较。只读取公开对局，不需要密码。",
        "accounts": "已关联账号",
        "online": "线上",
        "otb": "线下",
        "otbShort": "线下",
        "loadFailed": "线上对局加载失败。",
        "waiting": "还没有读到你的线上对局，下次打开本页时会再试。",
        "noOtb": "分析几盘线下对局后，就能和线上表现对比。线下只统计你扫描、录入或认领的对局；导入的 PGN 对局不计入，因为它们可能是线上对局或别人的对局。",
        "accuracyNote": "线上准确率取自对局网站自己的数据（Chess.com 用自己的算法）；线下准确率由 ScanChess 计算。括号里是有准确率的对局数。",
        "unlink": "取消关联 {{site}} 账号 {{name}}",
        "form": {
          "site": "网站",
          "username": "用户名",
          "placeholder": "用户名或个人主页链接",
          "submit": "关联账号",
          "linking": "正在读取对局…",
          "hint": "读取你最近 100 盘公开对局，最多每 6 小时更新一次。"
        },
        "status": {
          "pending": "尚未读取",
          "ready_one": "最近 {{count}} 盘 · 更新于 {{date}}",
          "ready_other": "最近 {{count}} 盘 · 更新于 {{date}}",
          "failed": "暂时连不上 {{site}}，稍后重试",
          "notFound": "{{site}} 上已找不到这位棋手"
        },
        "errors": {
          "notFound": "{{site}} 上没有这个用户名。",
          "invalid": "这看起来不像用户名。",
          "account": "注册免费账号后即可关联线上对局。",
          "rateLimited": "尝试次数太多，请稍后再试。",
          "generic": "关联失败，请重试。",
          "unlink": "取消关联失败。"
        },
        "sides": {
          "games": "对局",
          "score": "得分率",
          "wdl": "胜–和–负",
          "accuracy": "准确率"
        },
        "summary": {
          "better": "你的线上得分率比线下高 {{points}} 个百分点。",
          "worse": "你的线上得分率比线下低 {{points}} 个百分点。",
          "same": "你的线上和线下得分率差不多。",
          "fewOtb": "有结果的线下对局还太少，暂时无法比较（目前 {{count}} 盘，至少需要 {{needed}} 盘）。"
        },
        "deep": {
          "timeControls": "按用时",
          "control": "用时",
          "phases": "各阶段每盘错误 / 严重失误",
          "phasesHint": "有网站分析的线上对局：{{online}} · 已分析的线下对局：{{otb}}。括号内为每盘丢失的胜率。",
          "noEvals": "你最近的线上对局都还没有网站的电脑分析。在 Lichess 上申请电脑分析后即可对比错误。",
          "phase": "阶段",
          "categories": "错误类型（占你错误的比例）"
        },
        "locked": {
          "body": "Pro 会按用时对比你的成绩，并逐个阶段、逐种错误类型对比你在线上和线下的失误。"
        },
        "unlinkTitle": "取消关联 {{site}} 账号 {{name}}？",
        "unlinkBody": "从 {{site}} 读取的对局会从你的画像中移除。之后可以再次关联，届时会重新读取对局。",
        "unlinkConfirm": "取消关联"
      },
      "filters": {
        "label": "筛选对局",
        "period": "时间范围",
        "periods": {
          "all": "全部时间",
          "30d": "最近 30 天",
          "3m": "最近 3 个月",
          "12m": "最近 12 个月",
          "custom": "自定义日期"
        },
        "from": "开始",
        "to": "结束",
        "source": "来源",
        "sources": {
          "all": "全部来源",
          "scan": "扫描（棋盘或记谱单）",
          "import": "导入的 PGN",
          "online": "Lichess 或 Chess.com",
          "other": "其他"
        },
        "timeControl": "用时",
        "timeControls": {
          "all": "全部用时",
          "bullet": "子弹棋",
          "blitz": "超快棋",
          "rapid": "快棋",
          "classical": "慢棋",
          "daily": "每日棋",
          "unknown": "未记录"
        },
        "clear": "清除筛选",
        "emptyTitle": "没有符合筛选条件的已分析对局",
        "emptyBody": "试试更长的时间范围，或换一个来源、用时。",
        "lockedLine": "升级 Pro 后可按时间段、来源或时限筛选画像。"
      }
    },
    "analysisQueue": {
      "analyzeAll": "分析全部（{{count}} 盘）",
      "analyzeAllHint": "在本浏览器里逐盘用引擎分析所有还没有分析的已存对局。免费。",
      "nothing": "所有已存对局都已经有分析了。",
      "startFailed": "无法获取待分析的对局",
      "progress": "已分析 {{done}} / {{total}} 盘",
      "running": "正在后台分析你的对局",
      "runningElsewhere": "正在另一个标签页中分析你的对局",
      "yielding": "你正在使用引擎，分析稍后继续",
      "hidden": "标签页在后台，分析已暂停",
      "paused": "分析已暂停",
      "away": "分析在等待它开始时所在的工作区",
      "signedOut": "请重新登录，才能继续保存分析",
      "rateLimited": "已达到每小时保存上限，稍后会自动继续",
      "errorEngine": "引擎无法在这个浏览器里启动",
      "errorUpload": "分析没能保存。请检查网络后重试",
      "finished_one": "已分析并保存 {{count}} 盘对局",
      "finished_other": "已分析并保存 {{count}} 盘对局",
      "skippedIllegal_one": "跳过 {{count}} 盘：有一步棋走不通。请打开这盘对局改正。",
      "skippedIllegal_other": "跳过 {{count}} 盘：有棋步走不通。请打开这些对局改正。",
      "skippedOther_one": "{{count}} 盘没有保存：期间被修改或删除了。",
      "skippedOther_other": "{{count}} 盘没有保存：期间被修改或删除了。",
      "skippedInterrupted_one": "{{count}} 盘对局未保存：分析它的标签页两次在完成前关闭。",
      "skippedInterrupted_other": "{{count}} 盘对局未保存：分析它们的标签页两次在完成前关闭。",
      "pause": "暂停",
      "resume": "继续",
      "cancel": "取消",
      "retry": "重试",
      "dismiss": "关闭",
      "free": "免费 · 在本浏览器里逐盘运行 · 你自己用引擎时始终优先 · 笔记本上通常每盘 5–20 秒，手机上更久"
    },
    "reportShare": {
      "title": "分享这份报告",
      "body": "拿到链接的人无需账号即可查看这份报告。除非你选择显示，棋手姓名会保持隐藏。",
      "loadFailed": "无法加载分享链接，请刷新页面重试。",
      "onlyMaker": "只有生成这份报告的成员，或俱乐部所有者、管理员可以分享。",
      "expiry": "链接有效期",
      "days_one": "{{count}} 天",
      "days_other": "{{count}} 天",
      "minorHint": "这份报告的对象是青少年棋手：链接最长有效 30 天，且不会显示全名。",
      "showNames": "显示棋手姓名",
      "showNamesHint": "关闭时，棋手以姓名首字母显示，对手显示为“对手”及其等级分。",
      "showNamesMinor": "青少年棋手只显示名字和姓氏首字母，对手姓名始终隐藏。",
      "note": "给读者的附言（可选）",
      "notePlaceholder": "例如：这次比赛发挥很好，接下来练习把赢棋残局赢下来。",
      "create": "生成链接",
      "created": "链接已生成并复制",
      "copy": "复制链接",
      "open": "打开链接",
      "revoke": "撤回链接",
      "revoked": "链接已撤回",
      "revokeTitle": "撤回这个链接？",
      "revokeBody": "之后打开链接的人会看到它已失效。你随时可以再生成新链接。",
      "revokeConfirm": "撤回",
      "active_one": "{{count}} 个有效链接",
      "active_other": "{{count}} 个有效链接",
      "expires": "{{date}} 到期",
      "views_one": "{{count}} 次查看",
      "views_other": "{{count}} 次查看",
      "namesShown": "显示姓名",
      "namesHidden": "隐藏姓名",
      "public": {
        "metaTitle": "{{name}}：分享的赛事报告 | ScanChess",
        "metaTitleBare": "分享的赛事报告 | ScanChess",
        "metaDesc": "通过 ScanChess 私密链接分享的赛事报告。",
        "banner": "分享的报告 · 生成于 {{made}} · 链接有效至 {{until}}",
        "noteTitle": "分享者的附言",
        "opponent": "对手",
        "player": "棋手",
        "namesHidden": "此分享版本隐藏了姓名：棋手以首字母显示，对手以等级分显示。",
        "ctaTitle": "把记谱单变成这样的报告",
        "ctaBody": "ScanChess 识别你的记谱单，分析每一盘棋，并为你整理出赛事报告。",
        "cta": "试试 ScanChess",
        "expiredTitle": "链接已过期",
        "expiredBody": "分享的报告只在有限时间内可以查看。请向发送者索取新链接。",
        "revokedTitle": "链接已被撤回",
        "revokedBody": "分享者已撤回这个链接。如仍需查看，请向对方索取新链接。",
        "missingTitle": "找不到报告",
        "missingBody": "这个链接没有对应的报告。请确认链接复制完整，或索取新链接。"
      }
    },
    "repertoire": {
      "title": "开局库",
      "description": "保存你准备的开局变化，看看每盘棋在哪一步离开了准备。",
      "color": "执色",
      "colorName": {
        "white": "白方",
        "black": "黑方"
      },
      "name": "名称",
      "namePlaceholder": "例如：执白意大利开局",
      "listTitle": "我的开局库",
      "newTitle": "新建开局库",
      "emptyList": "还没有开局库。导入你的变化 PGN，或者让你的对局告诉你常下什么。",
      "emptyTitle": "选择或新建一个开局库",
      "emptyBody": "之后每盘已保存的对局都会标出在哪一步离开了准备，赛事报告也会多一列“开局准备”。",
      "loadFailed": "开局库加载失败。",
      "moveCount_one": "{{count}} 步",
      "moveCount_other": "{{count}} 步",
      "counts_one": "共 {{count}} 步：你的着法 {{player}} 步，对手应着 {{opponent}} 步",
      "counts_other": "共 {{count}} 步：你的着法 {{player}} 步，对手应着 {{opponent}} 步",
      "origin": {
        "pgn": "从 PGN 导入",
        "inferred": "从你的对局中整理"
      },
      "rename": "重命名",
      "delete": "删除",
      "confirmDelete": "删除开局库“{{name}}”？删除后无法恢复。",
      "locked": {
        "accountBody": "开局库保存在你的账号里，需要一个已注册的账号。",
        "fullTitle": "开局库名额已用完",
        "fullBody_one": "你的套餐最多保存 {{count}} 个开局库。删除一个后才能新建。",
        "fullBody_other": "你的套餐最多保存 {{count}} 个开局库。删除一个后才能新建。",
        "reason": "保存开局库是 {{plan}} 功能。"
      },
      "errors": {
        "planRequired": "开局库是 Pro 功能，升级后即可保存。",
        "full": "开局库名额已用完，请先删除一个。",
        "empty": "没有可保存的着法：这些着法从初始局面走不通，或者你的对局里还看不出固定的着法。",
        "account": "注册账号后才能保存开局库。"
      },
      "import": {
        "tab": "导入 PGN",
        "lead": "粘贴或打开一个 PGN 文件。所有变化（包括支线）都会收入，注释会被忽略。",
        "file": "打开 .pgn 文件",
        "placeholder": "1. e4 e5 (1... c5 2. c3) 2. Nf3 Nc6 3. Bc4 *",
        "label": "开局库的 PGN",
        "found_one": "找到 {{count}} 步",
        "found_other": "找到 {{count}} 步",
        "skippedGames_one": "{{count}} 盘棋从摆好的局面开始，已跳过。",
        "skippedGames_other": "{{count}} 盘棋从摆好的局面开始，已跳过。",
        "problems_one": "有 {{count}} 步走不通，该变化在此处截止。",
        "problems_other": "有 {{count}} 步走不通，这些变化在此处截止。",
        "truncated": "只保留了前 {{count}} 步，这是一个开局库的上限。",
        "save": "保存开局库"
      },
      "infer": {
        "tab": "从我的对局整理",
        "lead": "读取你执某一方的已保存对局，保留你大多数时候走的着法，以及你经常遇到的对手应着。",
        "depth": "只看前",
        "moves_one": "{{count}} 回合",
        "moves_other": "{{count}} 回合",
        "find": "整理我的开局库",
        "none_one": "你执这一方的 {{count}} 盘对局里，还没有足够常见的着法。一步棋要在至少 {{min}} 盘对局里出现，并且是你大多数时候的选择，才会计入。",
        "none_other": "你执这一方的 {{count}} 盘对局里，还没有足够常见的着法。一步棋要在至少 {{min}} 盘对局里出现，并且是你大多数时候的选择，才会计入。",
        "found_one": "从你的对局中找到 {{count}} 步",
        "found_other": "从你的对局中找到 {{count}} 步",
        "save": "保存为开局库",
        "defaultName": {
          "white": "我的执白开局库",
          "black": "我的执黑开局库"
        },
        "noGames": {
          "white": "你还没有执白的已保存对局。先保存或导入几盘，再来查找。",
          "black": "你还没有执黑的已保存对局。先保存或导入几盘，再来查找。"
        },
        "fewGames_one": "一步棋要在至少 {{min}} 盘对局里出现，才会进入你的开局库。你执这一方目前有 {{games}} 盘，再保存或导入 {{count}} 盘后再试。",
        "fewGames_other": "一步棋要在至少 {{min}} 盘对局里出现，才会进入你的开局库。你执这一方目前有 {{games}} 盘，再保存或导入 {{count}} 盘后再试。"
      },
      "tree": {
        "title": "变化",
        "hint": "加粗的是你的着法。删除一步会同时删除只从它延伸出来的所有着法。",
        "empty": "已经没有着法了。可以在下面从 PGN 添加。",
        "expand": "展开 {{move}} 之后的着法",
        "collapse": "收起 {{move}} 之后的着法",
        "remove": "删除 {{move}} 及其后续",
        "confirmRemove": "删除 {{move}} 以及只从它延伸出来的所有着法？",
        "transposition": "转换到其他变化"
      },
      "add": {
        "open": "从 PGN 添加着法",
        "title": "从 PGN 添加着法",
        "save": "添加着法"
      }
    },
    "student": {
      "back": "全部棋手",
      "description": "从该棋手执的一方看，俱乐部归到其名下的对局里的强项和弱点。",
      "private": "仅俱乐部成员可见",
      "loadFailed": "无法加载该棋手的页面。",
      "notFound": "俱乐部名册里没有这位棋手。",
      "gamesTitle": "对局",
      "gamesEmpty": "还没有对局归到这位棋手名下。扫描一轮后，把每台对局分配给对应的棋手。",
      "gamesMore": "只显示最新的 {{count}} 盘对局。",
      "asWhite": "执白 对 {{opponent}}",
      "asBlack": "执黑 对 {{opponent}}",
      "round": "第 {{round}} 轮",
      "reportsTitle": "赛事报告",
      "reportsEmpty": "还没有关于这位棋手的赛事报告。可以在赛事的“报告”标签页生成。",
      "reportUntitled": "赛事报告",
      "reportSummary_one": "{{count}} 盘 · {{score}} 分 · 准确率 {{accuracy}}",
      "reportSummary_other": "{{count}} 盘 · {{score}} 分 · 准确率 {{accuracy}}",
      "analyse_one": "分析 1 盘对局",
      "analyse_other": "分析 {{count}} 盘对局",
      "truncated": "只计入最新的 {{count}} 盘已分析对局。",
      "empty": {
        "title": "还没有已分析的对局",
        "body_one": "{{name}} 的页面基于对局保存的分析生成。还有 1 盘对局等待分析。",
        "body_other": "{{name}} 的页面基于对局保存的分析生成。还有 {{count}} 盘对局等待分析。",
        "noGamesTitle": "还没有归档的对局",
        "noGamesBody": "还没有对局归到 {{name}} 名下。扫描一轮后，把每台对局分配给对应的棋手，页面就会逐渐丰富起来。"
      },
      "insights": {
        "recent": {
          "noPrevious": "再多分析几盘，就能和之前的状态对比。"
        },
        "top": {
          "stats_one": "{{count}} 次 · 占其全部错误的 {{share}}",
          "stats_other": "{{count}} 次 · 占其全部错误的 {{share}}"
        },
        "trend": {
          "hint_one": "其最近 1 盘。点柱子打开该盘。",
          "hint_other": "其最近的 {{count}} 盘，左边最早。点柱子打开该盘。"
        },
        "phases": {
          "title": "在哪个阶段丢胜率"
        },
        "categories": {
          "hint": "其每一个错误和严重失误，按类型归类，损失大的在前。",
          "none": "其已分析的对局里没有错误或严重失误。"
        },
        "openings": {
          "hint": "其在各开局族（ECO 代码）里执白、执黑的得分情况。"
        },
        "conversion": {
          "hint": "其曾取得胜势（胜率 80% 以上并保持至少三个回合）的对局。",
          "none": "其已分析的对局里还没有出现过胜势。"
        },
        "practice": {
          "small": "至少需要 {{min}} 盘已分析对局才能给建议；目前有 {{count}} 盘。"
        }
      },
      "notFoundBody": "该棋手可能已从名册中移除，或者这个链接属于另一个俱乐部。"
    },
    "roundStudents": {
      "title": "本轮学员",
      "analyseTitle": "分析本轮",
      "body": "确认每台是谁下的，然后保存。每位学员的页面和报告都基于归到其名下的对局。",
      "analyseHint": "在后台用引擎分析本轮的对局，免费。",
      "board": "第 {{board}} 台",
      "game": "第 {{number}} 盘",
      "notOurs": "不在名册中",
      "check": "请核对",
      "twiceShort": "重复",
      "twice": "被分配到多台的棋手：{{names}}",
      "save": "保存学员",
      "saveAndAnalyse": "保存并分析本轮",
      "analyse": "分析本轮",
      "saved_one": "已将 1 盘对局归到学员名下",
      "saved_other": "已将 {{count}} 盘对局归到学员名下",
      "failed": "学员分配未能保存",
      "queued_one": "该盘已加入分析队列",
      "queued_other": "本轮 {{count}} 盘对局已加入分析队列",
      "locked": "把对局归到学员名下是俱乐部 Pro+ 套餐的功能。",
      "lockedCta": "了解棋手名册",
      "rosterFailed": "无法加载棋手名册。",
      "emptyRoster": "先把俱乐部的学员加入名册，才能把对局归到他们名下。",
      "emptyRosterCta": "打开名册"
    },
    "scouting": {
      "title": "对手侦察",
      "description": "赛前了解对手：线上常下什么开局、各开局得分如何，以及该往哪里打。",
      "privacy": "报告只使用对手在 Lichess 或 Chess.com 上的公开对局，只保存汇总结果，保留 90 天，不会分享给任何人。",
      "score": "得分率",
      "form": {
        "title": "侦察一位对手",
        "site": "网站",
        "username": "对手用户名",
        "placeholder": "用户名或个人主页链接",
        "timeClass": "用时",
        "allTimeClasses": "全部用时",
        "submit": "开始侦察",
        "working": "正在读取对局…",
        "wait": "正在读取对手最近的公开对局，最多可能需要半分钟。",
        "hint": "我们通过网站的公开接口读取对手最近 200 盘公开的标准对局。一小时内再次侦察同一位棋手，会免费打开同一份报告。"
      },
      "errors": {
        "notFound": "{{site}} 上没有这个用户名的棋手。",
        "invalid": "这看起来不是一个用户名。",
        "noGames": "这位棋手在该用时下没有最近的标准对局。",
        "busy": "{{site}} 现在比较忙，请一分钟后再试。",
        "limit": "本月的侦察报告已用完。下个月或升级套餐后可继续使用。",
        "plan": "对手侦察需要 Pro 或 Pro+。",
        "account": "创建免费账号后即可侦察对手。",
        "rateLimited": "侦察请求太频繁，请稍后再试。",
        "generic": "侦察没有成功，请重试。",
        "load": "无法加载你的侦察报告。",
        "delete": "无法删除这份报告。"
      },
      "list": {
        "title": "已保存的报告",
        "empty": "还没有侦察报告。在上方侦察你的下一位对手吧。",
        "games_one": "{{count}} 盘",
        "games_other": "{{count}} 盘",
        "score": "得分率 {{score}}",
        "delete": "删除关于 {{name}} 的报告"
      },
      "delete": {
        "title": "删除关于 {{name}} 的报告？",
        "body": "工作区里的所有人都将看不到它。再次侦察这位棋手会算作一份新报告。",
        "confirm": "删除"
      },
      "hints": {
        "title": "该往哪里打",
        "none": "目前没有明显的规律，对局多一些才能看出更多。",
        "note": "按固定规则从数据中得出。得分率是对手的：30% 表示对手在这里得分很低。",
        "weakOpening": {
          "white": "执白时，对手在{{opening}}中得分率只有 {{score}}（{{games}} 盘）。如果对方走进这个开局，正是他的弱点。",
          "black": "执黑时，对手在{{opening}}中得分率只有 {{score}}（{{games}} 盘）。你执白时可以往这个开局引导。"
        },
        "strongOpening": {
          "white": "对手执白最拿手的是{{opening}}：{{games}} 盘得分率 {{score}}。请提前准备。",
          "black": "执黑时，对手在{{opening}}中得分率达 {{score}}（{{games}} 盘）。可以考虑绕开它。"
        },
        "firstMove": "执白时，对手有 {{share}} 的对局第一步走 {{move}}（共 {{games}} 盘）。",
        "reply": "面对 {{against}}，对手有 {{share}} 的时候应以 {{reply}}（共 {{games}} 盘）。",
        "weakerColour": {
          "white": "对手执白（{{score}}）明显比执黑（{{other}}）差。",
          "black": "对手执黑（{{score}}）明显比执白（{{other}}）差。"
        },
        "weakTimeControl": "最弱的用时：{{control}}，{{games}} 盘得分率 {{score}}，而最好的用时为 {{best}}。",
        "weakPhase": "最容易失分的阶段：{{phase}}，每盘丢失 {{loss}} 个百分点的胜率（{{games}} 盘有分析的对局）。尽量把对局带进这个阶段。",
        "commonError": "最常见的错误类型：{{category}}，占其错误的 {{share}}（{{games}} 盘有分析的对局）。"
      },
      "report": {
        "back": "全部侦察报告",
        "sample_one": "基于对手最近的 {{count}} 盘对局，{{from}} – {{to}}。",
        "sample_other": "基于对手最近的 {{count}} 盘对局，{{from}} – {{to}}。",
        "partial": "网站响应较慢，这里只包含及时读到的对局。",
        "small": "对局较少，请谨慎看待这些数字。",
        "reused": "你在一小时内侦察过这位棋手，这是那份报告，没有再计次。",
        "expires": "保存到 {{date}}，之后自动删除。",
        "profile": "{{site}} 个人主页",
        "missing": "这份报告不存在或已过期。",
        "missingTitle": "这份侦察报告不可用"
      },
      "tiles": {
        "score": "对手得分率",
        "white": "执白",
        "black": "执黑",
        "accuracy_one": "网站测算了 {{count}} 盘",
        "accuracy_other": "网站测算了 {{count}} 盘"
      },
      "colour": {
        "white": "对手执白的对局（{{games}}）",
        "black": "对手执黑的对局（{{games}}）"
      },
      "openings": {
        "title": "开局",
        "none": "没有这一方的对局。",
        "book": "开局谱着",
        "bookHint": "平均仍在开局谱内的步数（半回合）",
        "mainLine": "主线"
      },
      "lines": {
        "title": "反复走的变化",
        "none": "还没有重复出现的变化。"
      },
      "tree": {
        "title": "着法树",
        "hint": "前 {{moves}} 回合；只显示至少两盘中走过的着法。",
        "node_one": "{{count}} 盘 · {{score}}",
        "node_other": "{{count}} 盘 · {{score}}"
      },
      "timeControls": {
        "title": "各用时表现",
        "control": "用时",
        "rating": "等级分"
      },
      "mistakes": {
        "title": "对手的错误出在哪里",
        "hint_one": "来自网站分析过的 {{count}} 盘对局，按 ScanChess 的规则判定。",
        "hint_other": "来自网站分析过的 {{count}} 盘对局，按 ScanChess 的规则判定。",
        "none": "这些对局都没有网站的分析，因此无法判断错误。",
        "noneChessCom": "Chess.com 不公开逐步分析，这里无法判断错误。如果对手有 Lichess 账号，可以侦察那个账号。",
        "phase": "阶段",
        "perGame": "每盘错误 / 严重失误",
        "loss": "每盘丢失的胜率",
        "types": "错误类型"
      },
      "preparation": {
        "title": "对照你的开局库",
        "none": "添加开局库后，就能看到对手的变化在哪里与你的准备相遇。",
        "link": "打开我的开局库",
        "noMatch": "对手反复走的变化都没有进入你另一方的开局库。",
        "leftOpponent": "对手以 {{played}} 离开你的“{{name}}”；你准备的是 {{expected}}。",
        "leftPlayer": "你的“{{name}}”在这里走 {{expected}}，而对手的对局里走的是 {{played}}，所以你会在此处避开这个变化。",
        "covered": "你的“{{name}}”覆盖了整条变化，直到第 {{moveNumber}} 回合。"
      }
    },
    "proLock": {
      "titles": {
        "insights": "完整画像是 {{plan}} 功能",
        "onlineDeep": "深度对比是 {{plan}} 功能",
        "repertoire": "开局库是 {{plan}} 功能",
        "scouting": "对手侦察是 {{plan}} 功能",
        "eventReport": "完整赛事报告是 {{plan}} 功能",
        "reportShare": "报告分享链接是 {{plan}} 功能",
        "clubPlayers": "棋手名册是 {{plan}} 功能"
      },
      "perPlan": "Pro：{{pro}} · Pro+：{{proplus}}",
      "bothPlans": "Pro · Pro+：{{quota}}",
      "proPlusOnly": "Pro+（俱乐部和教练套餐）：{{quota}}",
      "cta": "升级到 {{plan}}",
      "ctaClub": "查看俱乐部套餐",
      "askAdmin": "请俱乐部所有者或管理员升级俱乐部套餐。",
      "account": "请先注册免费账号，然后即可升级。"
    },
    "importPgn": {
      "action": "导入 PGN",
      "lead": "粘贴一盘或多盘棋谱，或选择 .pgn 文件。导入后保存在你的对局里，可以直接复盘分析。",
      "label": "PGN 文本",
      "chooseFile": "选择 .pgn 文件",
      "found_other": "可导入 {{count}} 盘棋",
      "skipped_other": "{{count}} 盘棋无法导入：含有不合规的着法、没有着法，或从设定的局面开始。",
      "tooMany": "一次最多导入前 {{max}} 盘。",
      "none": "没有找到可导入的对局。请粘贴 PGN，例如 1. e4 e5 2. Nf3。",
      "submit_other": "导入 {{count}} 盘棋",
      "importing": "正在导入 {{done}}/{{total}}…",
      "done_other": "已导入 {{count}} 盘棋",
      "partial": "已导入 {{done}}/{{total}} 盘，其余未保存：{{reason}}",
      "readFailed": "无法读取这个文件。",
      "found_one": "可导入 {{count}} 盘棋",
      "skipped_one": "{{count}} 盘棋无法导入：含有不合规的着法、没有着法，或从设定的局面开始。",
      "submit_one": "导入 {{count}} 盘棋",
      "done_one": "已导入 {{count}} 盘棋",
      "submitEmpty": "导入",
      "intoEventTitle": "把对局导入 {{name}}",
      "intoEventLead": "粘贴这场比赛的对局，或选择主办方发布的 .pgn 文件。对局会保存到你的对局里并归入这场比赛，可以直接分析，也会计入比赛报告。",
      "notFiled_one": "已导入 {{count}} 盘，但未能加入 {{event}}。请在“对局”里用“{{action}}”添加。",
      "notFiled_other": "已导入 {{count}} 盘，但未能加入 {{event}}。请在“对局”里用“{{action}}”添加。"
    },
    "notFound": {
      "body": "工作区里没有这个地址的页面。可能是地址输错了，或者页面已经移动。",
      "back": "返回概览"
    },
    "newMenu": {
      "roundScanHint_one": "每盘 {{count}} 积分",
      "roundScanHint_other": "每盘 {{count}} 积分"
    },
    "invite": {
      "description_one": "把链接分享给棋友，每有一位加入，你们各得 {{count}} 积分。",
      "description_other": "把链接分享给棋友，每有一位加入，你们各得 {{count}} 积分。",
      "linkTitle": "你的邀请链接",
      "copy": "复制链接",
      "copied": "已复制",
      "copiedAnnouncement": "邀请链接已复制",
      "share": "分享",
      "sendWith": "通过以下方式发送",
      "orSendWith": "或通过以下方式发送",
      "channels": {
        "whatsapp": "WhatsApp",
        "telegram": "Telegram",
        "x": "X",
        "email": "邮件",
        "wechat": "微信"
      },
      "shareMessage_one": "我在用 ScanChess 把记谱单和棋盘照片变成可以分析的对局。用我的链接注册，我们各得 {{count}} 免费积分：",
      "shareMessage_other": "我在用 ScanChess 把记谱单和棋盘照片变成可以分析的对局。用我的链接注册，我们各得 {{count}} 免费积分：",
      "shareSubject_one": "一起用 ScanChess，各得 {{count}} 免费积分",
      "shareSubject_other": "一起用 ScanChess，各得 {{count}} 免费积分",
      "unverifiedTitle": "先验证邮箱，邀请才能得积分",
      "unverifiedBody": "好友现在就能用你的链接注册，但只有在你的邮箱已验证时，邀请才会计入积分。在此之前完成注册的好友不计入。",
      "resend": "重新发送邮件",
      "resent": "邮件已发送",
      "resendFailed": "邮件发送失败，请稍后再试。",
      "stats": {
        "joined": "已加入的好友",
        "earned": "已获得积分",
        "noneYet": "还没有人加入",
        "credited_one": "{{count}} 位已到账",
        "credited_other": "{{count}} 位已到账",
        "confirming_one": "{{count}} 位待验证邮箱",
        "confirming_other": "{{count}} 位待验证邮箱",
        "noBonus": "在你验证邮箱之前加入",
        "perFriend_one": "每加入一位好友得 {{count}} 积分",
        "perFriend_other": "每加入一位好友得 {{count}} 积分"
      },
      "friendsTitle": "好友",
      "status": {
        "pending": "待验证",
        "signed_up": "已注册",
        "rewarded": "已奖励"
      },
      "statusHint": {
        "pending_one": "对方还需验证邮箱，验证后你们各得 {{count}} 积分。",
        "pending_other": "对方还需验证邮箱，验证后你们各得 {{count}} 积分。",
        "signed_up_one": "对方加入时你的邮箱尚未验证，这次邀请没有积分。",
        "signed_up_other": "对方加入时你的邮箱尚未验证，这次邀请没有积分。",
        "rewarded_one": "已完成：你们各得 {{count}} 积分。",
        "rewarded_other": "已完成：你们各得 {{count}} 积分。"
      },
      "joinedOn": "{{date}} 加入",
      "creditsFor_one": "获得 {{count}} 积分",
      "creditsFor_other": "获得 {{count}} 积分",
      "emptyTitle": "还没有好友加入",
      "emptyBody_one": "把链接发给一起下棋的朋友。对方注册后会显示在这里，你们各得 {{count}} 积分。",
      "emptyBody_other": "把链接发给一起下棋的朋友。对方注册后会显示在这里，你们各得 {{count}} 积分。",
      "privacy": "为保护好友隐私，邮箱地址已部分隐藏。",
      "showingLatest_one": "仅显示最近 {{count}} 位。",
      "showingLatest_other": "仅显示最近 {{count}} 位。",
      "rules": {
        "title": "规则说明",
        "step1": "把链接发给还没用过 ScanChess 的朋友。",
        "step2": "对方用这个链接注册并验证邮箱；用 Google 注册会立即计入。",
        "step3_one": "你们各得 {{count}} 积分，自动加到余额。",
        "step3_other": "你们各得 {{count}} 积分，自动加到余额。",
        "goodToKnow": "注意事项",
        "newOnly": "只计入新账号，每个账号只能被邀请一次。",
        "verifiedInviter": "只有在你的邮箱已验证时，邀请才会计入积分。",
        "worth": "积分用于扫描：{{costs}}。"
      },
      "loadFailed": "邀请信息加载失败。",
      "retry": "重试",
      "noCode": "你的账号还没有邀请链接，请联系客服为你添加。",
      "anonymousTitle": "注册账号后即可邀请好友",
      "anonymousBody": "邀请链接随账号一起生成。免费注册后就能马上分享。"
    }
  },
  "extensionPage": {
    "eyebrow": "适用于 Chrome 和 Edge 的浏览器插件",
    "title": "把网页棋盘变成可分析的局面",
    "lead": "框选文章或暂停视频中的棋盘，核对棋子后复制 FEN，或在 Lichess、Chess.com 打开分析。",
    "ctaInstall": "在 Chrome 应用商店查看",
    "ctaUpload": "改在网站上传图片",
    "installNote": "支持 Chrome 和 Edge 116 及以上版本。安装免费，需要 ScanChess 账号；每次棋盘识别消耗 1 积分。",
    "newTab": "在新标签页打开 Chrome 应用商店",
    "screenshotAlt": "使用预设局面展示的 ScanChess 棋盘界面示例",
    "stepsTitle": "使用方法",
    "steps": [
      {
        "title": "连接网站账号",
        "body": "先在 scanchess.com 登录，再从插件连接该账号。网站与插件共用账号和积分。"
      },
      {
        "title": "框选网页棋盘",
        "body": "在文章或学习页面中框选棋盘，也可以右键图片识别。识别视频画面前请先暂停。"
      },
      {
        "title": "核对后再分析",
        "body": "检查棋子位置与行棋方，修正后复制 FEN，或在分析工具中打开局面。"
      }
    ],
    "usesTitle": "适合哪些场景",
    "usesLead": "在浏览器里看到的国际象棋内容，不必先把图片存下来再上传。",
    "uses": [
      {
        "title": "文章和论坛",
        "body": "博客、论坛帖子或邮件简报里的局面图和截图。"
      },
      {
        "title": "暂停的视频",
        "body": "把课程或直播暂停在想要的局面，截取这一帧。"
      },
      {
        "title": "习题与学习资料",
        "body": "提取学习页面或习题集中的可见棋盘。受浏览器保护、无法截取的页面，可改用截图上传。"
      }
    ],
    "outputs": [
      {
        "title": "网页棋盘 → FEN",
        "body": "得到可编辑的局面，使用前请核对棋子位置和行棋方。"
      },
      {
        "title": "手写记谱单 → 网站识别",
        "body": "记谱单识别和 PGN 导出请使用网站扫描器；插件专注网页中的棋盘。"
      }
    ],
    "creditsTitle": "同一个账号，同一份积分",
    "creditsBody": "插件与网站共用 ScanChess 账号和积分，每次棋盘识别消耗 1 积分。手写记谱单请在网站上传识别。",
    "creditsLink": "查看定价",
    "privacyTitle": "插件能看到什么",
    "privacy": [
      "只有在你选择扫描操作后才会截取网页。",
      "只有你框选的区域会发送到 api.scanchess.com 进行识别。",
      "不收集你的浏览历史。",
      "插件不包含任何分析追踪脚本。",
      "会话令牌保存在插件自己的存储空间里。"
    ],
    "privacyLink": "隐私政策中的浏览器插件部分",
    "faqTitle": "关于插件的常见问题",
    "faq": [
      {
        "q": "ScanChess 插件免费吗？",
        "a": "安装免费。识别需要 ScanChess 账号，每次棋盘识别消耗 1 积分。编辑和复制已识别的局面不会再次扫描扣费。"
      },
      {
        "q": "支持哪些浏览器？",
        "a": "Google Chrome 和 Microsoft Edge 116 及以上版本（Chromium 116+）。没有 Firefox 或 Safari 版本；手机浏览器不能运行插件，在手机上请到网站上传图片。"
      },
      {
        "q": "所有网站都能用吗？",
        "a": "普通网页都可以。浏览器不允许插件截取它自己的内部页面（例如设置页）、Chrome 应用商店和内置 PDF 查看器。遇到这些页面，请保存图片后在 scanchess.com 上传。"
      },
      {
        "q": "需要注册账号吗？",
        "a": "需要。先在 scanchess.com 登录，再从插件连接网站账号，不用另外注册一套插件账号。插件与网站共用积分余额。"
      }
    ],
    "finalTitle": "图片已经在电脑或手机上？",
    "finalBody": "棋盘照片和手写记谱单都可以直接上传到网站。先核对结果，再分析、回放或导出。",
    "screenshotCaption": "界面示例，使用预设局面，并非实时图片识别结果。"
  },
  "extensionPromo": {
    "uploadHint": "棋盘在网页上？用 ScanChess 插件直接截取",
    "cardEyebrow": "浏览器插件",
    "cardTitle": "直接从网页扫描棋盘",
    "cardBody": "直接框选网页棋盘，核对局面后复制 FEN。连接现有 ScanChess 账号即可使用，每次识别消耗 1 积分。",
    "cardInstall": "添加到 Chrome",
    "cardLearn": "了解详情",
    "cardDismiss": "不再显示此建议"
  },
  "allowance": {
    "badge": {
      "leftToday": "今日剩余 {{count}} 次",
      "leftMonth": "本月剩余 {{count}} 次",
      "left": "剩余 {{count}} 个",
      "thenCredits_one": "之后每次 {{count}} 积分",
      "thenCredits_other": "之后每次 {{count}} 积分",
      "unlimited": "不限次数",
      "needsPlan": "{{plan}} 功能",
      "backAt": "{{time}} 恢复"
    }
  },
  "positionCoach": {
    "title": "研究这个局面",
    "lead": "让 AI 教练只依据引擎事实用通俗语言讲解，或把局面收进局面库，之后加入练习。",
    "explain": "讲解这个局面",
    "explainFree": "讲解这个局面 · 今日免费（剩 {{count}} 次）",
    "explainCredit": "讲解这个局面 · {{count}} 积分",
    "explainExplained": "讲解这个局面 · 已讲解过（免费）",
    "freeNote": "每天一次免费讲解，与对局教练共用；之后每次 {{cost}} 积分。",
    "waitingEngine": "引擎还在计算，算完后会自动开始讲解。",
    "signInExplain": "登录后即可获取讲解，每天一次免费。",
    "signInSave": "登录后即可把局面保存到局面库。",
    "rejected": "这段讲解没有通过事实核查，因此不予显示，也没有扣费。请再试一次。",
    "inProgress": "这个局面正在讲解中，请稍后再试。",
    "save": "保存到我的局面",
    "saved": "已保存到我的局面",
    "savedToast": "局面已保存，可在“局面”中找到。",
    "openNotebook": "打开我的局面",
    "practiceTitle": "练习这个局面",
    "practiceNeedsEngine": "答案取引擎的最佳着法，请等引擎算完。",
    "answer": "答案：",
    "practice": "加入练习",
    "practiceAdded": "已加入你的练习卡片。",
    "practiceExisting": "已在你的练习卡片中。",
    "openPractice": "去练习",
    "field": {
      "position": "局面",
      "plan": "计划",
      "watch": "注意"
    },
    "basis": "引擎依据（Stockfish，深度 {{depth}}）：最佳着法 {{best}} · {{side}}胜率约 {{win}}%",
    "basisMate": "引擎依据（Stockfish，深度 {{depth}}）：{{best}} 开始{{side}}的强制将杀",
    "uncertain": "引擎选这步的理由在它的变化之外，因此“计划”只是引擎的判断，并非已证明的变化。",
    "charged": "已使用 {{count}} 积分。再次讲解这个局面（任何语言）均免费。",
    "usedFree": "已使用今日免费讲解，未扣积分。",
    "cached": "此前已讲解过，没有消耗积分或免费次数。",
    "form": {
      "source": "来源",
      "title": "标题",
      "titleBook": "例如：《我的体系》第 3 章",
      "titleVideo": "例如：视频名称",
      "optional": "选填",
      "page": "页码",
      "pageInvalid": "请输入页码。",
      "timestamp": "视频时间点",
      "timestampInvalid": "请用“分:秒”格式，例如 12:34。",
      "url": "视频链接",
      "urlInvalid": "链接需以 http:// 或 https:// 开头。",
      "note": "笔记",
      "notePlaceholder": "关于这个局面想记住的内容",
      "submit": "保存"
    },
    "outdated": "这是旧版教练写的讲解，查看免费；重新讲解按新讲解计费。",
    "explainAgain": "重新讲解"
  },
  "howItWorks": {
    "pageTitle": "ScanChess 使用指南",
    "lead": "分三步：扫描对局，复盘分析，再练习它暴露出的问题。扫描消耗积分；核对、分析、回放和导出都免费。",
    "partLabel": "第 {{number}} 步",
    "scan": {
      "title": "扫描",
      "intro": "把纸上或图片里的棋变成能用的对局或局面。",
      "cta": "扫描记谱单",
      "secondary": "扫描棋盘图片",
      "steps": [
        {
          "title": "拍照",
          "text": "把手写记谱单放平，在均匀的光线下拍照；也可以用截图、书上的棋图，或从正上方拍的棋盘照片。支持 JPG、PNG、WebP，每张不超过 15 MB，不支持 HEIC。"
        },
        {
          "title": "上传并扫描",
          "text": "按顺序上传一盘棋的所有页面（最多 10 张），或者一张棋盘图片。记谱单扫描一次 2 积分，不论几页；棋盘 1 积分；新账号赠送 10 积分。"
        },
        {
          "title": "核对结果",
          "text": "每一步都会在棋盘上重放：不合法的着法标红，没把握的标琥珀色，并列出最接近的合法着法供你选择。棋盘图片要确认轮到哪方行棋。修改不消耗积分。"
        },
        {
          "title": "保存或导出",
          "text": "扫描的对局连同照片存进对局库。复制或下载 PGN、FEN，导入 Lichess、Chess.com 或 ChessBase。"
        }
      ]
    },
    "analyze": {
      "title": "复盘分析",
      "intro": "看清这盘棋在哪里赢、在哪里输。",
      "cta": "分析这盘棋",
      "secondary": "打开分析棋盘",
      "steps": [
        {
          "title": "运行分析",
          "text": "Stockfish 免费分析整盘棋，结果随对局保存：双方准确率，每一步失误、错误和严重失误，以及对局的转折点。"
        },
        {
          "title": "请 AI 教练讲解",
          "text": "教练用大白话讲清转折点：发生了什么、更好的着法是什么、为什么。邮箱验证后每天免费讲解 1 盘，之后每盘 1 积分。"
        },
        {
          "title": "回放与探索",
          "text": "逐步回放，在分析棋盘上试自己的想法，或者在 Lichess 打开。已有的 PGN 也能导入，用同样的方式分析。"
        }
      ]
    },
    "practice": {
      "title": "练习",
      "intro": "把自己的错误变成训练。",
      "cta": "练习漏着",
      "secondary": "比较套餐",
      "steps": [
        {
          "title": "每日练习",
          "text": "分析过的对局里你错过的战术会变成简短的练习题。免费账号每天 15 题，Pro 不限。"
        },
        {
          "title": "我的画像",
          "text": "画像汇总你所有对局里的规律，还能关联 Lichess 或 Chess.com 账号，对比线上和线下的表现。完整画像（准确率走势、各阶段表现、错误类型）是 Pro 功能。"
        },
        {
          "title": "备战（Pro）",
          "text": "整理开局库，看对局从哪一步离开了准备；侦察对手的线上对局，看对方走什么、该从哪里下手。"
        }
      ]
    },
    "clubs": "带学生或管理俱乐部？Pro+ 增加棋手名册和每位学员的页面，整轮扫描的对局可以一步分配给棋手，赛事报告可以用链接分享。",
    "clubsLink": "教练与俱乐部"
  }
}
