ima2-gen 3.23.0 → 3.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/ui/dist/.vite/manifest.json +65 -65
- package/ui/dist/assets/{AgentWorkspace-2B4Lc8Oc.js → AgentWorkspace-Cwu1QPH0.js} +1 -1
- package/ui/dist/assets/{App-CQX6q4Rd.js → App-95oGSxfS.js} +7 -7
- package/ui/dist/assets/{AssetGenWorkspace-sFbrq7Bz.js → AssetGenWorkspace-rLeWFScA.js} +2 -2
- package/ui/dist/assets/{AssetMediaLightbox-BDFEI6UG.js → AssetMediaLightbox-Cz_PfuNu.js} +1 -1
- package/ui/dist/assets/{AssetsWorkspace-DisOjYkl.js → AssetsWorkspace-DlmoVIre.js} +1 -1
- package/ui/dist/assets/{CardNewsWorkspace-HQeC1f4m.js → CardNewsWorkspace-DAuk-9ne.js} +1 -1
- package/ui/dist/assets/{GenerationRequestLogPanel-BDebSKX-.js → GenerationRequestLogPanel-BK7AgFRb.js} +1 -1
- package/ui/dist/assets/{HomeWorkspace-DUokBISi.js → HomeWorkspace-BAXEjbN7.js} +1 -1
- package/ui/dist/assets/{KeyingPanel-BGreVrJl.js → KeyingPanel-C2Cm14py.js} +1 -1
- package/ui/dist/assets/{NodeCanvas-DOKe1hau.js → NodeCanvas-DCXfL372.js} +1 -1
- package/ui/dist/assets/{PromptBuilderPanel-DBzlIhSQ.js → PromptBuilderPanel-CpcLKnUL.js} +1 -1
- package/ui/dist/assets/{PromptImportDialog-CgQ_PVV0.js → PromptImportDialog-DIMMARMZ.js} +2 -2
- package/ui/dist/assets/{PromptImportDiscoverySection-DdvDIhz_.js → PromptImportDiscoverySection-De7oR8ez.js} +1 -1
- package/ui/dist/assets/{PromptImportFolderSection-DuEzqB0B.js → PromptImportFolderSection-C9dOzvEU.js} +1 -1
- package/ui/dist/assets/{PromptLibraryPanel-BO5l8XlV.js → PromptLibraryPanel-CiiXoxwg.js} +2 -2
- package/ui/dist/assets/{SettingsWorkspace-BEn8psmn.js → SettingsWorkspace-NMhaFxVr.js} +1 -1
- package/ui/dist/assets/{SpriteRecipeWorkspace-CBIQ9i9W.js → SpriteRecipeWorkspace-YK4iq4to.js} +1 -1
- package/ui/dist/assets/{index-DNhlaU3e.js → index-ClSrR2O-.js} +1 -1
- package/ui/dist/assets/{index-CGdgl-IW.js → index-DtbTxv6t.js} +3 -3
- package/ui/dist/assets/{index-BN4imsql.css → index-DxKY1kMR.css} +1 -1
- package/ui/dist/assets/{pptxgen.es-DWay3sLe.js → pptxgen.es-Cc4MbKyx.js} +1 -1
- package/ui/dist/assets/{promptBuilderStore-BbMMUs67.js → promptBuilderStore-KCG8DTkS.js} +1 -1
- package/ui/dist/assets/useAgentDialogFocus-CQMm0UHc.js +1 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/useAgentDialogFocus-DmsXJBy7.js +0 -1
|
@@ -19,4 +19,4 @@ Frame`,copyPrompt:"Copy prompt",continueHere:"Continue here",continueHereTitle:"
|
|
|
19
19
|
框架`,copyPrompt:"复制提示",continueHere:"在这里继续",continueHereTitle:"导入此图像的提示并继续工作",continueAsUrl:"URL 继续",continueAsUrlTitle:"继续使用原始提供商URL(1小时后过期)",animate:"动画",animating:"动画…",animateTitle:"从此图像生成 Grok 视频(图像到视频)",firstNode:"第一个 node",firstNodeTitle:"将此图像发送到 Node 模式作为首先准备好的 node",info:"信息",infoTitle:"显示生成详细信息和出处",delete:"删除",deleteTitle:"移至垃圾箱",more:"更多的",sendToComfyUI:"发送至 ComfyUI",sendToComfyUITitle:"将保存的图片上传到本地ComfyUI",permanentDelete:"永久删除",permanentDeleteConfirm:"永久删除“{filename}”?此操作无法撤消。",upscale:"高档",upscaleTitle:"通过 Runway (MCP) 进行升级",upscaleFlavor:"味道",upscaleFlavorAuto:"自动",upscaleStart:"开始高档",upscaleStarted:"高档开始",upscaleFailed:"高档失败",upscaleInvalid:"无效的高档参数",editVideo:"编辑视频",editVideoTitle:"用提示词修改此视频(grok-imagine-video)",editVideoPrompt:"想如何修改这段视频?例如:把衣服改成红色"},nS={switchTitle:"切换会话",loading:"加载中...",newSession:"新会话",newSessionTitle:"新会话",renameTitle:"重命名",renamePrompt:"会话名称",deleteTitle:"删除",deleteConfirm:"删除会话“{title}”?此操作无法撤消。",empty:"还没有会话",firstGraph:"我的第一张图",untitled:"无标题会话",assetAbortedError:"一代人并没有干净地结束。从此 node 重试。"},lS={ariaLabel:"UI 模式",classic:"经典的",node:"Node",cardNews:"卡新闻",agent:"代理人"},iS={workspace:"座席工作区",workspaceActionFailed:"操作失败:{reason}",bootFailed:"无法加载代理工作区",bootRetry:"重试",topbarBackToStudio:"返回工作室",topbarStudio:"工作室",topbarOpenQueue:"打开队列,{count} 活动作业",topbarCloseQueue:"关闭队列",topbarQueueSheet:"生成队列",title:"代理人",newSession:"新代理",sessions:"会话",openSessions:"显示会话",closeSessions:"隐藏会话",sessionsUseRail:"将会话固定为紧凑型导轨",sessionsUseExpanded:"固定扩展会话列表",sessionSearch:"搜索会话",renameSession:"重命名会话",deleteSession:"删除会话",deleteConfirm:"删除“{title}”?",imageCount:"{count} 图像",compacted:"压实",web:"网络",chat:"聊天",user:"用户",assistant:"代理人",tool:"工具",toolExpand:"显示工具详细信息",toolCollapse:"隐藏工具详细信息",toolImageCount:"{count} 张图片",toolCallCount:"{count} 调用",toolGroup:"工具运行",toolInput:"输入",toolOutput:"输出",toolsShowMore:"更多的",toolsShowLess:"较少的",toolArtifacts:"文物",requestId:"请求ID",duration:"时长",toolStatus:{queued:"排队",running:"跑步",complete:"完全的",error:"错误"},rightSidebar:"代理端工具",sidebarTabs:{image:"图像",library:"图书馆",forms:"表格",quality:"质量",model:"模型",queue:"队列"},modelSettings:"模型设置",closeModelSettings:"关闭模型设置",openModelSettings:"打开模型设置",modelTabView:"在“模型”选项卡中查看",model:"模型",provider:"提供者",reasoningEffort:"推理",generationStrategy:"发电计划",generationStrategyAuto:"根据用户要求",generationStrategyManual:"固定计数",quality:"质量",size:"尺寸",format:"格式",moderation:"内容审核",variantsCount:"变体",maxAutoVariants:"自动最大",parallelism:"并行性",promptLibrary:"提示库",forms:"表格",noForms:"没有表单模板",insertPrompt:"插入",queue:"队列",runningShort:"跑步",queuedShort:"等待",queueEmpty:"没有排队的代理工作。",cancelQueue:"取消",retryQueue:"重试",sessionRunning:"代运行",sessionQueued:"{count} 已排队",sessionError:"生成错误",queueStatus:{queued:"排队",running:"跑步",succeeded:"完毕",failed:"失败的",canceled:"取消"},statusReady:"可用",statusGenerating:"生成",statusReconnecting:"重新连接",pending:"正在生成响应...",pendingQueued:"排队等候...",pendingPlanning:"计划回应...",pendingGenerating:"运行工具并生成...",runError:"运行失败",errorRole:"错误",composerPlaceholder:"询问任何问题或描述要创建什么",slashCommands:"代理斜杠命令",slashDesc_question:"提出问题而不生成图像",slashDesc_variants:"生成 N 个图像变体 (1-24)",slashDesc_generate:"有界扇出生成 (1-24)",slashDesc_parallelism:"限制并发工具调用",slashDesc_help:"显示可用命令",attachReference:"附上参考资料",send:"发送",webSearch:"使用搜索",emptyChat:"输入消息以开始图像或视频工作。",emptyJumpLatest:"跳转至最新",queueSummary:"{active} 有效 · {failed} 失败",queuePlanSummary:"变体 {variants} · 并行 {parallel}",queueDetails:"技术细节",queueAnnouncement:"队列已更新:{running} 正在运行,{queued} 已排队,{failed} 失败",queueTimeAgo:"{value} {unit} 前",queueTimeUnit:{second:"秒",minute:"分钟",hour:"小时"},progressQueued:"排队等候",progressPlanning:"准备请求",progressGenerating:"生成",progressDownloading:"下载结果",progressFailed:"运行失败",progressJob:"{kind} · {count} 变体",mediaKind:{image:"图像",video:"视频"},mediaSelect:"分众媒体",mediaLoading:"加载视频",mediaLoadFailed:"视频无法加载。",mediaRetry:"重试",mediaVideoLabel:"生成的视频",mediaDuration:"持续时间 {duration}",mediaDurationUnknown:"持续时间不可用",mediaDownload:"下载",imagePane:"图像",currentImage:"当前图像",openImage:"打开图片",closeImage:"关闭图像",selectImage:"焦点图像",variants:"变体",contextTabs:"图像上下文",imageTab:"图像",refsTab:"参考文献",webTab:"网络",memoryTab:"记忆",noImage:"没有当前图像",noRefs:"没有参考文献",noWeb:"没有网络证据",memoryItemStyle:"样式锁保留在图像上下文中。",memoryItemSubject:"主题锁定在恢复后恢复。",imageAlt:"代理形象",filename:"文件",prompt:"提示词",stageEmptyHint:"在此处发送您的第一个查看图片的请求",toolLabel:{getImageContext:"读取图片上下文",webSearch:"网页搜索",generateImage:"生成图片",generateVideo:"生成视频",getGenerationErrors:"查询生成错误"},toolsPanel:"工具",openTools:"打开工具面板",closeTools:"关闭工具面板"},oS={workspace:"卡新闻工作区",composer:"卡新闻",composerHint:"模板是视觉快照;输出尺寸单独设置。",topic:"话题",topicPlaceholder:"例如考试复出计划",audience:"观众",audiencePlaceholder:"例如父母",goal:"目标",goalPlaceholder:"例如预约咨询",brief:"简短的",briefPlaceholder:"描述卡片新闻内容、所需要点和排除内容。",outputSize:"输出尺寸",customSize:"风俗",draft:"概要草案",drafting:"起草...",generateSet:"生成集",batchGenerate:"批量生成",generating:"生成...",generated:"生成 {count} 卡。",missingGeneratedCard:"生成响应不包括这张卡。",error:"卡生成失败。",imageTemplate:"图片模板",roleTemplate:"卡牌结构",newTemplateLater:"开发 MVP 后计划定制模板",emptyTitle:"等待草稿",emptyBody:"使用左侧设置面板准备卡片组。",inspector:"卡片检验员",cardTitle:"卡标题",headline:"标题",body:"身体",visualPrompt:"图片提示",summaryCopy:"摘要副本",designPrompt:"场景/设计提示",textFields:"文本框",addTextField:"添加文本框",removeTextField:"消除",noTextFields:"还没有文本框。",textFieldText:"文本",textKind:"种类",placement:"放置",renderMode:"渲染模式",hierarchyLabel:"等级制度",textTooLong:"文本超出建议长度。",selectTextField:"选择文本框:{text}",textKinds:{headline:"标题",body:"支持文字",caption:"标题",cta:"计算机辅助技术协会",badge:"徽章",number:"数字"},renderModes:{"in-image":"在图像中","ui-only":"仅 UI"},hierarchy:{primary:"基本的",secondary:"中学",supporting:"配套"},placements:{"top-left":"左上角","top-center":"顶部中心","top-right":"右上角","center-left":"中偏左",center:"中心","center-right":"中右","bottom-left":"左下角","bottom-center":"底部中心","bottom-right":"右下角",free:"免费"},roles:{cover:"覆盖",hook:"钩",problem:"问题",insight:"洞察力",example:"例子",data:"数据",summary:"概括",cta:"计算机辅助技术协会"},locked:"锁定",unlocked:"解锁",noCard:"未选择卡",generatedMeta:"生成的元数据",lockedHelp:"锁定的卡不参与批量生成和重试。",retryCard:"重试此卡",actions:{copyPrompt:"复制提示",copyCopy:"复制复制",openImage:"打开图片",downloadCard:"下载"},status:{draft:"草稿",queued:"排队",generating:"生成",generated:"完毕",error:"错误",skipped:"跳过",locked:"锁定"},progress:{generating:"生成 {done}/{total}",summary:"完成 {done}/{total}",detail:"{queued} 已排队 · {errors} 错误 · {skipped} 已跳过",cardGenerating:"生成这张卡。"},planner:{structured:"结构化 JSON",jsonMode:"JSON 模式",repaired:"已修复",fallback:"后备草案",jsonOnlyHelp:"草稿仅创建 JSON。图像稍后生成。",error:"草稿失败"}},rS={selectedCameraPresets:"选定的摄像机运动预设",plannerModelTitle:"规划模型",reasoningEffortTitle:"推理努力",modeLabel:"视频模式",mode:{"text-to-video":"文字→视频(无参考图片)","image-to-video":"图片 → 视频(1 个参考)","reference-to-video":"参考 → 视频({n} 参考)"},seriesTopicTitle:"系列专题",seriesTopicPlaceholder:"例如韩国旅游视频博客",durationTitle:"长度",resolutionTitle:"分辨率",resolution1080Help:"1080p 使用 Grok V1.5 进行仅提示或单图像/帧视频。它不适用于 2 个以上的参考文献。",aspectTitle:"纵横比",plannerUpdateFailed:"无法更新规划器模型。之前的设置已恢复。",durationClampedToModel:"该模型的参考生成视频最长为 {seconds} 秒",continuationFallbackT2V:"无法提取连续帧。生成将继续以文本到视频的形式进行。",singleRefTitle:"单张参考的用法",singleRefHelp:"选择将该图片作为首帧,还是仅作参考。两张及以上始终作为参考。",singleRef:{source:"以此图开场",reference:"仅作参考"},voiceSection:"语音",voiceLimit:"最多 {max} 个。在提示词中以 <AUDIO_0> 指代",voiceNeeds15:"仅 grok-imagine-video-1.5 支持语音",voiceCustomPlaceholder:"自定义语音 ID (/v1/custom-voices)"},uS={appName:"图像生成器",imageModelLabel:"模型",imageSectionLabel:"图像",gptImageSubLabel:"GPT-IMAGE-2",grokImageSubLabel:"Grok Imagine",geminiImageSubLabel:"Gemini",videoSectionLabel:"视频",imageModelAria:"选择图像模型",quickSettingsAria:"选择模型和推理工作。当前模型{model},推理{effort}",quickSettingsModelOnlyAria:"选择图像模型。当前型号 {model}",quickSettingsMenu:"模型和推理快速设置",reasoningLabel:"推理",videoModelLabel:"视频",nodeModeHint:"在 node 模式下,单击 node 编辑其提示并生成。右侧面板上的设置(质量/尺寸)适用于每个新结果。"},sS={openAria:"打开设置",openTitle:"设置",closeAria:"关闭设置",closeTitle:"返回画布",navAria:"设置部分",contentAria:"设置内容",jumpTo:"跳转到 {section}",title:"设置",sections:{providers:{title:"供应商",hint:"账户、密钥、模型"},workspace:{title:"工作空间",hint:"简介、布局、画廊"},general:{title:"一般的",hint:"语言"}},promptBuilder:{title:"提示构建器后端",body:"选择用于优化提示词的文本后端。自动模式会依次尝试 OAuth、Grok、OpenAI API 和 Grok API;每次成功回复都会显示实际使用的后端。",backendLabel:"构建器后端",modelLabel:"构建器模型",modelBody:"仅显示所选后端支持的模型。",envLocked:"由环境变量管理。"},account:{naiTitle:"NovelAI",naiEyebrow:"令牌",naiBody:"使用持久令牌,下方显示 V5 Opus 电量和 Anlas 余额。",primaryEyebrow:"活跃的提供商",oauthTitle:"GPT OAuth",oauthBody:"GPT OAuth 生成贯穿您的 Codex OAuth 会话。配置有效密钥后,您可以切换到 API-密钥模式。",apiSourceEnv:"检测到 OPENAI_API_KEY",apiSourceConfig:"检测到 config.json API 密钥",apiTitle:"OpenAI API 密钥",apiBody:"ima2-gen 可以使用此 API 密钥通过响应 API 进行生成、编辑、多模式和 node 请求。",apiDisabled:"不可用",apiReady:"可用",apiUnavailable:"不可用",apiUnknown:"状态未知",grokEyebrow:"xAI OAuth",grokTitle:"Grok",grokBody:"使用 xAI OAuth 会话直接调用 xAI Images API 生成图像。",agyEyebrow:"Antigravity CLI",agyTitle:"Gemini (agy)",agyInstalledBody:"无法检测登录状态。如果生成失败,请在终端中运行 `agy login` 。",agyMissingBody:"未安装。获取",agyMissingLink:"Antigravity CLI",agyFineprint:"Antigravity 模型和图像配额单独计费。",agyInstalled:"已安装",agyMissing:"未安装",status:{ready:"可用",authRequired:"需要登录",starting:"开始",offline:"离线",noImageModel:"无图像模型",error:"错误",checking:"检查"}},quota:{naiBattery:"V5 电量",naiAnlas:"Anlas",naiNegative:"充电中(负值)",naiNextPercent:"{minutes} 分钟后 +1%",naiMeterMissing:"无法获取 V5 电量。",naiAnlasFallback:"V5 电量已耗尽,可使用 Anlas 继续生成。",naiNotConfigured:"NovelAI 令牌未配置或无效。",codexNotLoggedIn:"未登录",fetchError:"无法加载配额",noData:"无使用数据",grokUsageLink:"查看 Grok 用法 →",switchAccount:"切换 {provider} 帐户",startingLogin:"开始登录...",enterCode:"在打开的选项卡中输入此代码:",completeInBrowser:"请在打开的 ChatGPT 页面完成登录,此卡片会自动更新。",useDeviceCode:"改用设备代码登录",retry:"重试",copyLink:"复制链接",copied:"已复制",waitingApproval:"等待批准...",switchComplete:"帐号已切换。清爽…",switchFailed:"账户切换失败",tryAgain:"再试一次"},imageModel:{title:"图像模型",body:"选择供后代使用的图像模型。选择其他提供商(Grok、OpenAI API、Gemini 等)的模型会切换到该提供商。",gpt54Mini:"GPT-5.4 迷你",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt6Luna:"GPT-6 Luna",gpt6Sol:"GPT-6 Sol",gpt6Astra:"GPT-6 Astra",gpt56Sol:"GPT-5.6 索尔",gpt56Terra:"GPT-5.6 泰拉",gpt56Luna:"GPT-5.6 卢娜",grokImagine20:"Grok Imagine 图像 2.0",grokImagine:"Grok Imagine",grokImagineQuality:"Grok Imagine 质量",nanoBanana2:"纳米香蕉2",nanoBanana2Api:"纳米香蕉2",nanoBananaPro:"纳米香蕉专业版",atlasCloudGptImage2:"阿特拉斯云 GPT Image 2",atlasCloudGptImage2Edit:"阿特拉斯云 GPT Image 2 编辑",minimaxImage01:"MiniMax image-01",minimaxImage01Live:"MiniMax image-01-live",agy:"Antigravity (agy)",gpt53CodexSpark:"GPT-5.3 Codex Spark — 不支持图像",unsupportedHelp:"Grok 模型使用 xAI OAuth 会话调用 xAI 的图像 API。 GPT 模型使用 OpenAI 响应图像生成。",naiDiffusion5Full:"NAI Diffusion V5 Full",naiDiffusion5Curated:"NAI Diffusion V5 Curated",naiDiffusion45Full:"NAI Diffusion V4.5 Full",naiDiffusion45Curated:"NAI Diffusion V4.5 Curated"},apiKeys:{accordionTitle:"API 密钥",envSource:"从环境加载",configSource:"从配置加载",openai:{label:"GPT API 密钥 (OpenAI)",placeholder:"粘贴您的 OpenAI API 密钥(sk-...)"},xai:{label:"Grok API 密钥 (xAI)",placeholder:"粘贴您的 xAI API 密钥 (xai-...)"},gemini:{label:"Gemini (Google)",placeholder:"粘贴您的 Gemini API 密钥(AI...)"},atlascloud:{label:"阿特拉斯云",placeholder:"粘贴您的 Atlas Cloud API 密钥(apikey-...)"},minimax:{label:"MiniMax",placeholder:"粘贴您的 MiniMax API 密钥"},vertex:{label:"Vertex AI(服务帐户)",placeholder:'粘贴您的 Google 云服务帐户 JSON { "type": "service_account",... }',authModeApiKey:"API 密钥",authModeVertex:"顶点 JSON"},save:"节省",saved:"已保存",saving:"正在验证...",remove:"移除",saveFailed:"无法保存密钥",networkError:"网络错误。再试一次。",removeFailed:"无法移除钥匙",configuredReplace:"已配置 — 单击以替换",status:{valid:"有效的",notConfigured:"未配置"},nai:{label:"NovelAI",placeholder:"粘贴您的 NovelAI 永久 API 令牌"}},videoModel:{grokImagine:"Grok Imagine 视频",grokImagine15:"Grok Imagine 视频 1.5"},reasoning:{title:"推理努力",body:"更高的努力会在生成之前花费更多的推理令牌来规划、网络搜索和提示丰富。",none:"关——没有额外的推理",low:"低——最快、最少的推理",medium:"中 — 平衡默认值",high:"高——更深入的研究和综合",xhigh:"Xhigh — 扩展推理,速度较慢",max:"Max——最大推理,最慢"},webSearch:{title:"网页搜索",body:"在生成之前使用实时搜索来查找真实的人物、品牌、产品、地点和最近的事件。",on:"搜索于",off:"关闭搜索"},grokCompatibility:{title:"Grok 兼容性",body:"Grok 图像生成首先运行强制网络搜索,然后将文本和附加图像发送到本地图像工具规划器,该规划器用英语编写最终图像提示。附上通过 xAI 图像编辑的参考路线;大小映射到宽高比/分辨率。输出格式、审核和推理仅由 GPT OAuth 和 API 密钥提供程序使用。"},grokPlanner:{title:"Grok 规划器模型",body:"该模型用于搜索和图像/视频提示规划。 Grok 4.5为默认,支持I2V/Ref2V规划的图像输入; Grok 4.3 仍然可用作兼容性覆盖。"},gallery:{defaultScopeTitle:"默认图库视图",defaultScopeBody:"选择打开图库时显示的内容。"},appearance:{historyStripLayoutTitle:"历史缩略图",historyStripLayoutBody:"选择紧凑的历史记录条位于工作区旁边的方式。",historyStripLayout:{rail:"轨",horizontal:"顶排",sidebar:"侧边栏"}},language:{title:"语言",body:"切换界面语言,不会更改生成内容。"},theme:{title:"主题",body:"浅色、深色,或跟随系统外观。",label:"主题",light:"浅色",dark:"深色",system:"系统"}},cS={loading:"正在加载会话...",addFirst:"+ 添加第一个 node",addRootTitle:"添加根 node",hint:"将手柄拖动到空白区域以进行分支。按删除或退格键删除。"},dS={title:"{provider} 不可用",ariaLabel:"{provider} 不可用"},mS={label:"语言",ko:"한국어",en:"English","zh-Hant":"正體中文","zh-Hans":"简体中文"},fS={close:"关闭",details:"显示原始错误详细信息",unknown:{title:"发生意外错误",body:"请稍后重试。如果问题仍然存在,请复制下面的原始错误消息并报告。"},moderationRefused:{title:"提示被审核阻止",body:"软化措辞或改写。参考图像中的敏感/暴力内容也可能触发此问题。",cta:"编辑提示",bodyInput:"您的提示文本已被输入过滤器捕获。尝试改写或使用不同的措辞。",bodyOutput:"生成的图像被输出滤波器捕获。尝试更改样式或质量设置。"},emptyResponse:{title:"没有返回图像",body:"Codex 响应但不包含图像数据。这不是一个调节块 - 它可能是一个短暂的问题或不受支持的尺寸/质量/型号组合。重试,或尝试不同的尺寸或型号。",cta:"重试"},streamParseFailed:{title:"无法解析图像响应流",body:"响应数据到达,但应用程序无法干净地读取图像流。代理或瞬态流传输问题可能会发生这种情况。",cta:"重试"},imageToolNotCalled:{title:"未调用图像工具",body:"响应已完成,但未观察到图像生成工具调用。重试相同的提示,或尝试其他模型/搜索设置。",cta:"重试"},webSearchOnlyResponse:{title:"未调用图像工具",body:"仅运行网络搜索;图像生成工具没有。关闭搜索或重试请求。",cta:"重试"},imageToolFailed:{title:"图像工具调用失败",body:"调用了图像生成工具,但最终以失败状态结束。如果重复出现此情况,请使用 `ima2 doctor image-probe --json` 输出报告它。",cta:"重试"},imageToolNoResult:{title:"图像结果为空",body:"图像工具调用已完成,但不包含图像数据。这可能表明选项组合不受支持或帐户功能问题。",cta:"重试"},providerEmptyImage:{title:"返回的图片是空的",body:"生成服务返回了没有内容的图片。这通常是临时问题,重试一般即可解决。",cta:"重试"},oauthImageCapabilityUnavailable:{title:"该帐户可能没有图像工具访问权限",body:"GPT OAuth 已连接,但此帐户/模型组合可能无权使用图像生成。与 API-key 模式或其他模式进行比较。",cta:"确定"},responsesStreamError:{title:"图像响应流以错误结束",body:"OpenAI 在响应流中返回了错误事件。请稍后重试,如果问题仍然存在,请检查原始错误详细信息。",cta:"重试"},upstream5xx:{title:"OpenAI 当前正忙",body:"重试通常可以解决此问题。检查 status.openai.com 如果它仍然存在。",cta:"重试"},authChatgptExpired:{title:"Codex ChatGPT 会话已过期",body:"在终端中运行 `ima2 setup`(选项 1),然后重新加载此应用程序。",cta:"重新加载"},authApiKeyInvalid:{title:"API 密钥身份验证失败",body:"密钥丢失、无效、已撤销、超出配额或绑定到错误的组织。切换到 GPT OAuth 或更新配置的 API 密钥。",cta:"确定"},networkFailed:{title:"网络连接失败",body:"无法访问 OpenAI 或本地运行时服务。先重新加载;如果问题仍然存在,请检查 VPN/防火墙以及 `ima2 doctor` 显示的端口。",cta:"重新加载"},oauthUnavailable:{title:"GPT OAuth 不可用",body:"GPT OAuth 正在启动或无法连接到端点。先重新加载;如果仍然存在,请运行 `ima2 gpt status` 和 `ima2 doctor`。",cta:"重新加载"},invalidRequest:{title:"图片请求需要更改",body:"一个或多个生成参数无效。检查下面的原始错误详细信息,然后编辑提示或大小并重试。",cta:"编辑输入"},apikeyDisabled:{title:"API-按键模式不可用",body:"此版本支持 API-密钥生成,但当前请求无法使用配置的密钥。切换到 GPT OAuth 或更新 API 密钥。",cta:"确定"},agyGenerationFailed:{title:"Gemini 生成失败",body:"Antigravity CLI 返回错误。检查 agy 二进制文件是否已安装并且您的 Gemini 帐户是否处于活动状态。",cta:"重试"},agyTimeout:{title:"Gemini 生成超时",body:"agy 进程在超时窗口(360 秒)内没有响应。重试或检查 agy CLI 状态。",cta:"重试"},agyProcessError:{title:"Gemini 进程错误",body:"agy CLI 因意外错误而退出。验证二进制文件是否可以与“agy --version”一起使用。",cta:"重试"},agyQuotaExhausted:{title:"Gemini 配额已用完",body:"您已用尽 Gemini 图像生成能力。您的配额将自动重置 - 检查错误详细信息中的重置计时器。",cta:"确定"},authClass:{title:"需要重新登录",body:"服务商认证已过期或密钥被拒绝。请在设置中重新登录。",cta:"重新登录"},billingRequired:{title:"需要充值",body:"该服务商账户余额不足。请前往服务商控制台确认后重试。"},grokApiKeyMissing:{title:"需要 Grok API 密钥",body:"请在设置 > 提供商中添加 xAI API 密钥,然后重试。此图像请求不会回退到 Grok OAuth 通道。",cta:"打开提供商设置"},naiApiKeyMissing:{title:"未设置 NovelAI 令牌",body:"请在设置中粘贴 NovelAI 永久 API 令牌(以 pst- 开头)。此通道不使用登录会话。",cta:"打开设置"},naiAuthFailed:{title:"NovelAI 拒绝了该令牌",body:"已保存的令牌无效或已被吊销。请在 NovelAI 账户设置中重新签发永久令牌并再次保存。",cta:"打开设置"},naiSubscriptionRequired:{title:"需要 NovelAI 订阅",body:"图像生成需要有效订阅(Opus、Scroll 或 Tablet)。令牌有效,但当前套餐不包含此请求。",cta:"关闭"},naiUsageExhausted:{title:"NovelAI V5 电量耗尽",body:"Opus V5 使用额度已耗尽,且没有剩余 Anlas。请切换到 V4.5 模型,或等待电量恢复。",cta:"关闭"},naiZipInvalid:{title:"无法读取 NovelAI 图像压缩包",body:"返回的压缩包无法解码。通常是暂时性问题,请重试。",cta:"重试"},naiResponseNotZip:{title:"NovelAI 返回了意外格式",body:"返回的不是图像压缩包。请重试;若持续失败,可能是 NovelAI 服务故障。",cta:"重试"},naiImageInvalid:{title:"未返回可用图像",body:"请求成功但不含有效 PNG。请重试,或调整模型与尺寸。",cta:"重试"},naiUpstreamError:{title:"NovelAI 请求失败",body:"未能完成生成。请稍后重试;反复失败通常意味着上游故障。",cta:"重试"}},pS={title:"提示库",saveTitle:"保存到提示库",save:"节省",saved:"提示已保存",saveFailed:"保存失败",name:"姓名",tags:"标签",search:"搜索提示...",favorites:"收藏夹",load:"加载",insert:"插入",inserted:"提示已插入",removeInserted:"删除插入的提示 {name}",favorite:"最喜欢的",unfavorite:"不喜欢",empty:"尚未保存提示。",content:"内容",copy:"复制",untitled:"无题",addNew:"添加新提示",import:"进口",importFiles:"导入.txt、.md、.markdown 或 GitHub 文件",dropImport:"拖放.txt、.md 或.markdown 文件以导入提示",importTitle:"导入提示",importDropTitle:"将文件拖到此处",importDropHint:"保存前预览.txt、.md 和.markdown 文件",importChooseFiles:"选择文件",importGithubLabel:"GitHub 文件 URL 或路径",importPreview:"预览",importPreviewEmpty:"拖放文件或输入 GitHub 路径来预览候选。",importCommit:"保存选定的内容",importSelected:"导入选定的 ({count})",importThisPrompt:"导入此提示",previewPrompt:"预览",selectPrompt:"选择",selectedPrompt:"已选择",selectedCount:"已选择 {count}",selectAllCandidates:"选择全部",clearCandidateSelection:"清除",addAnotherSource:"添加另一个来源",searchResultsHeader:"搜索结果 ({count})",searchResults:"搜索结果",promptText:"提示文字",importSelectAtLeastOne:"至少选择一个提示进行保存。",imported:"导入的 {count} 提示",importFailed:"导入失败",importNoValidFiles:"未找到.txt、.md 或.markdown 提示文件。",curatedSources:"精选来源",curatedSourcesHint:"搜索已索引的公共提示源",curatedSearch:"搜索",curatedSearchPlaceholder:"纳米香蕉,gpt-image-2,排版......",refreshSource:"刷新",curatedRefreshed:"已索引的 {count} 提示候选者",sourceTrustTier:"来源信任",requiresAttribution:"需要归属",sourceDetails:"来源",license:"执照",attributionRequired:"需要归属",modelHints:"型号提示",taskHints:"任务提示",warnings:"警告",compatibilityWarnings:"兼容性警告",transparentUnsupportedGptImage2:"gpt-image-2 不支持透明背景",noCuratedResults:"未找到精选的提示候选人。",discovery:"发现",discoverySearch:"搜索 GitHub",discoverySearchPlaceholder:"搜索提示存储库...",discoveryCandidates:"发现候选人",discoveryApprove:"批准",discoveryReject:"拒绝",discoveryApproved:"得到正式认可的",discoveryRejected:"被拒绝",discoveryScore:"分数",discoveryWarnings:"发现警告",discoveryRateLimited:"GitHub 发现是有速率限制的。",discoveryNoResults:"未找到发现候选者。",discoveryReviewQueue:"审核队列",discoveryRequiresPaths:"在默认搜索之前添加已审阅的文件路径。",folderBrowse:"浏览文件夹",folderBrowseHint:"从 GitHub 文件夹加载支持的文件",folderFiles:"文件夹文件",folderFilesEmpty:"找不到可导入的.md、.markdown 或.txt 文件。",folderPreviewSelected:"预览选定的文件",folderSelectedCount:"已选择 {count}",folderWarnings:"文件夹警告",folderTooManyFiles:"文件太多;显示有限集。",folderNoSelection:"选择要预览的文件。",folderUnsupported:"仅支持 GitHub 文件夹。"},gS={title:"提示生成器",subtitle:"通过多轮上下文细化提示。",scopeDraft:"新作品",scopeImage:"所选图像:{name}",scopeImageFallback:"当前图像",newWorkTitle:"在没有图像上下文的情况下开始新的工作",model:"建造者模型",modelAuto:"使用后端默认模型",viaBackend:"经由 {backend}",backends:{auto:"自动",oauth:"GPT OAuth",api:"OpenAI API",grok:"Grok",grokApi:"Grok API"},empty:"描述一下你想要的方向。我将包括您当前的提示和设置作为上下文。",user:"你",assistant:"建设者",placeholder:"我们应该树立什么样的形象?",send:"发送",sending:"写作",thinking:"完善提示...",clear:"清除",applyToPrompt:"适用于提示",insertAsBlock:"插入块",finalKoreanPrompt:"韩语提示",finalEnglishPrompt:"英文提示",blockName:"建造商建议",applied:"构建器建议应用于主提示",inserted:"作为提示块插入的构建器建议",failed:"提示构建器请求失败",configLoading:"正在加载构建器设置...",configUnreadable:"无法保存:~/.ima2/config.json 无法读取。请修复或移动该文件后重试。",removeScopeImage:"从构建器上下文中删除选定的图像",removeAttachment:"删除附件 {name}",attach:"附加文件",attachmentOnlyMessage:"使用附加文件作为上下文并根据提示提供帮助"},hS={sectionTitle:"工作空间",sectionBody:"选择工作区布局配置文件。",profileLabel:"工作区配置文件",defaultLabel:"默认",defaultDesc:"带有侧边栏编辑器的标准生成工作流程。",promptStudioLabel:"提示工作室",promptStudioDesc:"提示构建器面板、分组历史记录和增强的查看器。"},yS={controls:"图像缩放控件",zoomIn:"放大",zoomOut:"缩小",reset:"重置变焦"},vS={title:"日志",empty:"还没有生成日志",copied:"提示已复制",copy:"点击复制提示",loadFailed:"无法加载生成日志。",retry:"重试",detailOpen:"点击查看详情",detailTitle:"生成请求",detailTime:"时间",detailRequestId:"请求 ID",detailCounts:"成功 / 请求",detailError:"错误代码",detailPrompt:"提示词",detailPromptEmpty:"(无提示词)",detailErrorMessage:"失败原因"},bS={writeFailed:"无法写入剪贴板。"},AS={graphSaveFailed:"无法保存 node 图表。",sessionSwitchSaveFailed:"由于无法保存当前图形,会话切换已停止。",sessionInitialLoadFailed:"无法加载会话。",sessionInitialLoadRetry:"无法加载会话。现在重试?",attachmentReadFailed:"无法读取一个或多个附件。"},SS={ariaLabel:"主导航",home:"家",create:"创造",node:"Node 图",agent:"代理人",assets:"资产",assetGen:"资产生成",settings:"设置",collapseSidebar:"收起侧边栏",expandSidebar:"展开侧边栏",desktopSettings:"应用设置"},TS={title:"资产生成",lede:"创建图像或短片,然后一键移除背景。",prompt:"提示词",promptPlaceholder:"一个红苹果,工作室产品拍摄",background:"背景",backgroundHint:"绿色背景最适合去背;不确定时就选绿色。",bgChroma:"色度绿幕",bgWhite:"白色",bgBlack:"黑色",bgTransparent:"透明",bgTransparentGptOnly:"透明背景仅支持 GPT 通道;Grok 没有 Alpha 参数。",backgroundHintTransparent:"GPT Image 2 直接生成真正的 Alpha 通道,无需再做去背。保存为 PNG。",model:"模型",modelGpt:"GPT",modelGrok:"Grok",kind:"输出",kindImage:"图像",kindVideo:"视频",videoSoon:"视频功能稍后推出",videoGrokOnly:"视频生成需要使用 Grok,请切换模型。",videoOptions:"视频选项",videoDuration:"视频时长",videoResolution:"视频分辨率",videoAspect:"纵横比",generate:"生成资产",generating:"生成…",emptyTitle:"还没有资产",emptyBody:"在左侧写下提示,然后按“生成资产”。结果显示在此处并自动保存到您的项目中。",emptySessionTitle:"本次会话尚未生成内容",emptySessionBody:"之前的结果已保存在项目中。生成新内容,或浏览已有资产。",emptySessionCta:"浏览项目资产",generateHint:"先输入提示词,按钮会自动启用。",previewImage:"打开图像预览:{prompt}",previewVideo:"打开视频预览:{prompt}",previewDialogTitle:"预览:{prompt}",closePreview:"关闭预览",zoomIn:"放大",zoomOut:"适合屏幕大小",openHintImage:"放大",openHintVideo:"播放",imageFallback:"生成的图像",videoFallback:"生成的视频",emptyCta:"写下你的第一个提示",errorTitle:"生成提示",errorHint:"请检查模型和 API 密钥设置后重试。",errorDismiss:"关闭",savedHint:"结果会自动保存到您的项目中。",savedLink:"在资产中查看",railTitle:"项目资产",railEmpty:"该项目中尚未保存资产。",railError:"无法加载项目资产。",sequence:"帧序列",candidates:"候选帧",frameAria:"第 {n} 帧,{rail}",addFrame:"添加",removeFrame:"移除",deleteFrame:"删除第 {n} 帧"},CS={select:"项目",unassigned:"未分配",new:"新项目…",newPrompt:"项目名称",search:"寻找项目...",searchPlaceholder:"搜索项目",searchEmpty:"没有匹配的项目",close:"关闭",saveRetry:"重试保存"},ES={title:"角色表",open:"打开角色表",close:"关闭角色表",state:"动画状态",unsaved:"未保存的更改",discardConfirm:"放弃未保存的精灵更改吗?",loadError:"无法加载此精灵运行。",saveError:"无法保存策展。",bakeError:"无法制作角色图集。",exportError:"无法导出精灵动画。",previous:"上一帧",play:"播放",pause:"暂停",next:"下一帧",speed:"速度",grid:"网格",transform:"帧变换",rotate:"旋转",scale:"缩放",dx:"移动 X",dy:"移动 Y",shx:"剪切X",shy:"剪切Y",flipX:"水平翻转",sequence:"帧序列——播放和制作顺序",candidates:"候选帧库",frameAria:"第 {n} 帧,{rail}",addFrame:"添加",removeFrame:"移除",deleteFrame:"删除第 {n} 帧",save:"保存角色表",bake:"制作角色图集",contactSheet:"缩略图总览",gif:"导出 GIF",status:{loading:"加载中…",ready:"已保存",saving:"保存中…",baking:"制作中…",exporting:"导出中…",error:"操作失败"}},RS={title:"删除背景",open:"删除背景",original:"原图",originalAlt:"去除背景前的原图",removed:"背景已移除",previewLoading:"准备删除背景预览...",resultBadge:"背景已移除",keyColor:"去背色",pickHint:"单击预览重新选择主色",clickMode:"预览点击功能",modeErase:"单击以擦除",modePick:"选择去背色",eraseHint:"单击空白区域以仅删除该连接区域",undoClick:"撤消单击 ({count})",previewAlt:"棋盘上的抠像预览",tolerance:"去背强度",softness:"边缘柔化",spill:"清理色溢",unmix:"边缘去混色",unmixHint:"恢复半透明边缘(仅限色度键)",reset:"重置",download:"下载透明 PNG",save:"保存到项目",saving:"保存中…",videoSave:"创建 alpha WebM",videoKeying:"键控视频... {seconds}s",videoSaved:"Alpha WebM 保存到项目",saved:"Alpha PNG 保存到项目中",saveError:"无法保存抠像图像",loadError:"无法加载此图像进行抠像。关闭并重试。",advanced:"微调去背(高级)"},NS={title:"转换为 SVG",open:"矢量化",hint:"最适合抠图、图标和色块边界清晰的图形。照片和小字会糊掉。",original:"原图",originalAlt:"转换前的原始图像",result:"矢量结果",resultAlt:"转换后的 SVG 结果",idle:"尚未转换",running:"转换中…",run:"转换为 SVG",preset:"转换方式",preset_auto:"自动",preset_flat:"平涂色块",preset_detailed:"精细",preset_mono:"黑白剪影",advanced:"细节调整(高级)",colorPrecision:"颜色精度",filterSpeckle:"杂点过滤",cornerThreshold:"转角角度",reset:"默认值",download:"下载 SVG",saved:"已将 SVG 保存到项目",saveError:"转换失败",stats:"{paths} 条路径 · {size}"},kS={ariaLabel:"快速行动",animate:"动画",edit:"在画布中编辑",useAsRef:"用作参考",rebake:"再生",refAdded:"添加为参考图像",refFailed:"无法添加参考",saveToAssets:"保存到资产",savedToAssets:"保存到资产",saveToAssetsFailed:"无法保存到资产"},GS={title:"资产",clearAll:"全部清除",clearConfirm:"删除所有已保存的资源?此操作无法撤消。",testSheetsUnavailable:"元素测试表尚不可用。",detailAria:"{name} 详细信息",searchPlaceholder:"搜索资产...",allAssets:"所有资产",elementLibrary:"元素库",removeFromElements:"从元素库中删除",emptyElementsTitle:"还没有元素",emptyElementsBody:"元素是可重复使用的@可提及的参考(人物、产品、风格、场景)。将图库图像保存到资产并推广它,然后在任何地方使用 @ 提及它。",newFolder:"新建文件夹",kindAll:"所有类型",kindImage:"图片",kindVideo:"视频",kindElement:"元素",kindPreset:"预设",kindTemplate:"模板",emptyTitle:"还没有资产",emptyBody:"尚未保存任何内容。在资产生成选项卡中生成您的第一张图像 - 结果会自动保存在此处。",emptySearchTitle:"没有匹配项",emptySearchBody:"尝试不同的搜索、标签或类型过滤器。",emptyFolderTitle:"该文件夹是空的",emptyFolderBody:"将资源移至此处或将新结果保存到此文件夹中。",deleteAsset:"从资产中删除",confirmDelete:"删除?",loadMore:"加载更多",rootFolder:"顶级",renameFolder:"重命名文件夹",renameAsset:"重命名资产",starAsset:"明星资产",unstarAsset:"删除资产星级",deleteFolder:"删除文件夹",actionFailed:"操作失败",starSaved:"添加到资产",starSaveFailed:"已加星标,但无法添加到资产",itemCount:"{count} 项目",emptyCta:"开放资产生成",loadErrorTitle:"无法加载资源",loadErrorBody:"加载您的库时出现问题。",retry:"再试一次",detailClose:"关闭资产详细信息",detailKind:"类型",detailCreated:"创建时间",detailProvider:"模型",detailPrompt:"提示词",detailTags:"标签",bindingsTitle:"提供者绑定",bindingsHelp:"该角色如何连接到外部提供商。",bindingStateless:"每代的引用数",bindingTagPlaceholder:"runway @tag (可选)",bindingSave:"保存绑定",bindingSaving:"保存…",bindingTagInvalid:"标签必须是 1-32 个字母、数字、下划线或连字符。",bindingCapWarning:"该角色有 {count} 引用 — Runway 每代最多接受 3 个。",bindingTrain:"火车灵魂ID",bindingTrainLockedHint:"需要付费 Higgsfield 计划。",bindingPaidPlan:"需要付费计划",bindingDriftWarning:"参考与训练时快照不同——考虑重新训练。"},OS={name:"Node 工作室",toolbar:{addImage:"添加图片",templates:"模板",saveTemplate:"保存模板",branch:"分支"},empty:{title:"构建图像工作流程",description:"从提示开始,重复使用经过验证的图表,或继续您的最新工作。",blankTitle:"从空白画布开始",blankDescription:"添加一个提示 node 并自行塑造工作流程。",blankAction:"开始空白",templateTitle:"从模板开始",templateDescription:"复制现成的图表以用于常见的生成工作流程。",templateAction:"浏览模板",recentTitle:"恢复最近的图表",recentDescription:"继续最近保存的有效图表。",recentUnavailable:"目前尚无最新图表。",recentAction:"恢复最近的",resumeError:"无法打开最近的图表。再试一次。"},elements:{ariaLabel:"元素节点",title:"元素",hint:"拖动或添加",loading:"正在加载元素...",loadError:"无法加载元素。再试一次。",empty:"尚未保存元素。",addToCanvas:"添加到画布"},elementNode:{untitled:"无标题元素",referencesOutput:"元素引用输出",notesOutput:"元素注释输出",kind:"元素",referenceCountOne:"{count} 参考",referenceCount:"{count} 参考文献",missing:"该元素已被删除。运行前重新连接。"},elementController:{onlyElements:"只能将元素资源添加到画布中。",invalid:"元素 node 无效。",addError:"无法将元素添加到画布。"},branch:{defaultVariant:"变体 {index}",eyebrow:"分行工作流程",title:"创建变体",close:"关闭分支对话框",variantLegend:"变体 {index}",label:"标签",provider:"提供者",modelOverride:"模型覆盖",currentModel:"使用当前模型",sizeOverride:"尺寸覆盖",currentSize:"使用当前尺寸",remove:"移除",add:"添加变体",cancel:"取消",create:"创建分支",selectSourceError:"选择一个连接的源 node。",applyError:"该分支无法应用,因此图表保持不变。"},templates:{previewAria:"{name} 图形预览",nodeCountOne:"{count} 个节点",nodeCount:"{count} 节点",outputCountOne:"{count} 输出",outputCount:"{count} 输出",rename:"重命名",delete:"删除",deleteConfirm:"删除模板“{name}”?此操作无法撤消。",title:"选择模板",close:"关闭模板",searchLabel:"搜索模板",searchPlaceholder:"名称或标签",loading:"正在加载模板...",empty:"没有模板匹配“{query}”。",starter:"入门模板",yours:"您的模板",cancel:"取消",copy:"复印一份",loadError:"无法加载模板。再试一次。",replaceConfirm:"用此模板的副本替换当前图形?",invalidGraph:"模板图无效。",copyError:"无法复制模板。",namePrompt:"模板名称",saved:"模板已保存。",saveError:"无法保存模板。",renamePrompt:"重命名模板",renameError:"无法重命名模板。",deleteError:"无法删除模板。",export:"导出",import:"导入文件",importHint:"从另一台设备上的 ima2 导出的 .ima2-template.json 文件",exported:"已导出“{name}”。",exportError:"无法导出模板。",imported:"已导入“{name}”。",importError:"无法导入该文件。",importNotTemplate:"该文件不是 ima2 模板导出文件。",importNewerVersion:"该文件由更新版本的 ima2 创建,请先更新应用。",importTooLarge:"模板文件过大(上限 2 MB)。",importBadName:"文件中的模板没有可用名称。",importInvalidGraph:"文件中的图已损坏或不受支持。"},palette:{ariaLabel:"插入 node 命令",compatiblePlaceholder:"与 {portType} 兼容",searchPlaceholder:"搜索节点",filter:"显示接受 {portType} 的节点。",emptyCompatible:"node 不接受 {portType}。",emptySearch:"没有节点与此搜索匹配。",commandsAria:"Node 命令",categories:{input:"输入",generate:"产生",transform:"转换",reference:"参考",output:"输出"}},commands:{"image-generate":{label:"图像生成",description:"将图像 node 添加到工作流程中。"}},portTypes:{prompt:"提示词",image:"图像",images:"图片",video:"视频",mask:"面具","element-refs":"元素参考","element-notes":"元素注释",settings:"设置","any-media":"任何媒体"},compatibility:{sameDirection:"将输出端口连接到输入端口。",typeMismatch:"这些端口类型不兼容。",cardinality:"该输入已经有一个连接。",selfEdge:"node 无法连接到自身。",duplicateEdge:"该连接已经存在。",unknownPort:"该端口不可用于连接。",cycle:"该连接会形成一个循环。"}},MS={tabs:{label:"资产工作流程",generate:"产生",sprite:"角色表"},title:"角色表",lede:"锁定角色设定,然后生成动作一致的角色帧。",loading:"正在加载精灵配方...",loadError:"无法加载角色表。",retry:"重试",empty:{title:"创建角色表",body:"设置角色、帧尺寸与动画状态。",create:"创建角色表"},recipe:{select:"角色表",new:"新建角色表",name:"角色表名称",characterId:"角色ID",description:"描述",style:"风格",baseAssetId:"基础图像资源",baseAsset:"基础图像资源",save:"保存角色表",saving:"保存中…",unsaved:"生成前保存更改。"},cell:{title:"帧尺寸",width:"宽度",height:"高度",safeMarginX:"水平边界",safeMarginY:"垂直边界"},chroma:{title:"绿幕去背",hex:"去背颜色"},states:{title:"动画状态",add:"添加状态",remove:"移除",key:"状态密钥",frames:"帧数",fps:"FPS",loop:"环形",action:"动作"},anchor:{title:"身份锚",missing:"在行前生成并批准一个空闲姿势。",generate:"生成空闲候选人",generating:"生成…",candidate:"候选人准备接受审查。",regenerate:"雷根",approve:"批准锚点",approved:"锚定批准",replace:"更换锚",confirmTitle:"批准这个身份锚?",confirmBody:"未来的行将重用此标识;基本图像将不会再次附加。",confirm:"批准",cancel:"取消"},rows:{title:"精灵行",generateAll:"生成全部",generateSelected:"生成选定的",regenerate:"重试行",cancel:"取消",preview:"预览",anchorRequired:"首先批准锚点。",saveRequired:"首先保存配方更改。",status:{pending:"待办的",queued:"排队",running:"跑步",complete:"完全的",error:"错误",canceled:"取消"}},error:{INVALID_SPRITE_RECIPE:"填写所需的配方字段。",ANCHOR_NOT_APPROVED:"首先批准身份锚。",BASE_REFERENCE_FORBIDDEN:"基础镜像审核通过后不可重复使用。",GENERATION_CANCELED:"一代被取消。",generic:"精灵生成失败。"}},IS={undone:"撤消最后的图形更改。",redone:"重新绘制图形更改。"},wS={t2i:"文字 → 图片",i2i:"图片编辑",t2v:"文字 → 视频",i2v:"图片 → 视频",v2v:"视频延续"},xS={title:"元素",titleEdit:"编辑元素",titleNew:"新元素",saved:"已保存",ariaLabel:"元素详情",name:"姓名",namePlaceholder:"例如胡桃木椅",kind:"种类",kindCharacter:"特点",kindProduct:"产品",kindStyle:"风格",kindScene:"场景",kindReference:"参考",selected:"选定的元素",mentionAria:"{name}、{kind} 元素",unavailableAria:"{name},不可用元素",removeAria:"删除 {name} 元素",helpCharacter:"一个人或反复出现的主题。",helpProduct:"设计细节一致的产品。",helpStyle:"视觉语言、材料或处理方式。",helpScene:"地点、环境或反复出现的环境。",notes:"笔记",notesHelp:"描述应保持一致的外观、材料和细节。",notesPlaceholder:"温暖的胡桃木纹、圆润的边缘、编织的藤条座椅……",remaining:"剩余 {n}",strength:"参考强度",strengthHelp:"生成的作品的强度应遵循这些参考文献。",resetDefault:"重置为默认值",saving:"保存中…",save:"保存元素",testing:"正在生成测试表...",runTest:"运行测试表",delete:"删除",errorName:"保存之前命名您的元素。",errorRefs:"保存前至少添加一张参考图像。",refsTitle:"参考图片",refsHelp:"拖动以设置顺序。第一个图像是代表性缩略图。",refAlt:"参考 {n}",refPrimary:"代表",refLabel:"标签",refLabelPlaceholder:"正面、侧面、材质……",refMoveUp:"将引用 {n} 向上移动",refMoveDown:"向下移动引用 {n}",refRemove:"消除",refRemoved:"参考已删除。",refUndo:"撤消"},LS={display:{localMethod:"本地 HTTP",loading:"正在检查工作流…",refreshing:"正在更新上次观测状态…",loadFailed:"无法读取工作流目录。",appAccessRequired:"读取目录需要应用访问权限。",unavailable:"尚未确认工作流是否可用。",available:"上次检查目录时可用。",chooseWorkflow:"选择工作流",empty:"尚未注册工作流。",selectedMissing:"所选工作流已不在目录中。",selectedOffline:"上次检查时所选工作流离线。",selectedLocked:"所选工作流已锁定。",observedConnected:"上次检查时有实例响应。",lastChecked:"上次检查:{time}",refresh:"刷新",manage:"管理工作流",controlsHelp:"此面板选择图像或视频工作流。绑定决定哪些已保存的请求设置生效;选择工作流并不证明执行成功。"},workflowsTitle:"ComfyUI 工作流",addTitle:"注册工作流",loading:"正在加载工作流…",empty:"尚未注册工作流。请在 ComfyUI 中使用 Workflow > Export (API) 导出,或上传 ComfyUI 生成的 PNG。",colId:"工作流",colKind:"类型",colOrigin:"实例",colStatus:"状态",colActions:"操作",statusReady:"正常",statusOffline:"无响应",remove:"删除",fileLabel:"工作流文件(API 导出或 ComfyUI PNG)",originLabel:"ComfyUI 地址",checkOrigin:"检查",originReachable:"已连接",originUnreachable:"没有响应。ComfyUI 正在运行吗?",originInvalid:"必须是带端口的本地回环 http 地址,例如 http://127.0.0.1:8188",idLabel:"工作流 id",labelLabel:"显示名称",kindLabel:"媒体类型",kindImage:"图像",kindVideo:"视频",videoKindHint:"视频工作流通过视频端点执行。",videoCatalogShort:"仅目录",bindTitle:"请求字段写入哪个节点?",bindAmbiguous:"有些字段匹配到多个节点。请逐一选择——选错会让正负提示词悄悄互换。",choose:"请选择…",register:"注册",inspectFailed:"无法读取该工作流文件。",registerFailed:"无法注册该工作流。",removeFailed:"无法删除该工作流。",field:{prompt:"提示词",negativePrompt:"负面提示词",width:"宽",height:"高",seed:"种子",refImage:"参考图",output:"输出节点"}},DS={positivePrompt:{label:"正面提示词",placeholder:"描述想要生成的主体、场景、风格和细节…",hint:"{count} 个字符。输入 @ 可添加参考。"},negativePrompt:{label:"排除内容",placeholder:"低画质、结构错误、水印…",hint:"{count} 个字符。用于避开的标签,并与下方预设一起生效。"},panel:{modelTitle:"模型",sizeTitle:"尺寸",samplingTitle:"采样",presetTitle:"预设",outputTitle:"输出"},field:{sampler:"采样器",noiseSchedule:"噪声调度",autoSmea:"自动 SMEA",steps:"步数",scale:"引导强度",cfgRescale:"CFG 重缩放",decrisper:"去脆化",ucPreset:"排除预设",qualityPreset:"质量预设",varietyPlus:"Variety+",straightAlpha:"透明背景",seed:"种子",seedRandom:"随机"},help:{autoSmea:"在高分辨率下自动应用 SMEA,以提高整体一致性。",decrisper:"减少色彩与视觉伪影,尤其适用于高引导强度。",varietyPlus:"在高引导强度下增加构图多样性。",straightAlpha:"V5 原生 alpha。请在提示词中一并加入透明背景标签。",cfgRescale:"缓解高引导强度下的过饱和。设为 0 即关闭。",seed:"留空则每次使用新的种子。"},size:{portrait:"竖版",landscape:"横版",square:"方形"},ucPreset:{heavy:"强",light:"弱",furryFocus:"兽人向",humanFocus:"人物向",none:"不使用"},qualityPreset:{standard:"标准",light:"轻量",none:"不使用"},resetDefaults:"恢复默认值",compatTitle:"NovelAI 通道",compatBody:"仅支持文生图。该通道不支持参考图、编辑与批量生成。"},PS={imageToolModel:CA,lan:EA,common:RA,appBar:NA,sheet:kA,toast:GA,inflight:OA,size:MA,sizeConfirm:IA,quality:wA,moderation:xA,format:LA,count:DA,multimode:PA,metadata:UA,starPrompt:zA,onboarding:_A,readiness:HA,generate:qA,home:BA,billing:FA,history:VA,panel:jA,prompt:YA,canvas:QA,gallery:KA,node:XA,nodeBatch:ZA,edge:JA,provider:$A,mcp:WA,grokMode:eS,cost:tS,result:aS,session:nS,uiMode:lS,agent:iS,cardNews:oS,video:rS,sidebar:uS,settings:sS,nodeCanvas:cS,apiDisabled:dS,language:mS,errorCard:fS,promptLibrary:pS,promptBuilder:gS,workspace:hS,viewer:yS,generationLog:vS,clipboard:bS,modal:AS,nav:SS,assetGen:TS,project:CS,spriteCurator:ES,keying:RS,vectorize:NS,chain:kS,assets:GS,"assets.clearAll":"全部清除","assets.clearConfirm":"删除所有已保存的资源?此操作无法撤消。",nodeStudio:OS,sprite:MS,graph:IS,provenance:wS,element:xS,comfy:LS,nai:DS},US={title:"API 影像模型",default:"預設(上游選擇)",costUnavailable:"暫無費用估算"},zS={brand:"ima2",title:"連線至工作室",body:"請輸入工作室設定的 LAN 權杖。權杖不會儲存在瀏覽器儲存空間中。",token:"LAN 權杖",connect:"連線",connecting:"正在連線…",retry:"重新檢查連線",sessionExpired:"請登入工作室。已輸入的內容會保留。",unavailable:"無法連線至工作室。請檢查地址後重試。",rateLimited:"嘗試次數過多,請稍後再試。",capacity:"工作室工作階段已滿,請稍後再試。",originRejected:"請使用管理員設定的地址開啟工作室。",cookieRequired:"請允許此工作室使用 Cookie,然後重新連線。",duplicateToken:"地址包含多個權杖,請在下方輸入正確的權杖。",sessionTitle:"工作室工作階段",signOut:"登出工作室",signingOut:"正在登出…",signOutBody:"登出不會取消正在進行的生成工作。"},_S={ok:"確定",cancel:"取消",delete:"刪除",close:"關閉",saving:"儲存...",loading:"載入中...",dismiss:"關閉通知",generating:"生成…",imageCollection:"{n} 影像集",remove:"移除",removeNamed:"刪除 {name}",elementSuggestions:"元素建議",noMatchingElements:"沒有符合的元素",enterPrompt:"輸入提示...",continuity:"連續性",activePrompt:"主動提示",elementUnavailable:"元素不可用",spritePreview:"精靈動畫預覽",canvasMemo:"畫布備忘錄",cardDeck:"卡牌組"},HS={brand:"ima2",modeImage:"影像",settings:"設定",controls:"發電控制",generate:"產生",generateAria:"開啟提示表產生圖像"},qS={close:"關閉提示表",generate:"產生影像",controlsOpen:"開放式發電控制",tabs:{prompt:"提示詞",controls:"控制",library:"圖書館"}},BS={localImportSuccess:"圖像已新增至圖庫",localImportFailed:"匯入圖片失敗",localImportInvalid:"僅支援 PNG、JPEG 或 WebP",localStorageFull:"本機儲存已滿 - 最近的狀態可能不會持續。",refLimitExceeded:"參考文獻上限為 5。多餘的圖像被刪除。",minimaxModelRequiresReference:"image-01-live 需要中國境外的參考影像。附上一個,或切換到 image-01。",refLimitTrayFull:"參考托盤已滿 ({max})。使用 X 刪除項目以附加更多 — 已刪除的 @tags 可以使用 @ 重新提及。",refLimitPartial:"僅新增了 {total} 影像中的 {added}(限制 {max})。",refOverProviderLimit:"此提供者最多接受 {max} 參考影像。刪除 {excess} 來產生。",refTooLarge:"圖片太大。轉換為 JPEG/PNG 或降低解析度並重試。",refNotBase64:"圖像檔案已損壞或使用了不支援的編碼。",refEmpty:"空圖像檔。請選擇不同的文件。",refHeicUnsupported:"不支援 HEIC/HEIF。轉換為 JPEG 或 PNG 並重試。",noCurrentImageForRef:"沒有當前圖像可用作參考。",refSlotFull:"參考槽已滿(最多 5 個)。",currentImageLoadFailed:"無法載入目前圖像。",addedCurrentAsRef:"新增目前影像作為參考。",sessionLoadFailed:"無法載入會話。",sessionCreateFailed:"建立會話失敗。",sessionRenameFailed:"無法重命名會話。",sessionDeleteFailed:"刪除會話失敗。",promptRequired:"輸入提示。",missingElements:"缺少選定的元素。在生成之前將其刪除或重新添加元素。",nodeCreated:"Node {id} 建立 ({elapsed}s)",nodeRootCreated:"從該映像建立第一個 node 。",animateStarted:"將圖像動畫化為影片...",animateProgress:"渲染影片…{n}%",animateDone:"影片準備好了。檢查你的歷史記錄。",animateFailed:"視訊生成失敗。",nodeCreateFailed:"Node 產生失敗。",generatedBatch:"在 {elapsed}s 中產生 {count} 影像。",generatedSingle:"在 {elapsed}s 中產生。",generateFailed:"一代失敗。",jobTrackingTimeout:"工作追蹤已逾時,無法確認服務提供方是否已完成。重試前請先檢查歷史紀錄。",sessionReloadedElsewhere:"圖表版本發生變化,因此重新載入最新圖表。",promptCopied:"提示已複製",metadataCopied:"已複製",imageCopied:"已複製到剪貼簿",frameCopied:"幀已複製到剪貼簿",copyFailed:"複製失敗",openGeneratedDirFailed:"無法打開圖像資料夾。運行ima2 doctor檢查儲存路徑。",openGeneratedDirOpened:"打開生成的圖像資料夾。",noPromptToFork:"沒有提示分叉",forkStarted:"提示導入。再次編輯並產生。",forkStartedNoPrompt:"附上圖片作為參考。輸入提示並產生。",continueAsUrlStarted:"提供者 URL 設定為參考。生成以使用原始圖像。",continueAsUrlExpired:"提供者 URL 已過期。請改用此處繼續。",comfyExported:"以 {filename} 發送到 ComfyUI。",comfyExportInvalidUrl:"ComfyUI URL 必須是本地 HTTP 位址。",comfyExportInvalidImage:"此儲存的影像無法傳送至 ComfyUI。",comfyExportImageNotFound:"未找到已儲存的影像檔案。",comfyExportFailed:"無法將映像上傳到 ComfyUI。",cancelFailed:"無法取消生成。",errorClass:{rateLimited:"請求過於頻繁,請稍後再試。",providerTimeout:"服務商回應逾時,請稍後再試。",networkFailure:"無法連線至服務商。請檢查網路後重試。",contentRejected:"服務商拒絕了該提示詞,請修改後重試。",capabilityUnsupported:"目前服務商不支援此請求。",modelUnavailable:"所選模型暫時無法使用。",internalState:"內部狀態異常,請重新載入頁面。"},naiRefUnsupported:"NovelAI 暫不支援參考影像。",naiEditUnsupported:"NovelAI 暫不支援影像編輯。",naiRateLimited:"NovelAI 正在限流,請稍後再試。",naiBadRequest:"NovelAI 拒絕了生成參數。",naiMaskUnsupported:"NovelAI 編輯暫不支援遮罩。"},FS={queued:"排隊",planning:"規劃",streaming:"產生",decoding:"敲定",canceling:"取消",noPrompt:"無提示",cancelAria:"取消產生:{prompt}",title:"飛行中",badgeOpen:"顯示飛行中的 {n} 代",badgeClose:"隱藏飛行中的 {n} 代",inlineCollapse:"崩潰飛行中的 {n} 代",footerHint:"您可以關閉此面板——生成會繼續。",kindImage:"影像",kindVideo:"影片",kindNode:"節點",kindMcp:"MCP",progressAria:"產生進度:{n}%"},VS={title:"尺寸",grokAspectTitle:"縱橫比",grokResolutionTitle:"解析度",width:"寬度",height:"高度",hint:"16px 步長,最大邊緣 3840,比例高達 3:1,655K–829M 像素",autoLabel:"自動",autoSub:"型號選擇",customLabel:"自訂",customSub:"自由形式",customPlus:"+ 客製化",customSlots:"保存的尺寸",customSlot:"自訂",customSlotLimit:"最多 3 種自訂尺寸",saveCustomSlot:"儲存自訂尺寸",replaceCustomSlot:"更換插槽",ratioFree:"自由比例",ratio21x9:"21:9",normalizedPreview:"會發送",noAdjustment:"無需調整",squareMaxHint:"由於 829 萬像素限制,平方最大值為 {size}。",adjustedReasons:{snap:"捕捉到 16 像素",maxEdge:"最大邊緣",ratio:"比率限制",minPixels:"最小像素",maxPixels:"最大像素",min:"最小邊緣",max:"最大邊緣",pixels:"像素限制"}},jS={title:"需要調整尺寸",body:"請求的大小超出了圖像生成限制。",requested:"要求尺寸",adjusted:"調整後的尺寸",approve:"批准並生成",cancel:"取消",reasonRatio:"該比例超出了 3:1 的限制。",reasonPixels:"超出了最大像素限制。",reasonMinPixels:"請求的圖像像素太少。",reasonMin:"尺寸低於最小值。",reasonMax:"大小超過最大值。",reasonSnap:"尺寸必須以 16 像素為增量對齊。"},YS={xhighLabel:"超高",maxLabel:"最高",title:"品質",grokTitle:"Grok 質量",grokModelTitle:"模型",lowLabel:"低",lowSub:"快速",mediumLabel:"中",mediumSub:"均衡",highLabel:"高",highSub:"最佳"},QS={title:"內容審查",autoLabel:"自動",autoSub:"標準安全篩選器",lowLabel:"低",lowSub:"較寬鬆的篩選器",explain:"自動使用標準安全篩選器;低模式會放寬限制,因此部分邊界提示詞可能會通過。"},KS={title:"格式"},XS={title:"數數",customPlus:"+n",customLabel:"自訂計數",highCountHint:"對於參考或高品質的計數,較高的計數可能需要更長的時間。",minMaxHint:"使用 1-24 張影像。",decrease:"減少計數",increase:"增加計數"},ZS={label:"序列",tooltip:"用一個提示詞生成多個階段",shortHint:"規劃中的階段",maxStages:"最多階段數",highCountHint:"較高的階段數可能需要幾分鐘的時間。",minMaxHint:"使用 1-24 級。",composerBadge:"序列·共 {count} 段",composerAriaLabel:"序列提示編輯器,最多 {count} 個階段",promptPlaceholder:"描述要生成的階段;關閉序列後搭配數量,可批次生成相同提示詞。",promptPlaceholderWithRefs:"使用所附參考文獻描述分階段順序。",toggleDisabledGenerating:"等待當前一代完成",sequenceTitle:"序列結果",sequenceProgress:"{returned}/{requested} 影像",stageLabel:"階段{index}",generating:"生成...",partialAlt:"部分多模式預覽",partial:"在 {elapsed}s 中產生 {returned}/{requested} 影像。",complete:"在 {elapsed}s 中產生 {returned}/{requested} 影像。",notReturned:"未退回",empty:"沒有返回圖像",error:"生成失敗",canceled:"取消",cancel:"取消"},JS={restoreTitle:"恢復影像設定",restoreBody:"此影像包含 ima2 生成元資料。應用其提示和設置,或僅將其附加作為參考。",applySettings:"應用程式設定",useAsReferenceOnly:"僅供參考",noMetadata:"未找到 ima2 元資料。",invalidMetadata:"圖像元資料無效。",unsupportedFormat:"僅可恢復 PNG、JPEG 和 WebP 元資料。",readFailed:"無法讀取影像元資料。",applied:"影像設定已恢復。",sourceXmp:"XMP",sourcePngComment:"PNG 評論",imageAlt:"放置影像預覽",prompt:"提示詞",size:"尺寸",quality:"品質",model:"模型",source:"來源",title:"生成詳情",asset:"資產",summary:"生成摘要",copy:"複製",copyRaw:"複製原始 JSON",copyField:"複製 {label}",rawJson:"原始元資料 JSON",sections:{provider:"供應商和型號",settings:"產生設定",usage:"用量與時間",lineage:"來源鏈",video:"影片",videoContinuity:"視訊連續性",prompts:"提示"},fields:{provider:"提供者",authPath:"認證路徑",model:"模型",providerUrl:"提供者 URL",requestId:"請求ID",quality:"品質",size:"尺寸",format:"格式",moderation:"內容審查",reasoning:"推理",promptMode:"提示方式",kind:"種類",mediaType:"媒體類型",elapsed:"耗時",tokens:"代幣",totalTokens:"代幣總數",inputTokens:"輸入",cachedTokens:"快取",outputTokens:"輸出",reasoningTokens:"推理",webSearchCalls:"網路搜尋",grokCostTicks:"Grok 成本刻度",usage:"用量",filename:"檔案名稱",createdAt:"建立時間",sessionId:"工作階段",nodeId:"節點",parentNodeId:"父級 node",clientNodeId:"客戶端 node",refsCount:"參考",sequence:"順序",setId:"批次",cardId:"卡片",videoDuration:"影片時長",videoResolution:"影片解析度",videoAspectRatio:"縱橫比",videoRequestedModel:"要求的型號",videoEffectiveModel:"有效模式",videoModelFallback:"模型後備",xaiVideoRequestId:"xAI 視訊請求",sourceImageFilename:"來源圖片",lineageId:"來源鏈 ID",parentFilename:"父項檔案",sourceFrame:"來源影格",continuityEntries:"連續性項目",latestContinuityPrompt:"最新連續性提示",promptPrimary:"提示詞",userPrompt:"使用者提示",prompt:"儲存提示",revisedPrompt:"修改提示",composerPrompt:"作曲家提示",insertedPrompts:"插入的提示"}},$S={title:"影像已生成",thanks:"感謝你的 Star",body:"ima2 免費且開源。GitHub Star 能讓更多人發現它。",star:"在 GitHub 上加星",starring:"正在加星…",open:"在 GitHub 上開啟",notNow:"稍後再說",count:"{count} 個 Star",failed:"無法在此加星。你仍可以在 GitHub 上加星。",noteGh:"使用你自己的 GitHub CLI 登入。ima2 不會保存 GitHub 權杖。",noteSignIn:"如需在此加星,請先登入 GitHub CLI(gh auth login)。"},WS={title:"歡迎使用 ima2",lead:"本機影像與影片工作室。三個步驟就能開始生成。",stepsLabel:"開始使用",steps:{signIn:{title:"登入一個服務商",hint:"使用你已有的方案"},firstImage:{title:"生成第一張影像",hint:"輸入提示詞並按下生成"},star:{title:"在 GitHub 上加星",hint:"選用"}},recommended:"推薦",choices:{chatgpt:{title:"ChatGPT",body:"透過瀏覽器登入使用你的 ChatGPT 方案,不需要 API 金鑰。"},grok:{title:"Grok",body:"使用 xAI 帳號登入,可使用 Grok Imagine 影像與影片。"},apiKey:{title:"API 金鑰",body:"OpenAI、Gemini 或其他服務商的金鑰,由該服務商計費。"}},privacy:"提示詞只會傳給你選擇的服務商,影像儲存在本機圖庫。",skip:"稍後再說"},eT={title:"生成準備狀態",open:"檢查準備狀況",openTitle:"檢查提供者、身份驗證、模型和網路搜尋準備情況",settingsTitle:"生成準備狀態",settingsBody:"開啟一個包含提供者、身份驗證、模型、推理和網路搜尋狀態的緊湊彈出視窗。",ready:"準備生成",readyBody:"所選提供者可用。",blocked:"提供者需要關注",provider:"提供者",model:"模型",reasoning:"推理",webSearch:"網頁搜尋",grokApi:"Grok API",grokApiBody:"使用 xAI OAuth 工作階段直接呼叫 api.x.ai:強制搜尋、Grok 4.5 英語圖像和文字工具規劃,然後是 xAI Images API。附加參考使用 xAI 影像編輯,因此保留了 i2i 上下文。",openAccount:"開設帳戶設置",mcp:{loading:"正在檢查 MCP 就緒狀態…",error:"無法讀取 MCP 就緒狀態",missing:"提供者不可用",disabled:"提供者已停用",disconnected:"提供者未連線",locked:"提供者執行已鎖定",default:"提供者預設模型","model-missing":"所選模型不可用","model-locked":"所選模型執行已鎖定",ready:"上次連線檢查時可用。",refresh:"重新整理",observed:"檢查於 {time}"}},tT={button:"產生",buttonLoading:"生成({n})"},aT={recentTitle:"最近的工作",selectedCount:"已選擇 {count}",selectedPresets:"選定的預設",referenceTrayCount:"{count} 參考文獻",referenceTrayAria:"{count} 引用附加到下一代",viewAll:"看全部",heroTitle:"從滿意的那一張,繼續展開。",heroLede:"在本機生成、編輯、讓畫面動起來。不主動傳送,就不會離開這台機器。",lanesReady:"{total} 條生成通道中 {ready} 條就緒",lanesNone:"尚無就緒通道 — 請在設定中連接",modesTitle:"工作區",modeCreateHint:"生成並打磨單張圖像",modeNodeHint:"把一個結果分成多個方向",modeAgentHint:"說明需求,交給智慧代理執行",modeAssetsHint:"收藏並重複使用你的成果",untitledResult:"未命名結果",recentResultAlt:"最近結果:{prompt}",mediaUnavailable:"無法顯示預覽"},nT={label:"API 狀態",checking:"檢查...",offline:"離線",remaining:"剩餘 ${remaining}",thisMonth:"本月 ${amount}",oauthFree:"GPT OAuth · 透過 codex 免費",apiDisabled:"API 密鑰準備就緒",apiReady:"API 密鑰準備就緒",oauthMode:"GPT OAuth 模式"},lT={openGalleryAria:"打開畫廊",openGalleryTitle:"打開完整畫廊",openGalleryShort:"全部",galleryCard:"打開畫廊",recentTitle:"最近幾代人",collapseRecent:"崩潰最近幾代",expandRecent:"擴展最近幾代",collapseRecentShort:"隱藏",expandRecentShort:"展示",emptyRecent:"生成的圖像將出現在此。",generatingCollection:"正在產生 {count} 圖片...",selectRecent:"選擇生成的圖像",deleteImageAria:"從歷史記錄中刪除影像",deleteSequenceAria:"刪除 {count}-影像序列",deleteSequenceConfirm:"刪除此多模式序列中的所有 {count} 影像?",sequenceDeleted:"從歷史記錄中刪除了 {count} 序列影像"},iT={closeSettings:"關閉設定",detailSettings:"設定",toggleShow:"顯示面板",toggleHide:"隱藏面板",open:"打開",close:"關閉"},oT={label:"提示詞",refCount:"參考 {count}/{max}",trayAria:"參考托盤,{max} 的 {count}",deadTagHint:"標籤已從托盤上移除 — 僅供參考",deadTagStatus:"提示中不可用的引用:{tags}",refChipTitle:"參考 {n}",refChipAlt:"參考 {n}",refRemoveAria:"刪除引用 {n}",placeholder:"描述您想要的圖像。拖放或貼上以附加參考圖像...",placeholderWithRefs:"描述如何處理所附圖片...",attach:"附",attachTitle:"附上參考圖片",useCurrent:"使用電流",useCurrentTitle:"使用目前結果作為參考",continue:"繼續",continueTitle:"從目前結果繼續作為參考",savePrompt:"節省",storyboard:"故事板",storyboardTitle:"啟用故事板模式 - 在連續幀之間保持角色和場景的連續性",videoToggleTitle:"切換視訊模式 (Grok 1.5)",directMode:"直接的",directModeActive:"1:1直接上",directModeTitle:"逐字傳遞提示(直接模式)",urlRefActive:"URL 參考",urlRefActiveTitle:"提供者 URL 引用處於活動狀態,將用於取代附加的圖像引用。單擊以清除。",urlRefClear:"清除提供者 URL 參考",moveBlockUp:"將 {name} 向上移動",moveBlockDown:"向下移動 {name}",afterBlocks:"主提示後",hint:"Ctrl+Enter 生成",dropHere:"拖曳到附件作為參考(最多 {max})",rejectNotMedia:"僅支援附加圖片、音訊和 mp4 檔案",rejectAudioNeedsVideoModel:"音訊需要先選擇影片模型",rejectAudioNeeds15:"僅 grok-imagine-video-1.5 支援音訊",rejectVideoNeedsBase:"僅 grok-imagine-video 支援影片輸入",rejectVideoSingleOnly:"一次只能使用一個來源影片",audioUsePresetVoice:"xAI 僅對合作夥伴帳號開放音訊上傳,請在影片設定中使用預設語音",videoUseCliForEdit:"影片編輯與延長請使用 ima2 video edit / ima2 video extend"},rT={modeTitle:"畫布模式",resultAlt:"結果",imageViewerAria:"生成的圖像檢視器。使用左右箭頭鍵在影像之間移動。",tokens:"{n} 代幣",open:"打開畫布",openAria:"以畫布模式開啟圖像",dragToComposer:"拖曳到作曲家作為參考",dragHint:"拖",annotationInstructionsChip:"畫布筆記",close:"關閉畫布",blank:{title:"空白畫布",subtitle:"在白紙上畫草圖,然後繼續。",create:"建立空白畫布",creating:"創造...",failed:"無法建立空白畫布"},drop:{hint:"拖放圖像以添加到圖庫"},toolbar:{label:"畫布註釋工具",select:"選擇",bgGroup:"出口背景",bgAlpha:"阿爾法",bgMatte:"霧面的",bgMatteColor:"霧面色",cleanup:"乾淨的背景",cleanupMark:"標記",cleanupRemove:"消除",cleanupPreserve:"儲存",cleanupInput:"輸入",cleanupClick:"點選",cleanupBrush:"刷子",cleanupBrushSize:"刷子",cleanupTolerance:"寬容",cleanupAutoSample:"角球",cleanupPickSeed:"採摘種子",cleanupPickingSeed:"點選背景",cleanupActive:"已啟用",cleanupPreview:"預覽",cleanupPreviewing:"正在預覽...",cleanupApply:"申請 PNG",cleanupApplying:"正在申請...",cleanupReset:"重置",cleanupSeedCount:"{n} 種子",cleanupRemoved:"{n}% 已刪除",cleanupPickHint:"點擊圖像上的背景",cleanupBrushHint:"繪製要標記的區域",cleanupMaskHint:"紫色面具將被移除",cleanupApplied:"已建立透明 PNG",cleanupFailed:"後台清理失敗",zoomGroup:"畫布縮放",zoomIn:"放大",zoomOut:"縮小",zoomReset:"重設變焦",zoomShortcutHint:"雙指縮放·兩指平移·[ / ]·0",pen:"筆",box:"盒子",arrow:"箭",memo:"便籤紙",eraser:"橡皮",eraserMenu:"橡皮擦選項",objectEraser:"物體橡皮擦",brushEraser:"刷子橡皮擦",apply:"儲存畫布版本",applyDone:"畫布版本已儲存",applyFailed:"無法儲存畫布版本",export:"匯出圖片",exporting:"出口...",exportFailed:"匯出失敗",tracePrepareFailed:"無法準備畫布以進行 SVG 描摹",undo:"撤銷",redo:"重做",deleteSelected:"刪除所選內容",editMask:"編輯盒裝區域",editMaskDisabled:"先畫一個盒子",editMaskFailed:"屏蔽編輯失敗",editMaskUnsupported:"目前圖像提供者不支援蒙版編輯",gptTransparency:"GPT 透明化 — 移除背景 (i2i)",transparencyVerified:"背景已移除 — 已驗證真實 Alpha",transparencyNoAlpha:"編輯完成,但未偵測到真實 Alpha",transparencyUnverifiable:"編輯完成,但無法驗證透明度",transparencyFailed:"GPT 透明化失敗",style:"風格",color:"顏色",strokeWidth:"筆觸寬度",clear:"全部清除",exportFormat:"導出格式",exportAs:{png:"PNG 影像",svg:"SVG(內嵌點陣圖)",vector:"描摹為 SVG(向量)",pptx:"PowerPoint 投影片"}},version:{saving:"正在儲存畫布版本...",saved:"畫布版本已儲存",failed:"無法儲存畫布版本",usingAsReference:"Canvas版本已準備好作為參考"},revert:{action:"恢復烘焙筆記",mixedConfirm:"此版本還包含像素編輯。恢復烘焙筆記將丟棄這些像素編輯。繼續?",restored:"烘焙筆記恢復為可編輯草稿",completed:"烘焙筆記和像素編輯已恢復",failed:"無法恢復烘焙筆記"}},uT={today:"今天",yesterday:"昨天",thisWeek:"本星期",earlier:"早些時候",imageAltFallback:"生成的圖像",deleteTitle:"移至系統垃圾箱",deleteAria:"刪除影像",ariaLabel:"圖片庫",title:"畫廊",total:"{n} 總計",totalFiltered:"/ {n} 總計",sortByAria:"排序方式",sortByDate:"日期",sortBySession:"工作階段",favoriteFilterAria:"最喜歡的過濾器",filterAll:"全部",filterFavorites:"收藏夾",searchPlaceholder:"搜尋提示或檔案名稱",searchDisabledPlaceholder:"在會話視圖中停用搜尋",closeAria:"關閉畫廊",closeTitle:"關閉(Esc)",sessionLabel:"會話 {name}",standalone:"獨立影像",emptySessions:"尚未保存任何會話。",emptyAll:"還沒有圖像。先創建一個。",emptyFavorites:"還沒有最喜歡的圖像。",noResults:"沒有結果。",loadOlder:"加載較舊的",loadingOlder:"正在加載較舊的...",loadOlderFavorites:"加載較舊的收藏夾",loadingOlderFavorites:"正在加載舊的收藏夾...",sessionPaginationHint:"會話視圖使用目前頁面。切換到日期視圖以載入舊圖像。",sessionLoading:"正在載入會話組...",sessionLoadFailed:"無法載入會話組。",sessionLimitNotice:"顯示最新的 {count} 項目。較舊的項目不包含在會話視圖中。",retry:"重試",loadOlderFailed:"無法載入舊的畫廊項目。",storageNoticeTitle:"保管須知",storageNoticeRecoverable:"抱歉嚇到了。最新版本將圖庫資料夾從已安裝的套件移至使用者資料資料夾。您的舊圖像可能仍在先前生成的資料夾中。運行 ima2 doctor 或開啟恢復指南。",storageNoticeNotFound:"抱歉嚇到了。我們在這台機器上找不到以前產生的資料夾。如果在更新過程中取代了舊的全域安裝資料夾,則可能無法自動復原。運行 ima2 doctor 並查看恢復指南以了解手動搜尋步驟。",storageNoticeUnknown:"無法檢查儲存狀態。如果更新後圖庫看起來是空的,請執行 ima2 doctor 檢查映像資料夾。",openGeneratedDir:"打開資料夾",openGeneratedDirTitle:"打開生成的圖像資料夾",cardNewsSet:"卡新聞集",cardNewsCard:"卡新聞卡",openCardNewsSet:"開集",openCardNewsSetFailed:"無法打開卡片新聞集。",copyCardNewsSetPath:"複製路徑",cardNewsPathCopied:"卡新聞設定路徑已複製。",downloadCardNewsManifest:"顯現",cardNewsCount:"{n} 卡",deleted:"已刪除:{filename}",undo:"撤銷",secondsSuffix:"{n}s",permanentDeleted:"永久刪除:{filename}",movedToSystemTrash:"移至系統垃圾箱:{filename}",deleteFailed:"無法刪除影像。",restoreFailed:"無法恢復影像。",favoriteTitle:"加入收藏夾",unfavoriteTitle:"從收藏夾中刪除",favoriteAria:"加入收藏夾",unfavoriteAria:"從收藏夾中刪除",favoriteFailed:"無法更新收藏夾",scopeAria:"畫廊範圍",scope:{current:"目前會話",all:"所有圖片"},empty:{currentSession:"此會話中還沒有圖像。"}},sT={empty:"空的",elementMissing:"元素“{name}”已刪除。運行前重新連線。",pending:"產生",reconciling:"正在同步",reconcilingPhase:"正在同步·{phase}",ready:"完成 · {elapsed}s",readyWithSearch:"完成·{elapsed}s·搜尋{searches}",stale:"陳舊",staleWithError:"陳舊:{error}",assetMissing:"資產失蹤",assetMissingWithError:"資產缺失:{error}",error:"錯誤:{error}",errorUnknown:"未知",nodeImageAlt:"Node 影像",partialImageAlt:"部分node影像預覽",noAsset:"沒有資產",stateStale:"狀態陳舊",noImage:"無影像",editPromptPlaceholder:"編輯提示...",promptPlaceholder:"提示詞...",regenerate:"雷根",newVariation:"新版本",generate:"根",generateTitle:"產生 node 影像",addChild:"孩子",addChildTitle:"新增子項 node",duplicateBranch:"分支",duplicateBranchTitle:"複製為新的分支根",deleteTitle:"刪除",regenerateTitle:"就地重新產生 node",newVariationTitle:"在同一父項下建立一個新的同級變體",parentImageRequired:"首先生成父圖像。",attachRef:"附",attachRefTitle:"附上 node 參考影像",refAlt:"Node 參考 {n}",removeRef:"刪除引用 {n}",dropRefs:"將圖像拖放到此處",nodeRefsUnsupportedForEdit:"目前僅根節點支援額外引用。",nodeRefsUsedWithParent:"與父圖像一起使用。",classicRefsParkedTitle:"經典參考已停放",classicRefsParkedBody:"這些圖像屬於經典作曲家,在 node 模式下處於非活動狀態。",clearParkedRefs:"清除停放的參考",retry:"重試",retryTitle:"重試這個 node 的生成",errorAuthCta:"檢查您的帳戶或 API 金鑰,然後重新產生。",errorFixCta:"調整提示或引用,然後再次產生。",zoomImage:"檢視大圖",copyId:"複製節點 ID",animateTitle:"用此圖片生成影片"},cT={selectionOn:"選擇",selectionOff:"選擇",selectAll:"選擇全部",summary:"{selected} 已選擇 · {missing} 缺失 · {stale} 受影響",generateMissing:"生成缺失",regenerateSelected:"重新產生選定的",stopRemaining:"停止剩餘",stopping:"停止",clear:"清除",noneSelected:"未選擇節點。",parentRequired:"{count} 選擇的 node 首先需要準備好父映像。",nothingToRun:"沒有選定的節點需要產生。",stopQueued:"目前的 node 將完成,然後剩餘的佇列將停止。",failed:"在 {done}/{total} node(s) 之後停止。",finished:"已完成 {done}/{total} node(s)。",staleBecauseParentChanged:"重新產生了上游 node ;需要時刷新此 node 。",cycleBlocked:"無法運作:{count} 選擇的 node 形成循環。",partialFinished:"已完成 {done}/{total} — {failed} 失敗,{skipped} 已跳過。"},dT={disconnect:"斷開",disconnectTitle:"斷開選定的邊",disconnected:"連線已移除。",cycleBlocked:"該連接會形成一個循環。",roleBase:"原圖",roleRef:"參考"},mT={authTitle:"提供者",apiLabel:"API 密鑰",statusReady:"可用",statusConnected:"已連接",statusAuthRequired:"需要登入",statusDisconnected:"已斷開連接",statusLineTitle:"狀態",authMethodTitle:"授權",authActive:"已啟用",oauthNotReady:"GPT OAuth 尚未準備好。",codexLoginRequired:"需要 Codex 登入。",codexLoginHint:"在終端機執行 `ima2 login`,或在 設定 → 切換 Codex 帳戶 中登入。",oauthStarting:"GPT OAuth 正在啟動。幾秒鐘後重試。",serverUnreachable:"無法到達伺服器。確保後端正在運作。",apiInvalid:"API 密鑰遺失或無效。檢查伺服器.env 中的 OPENAI_API_KEY。",grokOffline:"需要登入 Grok。",grokNoImageModel:"找不到 Grok 影像生成模型。",grokNotReady:"Grok 不可用。",grokOfflineHint:"執行一次 `ima2 grok login`,或在網頁介面登入,然後重試。",grokManagedByIma2:"Grok 使用儲存在 ~/.progrok/auth.json 的 xAI OAuth 工作階段直接呼叫 api.x.ai,權杖會自動更新。",grokClassicOnly:"Grok 影像產生在此表面中不可用。",grokClassicOnlyHint:"使用啟用了 Grok 的生成表面。",grokCompatTitle:"Grok 影像 API",grokCompatBody:"Grok 使用 xAI OAuth 工作階段呼叫 api.x.ai。 Grok 始終在圖像生成之前進行搜索,將附加引用發送到 Grok 4.5 規劃器中,透過 xAI 圖像編輯保留它們,並將大小映射到 xAI 寬高比/分辨率。輸出格式、審核和推理僅是 OpenAI 提供者設定。",settingsBody:"選擇下一代請求使用哪個提供者。",availableTitle:"{name} 可用",availableAria:"{name}:可用",unavailableAria:"{name}:不可用",availableSr:"(可用的)",unavailableSr:"(不可用)",xaiApiKeyRequired:"需要 xAI API 密鑰",geminiApiKeyRequired:"Gemini API 需要密鑰",atlasCloudApiKeyRequired:"Atlas Cloud 需要 API 金鑰",minimaxApiKeyRequired:"MiniMax API 需要密鑰",comfyNoWorkflow:"尚未註冊 ComfyUI 工作流",comingSoon:"即將推出",agyCompatTitle:"Gemini (agy)",agyCompatBody:"1024x1024 固定,JPEG 輸出,最多 3 個參考。沒有品質/尺寸控制。",agyCompatBodyLong:"1024x1024 固定輸出,JPEG 格式,最多 3 個參考影像。沒有網絡搜索,沒有品質/尺寸控制。",geminiApiCompatTitle:"Gemini API",geminiApiCompatBody:"Google Gemini API。支援從 512px 到 4K 的寬高比和解析度控制。",geminiApiCompatBodyLong:"Google Gemini API 直接。支援 nano-banana-2 (Flash) 和 nano-banana-pro (Pro),寬高比和解析度控制範圍為 512px 至 4K。",gptCompatTitle:"GPT Image",gptCompatBody:"OpenAI 透過回應 API 產生影像。支援品質、大小、格式、審核和網路搜尋設定。",naiApiKeyRequired:"NovelAI API 需要權杖"},fT={connectionsTitle:"MCP 提供者連接",connectionsBody:"連接官方提供者帳戶並查看工具狀態。只有連線的提供者才會出現在產生選擇器中。",providerLabel:"發電商",modelLabel:"生成模型",coreProviders:"核心提供者",lane:{keyMissing:"缺少金鑰",offline:"離線",locked:"已鎖定"},connectedProviders:"連接的 MCP 供應商",imageModels:"影像模型",videoModels:"視訊模型",chooseModel:"選擇型號",loadingModels:"載入模型",loadingProviders:"檢查連接",providersLoadFailed:"無法載入 MCP 提供者狀態。",modelsLoadFailed:"模型載入失敗 — 點選重試",retryModels:"重試",noModels:"沒有適用於此模式的型號。",refreshingConnection:"清爽…",exitLane:"使用核心提供者",modelSectionTitle:"模型",ratioAutoHelp:"自動讓模型選擇自己的縱橫比。某些型號可能會拒絕預設。",aspectRatioLabel:"縱橫比",durationLabel:"時長",resolutionLabel:"解析度",qualityLabel:"品質",modeLabel:"模式",audioLabel:"聲音的",onLabel:"在",offLabel:"離開",toolInputsLabel:"參考媒體",referenceNone:"沒有任何",referenceSelect:"從畫廊中選擇",referenceCurrent:"目前畫廊項目",referenceMissing:"不在載入的歷史記錄中",startFrameLabel:"起始畫面",endFrameLabel:"結束框架",endFrameNeedsStart:"首先選擇一個起始幀。",imageReferencesLabel:"圖片參考(最多 3 張)",imageReferenceAria:"圖片參考{index}",referenceTagAria:"影像參考標籤 {index}",referenceTagPlaceholder:"可選標籤",referenceTagInvalid:"使用 1-32 個字母、數字、底線或連字號作為標籤。",referenceAttachLocal:"附上本地圖片",referenceAttachHelp:"本機影像暫時上傳,並在產生穩定後刪除。",referenceLocalFallback:"本地圖片",referenceLocalInvalidType:"選擇 PNG、JPEG 或 WebP 影像。",referenceLocalReadFailed:"無法讀取該影像。再選擇一次。",referenceSource:{asset:"資產",element:"元素",local:"本地附件"},videoReferenceLabel:"影片參考",videoReferenceCostNote:"使用視訊參考可能會增加提供者費用。",advancedPresetsLabel:"進階預設",providerDefaultsHelp:"此模型使用提供者預設值,無需額外預設。",chooseModelForPresets:"在頂部選擇器中選擇一個型號以查看其支援的預設。",refreshList:"刷新狀態",connect:"連接",connecting:"正在連接",connectOpensBrowser:"在瀏覽器視窗中開啟提供者登入。",refreshConnection:"重新連接",disconnect:"斷開",connectionActionFailed:"連接操作無法完成。稍後再試。",popupBlocked:"登入視窗被封鎖。允許彈出窗口,然後再次連接。",locked:"鎖定",unavailable:"不可用",unknownProvider:"{provider} 的連線資訊不可用。",disconnectedSelection:"已儲存的提供者已中斷連線。在“設定”中重新連線。",disabledProvider:"此提供者在目前伺服器配置中已停用。",selectionUnavailable:"所選的 MCP 提供者不可用。在“設定”中檢查其連接。",higgsfieldLocked:"該提供者的代數已鎖定。",toolCount:"{count} 工具",toolCountUnknown:"工具數量未知",snapshotChanges:"{count} 架構更改",billingLabel:"計費",billingSubscription:"訂閱積分",billingApi:"API 使用計費",billingUnknown:"未知",generateFailed:"無法啟動 MCP 產生。",errorUnsupportedInput:"此模型不支援選定的參考類型之一。選擇相容型號或將其刪除。",errorEndRequiresStart:"在新增結束幀之前選擇開始幀。",errorInvalidReferences:"一張或多張參考影像不再可用。再次選擇他們。",errorInvalidFrame:"所選幀或影片不再可用。再選擇一次。",errorTempReferences:"無法準備本地參考影像。再選擇一次。",status:{disconnected:"已斷開連接",connecting:"正在連接",auth_required:"需要登入",connected:"已連接",offline:"離線",error:"錯誤"},characterSlotLabel:"特點",characterSlotNone:"無字元綁定",characterSlotConflictHint:"刪除 @element 提及使用字元綁定 - 它們不能組合。"},pT={image:"影像",video:"影片"},gT={free:"免費",approx:"〜${amount}",multimodeApprox:"最高~${amount} ({count})",label:"預估成本"},hT={extend:"延長影片",extendTitle:"從此影片的最後一幀繼續產生",download:"下載",copyImage:"複製影像",copyLastFrame:`最後
|
|
20
20
|
框架`,copyFirstFrame:`第一
|
|
21
21
|
框架`,copyMidFrame:`中
|
|
22
|
-
框架`,copyPrompt:"複製提示",continueHere:"在這裡繼續",continueHereTitle:"導入此圖像的提示並繼續工作",continueAsUrl:"URL 繼續",continueAsUrlTitle:"繼續使用原始提供者URL(1小時後過期)",animate:"動畫",animating:"動畫…",animateTitle:"從此影像產生 Grok 影片(影像到影片)",firstNode:"第一 node",firstNodeTitle:"將此圖像傳送至 Node 模式作為首先準備好的 node",info:"資訊",infoTitle:"顯示產生詳細資訊和出處",delete:"刪除",deleteTitle:"移至垃圾箱",more:"更多的",sendToComfyUI:"發送至 ComfyUI",sendToComfyUITitle:"將已儲存的圖片上傳至本機ComfyUI",permanentDelete:"永久刪除",permanentDeleteConfirm:"永久刪除“{filename}”?此操作無法撤銷。",upscale:"高級",upscaleTitle:"透過 Runway (MCP) 進行升級",upscaleFlavor:"味道",upscaleFlavorAuto:"自動",upscaleStart:"開始高檔",upscaleStarted:"高級開始",upscaleFailed:"高檔失敗",upscaleInvalid:"無效的高檔參數",editVideo:"編輯影片",editVideoTitle:"用提示詞修改此影片(grok-imagine-video)",editVideoPrompt:"想如何修改這段影片?例如:把衣服改成紅色"},yT={switchTitle:"切換會話",loading:"載入中...",newSession:"新會話",newSessionTitle:"新會話",renameTitle:"重新命名",renamePrompt:"會話名稱",deleteTitle:"刪除",deleteConfirm:"刪除會話“{title}”?此操作無法撤銷。",empty:"還沒有工作階段",firstGraph:"我的第一張圖",untitled:"無標題工作階段",assetAbortedError:"一代並沒有乾淨地結束。從此 node 重試。"},vT={ariaLabel:"UI 模式",classic:"經典的",node:"Node",cardNews:"卡新聞",agent:"代理人"},bT={workspace:"座席工作區",workspaceActionFailed:"操作失敗:{reason}",bootFailed:"無法載入代理工作區",bootRetry:"重試",topbarBackToStudio:"返回工作室",topbarStudio:"工作室",topbarOpenQueue:"開啟佇列,{count} 活動作業",topbarCloseQueue:"關閉佇列",topbarQueueSheet:"生成隊列",title:"代理人",newSession:"新代理",sessions:"工作階段",openSessions:"顯示工作階段",closeSessions:"隱藏工作階段",sessionsUseRail:"將會話固定為緊湊型導軌",sessionsUseExpanded:"固定擴展會話列表",sessionSearch:"搜尋會話",renameSession:"重新命名會話",deleteSession:"刪除會話",deleteConfirm:"刪除“{title}”?",imageCount:"{count} 影像",compacted:"壓實",web:"網路",chat:"聊天",user:"使用者",assistant:"代理人",tool:"工具",toolExpand:"顯示工具詳細信息",toolCollapse:"隱藏工具詳細信息",toolImageCount:"{count} 張圖片",toolCallCount:"{count} 調用",toolGroup:"工具運行",toolInput:"輸入",toolOutput:"輸出",toolsShowMore:"更多的",toolsShowLess:"較少的",toolArtifacts:"文物",requestId:"請求ID",duration:"時長",toolStatus:{queued:"排隊",running:"跑步",complete:"完全的",error:"錯誤"},rightSidebar:"代理端工具",sidebarTabs:{image:"影像",library:"圖書館",forms:"表格",quality:"品質",model:"模型",queue:"佇列"},modelSettings:"模型設定",closeModelSettings:"關閉模型設定",openModelSettings:"開啟模型設定",modelTabView:"在「模型」標籤中查看",model:"模型",provider:"提供者",reasoningEffort:"推理",generationStrategy:"發電計劃",generationStrategyAuto:"根據用戶要求",generationStrategyManual:"固定計數",quality:"品質",size:"尺寸",format:"格式",moderation:"內容審查",variantsCount:"變體",maxAutoVariants:"自動最大",parallelism:"平行性",promptLibrary:"提示庫",forms:"表格",noForms:"沒有表單模板",insertPrompt:"插入",queue:"佇列",runningShort:"跑步",queuedShort:"等待",queueEmpty:"沒有排隊的代理工作。",cancelQueue:"取消",retryQueue:"重試",sessionRunning:"代運行",sessionQueued:"{count} 已排隊",sessionError:"產生錯誤",queueStatus:{queued:"排隊",running:"跑步",succeeded:"完畢",failed:"失敗的",canceled:"取消"},statusReady:"可用",statusGenerating:"產生",statusReconnecting:"重新連接",pending:"正在產生回應...",pendingQueued:"排隊等候...",pendingPlanning:"計劃回應...",pendingGenerating:"運行工具並生成...",runError:"運行失敗",errorRole:"錯誤",composerPlaceholder:"詢問任何問題或描述要創建什麼",slashCommands:"代理斜杠命令",slashDesc_question:"提出問題而不產生圖像",slashDesc_variants:"產生 N 個影像變體 (1-24)",slashDesc_generate:"有界扇出生成 (1-24)",slashDesc_parallelism:"限制並發工具調用",slashDesc_help:"顯示可用指令",attachReference:"附上參考資料",send:"傳送",webSearch:"使用搜尋",emptyChat:"輸入訊息以開始圖像或視訊工作。",emptyJumpLatest:"跳轉至最新",queueSummary:"{active} 有效 · {failed} 失敗",queuePlanSummary:"變異 {variants} · 並行 {parallel}",queueDetails:"技術細節",queueAnnouncement:"佇列已更新:{running} 正在運行,{queued} 已排隊,{failed} 失敗",queueTimeAgo:"{value} {unit} 前",queueTimeUnit:{second:"秒",minute:"分分鐘",hour:"小時"},progressQueued:"排隊等候",progressPlanning:"準備請求",progressGenerating:"產生",progressDownloading:"下載結果",progressFailed:"運行失敗",progressJob:"{kind} · {count} 變體",mediaKind:{image:"影像",video:"影片"},mediaSelect:"分眾媒體",mediaLoading:"載入影片",mediaLoadFailed:"影片無法載入。",mediaRetry:"重試",mediaVideoLabel:"生成的視頻",mediaDuration:"持續時間 {duration}",mediaDurationUnknown:"持續時間不可用",mediaDownload:"下載",imagePane:"影像",currentImage:"目前影像",openImage:"打開圖片",closeImage:"關閉影像",selectImage:"焦點影像",variants:"變體",contextTabs:"影像上下文",imageTab:"影像",refsTab:"參考文獻",webTab:"網路",memoryTab:"記憶",noImage:"沒有當前影像",noRefs:"沒有參考文獻",noWeb:"沒有網路證據",memoryItemStyle:"樣式鎖定保留在圖像上下文中。",memoryItemSubject:"主題鎖定在恢復後恢復。",imageAlt:"代理形象",filename:"文件",prompt:"提示詞",stageEmptyHint:"在此處發送您的第一個查看圖片的請求",toolLabel:{getImageContext:"讀取圖片脈絡",webSearch:"網頁搜尋",generateImage:"生成圖片",generateVideo:"生成影片",getGenerationErrors:"查詢生成錯誤"},toolsPanel:"工具",openTools:"打開工具面板",closeTools:"關閉工具面板"},AT={workspace:"卡新聞工作區",composer:"卡新聞",composerHint:"模板是視覺快照;輸出尺寸單獨設定。",topic:"話題",topicPlaceholder:"例如考試復出計劃",audience:"觀眾",audiencePlaceholder:"例如父母",goal:"目標",goalPlaceholder:"例如預約諮詢",brief:"簡短的",briefPlaceholder:"描述卡片新聞內容、所需要點和排除內容。",outputSize:"輸出尺寸",customSize:"風俗",draft:"摘要草案",drafting:"起草...",generateSet:"生成集",batchGenerate:"批量生成",generating:"生成...",generated:"產生 {count} 卡。",missingGeneratedCard:"產生回應不包括這張卡。",error:"卡生成失敗。",imageTemplate:"圖片模板",roleTemplate:"卡牌結構",newTemplateLater:"開發 MVP 後計畫客製化模板",emptyTitle:"等待草稿",emptyBody:"使用左側設定面板準備卡片組。",inspector:"卡片檢驗員",cardTitle:"卡標題",headline:"標題",body:"身體",visualPrompt:"圖片提示",summaryCopy:"摘要副本",designPrompt:"場景/設計提示",textFields:"文字方塊",addTextField:"新增文字框",removeTextField:"消除",noTextFields:"還沒有文字方塊。",textFieldText:"文字",textKind:"種類",placement:"放置",renderMode:"渲染模式",hierarchyLabel:"等級制度",textTooLong:"文字超出建議長度。",selectTextField:"選擇文字方塊:{text}",textKinds:{headline:"標題",body:"支援文字",caption:"標題",cta:"電腦輔助科技協會",badge:"徽章",number:"數位"},renderModes:{"in-image":"在影像中","ui-only":"僅 UI"},hierarchy:{primary:"基本的",secondary:"中學",supporting:"配套"},placements:{"top-left":"左上角","top-center":"頂部中心","top-right":"右上角","center-left":"中偏左",center:"中心","center-right":"中右","bottom-left":"左下角","bottom-center":"底部中心","bottom-right":"右下角",free:"免費"},roles:{cover:"覆蓋",hook:"鉤",problem:"問題",insight:"洞察力",example:"例子",data:"數據",summary:"概括",cta:"電腦輔助科技協會"},locked:"鎖定",unlocked:"解鎖",noCard:"未選擇卡",generatedMeta:"產生的元數據",lockedHelp:"鎖定的卡片不參與批量生成和重試。",retryCard:"重試此卡",actions:{copyPrompt:"複製提示",copyCopy:"複製複製",openImage:"打開圖片",downloadCard:"下載"},status:{draft:"草稿",queued:"排隊",generating:"產生",generated:"完畢",error:"錯誤",skipped:"跳過",locked:"鎖定"},progress:{generating:"產生 {done}/{total}",summary:"完成 {done}/{total}",detail:"{queued} 已排隊 · {errors} 錯誤 · {skipped} 已跳過",cardGenerating:"產生這張卡。"},planner:{structured:"結構化 JSON",jsonMode:"JSON 模式",repaired:"已修復",fallback:"後備草案",jsonOnlyHelp:"草稿僅建立 JSON。圖像稍後生成。",error:"草稿失敗"}},ST={selectedCameraPresets:"選定的攝影機運動預設",plannerModelTitle:"規劃模型",reasoningEffortTitle:"推理努力",modeLabel:"視訊模式",mode:{"text-to-video":"文字→影片(無參考圖)","image-to-video":"圖片 → 影片(1 篇參考)","reference-to-video":"參考 → 影片({n} 參考)"},seriesTopicTitle:"系列專題",seriesTopicPlaceholder:"例如韓國旅遊視訊博客",durationTitle:"長度",resolutionTitle:"解析度",resolution1080Help:"1080p 使用 Grok V1.5 進行僅提示或單一影像/幀影片。它不適用於 2 個以上的參考文獻。",aspectTitle:"縱橫比",plannerUpdateFailed:"無法更新規劃器模型。之前的設定已恢復。",durationClampedToModel:"此模型的參考生成影片最長為 {seconds} 秒",continuationFallbackT2V:"無法提取連續幀。生成將繼續以文字到影片的形式進行。",singleRefTitle:"單張參考的用法",singleRefHelp:"選擇將該圖片作為首格,還是僅作參考。兩張以上一律作為參考。",singleRef:{source:"以此圖開場",reference:"僅作參考"},voiceSection:"語音",voiceLimit:"最多 {max} 個。在提示詞中以 <AUDIO_0> 指稱",voiceNeeds15:"僅 grok-imagine-video-1.5 支援語音",voiceCustomPlaceholder:"自訂語音 ID (/v1/custom-voices)"},TT={appName:"影像生成器",imageModelLabel:"模型",imageSectionLabel:"影像",gptImageSubLabel:"GPT-IMAGE-2",grokImageSubLabel:"Grok Imagine",geminiImageSubLabel:"Gemini",videoSectionLabel:"影片",imageModelAria:"選擇圖像模型",quickSettingsAria:"選擇模型和推理工作。當前模型{model},推理{effort}",quickSettingsModelOnlyAria:"選擇圖像模型。目前型號 {model}",quickSettingsMenu:"模型和推理快速設置",reasoningLabel:"推理",videoModelLabel:"影片",nodeModeHint:"在 node 模式下,按一下 node 編輯其提示並產生。右側面板上的設定(品質/尺寸)適用於每個新結果。"},CT={openAria:"開啟設定",openTitle:"設定",closeAria:"關閉設定",closeTitle:"返回畫布",navAria:"設定部分",contentAria:"設定內容",jumpTo:"跳到 {section}",title:"設定",sections:{providers:{title:"供應商",hint:"帳戶、金鑰、模型"},workspace:{title:"工作空間",hint:"簡介、佈置、畫廊"},general:{title:"一般的",hint:"語言"}},promptBuilder:{title:"提示建構器後端",body:"選擇用於最佳化提示詞的文字後端。自動模式會依序嘗試 OAuth、Grok、OpenAI API 和 Grok API;每次成功回覆都會顯示實際使用的後端。",backendLabel:"建構器後端",modelLabel:"建構器模型",modelBody:"僅顯示所選後端支援的模型。",envLocked:"由環境變數管理。"},account:{naiTitle:"NovelAI",naiEyebrow:"權杖",naiBody:"使用持久權杖,下方顯示 V5 Opus 電量和 Anlas 餘額。",primaryEyebrow:"活躍的提供者",oauthTitle:"GPT OAuth",oauthBody:"GPT OAuth 產生貫穿您的 Codex OAuth 會話。配置有效密鑰後,您可以切換到 API-密鑰模式。",apiSourceEnv:"偵測到 OPENAI_API_KEY",apiSourceConfig:"偵測到 config.json API 密鑰",apiTitle:"OpenAI API 密鑰",apiBody:"ima2-gen 可以使用此 API 密鑰透過回應 API 進行產生、編輯、多重模式和 node 請求。",apiDisabled:"不可用",apiReady:"可用",apiUnavailable:"不可用",apiUnknown:"狀態未知",grokEyebrow:"xAI OAuth",grokTitle:"Grok",grokBody:"使用 xAI OAuth 工作階段直接呼叫 xAI Images API 產生影像。",agyEyebrow:"Antigravity CLI",agyTitle:"Gemini (agy)",agyInstalledBody:"無法檢測登入狀態。如果產生失敗,請在終端機中執行 `agy login` 。",agyMissingBody:"未安裝。獲取",agyMissingLink:"Antigravity CLI",agyFineprint:"Antigravity 模型和影像配額是單獨計費。",agyInstalled:"已安裝",agyMissing:"未安裝",status:{ready:"可用",authRequired:"需要登入",starting:"開始",offline:"離線",noImageModel:"無影像模型",error:"錯誤",checking:"檢查"}},quota:{naiBattery:"V5 電量",naiAnlas:"Anlas",naiNegative:"充電中(負值)",naiNextPercent:"{minutes} 分鐘後 +1%",naiMeterMissing:"無法取得 V5 電量。",naiAnlasFallback:"V5 電量已耗盡,可使用 Anlas 繼續生成。",naiNotConfigured:"NovelAI 權杖未設定或無效。",codexNotLoggedIn:"未登入",fetchError:"無法加載配額",noData:"無使用數據",grokUsageLink:"看 Grok 用法 →",switchAccount:"切換 {provider} 帳戶",startingLogin:"開始登入...",enterCode:"在打開的選項卡中輸入此代碼:",completeInBrowser:"請在開啟的 ChatGPT 頁面完成登入,此卡片會自動更新。",useDeviceCode:"改用裝置代碼登入",retry:"重試",copyLink:"複製連結",copied:"已複製",waitingApproval:"等待批准...",switchComplete:"帳號已切換。清爽…",switchFailed:"帳戶切換失敗",tryAgain:"再試一次"},imageModel:{title:"影像模型",body:"選擇供後代使用的影像模型。選擇其他提供者(Grok、OpenAI API、Gemini 等)的模型會切換到該提供者。",gpt54Mini:"GPT-5.4 迷你",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt6Luna:"GPT-6 Luna",gpt6Sol:"GPT-6 Sol",gpt6Astra:"GPT-6 Astra",gpt56Sol:"GPT-5.6 索爾",gpt56Terra:"GPT-5.6 泰拉",gpt56Luna:"GPT-5.6 露娜",grokImagine20:"Grok Imagine 圖像 2.0",grokImagine:"Grok Imagine",grokImagineQuality:"Grok Imagine 質量",nanoBanana2:"奈米香蕉2",nanoBanana2Api:"奈米香蕉2",nanoBananaPro:"奈米香蕉專業版",atlasCloudGptImage2:"阿特拉斯雲 GPT Image 2",atlasCloudGptImage2Edit:"阿特拉斯雲 GPT Image 2 編輯",minimaxImage01:"MiniMax image-01",minimaxImage01Live:"MiniMax image-01-live",agy:"Antigravity (agy)",gpt53CodexSpark:"GPT-5.3 Codex Spark — 不支援影像",unsupportedHelp:"Grok 模型使用 xAI OAuth 工作階段呼叫 xAI 的圖像 API。 GPT 模型使用 OpenAI 回應影像產生。",naiDiffusion5Full:"NAI Diffusion V5 Full",naiDiffusion5Curated:"NAI Diffusion V5 Curated",naiDiffusion45Full:"NAI Diffusion V4.5 Full",naiDiffusion45Curated:"NAI Diffusion V4.5 Curated"},apiKeys:{accordionTitle:"API 密鑰",envSource:"從環境載入",configSource:"從配置載入",openai:{label:"GPT API 密鑰 (OpenAI)",placeholder:"貼上您的 OpenAI API 密鑰(sk-...)"},xai:{label:"Grok API 密鑰 (xAI)",placeholder:"貼上您的 xAI API 密鑰 (xai-...)"},gemini:{label:"Gemini (Google)",placeholder:"貼上您的 Gemini API 密鑰(AI...)"},atlascloud:{label:"阿特拉斯雲",placeholder:"貼上您的 Atlas Cloud API 金鑰(apikey-...)"},minimax:{label:"MiniMax",placeholder:"貼上您的 MiniMax API 密鑰"},vertex:{label:"Vertex AI(服務帳戶)",placeholder:'貼上您的 Google 雲端服務帳號 JSON { "type": "service_account",... }',authModeApiKey:"API 密鑰",authModeVertex:"頂點 JSON"},save:"節省",saved:"已儲存",saving:"正在驗證...",remove:"移除",saveFailed:"無法儲存密鑰",networkError:"網路錯誤。再試一次。",removeFailed:"無法移除鑰匙",configuredReplace:"已配置 — 按一下以取代",status:{valid:"有效的",notConfigured:"未配置"},nai:{label:"NovelAI",placeholder:"貼上您的 NovelAI 永久 API 權杖"}},videoModel:{grokImagine:"Grok Imagine 視頻",grokImagine15:"Grok Imagine 影片 1.5"},reasoning:{title:"推理努力",body:"更高的努力會在生成之前花費更多的推理令牌來規劃、網路搜尋和提示豐富。",none:"關——沒有額外的推理",low:"低——最快、最少的推理",medium:"中 — 平衡預設值",high:"高——更深入的研究與綜合",xhigh:"Xhigh — 擴展推理,速度較慢",max:"Max-最大推理,最慢"},webSearch:{title:"網頁搜尋",body:"在生成之前使用即時搜尋來尋找真實的人物、品牌、產品、地點和最近的事件。",on:"搜尋於",off:"關閉搜尋"},grokCompatibility:{title:"Grok 相容性",body:"Grok 圖像生成首先運行強製網絡搜索,然後將文字和附加圖像發送到本地圖像工具規劃器,該規劃器用英語編寫最終圖像提示。附上透過 xAI 影像編輯的參考路線;大小對應到寬高比/解析度。輸出格式、審核和推理僅由 GPT OAuth 和 API 密鑰提供者使用。"},grokPlanner:{title:"Grok 規劃器模型",body:"該模型用於搜尋和圖像/視訊提示規劃。 Grok 4.5 為默認,支援I2V/Ref2V 規劃的影像輸入;Grok 4.3 仍可用作相容性覆蓋。"},gallery:{defaultScopeTitle:"預設圖庫視圖",defaultScopeBody:"選擇開啟圖庫時顯示的內容。"},appearance:{historyStripLayoutTitle:"歷史縮圖",historyStripLayoutBody:"選擇緊湊的歷史記錄條位於工作區旁的方式。",historyStripLayout:{rail:"軌",horizontal:"頂排",sidebar:"側邊欄"}},language:{title:"語言",body:"切換介面語言,不會變更生成內容。"},theme:{title:"主題",body:"淺色、深色,或跟隨系統外觀。",label:"主題",light:"淺色",dark:"深色",system:"系統"}},ET={loading:"正在載入會話...",addFirst:"+ 增加第一個 node",addRootTitle:"加根 node",hint:"將手把拖曳到空白區域以進行分支。按刪除或退格鍵刪除。"},RT={title:"{provider} 不可用",ariaLabel:"{provider} 不可用"},NT={label:"語言",ko:"한국어",en:"English","zh-Hant":"正體中文","zh-Hans":"简体中文"},kT={close:"關閉",details:"顯示原始錯誤詳細訊息",unknown:{title:"發生意外錯誤",body:"請稍後重試。如果問題仍然存在,請複製下面的原始錯誤訊息並報告。"},moderationRefused:{title:"提示被審核阻止",body:"軟化措辭或改寫。參考圖像中的敏感/暴力內容也可能觸發此問題。",cta:"編輯提示",bodyInput:"您的提示文字已被輸入過濾器捕獲。嘗試改寫或使用不同的措詞。",bodyOutput:"產生的影像被輸出濾波器捕獲。嘗試更改樣式或品質設定。"},emptyResponse:{title:"沒有返回圖像",body:"Codex 回應但不包含影像資料。這不是一個調節塊 - 它可能是一個短暫的問題或不受支援的尺寸/品質/型號組合。重試,或嘗試不同的尺寸或型號。",cta:"重試"},streamParseFailed:{title:"無法解析圖像響應流",body:"響應數據到達,但應用程式無法乾淨地讀取圖像流。代理或瞬態流傳輸問題可能會發生這種情況。",cta:"重試"},imageToolNotCalled:{title:"未呼叫圖像工具",body:"響應已完成,但未觀察到圖像生成工具呼叫。重試相同的提示,或嘗試其他模型/搜尋設定。",cta:"重試"},webSearchOnlyResponse:{title:"未呼叫圖像工具",body:"僅運行網路搜尋;圖像生成工具沒有。關閉搜尋或重試請求。",cta:"重試"},imageToolFailed:{title:"圖像工具呼叫失敗",body:"呼叫了圖像生成工具,但最終以失敗狀態結束。如果重複出現此情況,請使用 `ima2 doctor image-probe --json` 輸出報告它。",cta:"重試"},imageToolNoResult:{title:"影像結果為空",body:"圖像工具呼叫已完成,但不包含圖像資料。這可能表示選項組合不受支援或帳戶功能問題。",cta:"重試"},providerEmptyImage:{title:"回傳的圖片是空的",body:"生成服務回傳了沒有內容的圖片。這通常是暫時問題,重試一般即可解決。",cta:"重試"},oauthImageCapabilityUnavailable:{title:"該帳戶可能沒有圖像工具存取權限",body:"GPT OAuth 已連接,但此帳戶/模型組合可能無權使用影像產生。與 API-key 模式或其他模式進行比較。",cta:"確定"},responsesStreamError:{title:"圖像響應流以錯誤結束",body:"OpenAI 在回應流中傳回了錯誤事件。請稍後重試,如果問題仍然存在,請檢查原始錯誤詳細資訊。",cta:"重試"},upstream5xx:{title:"OpenAI 目前正忙",body:"重試通常可以解決此問題。檢查 status.openai.com 如果它仍然存在。",cta:"重試"},authChatgptExpired:{title:"Codex ChatGPT 會話已過期",body:"在終端機中執行 `ima2 setup`(選項 1),然後重新載入此應用程式。",cta:"重新載入"},authApiKeyInvalid:{title:"API 金鑰驗證失敗",body:"金鑰遺失、無效、已撤銷、超出配額或綁定到錯誤的組織。切換到 GPT OAuth 或更新配置的 API 密鑰。",cta:"確定"},networkFailed:{title:"網路連線失敗",body:"無法存取 OpenAI 或本地運行時服務。先重新載入;如果問題仍然存在,請檢查 VPN/防火牆以及 `ima2 doctor` 顯示的連接埠。",cta:"重新載入"},oauthUnavailable:{title:"GPT OAuth 不可用",body:"GPT OAuth 正在啟動或無法連線到端點。先重新載入;如果仍然存在,請執行 `ima2 gpt status` 與 `ima2 doctor`。",cta:"重新載入"},invalidRequest:{title:"圖片請求需要更改",body:"一個或多個生成參數無效。檢查下面的原始錯誤詳細信息,然後編輯提示或大小並重試。",cta:"編輯輸入"},apikeyDisabled:{title:"API-按鍵模式不可用",body:"此版本支援 API-密鑰生成,但目前請求無法使用配置的密鑰。切換到 GPT OAuth 或更新 API 密鑰。",cta:"確定"},agyGenerationFailed:{title:"Gemini 產生失敗",body:"Antigravity CLI 回傳錯誤。檢查 agy 二進位檔案是否已安裝且您的 Gemini 帳戶是否處於活動狀態。",cta:"重試"},agyTimeout:{title:"Gemini 產生逾時",body:"agy 程序在逾時視窗(360 秒)內沒有回應。重試或檢查 agy CLI 狀態。",cta:"重試"},agyProcessError:{title:"Gemini 進程錯誤",body:"agy CLI 因意外錯誤而退出。驗證二進位檔案是否可以與「agy --version」一起使用。",cta:"重試"},agyQuotaExhausted:{title:"Gemini 配額已用完",body:"您已用盡 Gemini 圖像生成能力。您的配額將自動重設 - 檢查錯誤詳細資料中的重設計時器。",cta:"確定"},authClass:{title:"需要重新登入",body:"服務商認證已過期或金鑰遭拒。請至設定重新登入。",cta:"重新登入"},billingRequired:{title:"需要儲值",body:"此服務商帳戶餘額不足。請前往服務商主控台確認後重試。"},grokApiKeyMissing:{title:"需要 Grok API 金鑰",body:"請在設定 > 供應商中新增 xAI API 金鑰,然後重試。此圖像請求不會改用 Grok OAuth 通道。",cta:"開啟供應商設定"},naiApiKeyMissing:{title:"未設定 NovelAI 權杖",body:"請在設定中貼上 NovelAI 永久 API 權杖(以 pst- 開頭)。此通道不使用登入工作階段。",cta:"開啟設定"},naiAuthFailed:{title:"NovelAI 拒絕了該權杖",body:"已儲存的權杖無效或已被撤銷。請在 NovelAI 帳號設定重新簽發永久權杖並再次儲存。",cta:"開啟設定"},naiSubscriptionRequired:{title:"需要 NovelAI 訂閱",body:"影像生成需要有效訂閱(Opus、Scroll 或 Tablet)。權杖有效,但目前方案不含此請求。",cta:"關閉"},naiUsageExhausted:{title:"NovelAI V5 電量耗盡",body:"Opus V5 使用額度已耗盡,且沒有剩餘 Anlas。請切換至 V4.5 模型,或等待電量恢復。",cta:"關閉"},naiZipInvalid:{title:"無法讀取 NovelAI 影像壓縮檔",body:"回傳的壓縮檔無法解碼。通常是暫時性問題,請重試。",cta:"重試"},naiResponseNotZip:{title:"NovelAI 回傳了非預期格式",body:"回傳的並非影像壓縮檔。請重試;若持續失敗,可能是 NovelAI 服務異常。",cta:"重試"},naiImageInvalid:{title:"未回傳可用影像",body:"請求成功但不含有效 PNG。請重試,或調整模型與尺寸。",cta:"重試"},naiUpstreamError:{title:"NovelAI 請求失敗",body:"未能完成生成。請稍後重試;反覆失敗通常表示上游異常。",cta:"重試"}},GT={title:"提示庫",saveTitle:"儲存到提示庫",save:"節省",saved:"提示已儲存",saveFailed:"保存失敗",name:"姓名",tags:"標籤",search:"搜尋提示...",favorites:"收藏夾",load:"載入",insert:"插入",inserted:"提示已插入",removeInserted:"刪除插入的提示 {name}",favorite:"最喜歡的",unfavorite:"不喜歡",empty:"尚未儲存提示。",content:"內容",copy:"複製",untitled:"無題",addNew:"新增提示",import:"進口",importFiles:"匯入.txt、.md、.markdown 或 GitHub 文件",dropImport:"拖曳.txt、.md 或.markdown 檔案以匯入提示",importTitle:"導入提示",importDropTitle:"將文件拖到此處",importDropHint:"儲存前預覽.txt、.md 和.markdown 文件",importChooseFiles:"選擇文件",importGithubLabel:"GitHub 檔案 URL 或路徑",importPreview:"預覽",importPreviewEmpty:"拖放檔案或輸入 GitHub 路徑來預覽候選。",importCommit:"儲存選定的內容",importSelected:"導入選定的 ({count})",importThisPrompt:"導入此提示",previewPrompt:"預覽",selectPrompt:"選擇",selectedPrompt:"已選擇",selectedCount:"已選擇 {count}",selectAllCandidates:"選擇全部",clearCandidateSelection:"清除",addAnotherSource:"增加另一個來源",searchResultsHeader:"搜尋結果 ({count})",searchResults:"搜尋結果",promptText:"提示文字",importSelectAtLeastOne:"至少選擇一個提示進行儲存。",imported:"導入的 {count} 提示",importFailed:"導入失敗",importNoValidFiles:"未找到.txt、.md 或.markdown 提示檔。",curatedSources:"精選來源",curatedSourcesHint:"搜尋已索引的公共提示來源",curatedSearch:"搜尋",curatedSearchPlaceholder:"奈米香蕉,gpt-image-2,排版......",refreshSource:"重新整理",curatedRefreshed:"已索引的 {count} 提示候選者",sourceTrustTier:"來源信任",requiresAttribution:"需要歸屬",sourceDetails:"來源",license:"執照",attributionRequired:"需要歸屬",modelHints:"型號提示",taskHints:"任務提示",warnings:"警告",compatibilityWarnings:"相容性警告",transparentUnsupportedGptImage2:"gpt-image-2 不支援透明背景",noCuratedResults:"未找到精選的提示候選人。",discovery:"發現",discoverySearch:"搜尋 GitHub",discoverySearchPlaceholder:"搜尋提示儲存庫...",discoveryCandidates:"發現候選人",discoveryApprove:"核准",discoveryReject:"拒絕",discoveryApproved:"得到正式認可的",discoveryRejected:"被拒絕",discoveryScore:"分數",discoveryWarnings:"發現警告",discoveryRateLimited:"GitHub 發現是有速率限制的。",discoveryNoResults:"未找到發現候選。",discoveryReviewQueue:"審核佇列",discoveryRequiresPaths:"在預設搜尋之前新增已審閱的檔案路徑。",folderBrowse:"瀏覽資料夾",folderBrowseHint:"從 GitHub 資料夾載入支援的文件",folderFiles:"資料夾檔案",folderFilesEmpty:"找不到可匯入的.md、.markdown 或.txt 檔案。",folderPreviewSelected:"預覽選定的文件",folderSelectedCount:"已選擇 {count}",folderWarnings:"資料夾警告",folderTooManyFiles:"文件太多;顯示有限集。",folderNoSelection:"選擇要預覽的文件。",folderUnsupported:"僅支援 GitHub 資料夾。"},OT={title:"提示產生器",subtitle:"透過多輪上下文細化提示。",scopeDraft:"新作品",scopeImage:"所選影像:{name}",scopeImageFallback:"目前影像",newWorkTitle:"在沒有圖像上下文的情況下開始新的工作",model:"建造者模型",modelAuto:"使用後端預設模型",viaBackend:"經由 {backend}",backends:{auto:"自動",oauth:"GPT OAuth",api:"OpenAI API",grok:"Grok",grokApi:"Grok API"},empty:"描述一下你想要的方向。我將包括您當前的提示和設定作為上下文。",user:"你",assistant:"建設者",placeholder:"我們該樹立什麼樣的形象?",send:"傳送",sending:"寫作",thinking:"完善提示...",clear:"清除",applyToPrompt:"適用於提示",insertAsBlock:"插入區塊",finalKoreanPrompt:"韓語提示",finalEnglishPrompt:"英文提示",blockName:"建造商建議",applied:"建構器建議應用於主提示",inserted:"作為提示區塊插入的建構器建議",failed:"提示建構器請求失敗",configLoading:"正在載入建構器設定...",configUnreadable:"無法儲存:~/.ima2/config.json 無法讀取。請修正或移動該檔案後再試一次。",removeScopeImage:"從建構器上下文中刪除選定的影像",removeAttachment:"刪除附件 {name}",attach:"附加文件",attachmentOnlyMessage:"使用附加文件作為上下文並根據提示提供協助"},MT={sectionTitle:"工作空間",sectionBody:"選擇工作區佈局設定檔。",profileLabel:"工作區設定檔",defaultLabel:"預設",defaultDesc:"帶有側邊欄編輯器的標準生成工作流程。",promptStudioLabel:"提示工作室",promptStudioDesc:"提示建構器面板、分組記錄和增強的檢視器。"},IT={controls:"圖像縮放控件",zoomIn:"放大",zoomOut:"縮小",reset:"重設變焦"},wT={title:"紀錄",empty:"還沒有產生日誌",copied:"提示已複製",copy:"點選複製提示",loadFailed:"無法載入生成日誌。",retry:"重試",detailOpen:"點擊查看詳情",detailTitle:"生成請求",detailTime:"時間",detailRequestId:"請求 ID",detailCounts:"成功 / 請求",detailError:"錯誤代碼",detailPrompt:"提示詞",detailPromptEmpty:"(無提示詞)",detailErrorMessage:"失敗原因"},xT={writeFailed:"無法寫入剪貼簿。"},LT={graphSaveFailed:"無法儲存 node 圖表。",sessionSwitchSaveFailed:"由於無法儲存目前圖形,會話切換已停止。",sessionInitialLoadFailed:"無法載入會話。",sessionInitialLoadRetry:"無法載入會話。現在重試?",attachmentReadFailed:"無法讀取一個或多個附件。"},DT={ariaLabel:"主導航",home:"家",create:"創造",node:"Node 圖",agent:"代理人",assets:"資產",assetGen:"資產生成",settings:"設定",collapseSidebar:"收合側邊欄",expandSidebar:"展開側邊欄",desktopSettings:"應用程式設定"},PT={title:"資產生成",lede:"建立圖片或短片,然後一鍵移除背景。",prompt:"提示詞",promptPlaceholder:"一個紅蘋果,工作室產品拍攝",background:"背景",backgroundHint:"綠色背景最適合去背;不確定時就選綠色。",bgChroma:"色度綠幕",bgWhite:"白色",bgBlack:"黑色",bgTransparent:"透明",bgTransparentGptOnly:"透明背景僅支援 GPT 通道;Grok 沒有 Alpha 參數。",backgroundHintTransparent:"GPT Image 2 直接產生真正的 Alpha 通道,不需再去背。儲存為 PNG。",model:"模型",modelGpt:"GPT",modelGrok:"Grok",kind:"輸出",kindImage:"影像",kindVideo:"影片",videoSoon:"影片功能稍後推出",videoGrokOnly:"影片生成需要使用 Grok,請切換模型。",videoOptions:"影片選項",videoDuration:"影片時長",videoResolution:"影片解析度",videoAspect:"縱橫比",generate:"產生資產",generating:"生成…",emptyTitle:"還沒有資產",emptyBody:"在左側寫下提示,然後按下「產生資產」。結果顯示在此處並自動儲存到您的項目中。",emptySessionTitle:"本次工作階段尚未生成內容",emptySessionBody:"先前的結果已儲存在專案中。生成新內容,或瀏覽既有資產。",emptySessionCta:"瀏覽專案資產",generateHint:"先輸入提示詞,按鈕會自動啟用。",previewImage:"開啟影像預覽:{prompt}",previewVideo:"開啟影片預覽:{prompt}",previewDialogTitle:"預覽:{prompt}",closePreview:"關閉預覽",zoomIn:"放大",zoomOut:"符合螢幕大小",openHintImage:"放大",openHintVideo:"播放",imageFallback:"生成的圖像",videoFallback:"生成的視頻",emptyCta:"寫下你的第一個提示",errorTitle:"生成提示",errorHint:"請檢查模型與 API 金鑰設定後再試一次。",errorDismiss:"關閉",savedHint:"結果會自動儲存到您的專案中。",savedLink:"在資產中查看",railTitle:"專案資產",railEmpty:"該項目中尚未保存資產。",railError:"無法載入專案資產。",sequence:"影格序列",candidates:"候選影格",frameAria:"第 {n} 格,{rail}",addFrame:"加入",removeFrame:"移除",deleteFrame:"刪除第 {n} 格"},UT={select:"專案",unassigned:"未分配",new:"新項目…",newPrompt:"項目名稱",search:"尋找項目...",searchPlaceholder:"搜尋項目",searchEmpty:"沒有匹配的項目",close:"關閉",saveRetry:"重試保存"},zT={title:"角色表",open:"開啟角色表",close:"關閉角色表",state:"動畫狀態",unsaved:"未儲存的更改",discardConfirm:"放棄未儲存的精靈變更嗎?",loadError:"無法載入此精靈運行。",saveError:"無法保存策展。",bakeError:"無法製作角色圖集。",exportError:"無法匯出精靈動畫。",previous:"上一幀",play:"播放",pause:"暫停",next:"下一幀",speed:"速度",grid:"網格",transform:"影格變換",rotate:"旋轉",scale:"縮放",dx:"移動 X",dy:"移動 Y",shx:"剪切X",shy:"剪切Y",flipX:"水平翻轉",sequence:"影格序列——播放與製作順序",candidates:"候選影格庫",frameAria:"第 {n} 格,{rail}",addFrame:"加入",removeFrame:"移除",deleteFrame:"刪除第 {n} 格",save:"儲存角色表",bake:"製作角色圖集",contactSheet:"縮圖總覽",gif:"匯出 GIF",status:{loading:"載入中…",ready:"已儲存",saving:"儲存中…",baking:"製作中…",exporting:"匯出中…",error:"操作失敗"}},_T={title:"刪除背景",open:"刪除背景",original:"原圖",originalAlt:"去除背景前的原圖",removed:"背景已移除",previewLoading:"準備刪除背景預覽...",resultBadge:"背景已移除",keyColor:"去背色",pickHint:"點選預覽重新選擇主色",clickMode:"預覽點擊功能",modeErase:"點擊以擦除",modePick:"選擇去背色",eraseHint:"按一下空白區域以僅刪除該連線區域",undoClick:"撤銷點選 ({count})",previewAlt:"棋盤上的摳像預覽",tolerance:"去背強度",softness:"邊緣柔化",spill:"清理色溢",unmix:"邊緣去混色",unmixHint:"恢復半透明邊緣(僅限色度鍵)",reset:"重置",download:"下載透明 PNG",save:"儲存到項目",saving:"儲存中…",videoSave:"建立 alpha WebM",videoKeying:"鍵控影片... {seconds}s",videoSaved:"Alpha WebM 儲存到項目",saved:"Alpha PNG 儲存到專案中",saveError:"無法保存摳像影像",loadError:"無法載入此圖片進行摳像。關閉並重試。",advanced:"微調去背(進階)"},HT={title:"轉換為 SVG",open:"向量化",hint:"最適合去背圖、圖示與色塊邊界清晰的圖形。照片和小字會糊掉。",original:"原圖",originalAlt:"轉換前的原始影像",result:"向量結果",resultAlt:"轉換後的 SVG 結果",idle:"尚未轉換",running:"轉換中…",run:"轉換為 SVG",preset:"轉換方式",preset_auto:"自動",preset_flat:"平塗色塊",preset_detailed:"精細",preset_mono:"黑白剪影",advanced:"細節調整(進階)",colorPrecision:"顏色精度",filterSpeckle:"雜點過濾",cornerThreshold:"轉角角度",reset:"預設值",download:"下載 SVG",saved:"已將 SVG 儲存到專案",saveError:"轉換失敗",stats:"{paths} 條路徑 · {size}"},qT={ariaLabel:"快速行動",animate:"動畫",edit:"在畫布中編輯",useAsRef:"用作參考",rebake:"再生",refAdded:"新增為參考影像",refFailed:"無法新增參考",saveToAssets:"保存到資產",savedToAssets:"保存到資產",saveToAssetsFailed:"無法保存到資產"},BT={title:"資產",clearAll:"全部清除",clearConfirm:"刪除所有已儲存的資源?此操作無法撤銷。",testSheetsUnavailable:"元素測試表尚不可用。",detailAria:"{name} 詳細信息",searchPlaceholder:"搜尋資產...",allAssets:"所有資產",elementLibrary:"元素庫",removeFromElements:"從元素庫中刪除",emptyElementsTitle:"還沒有元素",emptyElementsBody:"元素是可重複使用的@可提及的參考(人物、產品、風格、場景)。將圖庫圖像儲存到資產並推廣它,然後在任何地方使用 @ 提及它。",newFolder:"新建資料夾",kindAll:"所有類型",kindImage:"圖片",kindVideo:"影片",kindElement:"元素",kindPreset:"預設",kindTemplate:"範本",emptyTitle:"還沒有資產",emptyBody:"尚未保存任何內容。在資產生成標籤中產生您的第一張圖像 - 結果會自動保存在此。",emptySearchTitle:"沒有匹配項",emptySearchBody:"嘗試不同的搜尋、標籤或類型過濾器。",emptyFolderTitle:"該資料夾是空的",emptyFolderBody:"將資源移至此處或將新結果儲存到此資料夾。",deleteAsset:"從資產中刪除",confirmDelete:"刪除?",loadMore:"加載更多",rootFolder:"頂級",renameFolder:"重新命名資料夾",renameAsset:"重命名資產",starAsset:"明星資產",unstarAsset:"刪除資產星級",deleteFolder:"刪除資料夾",actionFailed:"操作失敗",starSaved:"新增到資產",starSaveFailed:"已加星標,但無法新增至資產",itemCount:"{count} 項目",emptyCta:"開放資產生成",loadErrorTitle:"無法載入資源",loadErrorBody:"載入您的庫時出現問題。",retry:"再試一次",detailClose:"關閉資產詳細信息",detailKind:"類型",detailCreated:"建立時間",detailProvider:"模型",detailPrompt:"提示詞",detailTags:"標籤",bindingsTitle:"提供者綁定",bindingsHelp:"該角色如何連接到外部提供者。",bindingStateless:"每代的引用數",bindingTagPlaceholder:"runway @tag (可選)",bindingSave:"保存綁定",bindingSaving:"保存…",bindingTagInvalid:"標籤必須是 1-32 個字母、數字、底線或連字號。",bindingCapWarning:"角色有 {count} 引用 — Runway 每代最多接受 3 個。",bindingTrain:"火車靈魂ID",bindingTrainLockedHint:"需付費 Higgsfield 方案。",bindingPaidPlan:"需要付費計劃",bindingDriftWarning:"參考與訓練時快照不同-考慮重新訓練。"},FT={name:"Node 工作室",toolbar:{addImage:"新增圖片",templates:"範本",saveTemplate:"儲存模板",branch:"分支"},empty:{title:"建構圖像工作流程",description:"從提示開始,重複使用經過驗證的圖表,或繼續您的最新工作。",blankTitle:"從空白畫布開始",blankDescription:"增加一個提示 node 並自行塑造工作流程。",blankAction:"開始空白",templateTitle:"從模板開始",templateDescription:"複製現成的圖表以用於常見的生成工作流程。",templateAction:"瀏覽模板",recentTitle:"恢復最近的圖表",recentDescription:"繼續最近保存的有效圖表。",recentUnavailable:"目前尚無最新圖表。",recentAction:"恢復最近的",resumeError:"無法開啟最近的圖表。再試一次。"},elements:{ariaLabel:"元素節點",title:"元素",hint:"拖曳或添加",loading:"正在載入元素...",loadError:"無法載入元素。再試一次。",empty:"尚未儲存元素。",addToCanvas:"添加到畫布"},elementNode:{untitled:"無標題元素",referencesOutput:"元素引用輸出",notesOutput:"元素註解輸出",kind:"元素",referenceCountOne:"{count} 參考",referenceCount:"{count} 參考文獻",missing:"該元素已被刪除。運行前重新連線。"},elementController:{onlyElements:"只能將元素資源加入畫布。",invalid:"元素 node 無效。",addError:"無法將元素新增至畫布。"},branch:{defaultVariant:"變異 {index}",eyebrow:"分行工作流程",title:"創建變體",close:"關閉分支對話框",variantLegend:"變異 {index}",label:"標籤",provider:"提供者",modelOverride:"模型覆蓋",currentModel:"使用當前模型",sizeOverride:"尺寸覆蓋",currentSize:"使用目前尺寸",remove:"移除",add:"添加變體",cancel:"取消",create:"建立分支",selectSourceError:"選擇一個連接的來源 node。",applyError:"此分支無法應用,因此圖表保持不變。"},templates:{previewAria:"{name} 圖形預覽",nodeCountOne:"{count} 個節點",nodeCount:"{count} 節點",outputCountOne:"{count} 輸出",outputCount:"{count} 輸出",rename:"重新命名",delete:"刪除",deleteConfirm:"删除模板“{name}”?此操作無法撤銷。",title:"選擇模板",close:"關閉模板",searchLabel:"搜尋模板",searchPlaceholder:"名稱或標籤",loading:"正在載入模板...",empty:"沒有模板匹配“{query}”。",starter:"入門模板",yours:"您的模板",cancel:"取消",copy:"影印一份",loadError:"無法載入模板。再試一次。",replaceConfirm:"用此模板的副本替換當前圖形?",invalidGraph:"模板圖無效。",copyError:"無法複製模板。",namePrompt:"模板名稱",saved:"模板已儲存。",saveError:"無法儲存模板。",renamePrompt:"重新命名模板",renameError:"無法重命名模板。",deleteError:"無法刪除模板。",export:"匯出",import:"匯入檔案",importHint:"從另一台裝置上的 ima2 匯出的 .ima2-template.json 檔案",exported:"已匯出「{name}」。",exportError:"無法匯出模板。",imported:"已匯入「{name}」。",importError:"無法匯入該檔案。",importNotTemplate:"該檔案不是 ima2 模板匯出檔。",importNewerVersion:"該檔案由較新版本的 ima2 建立,請先更新應用程式。",importTooLarge:"模板檔案過大(上限 2 MB)。",importBadName:"檔案中的模板沒有可用名稱。",importInvalidGraph:"檔案中的圖已損毀或不受支援。"},palette:{ariaLabel:"插入 node 指令",compatiblePlaceholder:"與 {portType} 相容",searchPlaceholder:"搜尋節點",filter:"顯示接受 {portType} 的節點。",emptyCompatible:"node 不接受 {portType}。",emptySearch:"沒有節點與此搜尋相符。",commandsAria:"Node 指令",categories:{input:"輸入",generate:"產生",transform:"轉換",reference:"參考",output:"輸出"}},commands:{"image-generate":{label:"影像生成",description:"將影像 node 加入工作流程。"}},portTypes:{prompt:"提示詞",image:"影像",images:"圖片",video:"影片",mask:"面具","element-refs":"元素參考","element-notes":"元素註釋",settings:"設定","any-media":"任何媒體"},compatibility:{sameDirection:"將輸出埠連接到輸入埠。",typeMismatch:"這些連接埠類型不相容。",cardinality:"該輸入已經有一個連接。",selfEdge:"node 無法連接到自身。",duplicateEdge:"該連接已經存在。",unknownPort:"此連接埠不可用於連接。",cycle:"該連接會形成一個循環。"}},VT={tabs:{label:"資產工作流程",generate:"產生",sprite:"角色表"},title:"角色表",lede:"鎖定角色設定,然後產生動作一致的角色影格。",loading:"正在載入角色表…",loadError:"無法載入角色表。",retry:"重試",empty:{title:"建立角色表",body:"設定角色、影格尺寸與動畫狀態。",create:"建立角色表"},recipe:{select:"角色表",new:"新增角色表",name:"角色表名稱",characterId:"角色ID",description:"描述",style:"風格",baseAssetId:"基礎圖像資源",baseAsset:"基礎圖像資源",save:"儲存角色表",saving:"儲存中…",unsaved:"生成前儲存變更。"},cell:{title:"影格尺寸",width:"寬度",height:"高度",safeMarginX:"水平邊界",safeMarginY:"垂直邊界"},chroma:{title:"綠幕去背",hex:"去背顏色"},states:{title:"動畫狀態",add:"新增狀態",remove:"移除",key:"狀態名稱",frames:"影格數",fps:"FPS",loop:"環形",action:"動作"},anchor:{title:"身分錨",missing:"在行前產生並批准一個空閒姿勢。",generate:"生成空閒候選人",generating:"生成…",candidate:"候選人準備接受審查。",regenerate:"雷根",approve:"批准錨點",approved:"錨定批准",replace:"更換錨",confirmTitle:"批准這個身分錨?",confirmBody:"未來的行將重複使用此標識;基本影像將不會再次附加。",confirm:"核准",cancel:"取消"},rows:{title:"精靈行",generateAll:"產生全部",generateSelected:"產生選定的",regenerate:"重試行",cancel:"取消",preview:"預覽",anchorRequired:"首先批准錨點。",saveRequired:"首先儲存配方更改。",status:{pending:"待辦的",queued:"排隊",running:"跑步",complete:"完全的",error:"錯誤",canceled:"取消"}},error:{INVALID_SPRITE_RECIPE:"填寫所需的配方欄位。",ANCHOR_NOT_APPROVED:"首先批准身分錨。",BASE_REFERENCE_FORBIDDEN:"基礎鏡像審核通過後不可重複使用。",GENERATION_CANCELED:"一代被取消。",generic:"精靈生成失敗。"}},jT={undone:"撤銷最後的圖形變更。",redone:"重新繪製圖形變更。"},YT={t2i:"文字 → 圖片",i2i:"圖片編輯",t2v:"文字 → 視頻",i2v:"圖片 → 影片",v2v:"影片延續"},QT={title:"元素",titleEdit:"編輯元素",titleNew:"新元素",saved:"已儲存",ariaLabel:"元素詳情",name:"姓名",namePlaceholder:"例如胡桃木椅",kind:"種類",kindCharacter:"特點",kindProduct:"產品",kindStyle:"風格",kindScene:"場景",kindReference:"參考",selected:"選定的元素",mentionAria:"{name}、{kind} 元素",unavailableAria:"{name},不可用元素",removeAria:"刪除 {name} 元素",helpCharacter:"一個人或反覆出現的主題。",helpProduct:"設計細節一致的產品。",helpStyle:"視覺語言、材料或處理方式。",helpScene:"地點、環境或反覆出現的環境。",notes:"筆記",notesHelp:"描述應保持一致的外觀、材料和細節。",notesPlaceholder:"溫暖的胡桃木紋、圓潤的邊緣、編織的藤條座椅…",remaining:"剩餘 {n}",strength:"參考強度",strengthHelp:"生成的作品的強度應遵循這些參考文獻。",resetDefault:"重設為預設值",saving:"儲存中…",save:"儲存元素",testing:"正在產生測試表...",runTest:"運行測試表",delete:"刪除",errorName:"儲存之前命名您的元素。",errorRefs:"儲存前至少新增一張參考影像。",refsTitle:"參考圖片",refsHelp:"拖曳以設定順序。第一個圖像是代表性縮圖。",refAlt:"參考 {n}",refPrimary:"代表",refLabel:"標籤",refLabelPlaceholder:"正面、側面、材質…",refMoveUp:"將引用 {n} 向上移動",refMoveDown:"向下移動引用 {n}",refRemove:"消除",refRemoved:"參考已刪除。",refUndo:"撤銷"},KT={display:{localMethod:"本機 HTTP",loading:"正在檢查工作流…",refreshing:"正在更新上次觀測狀態…",loadFailed:"無法讀取工作流目錄。",appAccessRequired:"讀取目錄需要應用程式存取權限。",unavailable:"尚未確認工作流是否可用。",available:"上次檢查目錄時可用。",chooseWorkflow:"選擇工作流",empty:"尚未註冊工作流。",selectedMissing:"所選工作流已不在目錄中。",selectedOffline:"上次檢查時所選工作流離線。",selectedLocked:"所選工作流已鎖定。",observedConnected:"上次檢查時有執行個體回應。",lastChecked:"上次檢查:{time}",refresh:"重新整理",manage:"管理工作流",controlsHelp:"此面板選擇影像或影片工作流。繫結決定哪些已儲存的請求設定生效;選擇工作流並不證明執行成功。"},workflowsTitle:"ComfyUI 工作流",addTitle:"註冊工作流",loading:"正在載入工作流…",empty:"尚未註冊工作流。請在 ComfyUI 中使用 Workflow > Export (API) 匯出,或上傳 ComfyUI 產生的 PNG。",colId:"工作流",colKind:"類型",colOrigin:"實例",colStatus:"狀態",colActions:"操作",statusReady:"正常",statusOffline:"無回應",remove:"刪除",fileLabel:"工作流檔案(API 匯出或 ComfyUI PNG)",originLabel:"ComfyUI 位址",checkOrigin:"檢查",originReachable:"已連線",originUnreachable:"沒有回應。ComfyUI 正在執行嗎?",originInvalid:"必須是帶連接埠的本機回環 http 位址,例如 http://127.0.0.1:8188",idLabel:"工作流 id",labelLabel:"顯示名稱",kindLabel:"媒體類型",kindImage:"圖片",kindVideo:"影片",videoKindHint:"影片工作流程透過影片端點執行。",videoCatalogShort:"僅目錄",bindTitle:"請求欄位要寫入哪個節點?",bindAmbiguous:"有些欄位對應到多個節點。請逐一選擇——選錯會讓正負提示詞悄悄互換。",choose:"請選擇…",register:"註冊",inspectFailed:"無法讀取該工作流檔案。",registerFailed:"無法註冊該工作流。",removeFailed:"無法刪除該工作流。",field:{prompt:"提示詞",negativePrompt:"負面提示詞",width:"寬",height:"高",seed:"種子",refImage:"參考圖",output:"輸出節點"}},XT={positivePrompt:{label:"正向提示詞",placeholder:"描述想要生成的主體、場景、風格與細節…",hint:"{count} 個字元。輸入 @ 可加入參考。"},negativePrompt:{label:"排除內容",placeholder:"低畫質、結構錯誤、浮水印…",hint:"{count} 個字元。用於避開的標籤,並與下方預設一起生效。"},panel:{modelTitle:"模型",sizeTitle:"尺寸",samplingTitle:"取樣",presetTitle:"預設",outputTitle:"輸出"},field:{sampler:"取樣器",noiseSchedule:"雜訊排程",autoSmea:"自動 SMEA",steps:"步數",scale:"引導強度",cfgRescale:"CFG 重縮放",decrisper:"去脆化",ucPreset:"排除預設",qualityPreset:"品質預設",varietyPlus:"Variety+",straightAlpha:"透明背景",seed:"種子",seedRandom:"隨機"},help:{autoSmea:"在高解析度下自動套用 SMEA,以提高整體一致性。",decrisper:"減少色彩與視覺瑕疵,尤其適用於高引導強度。",varietyPlus:"在高引導強度下增加構圖多樣性。",straightAlpha:"V5 原生 alpha。請在提示詞中一併加入透明背景標籤。",cfgRescale:"緩解高引導強度下的過飽和。設為 0 即關閉。",seed:"留空則每次使用新的種子。"},size:{portrait:"直式",landscape:"橫式",square:"方形"},ucPreset:{heavy:"強",light:"弱",furryFocus:"獸人向",humanFocus:"人物向",none:"不使用"},qualityPreset:{standard:"標準",light:"輕量",none:"不使用"},resetDefaults:"回復預設值",compatTitle:"NovelAI 通道",compatBody:"僅支援文生圖。此通道不支援參考圖、編輯與批次生成。"},ZT={imageToolModel:US,lan:zS,common:_S,appBar:HS,sheet:qS,toast:BS,inflight:FS,size:VS,sizeConfirm:jS,quality:YS,moderation:QS,format:KS,count:XS,multimode:ZS,metadata:JS,starPrompt:$S,onboarding:WS,readiness:eT,generate:tT,home:aT,billing:nT,history:lT,panel:iT,prompt:oT,canvas:rT,gallery:uT,node:sT,nodeBatch:cT,edge:dT,provider:mT,mcp:fT,grokMode:pT,cost:gT,result:hT,session:yT,uiMode:vT,agent:bT,cardNews:AT,video:ST,sidebar:TT,settings:CT,nodeCanvas:ET,apiDisabled:RT,language:NT,errorCard:kT,promptLibrary:GT,promptBuilder:OT,workspace:MT,viewer:IT,generationLog:wT,clipboard:xT,modal:LT,nav:DT,assetGen:PT,project:UT,spriteCurator:zT,keying:_T,vectorize:HT,chain:qT,assets:BT,"assets.clearAll":"全部清除","assets.clearConfirm":"刪除所有已儲存的資源?此操作無法撤銷。",nodeStudio:FT,sprite:VT,graph:jT,provenance:YT,element:QT,comfy:KT,nai:XT},cC=["ko","en","zh-Hant","zh-Hans"];function Us(){try{const y=localStorage.getItem("ima2.locale");if(y==="ko"||y==="en"||y==="zh-Hant"||y==="zh-Hans")return y}catch{}if(typeof navigator<"u"){const y=navigator.language||"";if(y.toLowerCase().startsWith("ko"))return"ko";const C=y.toLowerCase();if(/^(zh[-_](tw|hk|mo|hant)|zh-hant)/.test(C))return"zh-Hant";if(/^(zh[-_](cn|sg|hans)|zh)/.test(C))return"zh-Hans"}return"en"}function dC(y){try{localStorage.setItem("ima2.locale",y)}catch{}}const Np="ima2:lan-auth-required",JT="/api/auth/lan/session",$T=1e4,Qo={LAN_TOKEN_REQUIRED:"Connect to this studio again with its LAN token.",LAN_RATE_LIMITED:"Too many sign-in attempts. Wait before trying again.",LAN_SESSION_CAPACITY:"This studio has reached its session limit. Try again later.",LOCAL_HOST_REJECTED:"This studio address is not configured for access.",LOCAL_ORIGIN_REJECTED:"Open the studio using its configured address.",LAN_SESSION_UNAVAILABLE:"The studio could not be reached. Check its address and try again.",LAN_COOKIE_REQUIRED:"The browser did not retain the studio session cookie. Allow cookies for this address.",LAN_TOKEN_DUPLICATE:"The address contained more than one token. Enter the studio token below."};let bt=null,di=0,Tn=0,ci=null;function zt(y,C,R){const p=Object.hasOwn(Qo,y)?y:"LAN_SESSION_UNAVAILABLE",k=new Error(Qo[p]);return k.code=p,C!==void 0&&(k.status=C),R!==void 0&&(k.retryAfter=R),k}function mi(){return bt?{...bt}:null}function kp(){return bt?.mode==="lan"&&!bt.authenticated}function mC(){return di}function Gp(y=di){return Object.assign(new Error(Qo.LAN_TOKEN_REQUIRED),{code:"LAN_TOKEN_REQUIRED",status:401,authEpoch:y})}function Op(y=di){y!==di||kp()||(di+=1,Tn+=1,bt={mode:"lan",authenticated:!1,expiresAt:null},typeof window<"u"&&window.dispatchEvent(new Event(Np)))}function WT(y){if(!y||typeof y!="object"||Array.isArray(y))throw zt("LAN_SESSION_UNAVAILABLE");const C=y;if(C.mode!=="local"&&C.mode!=="lan"||typeof C.authenticated!="boolean"||C.expiresAt!==null&&(typeof C.expiresAt!="number"||!Number.isFinite(C.expiresAt))||C.mode==="local"&&!C.authenticated)throw zt("LAN_SESSION_UNAVAILABLE");return{mode:C.mode,authenticated:C.authenticated,expiresAt:C.expiresAt}}async function zs(y,C=""){const R=new AbortController,p=setTimeout(()=>R.abort(),$T);try{const k=await fetch(JT,{method:y,credentials:"same-origin",cache:"no-store",signal:R.signal,...y==="POST"?{headers:{"Content-Type":"application/json","X-Ima2-Token":C},body:"{}"}:{}});if(k.status===204&&y!=="GET")return null;const q=await k.json();if(!k.ok){const j=q?.error,ue=k.status===429?"LAN_RATE_LIMITED":typeof j?.code=="string"?j.code:"LAN_SESSION_UNAVAILABLE",ie=Number(k.headers.get("Retry-After"));throw zt(ue,k.status,Number.isFinite(ie)&&ie>0?Math.min(ie,3600):void 0)}if(y!=="GET")throw zt("LAN_SESSION_UNAVAILABLE");return WT(q)}catch(k){throw k instanceof Error&&"code"in k&&typeof k.code=="string"&&Object.hasOwn(Qo,k.code)?k:zt("LAN_SESSION_UNAVAILABLE")}finally{C="",clearTimeout(p)}}async function _s(y,C=Tn){const R=await zs("GET");if(!R)throw zt("LAN_SESSION_UNAVAILABLE");if(C!==Tn){if(bt)return{...bt};throw zt("LAN_SESSION_UNAVAILABLE")}return R.mode==="lan"&&!R.authenticated?Op():(y||!kp())&&(bt=R),{...bt??R}}function eC(){if(ci)return ci;const y=_s(!1);ci=y;const C=()=>{ci===y&&(ci=null)};return y.then(C,C),y}async function Mp(y){const C=++Tn;try{if(await zs("POST",y),C!==Tn)throw Gp();if(!(await _s(!0,C)).authenticated)throw zt("LAN_COOKIE_REQUIRED")}finally{y=""}}async function tC(){const y=++Tn;await zs("DELETE"),y===Tn&&bt?.mode==="lan"&&Op()}async function aC(){const y=new URL(window.location.href),C=y.searchParams.getAll("token"),R=C.length===1;if(C.length&&(y.searchParams.delete("token"),window.history.replaceState(window.history.state,"",y.href)),C.length>1)throw C.fill(""),zt("LAN_TOKEN_DUPLICATE");let p=C[0]??"";C.fill("");try{if(R?await Mp(p):await _s(!0),!bt)throw zt("LAN_SESSION_UNAVAILABLE");return{mode:bt.mode,authenticated:bt.authenticated}}finally{p=""}}function nC({className:y}){return he.jsx("span",{className:y?`brand-mark ${y}`:"brand-mark","aria-hidden":"true"})}const Hs={en:ub,ko:TA,"zh-Hans":PS,"zh-Hant":ZT};function Ip(y,C){const R=y?.code;return R==="LAN_TOKEN_REQUIRED"?C.sessionExpired:R==="LAN_RATE_LIMITED"?C.rateLimited:R==="LAN_SESSION_CAPACITY"?C.capacity:R==="LOCAL_HOST_REJECTED"||R==="LOCAL_ORIGIN_REJECTED"?C.originRejected:R==="LAN_COOKIE_REQUIRED"?C.cookieRequired:R==="LAN_TOKEN_DUPLICATE"?C.duplicateToken:C.unavailable}function lC(){const y=Hs[Us()].lan;return he.jsx("main",{className:"lan-sign-in","aria-busy":"true",children:he.jsx("p",{role:"status",children:y.connecting})})}function iC({error:y,onConnected:C,onRetry:R}){const p=Hs[Us()].lan,[k,q]=it.useState(""),[j,ue]=it.useState(!1),[ie,$]=it.useState(y),[I,b]=it.useState(0),M=I>Date.now();it.useEffect(()=>{if(!I)return;const Ae=setTimeout(()=>b(0),Math.max(0,I-Date.now()));return()=>clearTimeout(Ae)},[I]);const Ce=async Ae=>{if(Ae.preventDefault(),!k||j||M)return;let se=k;q(""),ue(!0),$(void 0);try{await Mp(se),await C()}catch(Ke){$(Ke);const we=Ke?.retryAfter;typeof we=="number"&&Number.isFinite(we)&&we>0&&b(Date.now()+we*1e3)}finally{se="",ue(!1)}},ze=async()=>{ue(!0),$(void 0);try{await R()}catch(Ae){$(Ae)}finally{ue(!1)}};return he.jsx("main",{className:"lan-sign-in","aria-labelledby":"lan-sign-in-title",children:he.jsxs("form",{className:"lan-sign-in__panel",onSubmit:Ae=>{Ce(Ae)},"aria-busy":j,children:[he.jsxs("p",{className:"lan-sign-in__brand",children:[he.jsx(nC,{className:"lan-sign-in__mark"}),p.brand]}),he.jsx("h1",{id:"lan-sign-in-title",children:p.title}),he.jsx("p",{id:"lan-sign-in-help",children:p.body}),he.jsx("label",{htmlFor:"lan-token",children:p.token}),he.jsx("input",{id:"lan-token",name:"lan-token",type:"password",value:k,onChange:Ae=>q(Ae.target.value),autoComplete:"off",autoFocus:!0,maxLength:4096,spellCheck:!1,autoCapitalize:"none",disabled:j,"aria-describedby":ie?"lan-sign-in-help lan-sign-in-error":"lan-sign-in-help"}),ie?he.jsx("p",{id:"lan-sign-in-error",className:"lan-sign-in__error",role:"alert",children:Ip(ie,p)}):null,he.jsx("button",{className:"lan-sign-in__submit",type:"submit",disabled:!k||j||M,children:j?p.connecting:p.connect}),he.jsx("button",{className:"lan-sign-in__retry",type:"button",disabled:j||M,onClick:()=>{ze()},children:p.retry})]})})}function fC(){const[y,C]=it.useState(!1),[R,p]=it.useState(),k=Hs[Us()].lan;if(mi()?.mode!=="lan")return null;const q=async()=>{C(!0),p(void 0);try{await tC()}catch(j){p(j)}finally{C(!1)}};return he.jsxs("article",{className:"settings-row",children:[he.jsxs("div",{className:"settings-row__copy",children:[he.jsx("h4",{children:k.sessionTitle}),he.jsx("p",{children:k.signOutBody}),R?he.jsx("p",{role:"alert",children:Ip(R,k)}):null]}),he.jsx("div",{className:"settings-row__control",children:he.jsx("button",{type:"button",className:"settings-action-btn",disabled:y,onClick:()=>{q()},children:y?k.signingOut:k.signOut})})]})}function oC(){if(window.location.protocol!=="http:"||window.location.hostname!=="localhost")return!1;const y=new URL(window.location.href);return y.hostname="127.0.0.1",window.location.replace(y.toString()),!0}const qs=Fy.createRoot(document.getElementById("root"));let Sn=0,Ep=!1;function fi(y){const C=++Sn;qs.render(he.jsx(it.StrictMode,{children:he.jsx(iC,{error:y,onConnected:wp,onRetry:xp},C)}))}async function wp(){const y=++Sn,C=mi();if(!C?.authenticated){fi();return}if(!(C.mode==="local"&&oC()))try{Ep||(Qy(),Ep=!0);const{default:R}=await wy(async()=>{const{default:p}=await import("./App-CQX6q4Rd.js").then(k=>k.a_);return{default:p}},[]);if(y!==Sn||!mi()?.authenticated)return;qs.render(he.jsx(it.StrictMode,{children:he.jsx(R,{})}))}catch(R){y===Sn&&fi(R)}}async function xp(){const y=++Sn;qs.render(he.jsx(it.StrictMode,{children:he.jsx(lC,{})}));try{const C=await aC();if(y!==Sn)return;C.authenticated?await wp():fi()}catch(C){y===Sn&&fi(C)}}window.addEventListener(Np,()=>fi(Gp()));window.addEventListener("error",y=>{if(mi()?.mode!=="lan"||!mi()?.authenticated)return;const C=y.target;if(!(!(C instanceof HTMLImageElement)&&!(C instanceof HTMLVideoElement)))try{const R=new URL(C.currentSrc||C.src,window.location.href);if(R.origin!==window.location.origin||!/^\/generated(?:\/|$)/i.test(R.pathname))return;eC().catch(()=>{})}catch{}},!0);xp();export{nC as B,Np as L,uC as R,cC as S,wy as _,mi as a,eC as b,Gp as c,ZT as d,ub as e,it as f,mC as g,Hy as h,kp as i,he as j,TA as k,Us as l,Ps as m,xy as n,fC as o,rC as p,Op as r,dC as s,sC as u,PS as z};
|
|
22
|
+
框架`,copyPrompt:"複製提示",continueHere:"在這裡繼續",continueHereTitle:"導入此圖像的提示並繼續工作",continueAsUrl:"URL 繼續",continueAsUrlTitle:"繼續使用原始提供者URL(1小時後過期)",animate:"動畫",animating:"動畫…",animateTitle:"從此影像產生 Grok 影片(影像到影片)",firstNode:"第一 node",firstNodeTitle:"將此圖像傳送至 Node 模式作為首先準備好的 node",info:"資訊",infoTitle:"顯示產生詳細資訊和出處",delete:"刪除",deleteTitle:"移至垃圾箱",more:"更多的",sendToComfyUI:"發送至 ComfyUI",sendToComfyUITitle:"將已儲存的圖片上傳至本機ComfyUI",permanentDelete:"永久刪除",permanentDeleteConfirm:"永久刪除“{filename}”?此操作無法撤銷。",upscale:"高級",upscaleTitle:"透過 Runway (MCP) 進行升級",upscaleFlavor:"味道",upscaleFlavorAuto:"自動",upscaleStart:"開始高檔",upscaleStarted:"高級開始",upscaleFailed:"高檔失敗",upscaleInvalid:"無效的高檔參數",editVideo:"編輯影片",editVideoTitle:"用提示詞修改此影片(grok-imagine-video)",editVideoPrompt:"想如何修改這段影片?例如:把衣服改成紅色"},yT={switchTitle:"切換會話",loading:"載入中...",newSession:"新會話",newSessionTitle:"新會話",renameTitle:"重新命名",renamePrompt:"會話名稱",deleteTitle:"刪除",deleteConfirm:"刪除會話“{title}”?此操作無法撤銷。",empty:"還沒有工作階段",firstGraph:"我的第一張圖",untitled:"無標題工作階段",assetAbortedError:"一代並沒有乾淨地結束。從此 node 重試。"},vT={ariaLabel:"UI 模式",classic:"經典的",node:"Node",cardNews:"卡新聞",agent:"代理人"},bT={workspace:"座席工作區",workspaceActionFailed:"操作失敗:{reason}",bootFailed:"無法載入代理工作區",bootRetry:"重試",topbarBackToStudio:"返回工作室",topbarStudio:"工作室",topbarOpenQueue:"開啟佇列,{count} 活動作業",topbarCloseQueue:"關閉佇列",topbarQueueSheet:"生成隊列",title:"代理人",newSession:"新代理",sessions:"工作階段",openSessions:"顯示工作階段",closeSessions:"隱藏工作階段",sessionsUseRail:"將會話固定為緊湊型導軌",sessionsUseExpanded:"固定擴展會話列表",sessionSearch:"搜尋會話",renameSession:"重新命名會話",deleteSession:"刪除會話",deleteConfirm:"刪除“{title}”?",imageCount:"{count} 影像",compacted:"壓實",web:"網路",chat:"聊天",user:"使用者",assistant:"代理人",tool:"工具",toolExpand:"顯示工具詳細信息",toolCollapse:"隱藏工具詳細信息",toolImageCount:"{count} 張圖片",toolCallCount:"{count} 調用",toolGroup:"工具運行",toolInput:"輸入",toolOutput:"輸出",toolsShowMore:"更多的",toolsShowLess:"較少的",toolArtifacts:"文物",requestId:"請求ID",duration:"時長",toolStatus:{queued:"排隊",running:"跑步",complete:"完全的",error:"錯誤"},rightSidebar:"代理端工具",sidebarTabs:{image:"影像",library:"圖書館",forms:"表格",quality:"品質",model:"模型",queue:"佇列"},modelSettings:"模型設定",closeModelSettings:"關閉模型設定",openModelSettings:"開啟模型設定",modelTabView:"在「模型」標籤中查看",model:"模型",provider:"提供者",reasoningEffort:"推理",generationStrategy:"發電計劃",generationStrategyAuto:"根據用戶要求",generationStrategyManual:"固定計數",quality:"品質",size:"尺寸",format:"格式",moderation:"內容審查",variantsCount:"變體",maxAutoVariants:"自動最大",parallelism:"平行性",promptLibrary:"提示庫",forms:"表格",noForms:"沒有表單模板",insertPrompt:"插入",queue:"佇列",runningShort:"跑步",queuedShort:"等待",queueEmpty:"沒有排隊的代理工作。",cancelQueue:"取消",retryQueue:"重試",sessionRunning:"代運行",sessionQueued:"{count} 已排隊",sessionError:"產生錯誤",queueStatus:{queued:"排隊",running:"跑步",succeeded:"完畢",failed:"失敗的",canceled:"取消"},statusReady:"可用",statusGenerating:"產生",statusReconnecting:"重新連接",pending:"正在產生回應...",pendingQueued:"排隊等候...",pendingPlanning:"計劃回應...",pendingGenerating:"運行工具並生成...",runError:"運行失敗",errorRole:"錯誤",composerPlaceholder:"詢問任何問題或描述要創建什麼",slashCommands:"代理斜杠命令",slashDesc_question:"提出問題而不產生圖像",slashDesc_variants:"產生 N 個影像變體 (1-24)",slashDesc_generate:"有界扇出生成 (1-24)",slashDesc_parallelism:"限制並發工具調用",slashDesc_help:"顯示可用指令",attachReference:"附上參考資料",send:"傳送",webSearch:"使用搜尋",emptyChat:"輸入訊息以開始圖像或視訊工作。",emptyJumpLatest:"跳轉至最新",queueSummary:"{active} 有效 · {failed} 失敗",queuePlanSummary:"變異 {variants} · 並行 {parallel}",queueDetails:"技術細節",queueAnnouncement:"佇列已更新:{running} 正在運行,{queued} 已排隊,{failed} 失敗",queueTimeAgo:"{value} {unit} 前",queueTimeUnit:{second:"秒",minute:"分分鐘",hour:"小時"},progressQueued:"排隊等候",progressPlanning:"準備請求",progressGenerating:"產生",progressDownloading:"下載結果",progressFailed:"運行失敗",progressJob:"{kind} · {count} 變體",mediaKind:{image:"影像",video:"影片"},mediaSelect:"分眾媒體",mediaLoading:"載入影片",mediaLoadFailed:"影片無法載入。",mediaRetry:"重試",mediaVideoLabel:"生成的視頻",mediaDuration:"持續時間 {duration}",mediaDurationUnknown:"持續時間不可用",mediaDownload:"下載",imagePane:"影像",currentImage:"目前影像",openImage:"打開圖片",closeImage:"關閉影像",selectImage:"焦點影像",variants:"變體",contextTabs:"影像上下文",imageTab:"影像",refsTab:"參考文獻",webTab:"網路",memoryTab:"記憶",noImage:"沒有當前影像",noRefs:"沒有參考文獻",noWeb:"沒有網路證據",memoryItemStyle:"樣式鎖定保留在圖像上下文中。",memoryItemSubject:"主題鎖定在恢復後恢復。",imageAlt:"代理形象",filename:"文件",prompt:"提示詞",stageEmptyHint:"在此處發送您的第一個查看圖片的請求",toolLabel:{getImageContext:"讀取圖片脈絡",webSearch:"網頁搜尋",generateImage:"生成圖片",generateVideo:"生成影片",getGenerationErrors:"查詢生成錯誤"},toolsPanel:"工具",openTools:"打開工具面板",closeTools:"關閉工具面板"},AT={workspace:"卡新聞工作區",composer:"卡新聞",composerHint:"模板是視覺快照;輸出尺寸單獨設定。",topic:"話題",topicPlaceholder:"例如考試復出計劃",audience:"觀眾",audiencePlaceholder:"例如父母",goal:"目標",goalPlaceholder:"例如預約諮詢",brief:"簡短的",briefPlaceholder:"描述卡片新聞內容、所需要點和排除內容。",outputSize:"輸出尺寸",customSize:"風俗",draft:"摘要草案",drafting:"起草...",generateSet:"生成集",batchGenerate:"批量生成",generating:"生成...",generated:"產生 {count} 卡。",missingGeneratedCard:"產生回應不包括這張卡。",error:"卡生成失敗。",imageTemplate:"圖片模板",roleTemplate:"卡牌結構",newTemplateLater:"開發 MVP 後計畫客製化模板",emptyTitle:"等待草稿",emptyBody:"使用左側設定面板準備卡片組。",inspector:"卡片檢驗員",cardTitle:"卡標題",headline:"標題",body:"身體",visualPrompt:"圖片提示",summaryCopy:"摘要副本",designPrompt:"場景/設計提示",textFields:"文字方塊",addTextField:"新增文字框",removeTextField:"消除",noTextFields:"還沒有文字方塊。",textFieldText:"文字",textKind:"種類",placement:"放置",renderMode:"渲染模式",hierarchyLabel:"等級制度",textTooLong:"文字超出建議長度。",selectTextField:"選擇文字方塊:{text}",textKinds:{headline:"標題",body:"支援文字",caption:"標題",cta:"電腦輔助科技協會",badge:"徽章",number:"數位"},renderModes:{"in-image":"在影像中","ui-only":"僅 UI"},hierarchy:{primary:"基本的",secondary:"中學",supporting:"配套"},placements:{"top-left":"左上角","top-center":"頂部中心","top-right":"右上角","center-left":"中偏左",center:"中心","center-right":"中右","bottom-left":"左下角","bottom-center":"底部中心","bottom-right":"右下角",free:"免費"},roles:{cover:"覆蓋",hook:"鉤",problem:"問題",insight:"洞察力",example:"例子",data:"數據",summary:"概括",cta:"電腦輔助科技協會"},locked:"鎖定",unlocked:"解鎖",noCard:"未選擇卡",generatedMeta:"產生的元數據",lockedHelp:"鎖定的卡片不參與批量生成和重試。",retryCard:"重試此卡",actions:{copyPrompt:"複製提示",copyCopy:"複製複製",openImage:"打開圖片",downloadCard:"下載"},status:{draft:"草稿",queued:"排隊",generating:"產生",generated:"完畢",error:"錯誤",skipped:"跳過",locked:"鎖定"},progress:{generating:"產生 {done}/{total}",summary:"完成 {done}/{total}",detail:"{queued} 已排隊 · {errors} 錯誤 · {skipped} 已跳過",cardGenerating:"產生這張卡。"},planner:{structured:"結構化 JSON",jsonMode:"JSON 模式",repaired:"已修復",fallback:"後備草案",jsonOnlyHelp:"草稿僅建立 JSON。圖像稍後生成。",error:"草稿失敗"}},ST={selectedCameraPresets:"選定的攝影機運動預設",plannerModelTitle:"規劃模型",reasoningEffortTitle:"推理努力",modeLabel:"視訊模式",mode:{"text-to-video":"文字→影片(無參考圖)","image-to-video":"圖片 → 影片(1 篇參考)","reference-to-video":"參考 → 影片({n} 參考)"},seriesTopicTitle:"系列專題",seriesTopicPlaceholder:"例如韓國旅遊視訊博客",durationTitle:"長度",resolutionTitle:"解析度",resolution1080Help:"1080p 使用 Grok V1.5 進行僅提示或單一影像/幀影片。它不適用於 2 個以上的參考文獻。",aspectTitle:"縱橫比",plannerUpdateFailed:"無法更新規劃器模型。之前的設定已恢復。",durationClampedToModel:"此模型的參考生成影片最長為 {seconds} 秒",continuationFallbackT2V:"無法提取連續幀。生成將繼續以文字到影片的形式進行。",singleRefTitle:"單張參考的用法",singleRefHelp:"選擇將該圖片作為首格,還是僅作參考。兩張以上一律作為參考。",singleRef:{source:"以此圖開場",reference:"僅作參考"},voiceSection:"語音",voiceLimit:"最多 {max} 個。在提示詞中以 <AUDIO_0> 指稱",voiceNeeds15:"僅 grok-imagine-video-1.5 支援語音",voiceCustomPlaceholder:"自訂語音 ID (/v1/custom-voices)"},TT={appName:"影像生成器",imageModelLabel:"模型",imageSectionLabel:"影像",gptImageSubLabel:"GPT-IMAGE-2",grokImageSubLabel:"Grok Imagine",geminiImageSubLabel:"Gemini",videoSectionLabel:"影片",imageModelAria:"選擇圖像模型",quickSettingsAria:"選擇模型和推理工作。當前模型{model},推理{effort}",quickSettingsModelOnlyAria:"選擇圖像模型。目前型號 {model}",quickSettingsMenu:"模型和推理快速設置",reasoningLabel:"推理",videoModelLabel:"影片",nodeModeHint:"在 node 模式下,按一下 node 編輯其提示並產生。右側面板上的設定(品質/尺寸)適用於每個新結果。"},CT={openAria:"開啟設定",openTitle:"設定",closeAria:"關閉設定",closeTitle:"返回畫布",navAria:"設定部分",contentAria:"設定內容",jumpTo:"跳到 {section}",title:"設定",sections:{providers:{title:"供應商",hint:"帳戶、金鑰、模型"},workspace:{title:"工作空間",hint:"簡介、佈置、畫廊"},general:{title:"一般的",hint:"語言"}},promptBuilder:{title:"提示建構器後端",body:"選擇用於最佳化提示詞的文字後端。自動模式會依序嘗試 OAuth、Grok、OpenAI API 和 Grok API;每次成功回覆都會顯示實際使用的後端。",backendLabel:"建構器後端",modelLabel:"建構器模型",modelBody:"僅顯示所選後端支援的模型。",envLocked:"由環境變數管理。"},account:{naiTitle:"NovelAI",naiEyebrow:"權杖",naiBody:"使用持久權杖,下方顯示 V5 Opus 電量和 Anlas 餘額。",primaryEyebrow:"活躍的提供者",oauthTitle:"GPT OAuth",oauthBody:"GPT OAuth 產生貫穿您的 Codex OAuth 會話。配置有效密鑰後,您可以切換到 API-密鑰模式。",apiSourceEnv:"偵測到 OPENAI_API_KEY",apiSourceConfig:"偵測到 config.json API 密鑰",apiTitle:"OpenAI API 密鑰",apiBody:"ima2-gen 可以使用此 API 密鑰透過回應 API 進行產生、編輯、多重模式和 node 請求。",apiDisabled:"不可用",apiReady:"可用",apiUnavailable:"不可用",apiUnknown:"狀態未知",grokEyebrow:"xAI OAuth",grokTitle:"Grok",grokBody:"使用 xAI OAuth 工作階段直接呼叫 xAI Images API 產生影像。",agyEyebrow:"Antigravity CLI",agyTitle:"Gemini (agy)",agyInstalledBody:"無法檢測登入狀態。如果產生失敗,請在終端機中執行 `agy login` 。",agyMissingBody:"未安裝。獲取",agyMissingLink:"Antigravity CLI",agyFineprint:"Antigravity 模型和影像配額是單獨計費。",agyInstalled:"已安裝",agyMissing:"未安裝",status:{ready:"可用",authRequired:"需要登入",starting:"開始",offline:"離線",noImageModel:"無影像模型",error:"錯誤",checking:"檢查"}},quota:{naiBattery:"V5 電量",naiAnlas:"Anlas",naiNegative:"充電中(負值)",naiNextPercent:"{minutes} 分鐘後 +1%",naiMeterMissing:"無法取得 V5 電量。",naiAnlasFallback:"V5 電量已耗盡,可使用 Anlas 繼續生成。",naiNotConfigured:"NovelAI 權杖未設定或無效。",codexNotLoggedIn:"未登入",fetchError:"無法加載配額",noData:"無使用數據",grokUsageLink:"看 Grok 用法 →",switchAccount:"切換 {provider} 帳戶",startingLogin:"開始登入...",enterCode:"在打開的選項卡中輸入此代碼:",completeInBrowser:"請在開啟的 ChatGPT 頁面完成登入,此卡片會自動更新。",useDeviceCode:"改用裝置代碼登入",retry:"重試",copyLink:"複製連結",copied:"已複製",waitingApproval:"等待批准...",switchComplete:"帳號已切換。清爽…",switchFailed:"帳戶切換失敗",tryAgain:"再試一次"},imageModel:{title:"影像模型",body:"選擇供後代使用的影像模型。選擇其他提供者(Grok、OpenAI API、Gemini 等)的模型會切換到該提供者。",gpt54Mini:"GPT-5.4 迷你",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt6Luna:"GPT-6 Luna",gpt6Sol:"GPT-6 Sol",gpt6Astra:"GPT-6 Astra",gpt56Sol:"GPT-5.6 索爾",gpt56Terra:"GPT-5.6 泰拉",gpt56Luna:"GPT-5.6 露娜",grokImagine20:"Grok Imagine 圖像 2.0",grokImagine:"Grok Imagine",grokImagineQuality:"Grok Imagine 質量",nanoBanana2:"奈米香蕉2",nanoBanana2Api:"奈米香蕉2",nanoBananaPro:"奈米香蕉專業版",atlasCloudGptImage2:"阿特拉斯雲 GPT Image 2",atlasCloudGptImage2Edit:"阿特拉斯雲 GPT Image 2 編輯",minimaxImage01:"MiniMax image-01",minimaxImage01Live:"MiniMax image-01-live",agy:"Antigravity (agy)",gpt53CodexSpark:"GPT-5.3 Codex Spark — 不支援影像",unsupportedHelp:"Grok 模型使用 xAI OAuth 工作階段呼叫 xAI 的圖像 API。 GPT 模型使用 OpenAI 回應影像產生。",naiDiffusion5Full:"NAI Diffusion V5 Full",naiDiffusion5Curated:"NAI Diffusion V5 Curated",naiDiffusion45Full:"NAI Diffusion V4.5 Full",naiDiffusion45Curated:"NAI Diffusion V4.5 Curated"},apiKeys:{accordionTitle:"API 密鑰",envSource:"從環境載入",configSource:"從配置載入",openai:{label:"GPT API 密鑰 (OpenAI)",placeholder:"貼上您的 OpenAI API 密鑰(sk-...)"},xai:{label:"Grok API 密鑰 (xAI)",placeholder:"貼上您的 xAI API 密鑰 (xai-...)"},gemini:{label:"Gemini (Google)",placeholder:"貼上您的 Gemini API 密鑰(AI...)"},atlascloud:{label:"阿特拉斯雲",placeholder:"貼上您的 Atlas Cloud API 金鑰(apikey-...)"},minimax:{label:"MiniMax",placeholder:"貼上您的 MiniMax API 密鑰"},vertex:{label:"Vertex AI(服務帳戶)",placeholder:'貼上您的 Google 雲端服務帳號 JSON { "type": "service_account",... }',authModeApiKey:"API 密鑰",authModeVertex:"頂點 JSON"},save:"節省",saved:"已儲存",saving:"正在驗證...",remove:"移除",saveFailed:"無法儲存密鑰",networkError:"網路錯誤。再試一次。",removeFailed:"無法移除鑰匙",configuredReplace:"已配置 — 按一下以取代",status:{valid:"有效的",notConfigured:"未配置"},nai:{label:"NovelAI",placeholder:"貼上您的 NovelAI 永久 API 權杖"}},videoModel:{grokImagine:"Grok Imagine 視頻",grokImagine15:"Grok Imagine 影片 1.5"},reasoning:{title:"推理努力",body:"更高的努力會在生成之前花費更多的推理令牌來規劃、網路搜尋和提示豐富。",none:"關——沒有額外的推理",low:"低——最快、最少的推理",medium:"中 — 平衡預設值",high:"高——更深入的研究與綜合",xhigh:"Xhigh — 擴展推理,速度較慢",max:"Max-最大推理,最慢"},webSearch:{title:"網頁搜尋",body:"在生成之前使用即時搜尋來尋找真實的人物、品牌、產品、地點和最近的事件。",on:"搜尋於",off:"關閉搜尋"},grokCompatibility:{title:"Grok 相容性",body:"Grok 圖像生成首先運行強製網絡搜索,然後將文字和附加圖像發送到本地圖像工具規劃器,該規劃器用英語編寫最終圖像提示。附上透過 xAI 影像編輯的參考路線;大小對應到寬高比/解析度。輸出格式、審核和推理僅由 GPT OAuth 和 API 密鑰提供者使用。"},grokPlanner:{title:"Grok 規劃器模型",body:"該模型用於搜尋和圖像/視訊提示規劃。 Grok 4.5 為默認,支援I2V/Ref2V 規劃的影像輸入;Grok 4.3 仍可用作相容性覆蓋。"},gallery:{defaultScopeTitle:"預設圖庫視圖",defaultScopeBody:"選擇開啟圖庫時顯示的內容。"},appearance:{historyStripLayoutTitle:"歷史縮圖",historyStripLayoutBody:"選擇緊湊的歷史記錄條位於工作區旁的方式。",historyStripLayout:{rail:"軌",horizontal:"頂排",sidebar:"側邊欄"}},language:{title:"語言",body:"切換介面語言,不會變更生成內容。"},theme:{title:"主題",body:"淺色、深色,或跟隨系統外觀。",label:"主題",light:"淺色",dark:"深色",system:"系統"}},ET={loading:"正在載入會話...",addFirst:"+ 增加第一個 node",addRootTitle:"加根 node",hint:"將手把拖曳到空白區域以進行分支。按刪除或退格鍵刪除。"},RT={title:"{provider} 不可用",ariaLabel:"{provider} 不可用"},NT={label:"語言",ko:"한국어",en:"English","zh-Hant":"正體中文","zh-Hans":"简体中文"},kT={close:"關閉",details:"顯示原始錯誤詳細訊息",unknown:{title:"發生意外錯誤",body:"請稍後重試。如果問題仍然存在,請複製下面的原始錯誤訊息並報告。"},moderationRefused:{title:"提示被審核阻止",body:"軟化措辭或改寫。參考圖像中的敏感/暴力內容也可能觸發此問題。",cta:"編輯提示",bodyInput:"您的提示文字已被輸入過濾器捕獲。嘗試改寫或使用不同的措詞。",bodyOutput:"產生的影像被輸出濾波器捕獲。嘗試更改樣式或品質設定。"},emptyResponse:{title:"沒有返回圖像",body:"Codex 回應但不包含影像資料。這不是一個調節塊 - 它可能是一個短暫的問題或不受支援的尺寸/品質/型號組合。重試,或嘗試不同的尺寸或型號。",cta:"重試"},streamParseFailed:{title:"無法解析圖像響應流",body:"響應數據到達,但應用程式無法乾淨地讀取圖像流。代理或瞬態流傳輸問題可能會發生這種情況。",cta:"重試"},imageToolNotCalled:{title:"未呼叫圖像工具",body:"響應已完成,但未觀察到圖像生成工具呼叫。重試相同的提示,或嘗試其他模型/搜尋設定。",cta:"重試"},webSearchOnlyResponse:{title:"未呼叫圖像工具",body:"僅運行網路搜尋;圖像生成工具沒有。關閉搜尋或重試請求。",cta:"重試"},imageToolFailed:{title:"圖像工具呼叫失敗",body:"呼叫了圖像生成工具,但最終以失敗狀態結束。如果重複出現此情況,請使用 `ima2 doctor image-probe --json` 輸出報告它。",cta:"重試"},imageToolNoResult:{title:"影像結果為空",body:"圖像工具呼叫已完成,但不包含圖像資料。這可能表示選項組合不受支援或帳戶功能問題。",cta:"重試"},providerEmptyImage:{title:"回傳的圖片是空的",body:"生成服務回傳了沒有內容的圖片。這通常是暫時問題,重試一般即可解決。",cta:"重試"},oauthImageCapabilityUnavailable:{title:"該帳戶可能沒有圖像工具存取權限",body:"GPT OAuth 已連接,但此帳戶/模型組合可能無權使用影像產生。與 API-key 模式或其他模式進行比較。",cta:"確定"},responsesStreamError:{title:"圖像響應流以錯誤結束",body:"OpenAI 在回應流中傳回了錯誤事件。請稍後重試,如果問題仍然存在,請檢查原始錯誤詳細資訊。",cta:"重試"},upstream5xx:{title:"OpenAI 目前正忙",body:"重試通常可以解決此問題。檢查 status.openai.com 如果它仍然存在。",cta:"重試"},authChatgptExpired:{title:"Codex ChatGPT 會話已過期",body:"在終端機中執行 `ima2 setup`(選項 1),然後重新載入此應用程式。",cta:"重新載入"},authApiKeyInvalid:{title:"API 金鑰驗證失敗",body:"金鑰遺失、無效、已撤銷、超出配額或綁定到錯誤的組織。切換到 GPT OAuth 或更新配置的 API 密鑰。",cta:"確定"},networkFailed:{title:"網路連線失敗",body:"無法存取 OpenAI 或本地運行時服務。先重新載入;如果問題仍然存在,請檢查 VPN/防火牆以及 `ima2 doctor` 顯示的連接埠。",cta:"重新載入"},oauthUnavailable:{title:"GPT OAuth 不可用",body:"GPT OAuth 正在啟動或無法連線到端點。先重新載入;如果仍然存在,請執行 `ima2 gpt status` 與 `ima2 doctor`。",cta:"重新載入"},invalidRequest:{title:"圖片請求需要更改",body:"一個或多個生成參數無效。檢查下面的原始錯誤詳細信息,然後編輯提示或大小並重試。",cta:"編輯輸入"},apikeyDisabled:{title:"API-按鍵模式不可用",body:"此版本支援 API-密鑰生成,但目前請求無法使用配置的密鑰。切換到 GPT OAuth 或更新 API 密鑰。",cta:"確定"},agyGenerationFailed:{title:"Gemini 產生失敗",body:"Antigravity CLI 回傳錯誤。檢查 agy 二進位檔案是否已安裝且您的 Gemini 帳戶是否處於活動狀態。",cta:"重試"},agyTimeout:{title:"Gemini 產生逾時",body:"agy 程序在逾時視窗(360 秒)內沒有回應。重試或檢查 agy CLI 狀態。",cta:"重試"},agyProcessError:{title:"Gemini 進程錯誤",body:"agy CLI 因意外錯誤而退出。驗證二進位檔案是否可以與「agy --version」一起使用。",cta:"重試"},agyQuotaExhausted:{title:"Gemini 配額已用完",body:"您已用盡 Gemini 圖像生成能力。您的配額將自動重設 - 檢查錯誤詳細資料中的重設計時器。",cta:"確定"},authClass:{title:"需要重新登入",body:"服務商認證已過期或金鑰遭拒。請至設定重新登入。",cta:"重新登入"},billingRequired:{title:"需要儲值",body:"此服務商帳戶餘額不足。請前往服務商主控台確認後重試。"},grokApiKeyMissing:{title:"需要 Grok API 金鑰",body:"請在設定 > 供應商中新增 xAI API 金鑰,然後重試。此圖像請求不會改用 Grok OAuth 通道。",cta:"開啟供應商設定"},naiApiKeyMissing:{title:"未設定 NovelAI 權杖",body:"請在設定中貼上 NovelAI 永久 API 權杖(以 pst- 開頭)。此通道不使用登入工作階段。",cta:"開啟設定"},naiAuthFailed:{title:"NovelAI 拒絕了該權杖",body:"已儲存的權杖無效或已被撤銷。請在 NovelAI 帳號設定重新簽發永久權杖並再次儲存。",cta:"開啟設定"},naiSubscriptionRequired:{title:"需要 NovelAI 訂閱",body:"影像生成需要有效訂閱(Opus、Scroll 或 Tablet)。權杖有效,但目前方案不含此請求。",cta:"關閉"},naiUsageExhausted:{title:"NovelAI V5 電量耗盡",body:"Opus V5 使用額度已耗盡,且沒有剩餘 Anlas。請切換至 V4.5 模型,或等待電量恢復。",cta:"關閉"},naiZipInvalid:{title:"無法讀取 NovelAI 影像壓縮檔",body:"回傳的壓縮檔無法解碼。通常是暫時性問題,請重試。",cta:"重試"},naiResponseNotZip:{title:"NovelAI 回傳了非預期格式",body:"回傳的並非影像壓縮檔。請重試;若持續失敗,可能是 NovelAI 服務異常。",cta:"重試"},naiImageInvalid:{title:"未回傳可用影像",body:"請求成功但不含有效 PNG。請重試,或調整模型與尺寸。",cta:"重試"},naiUpstreamError:{title:"NovelAI 請求失敗",body:"未能完成生成。請稍後重試;反覆失敗通常表示上游異常。",cta:"重試"}},GT={title:"提示庫",saveTitle:"儲存到提示庫",save:"節省",saved:"提示已儲存",saveFailed:"保存失敗",name:"姓名",tags:"標籤",search:"搜尋提示...",favorites:"收藏夾",load:"載入",insert:"插入",inserted:"提示已插入",removeInserted:"刪除插入的提示 {name}",favorite:"最喜歡的",unfavorite:"不喜歡",empty:"尚未儲存提示。",content:"內容",copy:"複製",untitled:"無題",addNew:"新增提示",import:"進口",importFiles:"匯入.txt、.md、.markdown 或 GitHub 文件",dropImport:"拖曳.txt、.md 或.markdown 檔案以匯入提示",importTitle:"導入提示",importDropTitle:"將文件拖到此處",importDropHint:"儲存前預覽.txt、.md 和.markdown 文件",importChooseFiles:"選擇文件",importGithubLabel:"GitHub 檔案 URL 或路徑",importPreview:"預覽",importPreviewEmpty:"拖放檔案或輸入 GitHub 路徑來預覽候選。",importCommit:"儲存選定的內容",importSelected:"導入選定的 ({count})",importThisPrompt:"導入此提示",previewPrompt:"預覽",selectPrompt:"選擇",selectedPrompt:"已選擇",selectedCount:"已選擇 {count}",selectAllCandidates:"選擇全部",clearCandidateSelection:"清除",addAnotherSource:"增加另一個來源",searchResultsHeader:"搜尋結果 ({count})",searchResults:"搜尋結果",promptText:"提示文字",importSelectAtLeastOne:"至少選擇一個提示進行儲存。",imported:"導入的 {count} 提示",importFailed:"導入失敗",importNoValidFiles:"未找到.txt、.md 或.markdown 提示檔。",curatedSources:"精選來源",curatedSourcesHint:"搜尋已索引的公共提示來源",curatedSearch:"搜尋",curatedSearchPlaceholder:"奈米香蕉,gpt-image-2,排版......",refreshSource:"重新整理",curatedRefreshed:"已索引的 {count} 提示候選者",sourceTrustTier:"來源信任",requiresAttribution:"需要歸屬",sourceDetails:"來源",license:"執照",attributionRequired:"需要歸屬",modelHints:"型號提示",taskHints:"任務提示",warnings:"警告",compatibilityWarnings:"相容性警告",transparentUnsupportedGptImage2:"gpt-image-2 不支援透明背景",noCuratedResults:"未找到精選的提示候選人。",discovery:"發現",discoverySearch:"搜尋 GitHub",discoverySearchPlaceholder:"搜尋提示儲存庫...",discoveryCandidates:"發現候選人",discoveryApprove:"核准",discoveryReject:"拒絕",discoveryApproved:"得到正式認可的",discoveryRejected:"被拒絕",discoveryScore:"分數",discoveryWarnings:"發現警告",discoveryRateLimited:"GitHub 發現是有速率限制的。",discoveryNoResults:"未找到發現候選。",discoveryReviewQueue:"審核佇列",discoveryRequiresPaths:"在預設搜尋之前新增已審閱的檔案路徑。",folderBrowse:"瀏覽資料夾",folderBrowseHint:"從 GitHub 資料夾載入支援的文件",folderFiles:"資料夾檔案",folderFilesEmpty:"找不到可匯入的.md、.markdown 或.txt 檔案。",folderPreviewSelected:"預覽選定的文件",folderSelectedCount:"已選擇 {count}",folderWarnings:"資料夾警告",folderTooManyFiles:"文件太多;顯示有限集。",folderNoSelection:"選擇要預覽的文件。",folderUnsupported:"僅支援 GitHub 資料夾。"},OT={title:"提示產生器",subtitle:"透過多輪上下文細化提示。",scopeDraft:"新作品",scopeImage:"所選影像:{name}",scopeImageFallback:"目前影像",newWorkTitle:"在沒有圖像上下文的情況下開始新的工作",model:"建造者模型",modelAuto:"使用後端預設模型",viaBackend:"經由 {backend}",backends:{auto:"自動",oauth:"GPT OAuth",api:"OpenAI API",grok:"Grok",grokApi:"Grok API"},empty:"描述一下你想要的方向。我將包括您當前的提示和設定作為上下文。",user:"你",assistant:"建設者",placeholder:"我們該樹立什麼樣的形象?",send:"傳送",sending:"寫作",thinking:"完善提示...",clear:"清除",applyToPrompt:"適用於提示",insertAsBlock:"插入區塊",finalKoreanPrompt:"韓語提示",finalEnglishPrompt:"英文提示",blockName:"建造商建議",applied:"建構器建議應用於主提示",inserted:"作為提示區塊插入的建構器建議",failed:"提示建構器請求失敗",configLoading:"正在載入建構器設定...",configUnreadable:"無法儲存:~/.ima2/config.json 無法讀取。請修正或移動該檔案後再試一次。",removeScopeImage:"從建構器上下文中刪除選定的影像",removeAttachment:"刪除附件 {name}",attach:"附加文件",attachmentOnlyMessage:"使用附加文件作為上下文並根據提示提供協助"},MT={sectionTitle:"工作空間",sectionBody:"選擇工作區佈局設定檔。",profileLabel:"工作區設定檔",defaultLabel:"預設",defaultDesc:"帶有側邊欄編輯器的標準生成工作流程。",promptStudioLabel:"提示工作室",promptStudioDesc:"提示建構器面板、分組記錄和增強的檢視器。"},IT={controls:"圖像縮放控件",zoomIn:"放大",zoomOut:"縮小",reset:"重設變焦"},wT={title:"紀錄",empty:"還沒有產生日誌",copied:"提示已複製",copy:"點選複製提示",loadFailed:"無法載入生成日誌。",retry:"重試",detailOpen:"點擊查看詳情",detailTitle:"生成請求",detailTime:"時間",detailRequestId:"請求 ID",detailCounts:"成功 / 請求",detailError:"錯誤代碼",detailPrompt:"提示詞",detailPromptEmpty:"(無提示詞)",detailErrorMessage:"失敗原因"},xT={writeFailed:"無法寫入剪貼簿。"},LT={graphSaveFailed:"無法儲存 node 圖表。",sessionSwitchSaveFailed:"由於無法儲存目前圖形,會話切換已停止。",sessionInitialLoadFailed:"無法載入會話。",sessionInitialLoadRetry:"無法載入會話。現在重試?",attachmentReadFailed:"無法讀取一個或多個附件。"},DT={ariaLabel:"主導航",home:"家",create:"創造",node:"Node 圖",agent:"代理人",assets:"資產",assetGen:"資產生成",settings:"設定",collapseSidebar:"收合側邊欄",expandSidebar:"展開側邊欄",desktopSettings:"應用程式設定"},PT={title:"資產生成",lede:"建立圖片或短片,然後一鍵移除背景。",prompt:"提示詞",promptPlaceholder:"一個紅蘋果,工作室產品拍攝",background:"背景",backgroundHint:"綠色背景最適合去背;不確定時就選綠色。",bgChroma:"色度綠幕",bgWhite:"白色",bgBlack:"黑色",bgTransparent:"透明",bgTransparentGptOnly:"透明背景僅支援 GPT 通道;Grok 沒有 Alpha 參數。",backgroundHintTransparent:"GPT Image 2 直接產生真正的 Alpha 通道,不需再去背。儲存為 PNG。",model:"模型",modelGpt:"GPT",modelGrok:"Grok",kind:"輸出",kindImage:"影像",kindVideo:"影片",videoSoon:"影片功能稍後推出",videoGrokOnly:"影片生成需要使用 Grok,請切換模型。",videoOptions:"影片選項",videoDuration:"影片時長",videoResolution:"影片解析度",videoAspect:"縱橫比",generate:"產生資產",generating:"生成…",emptyTitle:"還沒有資產",emptyBody:"在左側寫下提示,然後按下「產生資產」。結果顯示在此處並自動儲存到您的項目中。",emptySessionTitle:"本次工作階段尚未生成內容",emptySessionBody:"先前的結果已儲存在專案中。生成新內容,或瀏覽既有資產。",emptySessionCta:"瀏覽專案資產",generateHint:"先輸入提示詞,按鈕會自動啟用。",previewImage:"開啟影像預覽:{prompt}",previewVideo:"開啟影片預覽:{prompt}",previewDialogTitle:"預覽:{prompt}",closePreview:"關閉預覽",zoomIn:"放大",zoomOut:"符合螢幕大小",openHintImage:"放大",openHintVideo:"播放",imageFallback:"生成的圖像",videoFallback:"生成的視頻",emptyCta:"寫下你的第一個提示",errorTitle:"生成提示",errorHint:"請檢查模型與 API 金鑰設定後再試一次。",errorDismiss:"關閉",savedHint:"結果會自動儲存到您的專案中。",savedLink:"在資產中查看",railTitle:"專案資產",railEmpty:"該項目中尚未保存資產。",railError:"無法載入專案資產。",sequence:"影格序列",candidates:"候選影格",frameAria:"第 {n} 格,{rail}",addFrame:"加入",removeFrame:"移除",deleteFrame:"刪除第 {n} 格"},UT={select:"專案",unassigned:"未分配",new:"新項目…",newPrompt:"項目名稱",search:"尋找項目...",searchPlaceholder:"搜尋項目",searchEmpty:"沒有匹配的項目",close:"關閉",saveRetry:"重試保存"},zT={title:"角色表",open:"開啟角色表",close:"關閉角色表",state:"動畫狀態",unsaved:"未儲存的更改",discardConfirm:"放棄未儲存的精靈變更嗎?",loadError:"無法載入此精靈運行。",saveError:"無法保存策展。",bakeError:"無法製作角色圖集。",exportError:"無法匯出精靈動畫。",previous:"上一幀",play:"播放",pause:"暫停",next:"下一幀",speed:"速度",grid:"網格",transform:"影格變換",rotate:"旋轉",scale:"縮放",dx:"移動 X",dy:"移動 Y",shx:"剪切X",shy:"剪切Y",flipX:"水平翻轉",sequence:"影格序列——播放與製作順序",candidates:"候選影格庫",frameAria:"第 {n} 格,{rail}",addFrame:"加入",removeFrame:"移除",deleteFrame:"刪除第 {n} 格",save:"儲存角色表",bake:"製作角色圖集",contactSheet:"縮圖總覽",gif:"匯出 GIF",status:{loading:"載入中…",ready:"已儲存",saving:"儲存中…",baking:"製作中…",exporting:"匯出中…",error:"操作失敗"}},_T={title:"刪除背景",open:"刪除背景",original:"原圖",originalAlt:"去除背景前的原圖",removed:"背景已移除",previewLoading:"準備刪除背景預覽...",resultBadge:"背景已移除",keyColor:"去背色",pickHint:"點選預覽重新選擇主色",clickMode:"預覽點擊功能",modeErase:"點擊以擦除",modePick:"選擇去背色",eraseHint:"按一下空白區域以僅刪除該連線區域",undoClick:"撤銷點選 ({count})",previewAlt:"棋盤上的摳像預覽",tolerance:"去背強度",softness:"邊緣柔化",spill:"清理色溢",unmix:"邊緣去混色",unmixHint:"恢復半透明邊緣(僅限色度鍵)",reset:"重置",download:"下載透明 PNG",save:"儲存到項目",saving:"儲存中…",videoSave:"建立 alpha WebM",videoKeying:"鍵控影片... {seconds}s",videoSaved:"Alpha WebM 儲存到項目",saved:"Alpha PNG 儲存到專案中",saveError:"無法保存摳像影像",loadError:"無法載入此圖片進行摳像。關閉並重試。",advanced:"微調去背(進階)"},HT={title:"轉換為 SVG",open:"向量化",hint:"最適合去背圖、圖示與色塊邊界清晰的圖形。照片和小字會糊掉。",original:"原圖",originalAlt:"轉換前的原始影像",result:"向量結果",resultAlt:"轉換後的 SVG 結果",idle:"尚未轉換",running:"轉換中…",run:"轉換為 SVG",preset:"轉換方式",preset_auto:"自動",preset_flat:"平塗色塊",preset_detailed:"精細",preset_mono:"黑白剪影",advanced:"細節調整(進階)",colorPrecision:"顏色精度",filterSpeckle:"雜點過濾",cornerThreshold:"轉角角度",reset:"預設值",download:"下載 SVG",saved:"已將 SVG 儲存到專案",saveError:"轉換失敗",stats:"{paths} 條路徑 · {size}"},qT={ariaLabel:"快速行動",animate:"動畫",edit:"在畫布中編輯",useAsRef:"用作參考",rebake:"再生",refAdded:"新增為參考影像",refFailed:"無法新增參考",saveToAssets:"保存到資產",savedToAssets:"保存到資產",saveToAssetsFailed:"無法保存到資產"},BT={title:"資產",clearAll:"全部清除",clearConfirm:"刪除所有已儲存的資源?此操作無法撤銷。",testSheetsUnavailable:"元素測試表尚不可用。",detailAria:"{name} 詳細信息",searchPlaceholder:"搜尋資產...",allAssets:"所有資產",elementLibrary:"元素庫",removeFromElements:"從元素庫中刪除",emptyElementsTitle:"還沒有元素",emptyElementsBody:"元素是可重複使用的@可提及的參考(人物、產品、風格、場景)。將圖庫圖像儲存到資產並推廣它,然後在任何地方使用 @ 提及它。",newFolder:"新建資料夾",kindAll:"所有類型",kindImage:"圖片",kindVideo:"影片",kindElement:"元素",kindPreset:"預設",kindTemplate:"範本",emptyTitle:"還沒有資產",emptyBody:"尚未保存任何內容。在資產生成標籤中產生您的第一張圖像 - 結果會自動保存在此。",emptySearchTitle:"沒有匹配項",emptySearchBody:"嘗試不同的搜尋、標籤或類型過濾器。",emptyFolderTitle:"該資料夾是空的",emptyFolderBody:"將資源移至此處或將新結果儲存到此資料夾。",deleteAsset:"從資產中刪除",confirmDelete:"刪除?",loadMore:"加載更多",rootFolder:"頂級",renameFolder:"重新命名資料夾",renameAsset:"重命名資產",starAsset:"明星資產",unstarAsset:"刪除資產星級",deleteFolder:"刪除資料夾",actionFailed:"操作失敗",starSaved:"新增到資產",starSaveFailed:"已加星標,但無法新增至資產",itemCount:"{count} 項目",emptyCta:"開放資產生成",loadErrorTitle:"無法載入資源",loadErrorBody:"載入您的庫時出現問題。",retry:"再試一次",detailClose:"關閉資產詳細信息",detailKind:"類型",detailCreated:"建立時間",detailProvider:"模型",detailPrompt:"提示詞",detailTags:"標籤",bindingsTitle:"提供者綁定",bindingsHelp:"該角色如何連接到外部提供者。",bindingStateless:"每代的引用數",bindingTagPlaceholder:"runway @tag (可選)",bindingSave:"保存綁定",bindingSaving:"保存…",bindingTagInvalid:"標籤必須是 1-32 個字母、數字、底線或連字號。",bindingCapWarning:"角色有 {count} 引用 — Runway 每代最多接受 3 個。",bindingTrain:"火車靈魂ID",bindingTrainLockedHint:"需付費 Higgsfield 方案。",bindingPaidPlan:"需要付費計劃",bindingDriftWarning:"參考與訓練時快照不同-考慮重新訓練。"},FT={name:"Node 工作室",toolbar:{addImage:"新增圖片",templates:"範本",saveTemplate:"儲存模板",branch:"分支"},empty:{title:"建構圖像工作流程",description:"從提示開始,重複使用經過驗證的圖表,或繼續您的最新工作。",blankTitle:"從空白畫布開始",blankDescription:"增加一個提示 node 並自行塑造工作流程。",blankAction:"開始空白",templateTitle:"從模板開始",templateDescription:"複製現成的圖表以用於常見的生成工作流程。",templateAction:"瀏覽模板",recentTitle:"恢復最近的圖表",recentDescription:"繼續最近保存的有效圖表。",recentUnavailable:"目前尚無最新圖表。",recentAction:"恢復最近的",resumeError:"無法開啟最近的圖表。再試一次。"},elements:{ariaLabel:"元素節點",title:"元素",hint:"拖曳或添加",loading:"正在載入元素...",loadError:"無法載入元素。再試一次。",empty:"尚未儲存元素。",addToCanvas:"添加到畫布"},elementNode:{untitled:"無標題元素",referencesOutput:"元素引用輸出",notesOutput:"元素註解輸出",kind:"元素",referenceCountOne:"{count} 參考",referenceCount:"{count} 參考文獻",missing:"該元素已被刪除。運行前重新連線。"},elementController:{onlyElements:"只能將元素資源加入畫布。",invalid:"元素 node 無效。",addError:"無法將元素新增至畫布。"},branch:{defaultVariant:"變異 {index}",eyebrow:"分行工作流程",title:"創建變體",close:"關閉分支對話框",variantLegend:"變異 {index}",label:"標籤",provider:"提供者",modelOverride:"模型覆蓋",currentModel:"使用當前模型",sizeOverride:"尺寸覆蓋",currentSize:"使用目前尺寸",remove:"移除",add:"添加變體",cancel:"取消",create:"建立分支",selectSourceError:"選擇一個連接的來源 node。",applyError:"此分支無法應用,因此圖表保持不變。"},templates:{previewAria:"{name} 圖形預覽",nodeCountOne:"{count} 個節點",nodeCount:"{count} 節點",outputCountOne:"{count} 輸出",outputCount:"{count} 輸出",rename:"重新命名",delete:"刪除",deleteConfirm:"删除模板“{name}”?此操作無法撤銷。",title:"選擇模板",close:"關閉模板",searchLabel:"搜尋模板",searchPlaceholder:"名稱或標籤",loading:"正在載入模板...",empty:"沒有模板匹配“{query}”。",starter:"入門模板",yours:"您的模板",cancel:"取消",copy:"影印一份",loadError:"無法載入模板。再試一次。",replaceConfirm:"用此模板的副本替換當前圖形?",invalidGraph:"模板圖無效。",copyError:"無法複製模板。",namePrompt:"模板名稱",saved:"模板已儲存。",saveError:"無法儲存模板。",renamePrompt:"重新命名模板",renameError:"無法重命名模板。",deleteError:"無法刪除模板。",export:"匯出",import:"匯入檔案",importHint:"從另一台裝置上的 ima2 匯出的 .ima2-template.json 檔案",exported:"已匯出「{name}」。",exportError:"無法匯出模板。",imported:"已匯入「{name}」。",importError:"無法匯入該檔案。",importNotTemplate:"該檔案不是 ima2 模板匯出檔。",importNewerVersion:"該檔案由較新版本的 ima2 建立,請先更新應用程式。",importTooLarge:"模板檔案過大(上限 2 MB)。",importBadName:"檔案中的模板沒有可用名稱。",importInvalidGraph:"檔案中的圖已損毀或不受支援。"},palette:{ariaLabel:"插入 node 指令",compatiblePlaceholder:"與 {portType} 相容",searchPlaceholder:"搜尋節點",filter:"顯示接受 {portType} 的節點。",emptyCompatible:"node 不接受 {portType}。",emptySearch:"沒有節點與此搜尋相符。",commandsAria:"Node 指令",categories:{input:"輸入",generate:"產生",transform:"轉換",reference:"參考",output:"輸出"}},commands:{"image-generate":{label:"影像生成",description:"將影像 node 加入工作流程。"}},portTypes:{prompt:"提示詞",image:"影像",images:"圖片",video:"影片",mask:"面具","element-refs":"元素參考","element-notes":"元素註釋",settings:"設定","any-media":"任何媒體"},compatibility:{sameDirection:"將輸出埠連接到輸入埠。",typeMismatch:"這些連接埠類型不相容。",cardinality:"該輸入已經有一個連接。",selfEdge:"node 無法連接到自身。",duplicateEdge:"該連接已經存在。",unknownPort:"此連接埠不可用於連接。",cycle:"該連接會形成一個循環。"}},VT={tabs:{label:"資產工作流程",generate:"產生",sprite:"角色表"},title:"角色表",lede:"鎖定角色設定,然後產生動作一致的角色影格。",loading:"正在載入角色表…",loadError:"無法載入角色表。",retry:"重試",empty:{title:"建立角色表",body:"設定角色、影格尺寸與動畫狀態。",create:"建立角色表"},recipe:{select:"角色表",new:"新增角色表",name:"角色表名稱",characterId:"角色ID",description:"描述",style:"風格",baseAssetId:"基礎圖像資源",baseAsset:"基礎圖像資源",save:"儲存角色表",saving:"儲存中…",unsaved:"生成前儲存變更。"},cell:{title:"影格尺寸",width:"寬度",height:"高度",safeMarginX:"水平邊界",safeMarginY:"垂直邊界"},chroma:{title:"綠幕去背",hex:"去背顏色"},states:{title:"動畫狀態",add:"新增狀態",remove:"移除",key:"狀態名稱",frames:"影格數",fps:"FPS",loop:"環形",action:"動作"},anchor:{title:"身分錨",missing:"在行前產生並批准一個空閒姿勢。",generate:"生成空閒候選人",generating:"生成…",candidate:"候選人準備接受審查。",regenerate:"雷根",approve:"批准錨點",approved:"錨定批准",replace:"更換錨",confirmTitle:"批准這個身分錨?",confirmBody:"未來的行將重複使用此標識;基本影像將不會再次附加。",confirm:"核准",cancel:"取消"},rows:{title:"精靈行",generateAll:"產生全部",generateSelected:"產生選定的",regenerate:"重試行",cancel:"取消",preview:"預覽",anchorRequired:"首先批准錨點。",saveRequired:"首先儲存配方更改。",status:{pending:"待辦的",queued:"排隊",running:"跑步",complete:"完全的",error:"錯誤",canceled:"取消"}},error:{INVALID_SPRITE_RECIPE:"填寫所需的配方欄位。",ANCHOR_NOT_APPROVED:"首先批准身分錨。",BASE_REFERENCE_FORBIDDEN:"基礎鏡像審核通過後不可重複使用。",GENERATION_CANCELED:"一代被取消。",generic:"精靈生成失敗。"}},jT={undone:"撤銷最後的圖形變更。",redone:"重新繪製圖形變更。"},YT={t2i:"文字 → 圖片",i2i:"圖片編輯",t2v:"文字 → 視頻",i2v:"圖片 → 影片",v2v:"影片延續"},QT={title:"元素",titleEdit:"編輯元素",titleNew:"新元素",saved:"已儲存",ariaLabel:"元素詳情",name:"姓名",namePlaceholder:"例如胡桃木椅",kind:"種類",kindCharacter:"特點",kindProduct:"產品",kindStyle:"風格",kindScene:"場景",kindReference:"參考",selected:"選定的元素",mentionAria:"{name}、{kind} 元素",unavailableAria:"{name},不可用元素",removeAria:"刪除 {name} 元素",helpCharacter:"一個人或反覆出現的主題。",helpProduct:"設計細節一致的產品。",helpStyle:"視覺語言、材料或處理方式。",helpScene:"地點、環境或反覆出現的環境。",notes:"筆記",notesHelp:"描述應保持一致的外觀、材料和細節。",notesPlaceholder:"溫暖的胡桃木紋、圓潤的邊緣、編織的藤條座椅…",remaining:"剩餘 {n}",strength:"參考強度",strengthHelp:"生成的作品的強度應遵循這些參考文獻。",resetDefault:"重設為預設值",saving:"儲存中…",save:"儲存元素",testing:"正在產生測試表...",runTest:"運行測試表",delete:"刪除",errorName:"儲存之前命名您的元素。",errorRefs:"儲存前至少新增一張參考影像。",refsTitle:"參考圖片",refsHelp:"拖曳以設定順序。第一個圖像是代表性縮圖。",refAlt:"參考 {n}",refPrimary:"代表",refLabel:"標籤",refLabelPlaceholder:"正面、側面、材質…",refMoveUp:"將引用 {n} 向上移動",refMoveDown:"向下移動引用 {n}",refRemove:"消除",refRemoved:"參考已刪除。",refUndo:"撤銷"},KT={display:{localMethod:"本機 HTTP",loading:"正在檢查工作流…",refreshing:"正在更新上次觀測狀態…",loadFailed:"無法讀取工作流目錄。",appAccessRequired:"讀取目錄需要應用程式存取權限。",unavailable:"尚未確認工作流是否可用。",available:"上次檢查目錄時可用。",chooseWorkflow:"選擇工作流",empty:"尚未註冊工作流。",selectedMissing:"所選工作流已不在目錄中。",selectedOffline:"上次檢查時所選工作流離線。",selectedLocked:"所選工作流已鎖定。",observedConnected:"上次檢查時有執行個體回應。",lastChecked:"上次檢查:{time}",refresh:"重新整理",manage:"管理工作流",controlsHelp:"此面板選擇影像或影片工作流。繫結決定哪些已儲存的請求設定生效;選擇工作流並不證明執行成功。"},workflowsTitle:"ComfyUI 工作流",addTitle:"註冊工作流",loading:"正在載入工作流…",empty:"尚未註冊工作流。請在 ComfyUI 中使用 Workflow > Export (API) 匯出,或上傳 ComfyUI 產生的 PNG。",colId:"工作流",colKind:"類型",colOrigin:"實例",colStatus:"狀態",colActions:"操作",statusReady:"正常",statusOffline:"無回應",remove:"刪除",fileLabel:"工作流檔案(API 匯出或 ComfyUI PNG)",originLabel:"ComfyUI 位址",checkOrigin:"檢查",originReachable:"已連線",originUnreachable:"沒有回應。ComfyUI 正在執行嗎?",originInvalid:"必須是帶連接埠的本機回環 http 位址,例如 http://127.0.0.1:8188",idLabel:"工作流 id",labelLabel:"顯示名稱",kindLabel:"媒體類型",kindImage:"圖片",kindVideo:"影片",videoKindHint:"影片工作流程透過影片端點執行。",videoCatalogShort:"僅目錄",bindTitle:"請求欄位要寫入哪個節點?",bindAmbiguous:"有些欄位對應到多個節點。請逐一選擇——選錯會讓正負提示詞悄悄互換。",choose:"請選擇…",register:"註冊",inspectFailed:"無法讀取該工作流檔案。",registerFailed:"無法註冊該工作流。",removeFailed:"無法刪除該工作流。",field:{prompt:"提示詞",negativePrompt:"負面提示詞",width:"寬",height:"高",seed:"種子",refImage:"參考圖",output:"輸出節點"}},XT={positivePrompt:{label:"正向提示詞",placeholder:"描述想要生成的主體、場景、風格與細節…",hint:"{count} 個字元。輸入 @ 可加入參考。"},negativePrompt:{label:"排除內容",placeholder:"低畫質、結構錯誤、浮水印…",hint:"{count} 個字元。用於避開的標籤,並與下方預設一起生效。"},panel:{modelTitle:"模型",sizeTitle:"尺寸",samplingTitle:"取樣",presetTitle:"預設",outputTitle:"輸出"},field:{sampler:"取樣器",noiseSchedule:"雜訊排程",autoSmea:"自動 SMEA",steps:"步數",scale:"引導強度",cfgRescale:"CFG 重縮放",decrisper:"去脆化",ucPreset:"排除預設",qualityPreset:"品質預設",varietyPlus:"Variety+",straightAlpha:"透明背景",seed:"種子",seedRandom:"隨機"},help:{autoSmea:"在高解析度下自動套用 SMEA,以提高整體一致性。",decrisper:"減少色彩與視覺瑕疵,尤其適用於高引導強度。",varietyPlus:"在高引導強度下增加構圖多樣性。",straightAlpha:"V5 原生 alpha。請在提示詞中一併加入透明背景標籤。",cfgRescale:"緩解高引導強度下的過飽和。設為 0 即關閉。",seed:"留空則每次使用新的種子。"},size:{portrait:"直式",landscape:"橫式",square:"方形"},ucPreset:{heavy:"強",light:"弱",furryFocus:"獸人向",humanFocus:"人物向",none:"不使用"},qualityPreset:{standard:"標準",light:"輕量",none:"不使用"},resetDefaults:"回復預設值",compatTitle:"NovelAI 通道",compatBody:"僅支援文生圖。此通道不支援參考圖、編輯與批次生成。"},ZT={imageToolModel:US,lan:zS,common:_S,appBar:HS,sheet:qS,toast:BS,inflight:FS,size:VS,sizeConfirm:jS,quality:YS,moderation:QS,format:KS,count:XS,multimode:ZS,metadata:JS,starPrompt:$S,onboarding:WS,readiness:eT,generate:tT,home:aT,billing:nT,history:lT,panel:iT,prompt:oT,canvas:rT,gallery:uT,node:sT,nodeBatch:cT,edge:dT,provider:mT,mcp:fT,grokMode:pT,cost:gT,result:hT,session:yT,uiMode:vT,agent:bT,cardNews:AT,video:ST,sidebar:TT,settings:CT,nodeCanvas:ET,apiDisabled:RT,language:NT,errorCard:kT,promptLibrary:GT,promptBuilder:OT,workspace:MT,viewer:IT,generationLog:wT,clipboard:xT,modal:LT,nav:DT,assetGen:PT,project:UT,spriteCurator:zT,keying:_T,vectorize:HT,chain:qT,assets:BT,"assets.clearAll":"全部清除","assets.clearConfirm":"刪除所有已儲存的資源?此操作無法撤銷。",nodeStudio:FT,sprite:VT,graph:jT,provenance:YT,element:QT,comfy:KT,nai:XT},cC=["ko","en","zh-Hant","zh-Hans"];function Us(){try{const y=localStorage.getItem("ima2.locale");if(y==="ko"||y==="en"||y==="zh-Hant"||y==="zh-Hans")return y}catch{}if(typeof navigator<"u"){const y=navigator.language||"";if(y.toLowerCase().startsWith("ko"))return"ko";const C=y.toLowerCase();if(/^(zh[-_](tw|hk|mo|hant)|zh-hant)/.test(C))return"zh-Hant";if(/^(zh[-_](cn|sg|hans)|zh)/.test(C))return"zh-Hans"}return"en"}function dC(y){try{localStorage.setItem("ima2.locale",y)}catch{}}const Np="ima2:lan-auth-required",JT="/api/auth/lan/session",$T=1e4,Qo={LAN_TOKEN_REQUIRED:"Connect to this studio again with its LAN token.",LAN_RATE_LIMITED:"Too many sign-in attempts. Wait before trying again.",LAN_SESSION_CAPACITY:"This studio has reached its session limit. Try again later.",LOCAL_HOST_REJECTED:"This studio address is not configured for access.",LOCAL_ORIGIN_REJECTED:"Open the studio using its configured address.",LAN_SESSION_UNAVAILABLE:"The studio could not be reached. Check its address and try again.",LAN_COOKIE_REQUIRED:"The browser did not retain the studio session cookie. Allow cookies for this address.",LAN_TOKEN_DUPLICATE:"The address contained more than one token. Enter the studio token below."};let bt=null,di=0,Tn=0,ci=null;function zt(y,C,R){const p=Object.hasOwn(Qo,y)?y:"LAN_SESSION_UNAVAILABLE",k=new Error(Qo[p]);return k.code=p,C!==void 0&&(k.status=C),R!==void 0&&(k.retryAfter=R),k}function mi(){return bt?{...bt}:null}function kp(){return bt?.mode==="lan"&&!bt.authenticated}function mC(){return di}function Gp(y=di){return Object.assign(new Error(Qo.LAN_TOKEN_REQUIRED),{code:"LAN_TOKEN_REQUIRED",status:401,authEpoch:y})}function Op(y=di){y!==di||kp()||(di+=1,Tn+=1,bt={mode:"lan",authenticated:!1,expiresAt:null},typeof window<"u"&&window.dispatchEvent(new Event(Np)))}function WT(y){if(!y||typeof y!="object"||Array.isArray(y))throw zt("LAN_SESSION_UNAVAILABLE");const C=y;if(C.mode!=="local"&&C.mode!=="lan"||typeof C.authenticated!="boolean"||C.expiresAt!==null&&(typeof C.expiresAt!="number"||!Number.isFinite(C.expiresAt))||C.mode==="local"&&!C.authenticated)throw zt("LAN_SESSION_UNAVAILABLE");return{mode:C.mode,authenticated:C.authenticated,expiresAt:C.expiresAt}}async function zs(y,C=""){const R=new AbortController,p=setTimeout(()=>R.abort(),$T);try{const k=await fetch(JT,{method:y,credentials:"same-origin",cache:"no-store",signal:R.signal,...y==="POST"?{headers:{"Content-Type":"application/json","X-Ima2-Token":C},body:"{}"}:{}});if(k.status===204&&y!=="GET")return null;const q=await k.json();if(!k.ok){const j=q?.error,ue=k.status===429?"LAN_RATE_LIMITED":typeof j?.code=="string"?j.code:"LAN_SESSION_UNAVAILABLE",ie=Number(k.headers.get("Retry-After"));throw zt(ue,k.status,Number.isFinite(ie)&&ie>0?Math.min(ie,3600):void 0)}if(y!=="GET")throw zt("LAN_SESSION_UNAVAILABLE");return WT(q)}catch(k){throw k instanceof Error&&"code"in k&&typeof k.code=="string"&&Object.hasOwn(Qo,k.code)?k:zt("LAN_SESSION_UNAVAILABLE")}finally{C="",clearTimeout(p)}}async function _s(y,C=Tn){const R=await zs("GET");if(!R)throw zt("LAN_SESSION_UNAVAILABLE");if(C!==Tn){if(bt)return{...bt};throw zt("LAN_SESSION_UNAVAILABLE")}return R.mode==="lan"&&!R.authenticated?Op():(y||!kp())&&(bt=R),{...bt??R}}function eC(){if(ci)return ci;const y=_s(!1);ci=y;const C=()=>{ci===y&&(ci=null)};return y.then(C,C),y}async function Mp(y){const C=++Tn;try{if(await zs("POST",y),C!==Tn)throw Gp();if(!(await _s(!0,C)).authenticated)throw zt("LAN_COOKIE_REQUIRED")}finally{y=""}}async function tC(){const y=++Tn;await zs("DELETE"),y===Tn&&bt?.mode==="lan"&&Op()}async function aC(){const y=new URL(window.location.href),C=y.searchParams.getAll("token"),R=C.length===1;if(C.length&&(y.searchParams.delete("token"),window.history.replaceState(window.history.state,"",y.href)),C.length>1)throw C.fill(""),zt("LAN_TOKEN_DUPLICATE");let p=C[0]??"";C.fill("");try{if(R?await Mp(p):await _s(!0),!bt)throw zt("LAN_SESSION_UNAVAILABLE");return{mode:bt.mode,authenticated:bt.authenticated}}finally{p=""}}function nC({className:y}){return he.jsx("span",{className:y?`brand-mark ${y}`:"brand-mark","aria-hidden":"true"})}const Hs={en:ub,ko:TA,"zh-Hans":PS,"zh-Hant":ZT};function Ip(y,C){const R=y?.code;return R==="LAN_TOKEN_REQUIRED"?C.sessionExpired:R==="LAN_RATE_LIMITED"?C.rateLimited:R==="LAN_SESSION_CAPACITY"?C.capacity:R==="LOCAL_HOST_REJECTED"||R==="LOCAL_ORIGIN_REJECTED"?C.originRejected:R==="LAN_COOKIE_REQUIRED"?C.cookieRequired:R==="LAN_TOKEN_DUPLICATE"?C.duplicateToken:C.unavailable}function lC(){const y=Hs[Us()].lan;return he.jsx("main",{className:"lan-sign-in","aria-busy":"true",children:he.jsx("p",{role:"status",children:y.connecting})})}function iC({error:y,onConnected:C,onRetry:R}){const p=Hs[Us()].lan,[k,q]=it.useState(""),[j,ue]=it.useState(!1),[ie,$]=it.useState(y),[I,b]=it.useState(0),M=I>Date.now();it.useEffect(()=>{if(!I)return;const Ae=setTimeout(()=>b(0),Math.max(0,I-Date.now()));return()=>clearTimeout(Ae)},[I]);const Ce=async Ae=>{if(Ae.preventDefault(),!k||j||M)return;let se=k;q(""),ue(!0),$(void 0);try{await Mp(se),await C()}catch(Ke){$(Ke);const we=Ke?.retryAfter;typeof we=="number"&&Number.isFinite(we)&&we>0&&b(Date.now()+we*1e3)}finally{se="",ue(!1)}},ze=async()=>{ue(!0),$(void 0);try{await R()}catch(Ae){$(Ae)}finally{ue(!1)}};return he.jsx("main",{className:"lan-sign-in","aria-labelledby":"lan-sign-in-title",children:he.jsxs("form",{className:"lan-sign-in__panel",onSubmit:Ae=>{Ce(Ae)},"aria-busy":j,children:[he.jsxs("p",{className:"lan-sign-in__brand",children:[he.jsx(nC,{className:"lan-sign-in__mark"}),p.brand]}),he.jsx("h1",{id:"lan-sign-in-title",children:p.title}),he.jsx("p",{id:"lan-sign-in-help",children:p.body}),he.jsx("label",{htmlFor:"lan-token",children:p.token}),he.jsx("input",{id:"lan-token",name:"lan-token",type:"password",value:k,onChange:Ae=>q(Ae.target.value),autoComplete:"off",autoFocus:!0,maxLength:4096,spellCheck:!1,autoCapitalize:"none",disabled:j,"aria-describedby":ie?"lan-sign-in-help lan-sign-in-error":"lan-sign-in-help"}),ie?he.jsx("p",{id:"lan-sign-in-error",className:"lan-sign-in__error",role:"alert",children:Ip(ie,p)}):null,he.jsx("button",{className:"lan-sign-in__submit",type:"submit",disabled:!k||j||M,children:j?p.connecting:p.connect}),he.jsx("button",{className:"lan-sign-in__retry",type:"button",disabled:j||M,onClick:()=>{ze()},children:p.retry})]})})}function fC(){const[y,C]=it.useState(!1),[R,p]=it.useState(),k=Hs[Us()].lan;if(mi()?.mode!=="lan")return null;const q=async()=>{C(!0),p(void 0);try{await tC()}catch(j){p(j)}finally{C(!1)}};return he.jsxs("article",{className:"settings-row",children:[he.jsxs("div",{className:"settings-row__copy",children:[he.jsx("h4",{children:k.sessionTitle}),he.jsx("p",{children:k.signOutBody}),R?he.jsx("p",{role:"alert",children:Ip(R,k)}):null]}),he.jsx("div",{className:"settings-row__control",children:he.jsx("button",{type:"button",className:"settings-action-btn",disabled:y,onClick:()=>{q()},children:y?k.signingOut:k.signOut})})]})}function oC(){if(window.location.protocol!=="http:"||window.location.hostname!=="localhost")return!1;const y=new URL(window.location.href);return y.hostname="127.0.0.1",window.location.replace(y.toString()),!0}const qs=Fy.createRoot(document.getElementById("root"));let Sn=0,Ep=!1;function fi(y){const C=++Sn;qs.render(he.jsx(it.StrictMode,{children:he.jsx(iC,{error:y,onConnected:wp,onRetry:xp},C)}))}async function wp(){const y=++Sn,C=mi();if(!C?.authenticated){fi();return}if(!(C.mode==="local"&&oC()))try{Ep||(Qy(),Ep=!0);const{default:R}=await wy(async()=>{const{default:p}=await import("./App-95oGSxfS.js").then(k=>k.a_);return{default:p}},[]);if(y!==Sn||!mi()?.authenticated)return;qs.render(he.jsx(it.StrictMode,{children:he.jsx(R,{})}))}catch(R){y===Sn&&fi(R)}}async function xp(){const y=++Sn;qs.render(he.jsx(it.StrictMode,{children:he.jsx(lC,{})}));try{const C=await aC();if(y!==Sn)return;C.authenticated?await wp():fi()}catch(C){y===Sn&&fi(C)}}window.addEventListener(Np,()=>fi(Gp()));window.addEventListener("error",y=>{if(mi()?.mode!=="lan"||!mi()?.authenticated)return;const C=y.target;if(!(!(C instanceof HTMLImageElement)&&!(C instanceof HTMLVideoElement)))try{const R=new URL(C.currentSrc||C.src,window.location.href);if(R.origin!==window.location.origin||!/^\/generated(?:\/|$)/i.test(R.pathname))return;eC().catch(()=>{})}catch{}},!0);xp();export{nC as B,Np as L,uC as R,cC as S,wy as _,mi as a,eC as b,Gp as c,ZT as d,ub as e,it as f,mC as g,Hy as h,kp as i,he as j,TA as k,Us as l,Ps as m,xy as n,fC as o,rC as p,Op as r,dC as s,sC as u,PS as z};
|