export default { appName: 'voko.world', productBrandSub: '你的 kosmo 正在召唤。', mobileCredit: { title: '我的积分', buyCredits: '购买积分', history: '积分记录', purchaseHistory: '购买记录', usageHistory: '使用记录', emptyHistory: '暂无积分记录', loadMore: '加载更多', balanceAfter: '余额:{points}', pending: '处理中', paid: '已支付', canceled: '已取消', failed: '失败', refunded: '已退款', disputed: '争议中', autoReload: '自动充值', bonusCredits: '赠送积分', buyNow: '立即购买', lowBalance: '余额不足时', enabled: '已开启', whenBelow: '当积分余额低于', choosePack: '选择自动充值套餐', consent: '我授权 Voko 在余额达到阈值时自动购买所选套餐。除法律另有规定外,购买后不可退款。', terms: '使用条款', continueSecurely: '安全设置支付方式', save: '保存设置', disable: '关闭自动充值', setupComplete: '支付方式已保存,自动充值已开启。', setupCanceled: '已取消自动充值设置。', actionRequired: '上次自动充值失败,请重新设置支付方式后恢复。', howTitle: '自动充值如何运作', howBalance: '积分余额达到或低于阈值时,系统会自动购买所选套餐。', howSecure: '支付信息由 Stripe 安全收集和保存,Voko 不会保存你的银行卡号。', howCancel: '你可以随时关闭自动充值;关闭不会退还此前的购买。' }, nav: { play: '对局', notes: '线索', state: '状态', editor: '编排' }, scenario: { title: '关卡', available: '可用关卡', assetManifest: '素材清单' }, character: { title: '角色', start: '开始对局', current: '当前角色' }, stage: { empty: '选择关卡和角色', turn: '回合 {turn}', ending: '结局', transcript: '记录' }, composer: { act: '行动', say: '对白', placeholder: '输入行动或对白' }, actions: { refresh: '刷新', start: '开始', home: '首页', backHome: '返回', newRun: '重开', send: '发送', save: '保存', compile: '编译', publish: '发布', rollback: '回滚', upload: '上传', select: '选择', endingText: '结局文本', load: '载入', backToGame: '返回', cancel: '取消', confirm: '确认' }, account: { signIn: '登录', signedIn: '已登录', signedOut: '已退出登录', sessionExpired: '登录已过期,请重新登录。', logoutFailed: '退出登录失败,请稍后重试。', registered: '注册成功', email: '邮箱', emailPlaceholder: '邮箱地址', password: '密码', passwordPlaceholder: '输入密码', confirmPassword: '确认密码', confirmPasswordPlaceholder: '再次输入密码', verificationCode: '验证码', verificationCodePlaceholder: '输入 6 位邮箱验证码', inviteToken: '邀请码', inviteTokenPlaceholder: '输入 8 位邀请码', sendCode: '发送验证码', resendCode: '重新发送', codeSent: '验证码已发送,请查看邮箱。', codeRequired: '请先输入邮箱验证码。', inviteInvalid: '请输入有效的 8 位邀请码。', emailRequired: '请先输入邮箱。', emailInvalid: '请输入有效的邮箱地址。', passwordRequired: '请先输入密码。', confirmPasswordRequired: '请先确认密码。', loginFieldsRequired: '请填写邮箱和密码。', inviteEmailMismatch: '该邮箱与邀请码绑定的申请邮箱不一致。', passwordMismatch: '两次输入的密码不一致。', createAccount: '创建账号', hasAccount: '已有账号?', noAccount: '还没有账号?', termsHint: '继续即表示你确认该邮箱归你所有,并同意账号用于保存进度、订单和积分。', login: '登录', register: '注册', reset: '重置密码', forgotPassword: '忘记密码?', resetPassword: '重置密码', resetTitle: '重置密码', resetBody: '输入邮箱并验证验证码后设置新密码。重置成功后,该账号的旧会话会全部失效。', resetCodeSent: '重置验证码已发送,请查看邮箱。', resetFieldsRequired: '请填写邮箱、验证码、新密码和确认密码。', passwordResetDone: '密码已重置,请使用新密码登录。', logout: '退出登录', logoutAll: '退出全部设备', credits: '积分', buy: '购买积分', billing: '账务', promptTitle: '登录或注册后开始', promptBody: '账号会保存进度、存档、结局图鉴、积分和订单;换设备也能继续。', signedInBody: '你的进度、存档和积分会写入数据库。', registerAndStart: '注册并选择角色', guestStart: '游客试玩', savedHint: '登录后自动保存进度和存档', currentAccount: '当前账号', saveKicker: '账号保存', saveTitle: '保存进度和订单', loginTitle: '登录', loginBody: '登录后会尝试合并当前设备游客进度;如果没有可合并内容,会直接进入账号状态。', registerTitle: '创建账号', registerBody: '邀请码注册:输入邀请码并验证邮箱归属后创建账号。注册成功后会自动登录、赠送 100 积分,并合并当前设备进度。', openBilling: '查看积分与订单', mergePending: '正在合并本机游客进度…', mergeSuccess: '已合并本机数据:{details}。', mergeSeparator: '、', mergeRuns: '{count} 个对局', mergeTurns: '{count} 个回合', mergeProgress: '{count} 条进度', mergeSaveSlots: '{count} 个存档', mergeEndingRecords: '{count} 个结局', mergeEvents: '{count} 条事件', mergeAgentCalls: '{count} 条 AI 调用', mergeBillingLedger: '{count} 条积分流水', mergeBillingUnlocks: '{count} 条付费解锁', mergeBillingFreeQuota: '{count} 条免费额度', mergePaymentOrders: '{count} 个订单', mergeEmpty: '没有可合并的本机进度。', mergeFailed: '账号已登录,本机进度暂未合并。请稍后刷新重试。', }, billing: { title: '积分与订单', subtitle: '管理积分余额、充值记录和消费明细。', guestSubtitle: '游客可以查看积分包;购买、余额、订单和流水需要登录后继续。', balance: '当前余额', products: '积分包', ledger: '积分流水', orders: '订单', refresh: '刷新', testModeTitle: 'Stripe 测试环境', testModeBody: '当前结账使用测试支付,不会产生真实扣款。', testPurchase: '测试购买', buy: '购买 {points} 积分', checkoutReady: '结账链接已生成。', openCheckout: '打开结账页', selectedPack: '已选择', selectedProduct: '已选择 {title},账户余额将增加 {points} 积分。', signInToBuy: '登录后购买', readyToBuy: '充值积分', readyToBuyBody: '选择适合的积分包,完成结账后积分将自动到账。', checkoutPending: '正在跳转至结账页…', checkoutReturnedSuccess: '已返回应用,正在刷新余额和订单;入账结果以订单状态为准。', checkoutReturnedCancel: '结账已取消或未完成,未确认入账。', signInHint: '登录后可查看余额、订单和流水。', emptyProducts: '暂无积分包。', emptyLedger: '暂无流水。', emptyOrders: '暂无订单。', productFallback: '积分包', points: '{points} 积分', price: '{amount} {currency}', ledgerAmount: '{amount} 积分', orderStatus: '状态 {status}', orderStatusPending: '处理中', orderStatusPaid: '已支付', orderStatusRefunded: '已退款', orderStatusDisputed: '拒付处理中', orderStatusUnknown: '状态未知', ledgerReasonSignupGift: '注册赠送', ledgerReasonCheckout: '积分购买', ledgerReasonRefund: '订单退款', ledgerReasonChargeback: '拒付扣回', ledgerReasonUnlock: '内容解锁', paywallTitle: '付费解锁', paywallTarget: '目标', paywallReason: '扣费原因', paywallGenericReason: '继续该内容需要积分。', paywallFreeContinue: '当前还有免费额度,可以继续推进。', paywallInsufficient: '当前积分不足,请先购买积分。', paywallPrice: '需要积分', paywallFreeQuota: '剩余免费额度', paywallBalance: '可用余额', }, endings: { title: '结局图鉴', unlocked: '已解锁', locked: '未解锁', collected: '已收集 {count}/{total}', lockedHint: '达成对应结局后即可解锁。', }, saves: { title: '存档', progress: '当前进度', activeRun: '当前游戏', slot: '存档 {slotNo}', savedRun: '已保存进度', emptySlot: '空存档位', emptyHint: '保存当前 run 后可跨刷新恢复。', saveHere: '保存', overwrite: '覆盖存档', restore: '读取', delete: '删除', saved: '已保存存档。', restored: '已读取存档。', deleted: '已删除存档。', conflict: '已有存档。确认后才会覆盖这个回滚点。', restoreConfirm: '读取后会把当前游戏切换到这个存档点。', deleteConfirm: '删除后这个存档点不能恢复。', noRunHint: '当前没有可保存的 run。请先开始或继续一局。', }, map: { title: '地图', current: '当前位置', route: '可前往', routes: '可去地点', locked: '未解锁', moveTo: '前往{location}', objects: '可调查对象', inspect: '调查', inspected: '已调查', inspectObject: '查看{object}', }, videoCenter: { eyebrow: '玩家游玩记录', title: '影像馆', backHome: '返回', chooseScenario: '选择剧本', allScenarios: '全部剧本', searchScenario: '搜索剧本', scenarioPaintedSkin: '画皮', scenarioGuian: '归安县失心案', nowPlaying: '正在播放', player: '玩家', views: '观看', ending: '结局', duration: '时长', libraryEyebrow: '同剧本玩家影像', allVideos: '全部影像', sort: '视频排序', recommended: '推荐', latest: '最新', videoMeta: '{player} · {date}', emptyTitle: '暂无玩家影像', emptyText: '这个剧本还没有公开的游玩视频。', viewAll: '查看全部玩家影像', discoverStories: '看看其他人的选择', backPrevious: '返回上一页', aiSummary: 'AI 摘要:', endingCount: '种结局', publicSeriesCount: '个公开系列', totalPlays: '总播放', seriesList: '玩家系列', completed: '已完结', updating: '更新至第 {count} 集 · 追更中', seriesMetrics: '共 {episodes} 集 · ▶ {plays} · ♥ {likes}', watchSeries: '观看这个系列', playOwnSeries: '玩出自己的系列', minutes: '{count} 分钟', share: '分享', shareCopied: '链接已复制', shareFailed: '分享失败,请重试', like: '点赞', liked: '已点赞', save: '收藏', saved: '已收藏', storyHighlight: '故事看点', startPlay: '开始游玩 · 改写这个结局', episodeList: '剧集列表', episodeTotal: '全 {count} 集', episodeTitle: '第 {count} 集 · {title}', }, runHistory: { eyebrow: '个人游玩记录', title: '我的对局', allRuns: '全部对局', count: '{count} 条记录', empty: '暂无游玩记录。开始一局后会出现在这里。', loadFailed: '加载失败:{error}', noTime: '时间未知', statusActive: '进行中', statusCompleted: '已结束', videoNone: '暂无视频', videoQueued: '视频排队中', videoRunning: '视频生成中', videoReady: '视频已生成', videoFailed: '视频失败', videoRetry: '重新生成', untitledEnding: '未达成结局', meta: '{scenario} · 回合 {turn} · {date}', openRun: '打开对局', openNotes: '查看笔记', watchVideo: '播放视频', }, mobileProfile: { title: '我的', settings: '设置', content: '内容管理', benefits: '账户权益', creator: '创作中心', support: '咨询与支持', contact: '联系客服', terms: '使用条款', privacy: '隐私政策', social: '社交媒体' }, profileEditor: { editProfile: '编辑个人信息', nameSection: '个人名称', nameHint: '这个名字会展示在你的游戏和视频旁。', name: '名字', saveName: '保存名字', nameRequired: '请输入名字', nameSaved: '名字已更新', passwordSection: '修改密码', passwordHint: '通过发送到绑定邮箱的验证码确认身份。', email: '邮箱', verificationCode: '邮箱验证码', sendCode: '发送验证码', codeSent: '验证码已发送到你的邮箱', newPassword: '新密码', confirmPassword: '确认新密码', savePassword: '修改密码', passwordRequirements: '请输入邮箱验证码,并设置至少 8 位的新密码', passwordMismatch: '两次输入的密码不一致', passwordSaved: '密码已修改' }, myGames: { recent: '最近游玩', popular: '热门剧本', emptyRecent: '最近游玩的剧本会显示在这里', loadError: '游戏加载失败,请稍后重试' }, storyDetail: { title: '剧本详情', description: '剧本简介', episodes: '{count} 个章节', endings: '{count} 个结局', by: '作者:{name}', lastUpdate: '最近更新', newPlay: '开始游玩', notFound: '没有找到这个剧本。', loadError: '剧本加载失败,请稍后重试。' }, accountCenter: { loadFailed: '个人中心加载失败', loadTimeout: '请求超时,请检查网络后重试', title: '个人中心', eyebrow: '玩家档案', runs: '我的游戏', videos: '视频合集', favorites: '我的收藏', watchSeason: '观看本季', emptyGames: '还没有开始任何游戏。', emptyVideos: '还没有生成的视频。', emptyFavorites: '还没有收藏的视频。', lastPlayed: '最近游玩 · {date}', currentTurn: '进行中 · 第 {turn} 回合', noActiveRun: '暂无进行中的对局', endingsUnlocked: '结局 {unlocked}/{total}', runsPlayed: '累计 {count} 局', continueGame: '继续游戏', startGame: '开始游戏', viewHistory: '查看历史', levelProgress: '已游玩 {played}/{total} 关', viewSeasonDetails: '查看本季详情', hideSeasonDetails: '收起本季详情', levelInProgress: '进行中', levelCompleted: '已完成', endingLabel: '达成结局', cluesLabel: '获得线索', clueCount: '{count} 条线索', viewRunRecords: '查看游戏记录', runRecordSummary: '{clues} 条线索 · {ending} 个结局', noEnding: '尚未达成结局', noClues: '尚未获得线索', seasonDetailsLoadFailed: '本季详情加载失败,请重试', public: '公开展示', private: '仅自己可见', deleteVideo: '删除视频', confirmDelete: '确认删除', signInTitle: '请先登录', signInBody: '登录后即可管理游戏进度和视频。' }, visual: { eyebrow: 'TRPG Visual', chooseScript: '选择剧本', actTitle: '第{count}幕 · {title}', actLocked: '{title}尚未解锁', actSealed: '前幕未终', toBeContinued: '待续', finishPreviousAct: '触发前一幕结局后开启', revealAfterAct: '完成第{count}幕后揭晓', moreScripts: '更多关卡', comingSoon: '敬请期待', watchScriptVideo: '观看剧本视频', scenarioKicker: '剧本', hiddenTitle: '田又', revealedTitle: '画皮', objectives: '当前目标', playHistory: '游玩记录', objectiveLabel: '任务目标', close: '关闭', noObjectives: '暂无进行中的任务。', taskProgress: '步骤 {done}/{total}', entryKicker: '进入游戏', entryTitle: '今晚入屋', emptyScenarioEyebrow: '剧本未就绪', emptyScenarioTitle: '暂无可进入剧本', emptyScenarioText: '服务器没有返回已发布剧本。请刷新或联系运营检查发布状态。', emptyScenarioActionTitle: '等待发布', emptyScenarioActionText: '没有真实剧本数据时不会启动本地伪剧本。', continueTitle: '继续上次对局', entryBody: '先选角色进入旧屋。', chooseCharacter: '选择角色', enterStory: '进入故事', back: '返回', skip: '跳过', editor: '编辑器', debugPage: '调试页', state: '状态', settings: '设置', language: '语言', languageUnavailable: '该关卡当前没有可用的对应语言译文。', turnVideoMatching: '智能 CG 匹配', turnVideoMatchingHint: '开启后会用相似剧情片段匹配本回合 CG;关闭时只播放精准绑定的 CG。', turnVideoMatchingOn: '已开启', turnVideoMatchingOff: '已关闭', exitGame: '退出本局', exitGameHint: '退出当前游戏,返回首页。', saveAndExit: '保存并退出', exitWithoutSaving: '直接退出', notes: '笔记', saves: '存档', continueRun: '继续对局', balanceEntry: '余额 {credits}', endingCollection: '结局图鉴', narrator: '旁白', npcName: '屋中女子', npcLine: '“{line}”', notStarted: '未开始', startHint: '点击开始进入旧屋。', debug: '调试数值', debugOnly: '仅调试用', waiting: '等待开始。', modeAct: '行', modeSay: '言', inputMethod: '输入方式', textInputMode: '文字输入', voiceInputMode: '语音输入', choiceGroupLabel: '剧情分支选择', inputPlaceholder: '例如:我拿起铜镜,照向她和墙上的美人图。', mobileInputPlaceholder: '输入对话或行动…', voiceStart: '开始语音输入', voiceStop: '停止语音输入', voiceListening: '正在聆听…', voiceRecognizing: '正在识别…', voiceUnsupported: '当前浏览器不支持语音输入', voicePermissionDenied: '无法使用麦克风,请检查浏览器权限', voiceMicrophoneUnavailable: '未检测到可用的麦克风', voiceNoSpeech: '未识别到语音,请重试', voiceNoAudioCaptured: '未采集到麦克风声音,请检查浏览器权限', voiceRecognitionFailed: '语音识别失败,请重试', voiceHoldToTalk: '按住说话', voicePreparing: '正在准备麦克风…', voiceShortcutLabel: '快捷键', voiceReleaseSend: '松开发送', voiceSlideCancel: '上滑取消', voiceReleaseCancel: '松开取消', voiceUnderstanding: '正在理解你的指令…', ending: '结局', endingLabel: '结局', endingLine: '结局:{title}\n{description}', endingSummary: '结局总结', endingPoem: '定场诗', endingFallbackPoem: '……', endingBackgroundLoadFailed: '结局画面加载失败,请刷新后重试。', recordSeal: '案', recordTitle: '捕快笔录', recordKicker: '县衙案牍', recordMeta: '夜雨后 · 破屋验记', continue: '继续', enterNextEpisode: '进入下一关', viewCurrentSeasonStory: '查看本季故事线', played: '已播放', nextPage: '下一页', statusCreating: '正在准备故事……', statusStarted: '已开始。输入一句话或一个动作。', statusHistoryRun: '正在查看历史对局,继续游戏仍以服务器进度为准。', statusKp: 'KP 正在判定玩家行动...', statusDone: '回合完成。', contentFiltered: '这个行动无法继续描述,请换一种方式行动。', turnFailed: '这一步没能完成,请重试。', audioFailed: '语音播放失败,请重试。', actionRejected: '这个行动暂时无法成立,请换一种方式试试。', statusEnded: '游戏已结束。', statusEndingText: '正在生成结局文字...', statusEndingLocked: '结局已判定,正在进入结局...', statusNpcAction: 'NPC 正在尝试行动,等待 KP 判定...', statusNpcDone: 'NPC 已回应。', clueGained: '获得线索', landscapeTitle: '请横屏游玩', landscapeBody: '横屏可以完整显示剧情画面和 CG,并获得更好的操作体验。', stats: { suspicion: '怀疑', charm: '魅惑', fear: '恐惧', }, guide: { label: '新手引导', skip: '跳过', next: '下一步', done: '知道了', optionsTitle: '直接选择', optionsText: 'NPC 回应后,下方会出现两个建议选项。你可以直接点“言”或“行”,快速推进这一回合。', keyboardTitle: '切换到键盘输入', keyboardText: '默认使用语音输入。点击键盘按钮,也可以自己输入想说的话或想做的事。', inputTitle: '切换“言 / 行”', inputText: '输入前可以选择“言”或“行”。说什么、做什么都会交给 KP 判定。', notesTitle: '查看笔记', notesText: '右侧的笔记按钮会记录已经发现的线索和已经解锁的结局。想整理信息时,随时可以打开。', goalTitle: '活下来', goalText: '这不是单纯聊天。你的目标是活下来:听她说话,也要观察屋子、线索和异常。', videoTitle: '完成故事后,你的这次冒险将变成一段专属影片', videoExampleLabel: '示例视频', videoExampleNotice: '以下仅为效果示例,不代表你本次游玩生成的内容。', videoLoading: '正在加载示例影片……', videoUnavailable: '该剧本暂无可播放的示例影片。', videoDone: '开始我的故事', }, openingOptions: { say: '对不起,我不是有意闯进来的,外面有东西在追我。', act: '照她的话压低声音,先观察门窗、油灯和她的位置。', }, }, panels: { clues: '线索', conclusions: '结论', info: '信息', inventory: '物品', events: '事件', stats: '数值', flags: '标记', objects: '物件', npcs: 'NPC', endingRecords: '已解锁结局' }, standalone: { summary: '概览', availableClues: '可得知线索', recentTurns: '最近回合', audit: { title: 'AI 审计', subtitle: 'KP、NPC、结局和 TTS 调用的成本与失败记录。', totalCalls: '调用', failedCalls: '失败', tokens: '输入/输出 token', cost: '成本', roles: '角色汇总', models: '模型汇总', recentCalls: '最近调用', empty: '暂无 AI 调用记录。', calls: '{count} 次', tokenPair: 'token {tokens}', }, state: { title: '状态可视化', waiting: '等待载入 RunState。', noRun: '没有 runId。请从游戏页面进入,或手动输入 runId。', loading: '正在载入 {runId}...', loaded: '已载入 {runId}', }, notes: { title: '笔记', waiting: '正在载入笔记。', noRun: '没有找到当前存档。请先从游戏页开始或继续一局。', loading: '正在载入 {runId}...', loaded: '已载入 {runId}', unavailable: '暂时无法读取这局游戏的笔记。', emptyClues: '暂无线索', emptyConclusions: '暂无结论', emptyEndings: '暂无结局', tabs: '笔记分类', list: '条目列表', detail: '条目详情', locked: '未解锁', lockedHint: '这个结局还没有被记录。', recorded: '已记录', importance: { minor: '次要', major: '重要', critical: '关键' }, relatedClues: '相关线索', noRelatedClues: '还没有发现支撑这个结论的线索。', }, }, editor: { title: '剧本编排', pack: '剧本包', section: '段落', raw: 'JSON', structured: '结构化编辑', debugJson: '调试 JSON', item: '条目', noStructuredFields: '这个段落暂时没有可直接编辑的结构化字段。', updated: '已保存', assetUploaded: '资源已上传到草稿', compiled: '已编译草稿', published: '已发布版本', rolledBack: '已回滚到历史版本', versions: '版本', assets: '资源索引', current: '当前', currentVersion: '当前版本', noPublishedVersion: '未发布', noVersions: '暂无版本。先编译生成草稿。', noAssets: '暂无资源索引。先编译资源清单。', noFilteredAssets: '没有符合筛选条件的资源。', assetSearch: '搜索', assetSearchPlaceholder: '标签、文件或 objectKey', assetTypeFilter: '类型', assetSourceFilter: '来源', assetFilterAll: '全部', assetFilterResult: '{shown}/{total}', assetSource: { uploaded: '上传对象', static: '静态文件', missing: '缺少定位', }, uploadFile: '文件', uploadTag: '标签', uploadTagPlaceholder: 'opening_cg', uploadType: '类型', noUploadFile: '未选择文件', }, waitingList: { eyebrow: '抢先体验', apply: '申请体验', useInvite: '使用邀请码', invitedRegister: '已有邀请?创建账号', title: '加入 voko.world 候补名单', body: '留下邮箱。获得抢先体验资格后,我们会向你发送专属邀请。', displayName: '姓名', displayNamePlaceholder: '选填', useCase: '使用场景', useCaseOptional: '使用场景(可选)', useCasePlaceholder: '团队测试、创作者试用、活动开服', useCaseRequired: '请填写使用场景,例如团队测试、创作者试用或活动开服。', consent: '我同意接收体验邀请和相关产品邮件。', join: '加入候补名单', joined: '申请已收到,请等待邮箱通知。', joinedTitle: '申请已提交', changeEmail: '更换邮箱', accountAlreadyRegistered: '该邮箱已经注册,请直接登录。', emailRequired: '请填写邮箱。', consentRequired: '加入名单前需要确认邮件授权。', inviteEyebrow: '邀请', inviteTitle: '创建 voko.world 账号', inviteBody: '该邀请已绑定你的邮箱。设置密码后即可完成注册。', inviteMissing: '缺少邀请 token。', inviteEnterCode: '输入你收到的 8 位邀请码,验证后即可创建账号。', inviteValidate: '验证邀请码', inviteReenter: '重新输入邀请码', inviteInvalid: '邀请无效或已过期。', codeSent: '验证码已发送。', passwordMismatch: '两次输入的密码不一致。', acceptInvite: '注册账号', }, landing: { officialVideo: '观看官网视频', officialVideoEyebrow: '认识 VOKO', officialVideoTitle: '你的世界正在呼唤。', officialVideoBody: '创造自己的世界,进入会再次呼唤你的故事,并把每个瞬间分享成值得观看的影像。', homeLabel: 'voko.world 主页', navHome: 'Home', navScripts: '剧本', navVideos: '短剧', featuredStories: '精选剧本', featuredStoriesEyebrow: '开始游玩', endingCount: '{count} 个结局', allStories: '全部故事', dramaTitle: '短剧', brandSub: '互动叙事', navLabel: '主导航', navStories: '剧游', navGallery: '影像馆', eyebrow: 'AI 实时互动影游', loadError: '首页内容加载失败,请重试。', retry: '重新加载', emptyGames: '暂无已发布的剧游。', scenarioFallback: '进入这个世界,用你的选择改写故事。', publicVideos: '玩家影像', publicGames: '公开剧游', watchDrama: '观看短剧', enterPlay: '开始游玩', comingSoon: '敬请期待', carouselLabel: '剧游轮播', previousGame: '上一个剧游', nextGame: '下一个剧游', showcaseTitle: '玩家创造的故事', showcaseBody: '观看玩家从不同选择中走出的结局,再进入剧游创造你的版本。', searchLabel: '搜索故事', searchPlaceholder: '搜索剧游或关卡名称', sortLabel: '内容排序', latest: '最新', popular: '热门', videoCount: '{count} 条影像', levelCount: '共 {count} 个关卡', levelNumber: '第 {count} 关', singleLevel: '独立关卡', publicGame: '公开剧游', noSearchResults: '没有找到相关故事', clearSearch: '清除搜索', finalEyebrow: '你的故事正在等待', finalTitle: '你会成为谁?', finalBody: '跨过门槛,说出你的第一句话。', begin: '开启旅程', footer: '© 2026 voko.world', earlyAccess: '抢先体验', footerSocial: '社区', footerLegal: '协议与联系', privacy: '隐私协议', terms: '服务协议', contact: '联系邮箱' }, landingIntro: { title: 'voko.world', apply: '申请体验', watchVideo: '观看视频', start: '开始游戏', continue: '继续游戏', viewJourney: '游玩历程', continueProgress: '第 {season} 季 {scenario}', storyLine: '故事线', viewMore: '查看更多' }, landingCarousel: { introEyebrow: '生成式互动短剧游戏', introSummary: '先观看短剧,再进入角色,用每一次选择改写故事走向。', dramaEyebrow: '精选短剧 {count}', controls: '首页轮播', goToSlide: '切换到第 {count} 张' }, landingCinema: { navHome: '首页', navDramas: '游戏', navPlayerStories: '短剧', navMy: '我的', featuredDramas: '游戏', playerStories: '短剧' }, searchPage: { placeholder: '搜索故事、短剧或作者', popular: '热门搜索', history: '搜索历史', clearHistory: '清空', resultTypes: '搜索结果类型', all: '全部', accounts: '作者', accountStats: '{titles} 部作品 · {plays} 热度' }, storyTree: { eyebrow: '季节线路', subtitle: '每一条线代表一季,每一个节点代表一关。', root: '剧本', branch: '分支', active: '进行中', completed: '已完成', locked: '未到达', empty: '还没有可展示的季节线路。', loadError: '季节线路加载失败。', navigation: '季节范围', range: '第 {first}–{last} 季 · 共 {total} 季', newer: '上一组', older: '下一组', startPlaying: '开始游玩', turnProgress: '当前第 {turn} 回合', continuePlaying: '继续游玩', playLog: '游玩记录', seasonEnding: '本季结局', currentSeason: '当前季', logLoadError: '游玩记录加载失败。', logEmpty: '这一季还没有游玩记录。', turnNumber: '第 {turn} 回合', playerSaid: '你说', playerDid: '你做了', storyOpening: '故事开场', turnVideos: '匹配视频', playActionVideo: '动作视频', playPlayerVideo: '玩家视频', playNpcVideo: 'NPC 视频', replayTurn: '回放', replayTurnTitle: '第 {turn} 回合完整回放', replayProgress: '第 {current}/{total} 段', actionSegment: '动作片段', playerSpeechSegment: '玩家发言', npcSpeechSegment: 'NPC 发言', pauseReplay: '暂停', continueReplay: '继续播放', restartReplay: '重新播放', exportReplay: '导出完整回放', replayQueued: '等待导出', replayExporting: '正在导出', playFullReplay: '播放完整回放', retryReplayExport: '重新导出', downloadReplay: '下载 MP4', downloadSegment: '下载此片段', downloadTurn: '下载本回合完整视频', turnExporting: '正在生成回合视频', turnExportError: '回合视频导出失败。', segmentExporting: '正在生成片段', segmentExportError: '片段导出失败。', fullReplayTitle: '{title} · 完整回放', replayExportError: '完整回放导出失败。', videoLoadError: '视频加载失败。', tools: '故事线搜索、筛选和排序', search: '搜索', searchPlaceholder: '搜索关卡、结局或最近行动', filter: '状态', filterAll: '全部', filterInProgress: '进行中', filterCompleted: '已完成', sort: '排序', sortRecent: '最近游玩', sortSeasonDesc: '季数从高到低', sortSeasonAsc: '季数从低到高', resultCount: '共 {count} 季', noResults: '没有符合条件的故事线。', canvasHint: '拖动画布或滚动查看右侧关卡', canvasLabel: '可横向平移的故事树画布', storySwitch: '剧本', }, storyTreeCurrentSeasonHint: '当前最新进度', storyTreeViewDetails: '查看第 {number} 季详情', storyTreeDelete: { action: '删除分支', confirm: '确定删除第 {number} 季及其派生的所有分支吗?删除后无法恢复。', deleting: '正在删除…', error: '分支删除失败。' }, storyTreeVideoUnavailable: '暂无影像', storyTreeFork: { action: '从这里重新游玩', confirm: '将从第 {turn} 回合创建新的故事分支,当前故事记录不会被修改。', failed: '新故事分支创建失败,请稍后重试。', creating: '正在创建…' }, runVideoGeneration: { title: '生成完整视频', description: '将本局内容生成完整视频。确认后扣除积分,生成失败会自动返还。', generate: '生成视频', regenerate: '重新生成', retry: '再次生成', queued: '等待生成', running: '生成中', price: '所需积分', balance: '当前余额', balanceAfter: '扣除后余额' }, landingShowcase: { title: '众生演绎', body: '观看不同玩家走出的命运,再进入剧本,写下属于你的结局。' }, landingMetrics: { playCount: '播放量', likeCount: '点赞量' }, landingCard: { level: '关卡', searchPlaceholder: '想看什么?搜故事、视频或玩家', scriptFilter: '剧本', scriptAll: '全部剧本', playerVideoCount: '{count} 个公开视频', publishedAt: '发布时间', publishedAll: '全部', publishedToday: '今天', publishedWeek: '近 7 天', publishedMonth: '近 30 天', expandSynopsis: '展开', collapseSynopsis: '收起' }, playerPage: { loadError: '玩家视频加载失败。', notFound: '未找到该玩家,或该玩家暂无公开视频。', searchPlaceholder: '搜索剧、关卡或季标题' }, season: { choose: '选择一季', chooseBody: '当前关卡将接续到你选择的季中。', number: '第 {number} 季', empty: '请先在某一季中完成上一关,再继续当前关卡。' }, status: { loading: '加载中', empty: '暂无数据', error: '加载失败', streaming: '推演中' }, storiesPage: { tags: '剧本标签', allTags: '全部', swipeForNextStory: '向上滑动查看更多' }, creator: { nav: '创作', queued: '排队中', attachmentTypeError: '仅支持上传一个 TXT、PDF、Word、PNG、JPG 或 WEBP 文件。', attachmentSizeError: '附件大小不能超过 10 MB。', attachmentReadError: '附件读取失败。', generationFailed: '生成失败', reviewRejected: '审核未通过', published: '已发布', archived: '已归档', composerTitle: '今天想创造一个怎样的世界?', submitIdea: '提交创意', examplesNote: '以下为站内真实已发布游戏,仅用于查看列表效果。', exampleStatus: '已发布示例', projectsEyebrow: 'Visual Game 创作中心', projectsTitle: '我的游戏', projectsBody: '管理你创建的游戏、查看生成进度与审核状态。', newGame: '创建新游戏', draftStatus: '草稿', continueEditing: '继续编辑', generatedScopes: '项生成内容', emptyTitle: '开始创作第一个游戏', emptyBody: '输入一个想法、剧本或世界观,创作系统会把它变成可以游玩的游戏。', eyebrow: 'Visual Game 创作中心', title: '把你的故事,变成一个可以进入的世界', subtitle: '提交创意、剧本或世界观设定。创作系统将完成游戏设计、素材生产、全路径校验,并自动进入平台审核。', stepIdea: '填写创意', stepGenerate: '生成游戏', stepReview: '平台审核', ideaTitle: '描述你想创作的游戏', ideaBody: '使用自然语言即可,不需要理解 Pack、JSON、状态机或规则 ID。', ideaLabel: '游戏创意或剧本', ideaHint: '建议包含世界、人物、矛盾,以及你希望玩家获得的体验。', ideaPlaceholder: '一名旅人在暴雨夜醒来,客栈里的每个人都记得一个不同版本的昨夜……', ideaError: '请至少输入 20 个字的创作内容。', languageLabel: '游戏语言', languages: { zh: '中文', en: '英语', ja: '日语', ko: '韩语' }, scopeTitle: '本次生成内容', scopeStory: '故事与关卡', scopeStoryBody: '人物、任务、状态和结局', scopeVisuals: '视觉素材', scopeVisualsBody: '角色、场景、道具和视频', scopeVoice: '角色音色', scopeVoiceBody: '玩家、NPC 与结局旁白', scopeError: '请至少选择一项生成内容。', assetsTitle: '上传参考素材', assetsBody: '可选。参考素材有助于保持人物和世界的一致性。', uploadAction: '添加参考文件', uploadHint: '单个附件 · TXT、PDF、Word 或图片 · 最大 10 MB', supportedTitle: '支持的素材类型', supportedBody: '人物、场景、道具与画风图片;剧本和世界观文档;视频或音频参考。', removeFile: '移除 {name}', saved: '草稿已保存在当前设备。', draftNote: '第一版先提供本地草稿保存,下一步接入正式生成任务。', save: '保存草稿' }, labels: { scenario: '关卡', asset: '素材', mode: '模式', phase: '阶段', location: '地点', noRun: '未开始', none: '无' }, }