(function(){
    if(!window.StudioI18n) return;
    window.StudioI18n.register({
        "api.title": { zh: "API 设置", en: "API Settings" },
        "api.subtitle": { zh: "管理平台地址、模型列表和 Key。Key 写入后端 env，页面不会回显完整内容。", en: "Manage provider URLs, model lists, and keys. Keys are saved to the backend env and are never fully shown here." },
        "api.addProvider": { zh: "新增平台", en: "Add Provider" },
        "api.getApi": { zh: "获取API", en: "Get API" },
        "api.recommendApi": { zh: "推荐API", en: "Recommended APIs" },
        "api.recommendApiDesc": { zh: "选择平台后可以一键填写请求地址和协议。", en: "Choose a provider to auto-fill the request URL and protocol." },
        "api.recommendApiNote": { zh: "提示：账户内需要至少 0.05 元余额，才能验证地址并拉取模型。", en: "Tip: Your account needs at least 0.05 balance to verify the URL and fetch models." },
        "api.register": { zh: "获取key", en: "Get key" },
        "api.autoFill": { zh: "自动填写", en: "Auto-fill" },
        "api.provider": { zh: "平台", en: "Provider" },
        "api.delete": { zh: "删除", en: "Delete" },
        "api.save": { zh: "保存", en: "Save" },
        "api.name": { zh: "显示名称", en: "Name" },
        "api.providerId": { zh: "平台 ID", en: "Provider ID" },
        "api.baseUrl": { zh: "请求地址", en: "Base URL" },
        "api.protocol": { zh: "协议", en: "Protocol" },
        "api.protocolOpenAI": { zh: "OpenAI 直连", en: "OpenAI Direct" },
        "api.protocolApimart": { zh: "异步协议", en: "Async Protocol" },
        "api.protocolGemini": { zh: "Gemini 协议", en: "Gemini Protocol" },
        "api.protocolVolcengine": { zh: "火山引擎协议", en: "Volcengine Protocol" },
        "api.key": { zh: "API Key", en: "API Key" },
        "api.msNotes": { zh: "ModelScope 使用提示", en: "ModelScope Notes" },
        "api.msChinaEndpoint": { zh: "国内默认请求地址：", en: "China endpoint: " },
        "api.msGlobalEndpoint": { zh: "国外使用请求地址：", en: "Global endpoint: " },
        "api.msCnModels": { zh: "中文模型库：", en: "CN models: " },
        "api.msEnModels": { zh: "英文模型库：", en: "EN models: " },
        "api.msModelExample": { zh: "模型名称示意：", en: "Model ID example: " },
        "api.imageModels": { zh: "生图模型", en: "Image Models" },
        "api.imageHint": { zh: "在线生图和无限画布 API 生成使用。", en: "Used by Online Image and Canvas API generation." },
        "api.chatModels": { zh: "聊天模型", en: "Chat Models" },
        "api.chatHint": { zh: "GPT 对话和 LLM 节点使用。", en: "Used by GPT Chat and LLM nodes." },
        "api.videoModels": { zh: "视频模型", en: "Video Models" },
        "api.videoHint": { zh: "无限画布视频生成节点使用。", en: "Used by Infinite Canvas video generation nodes." },
        "api.model": { zh: "模型", en: "Model" },
        "api.noModels": { zh: "暂无模型", en: "No models" },
        "api.modelsTitle": { zh: "模型列表", en: "Model List" },
        "api.modelsDesc": { zh: "从上游 API 自动拉取所有可用模型并按类型分类（image / chat / video）", en: "Fetch all available upstream models and classify them by type (image / chat / video)." },
        "api.volcengineEndpointTip": { zh: "火山聊天模型建议填写方舟控制台中的推理接入点 ID（ep-...）。", en: "For Volcengine chat, prefer the Ark inference endpoint ID (ep-...)." },
        "api.volcengineArkKey": { zh: "方舟 API Key · 生成视频", en: "Ark API Key · Video generation" },
        "api.volcengineArkKeyDesc": { zh: "用于 Seedance 2.0 生成接口，Authorization: Bearer。", en: "Used by Seedance 2.0 generation APIs with Authorization: Bearer." },
        "api.volcengineAssetKeys": { zh: "素材库 AK/SK · 上传素材", en: "Asset Library AK/SK · Upload assets" },
        "api.volcengineAssetKeysDesc": { zh: "用于 CreateAssetGroup / CreateAsset / GetAsset 的 Access Key 鉴权。", en: "Used by CreateAssetGroup / CreateAsset / GetAsset with Access Key auth." },
        "api.volcengineProject": { zh: "素材库项目", en: "Asset Project" },
        "api.volcengineProjectDesc": { zh: "ProjectName 必须和视频生成 API Key 所属项目一致。", en: "ProjectName must match the project of the video generation API key." },
        "api.selectModels": { zh: "选择模型", en: "Select Models" },
        "api.scopeNote": { zh: "仅用于 GPT 对话、在线生图、提示词助手和无限画布生图", en: "Used for GPT Chat, Online Image, Prompt Assistant, and Infinite Canvas image generation" },
        "api.modelsGeneralDesc": { zh: "从上游 API 拉取聊天和生图模型。视频 API 将在独立页面配置。", en: "Fetch chat and image models from the upstream API. Video APIs are configured separately." },
        "api.modelPickerTitle": { zh: "从上游拉取的模型清单", en: "Models fetched from upstream" },
        "api.modelSearchPlaceholder": { zh: "按名称搜索模型…", en: "Search models by name..." },
        "api.all": { zh: "全部", en: "All" },
        "api.imageShort": { zh: "生图", en: "Image" },
        "api.chatShort": { zh: "聊天", en: "Chat" },
        "api.willApply": { zh: "将应用：", en: "Apply:" },
        "api.unselected": { zh: "未选", en: "Unselected" },
        "api.cancel": { zh: "取消", en: "Cancel" },
        "api.applyModels": { zh: "应用到模型列表", en: "Apply to Model List" },
        "api.modelPickerCount": { zh: "共 {total} 个模型 · 当前显示 {visible} 个", en: "{total} models · {visible} shown" },
        "api.noMatch": { zh: "无匹配", en: "No matches" },
        "api.noFetchedModels": { zh: "没有拉取到模型", en: "No models were fetched" },
        "api.keyConfigured": { zh: "已配置 Key", en: "Key configured" },
        "api.keyPending": { zh: "等待配置 Key", en: "Key required" },
        "api.globalEndpoint": { zh: "国外地址：", en: "Global endpoint: " },
        "api.arkDefaultEndpoint": { zh: "方舟默认请求地址：", en: "Default Ark endpoint: " },
        "api.arkVideoValidation": { zh: "Seedance 视频生成使用方舟 API Key，验证会请求", en: "Seedance video generation uses the Ark API Key. Validation requests" },
        "api.protocolTest": { zh: "验证协议", en: "Test Protocol" },
        "api.protocolArk": { zh: "方舟/Ark 任务协议", en: "Ark Task Protocol" },
        "api.imageApi": { zh: "图片接口", en: "Image API" },
        "api.imageOpenAIStandard": { zh: "图片：OpenAI 标准", en: "Image: OpenAI Standard" },
        "api.imageOpenAIJson": { zh: "图片：OpenAI JSON", en: "Image: OpenAI JSON" },
        "api.appsWorkflows": { zh: "应用与工作流", en: "Apps and Workflows" },
        "api.appsWorkflowsDesc": { zh: "粘贴运行路径后，点击右侧创建卡片。", en: "Paste a run path, then create a card." },
        "api.create": { zh: "创建", en: "Create" },
        "api.aiApps": { zh: "AI 应用", en: "AI Apps" },
        "api.workflows": { zh: "工作流", en: "Workflows" },
        "api.jimengAccount": { zh: "即梦 CLI 账户", en: "Jimeng CLI Account" },
        "api.jimengAccountDesc": { zh: "使用本机 dreamina 登录态，无需 API Key。", en: "Uses the local Dreamina login session. No API key required." },
        "api.notChecked": { zh: "未检测", en: "Not checked" },
        "api.scanLogin": { zh: "扫码登录", en: "Scan to Log In" },
        "api.checkCredits": { zh: "查询积分", en: "Check Credits" },
        "api.help": { zh: "帮助", en: "Help" },
        "api.logout": { zh: "退出登录", en: "Log Out" },
        "api.jimengHelp": { zh: "即梦 CLI 帮助", en: "Jimeng CLI Help" },
        "api.jimengHelpDesc": { zh: "查看 dreamina 官方命令帮助输出", en: "View the official Dreamina CLI help output" },
        "api.refresh": { zh: "刷新", en: "Refresh" },
        "api.runningHubWorkflow": { zh: "RunningHub 工作流", en: "RunningHub Workflow" },
        "api.workflowEditorSub": { zh: "选择要暴露到画布的输入参数", en: "Choose input parameters to expose on Canvas" },
        "api.refetch": { zh: "重新拉取", en: "Fetch Again" },
        "api.notes": { zh: "备注", en: "Notes" },
        "api.zoomOut": { zh: "缩小", en: "Zoom Out" },
        "api.zoomIn": { zh: "放大", en: "Zoom In" },
        "api.fitWindow": { zh: "适应窗口", en: "Fit Window" },
        "api.loraManager": { zh: "LoRA 管理", en: "LoRA Manager" },
        "api.loraManagerDesc": { zh: "为 ModelScope 生图模型绑定可用 LoRA。无限画布 MS 节点会按当前模型自动筛选。", en: "Bind available LoRAs to ModelScope image models. Canvas MS nodes will filter them by the current model." },
        "api.loraEmpty": { zh: "暂无 LoRA，点击右上角添加。添加后会按绑定模型显示在无限画布 MS 节点里。", en: "No LoRAs yet. Add one from the top right. It will appear in Canvas MS nodes based on the bound model." },
        "api.loraId": { zh: "LoRA ID", en: "LoRA ID" },
        "api.loraIdPlaceholder": { zh: "例如 Daniel8152/Klein-enhance", en: "e.g. Daniel8152/Klein-enhance" },
        "api.loraTargetModel": { zh: "绑定模型", en: "Bound Model" },
        "api.loraDefaultStrength": { zh: "默认强度", en: "Default Strength" },
        "api.fetchModels": { zh: "拉取模型", en: "Fetch Models" },
        "api.fetchingModels": { zh: "拉取中...", en: "Fetching..." },
        "api.testUrl": { zh: "验证地址", en: "Test URL" },
        "api.testingUrl": { zh: "验证中...", en: "Testing..." },
        "api.urlValid": { zh: "地址可用", en: "URL works" },
        "api.urlInvalid": { zh: "验证未通过", en: "Test did not pass" },
        "api.urlTestDisclaimer": { zh: "注：本验证调用 OpenAI 标准格式的 <code>/v1/models</code> 端点。如果该平台不是 OpenAI 兼容接口，验证失败<strong>不一定</strong>代表地址不可用，请自行确认。", en: "Note: this test calls the standard OpenAI <code>/v1/models</code> endpoint. If the platform is not OpenAI-compatible, a failure does <strong>not necessarily</strong> mean the URL is unusable — please verify manually." },
        "api.platformName": { zh: "平台名称", en: "Platform Name" },
        "api.platformNameHint": { zh: "同时作为唯一标识。中文也可以，会自动转换为 ASCII 形式的 ID。", en: "Used as the unique identifier. Non-ASCII names are auto-converted to an ID." },
        "api.platformIdShown": { zh: "平台 ID", en: "Platform ID" },
        "api.newProvider": { zh: "新 API 平台", en: "New API Provider" },
        "api.keepCurrentKey": { zh: "保持当前 Key", en: "Keep current key" },
        "api.enterKey": { zh: "输入 API Key", en: "Enter API key" },
        "api.keySaved": { zh: "当前 Key 已保存：", en: "Key saved: " },
        "api.noKey": { zh: "还没有保存 Key。", en: "No key saved yet." },
        "api.loading": { zh: "加载中...", en: "Loading..." },
        "api.loadFailed": { zh: "API 平台加载失败", en: "Failed to load API providers" },
        "api.keepOne": { zh: "至少保留一个 API 平台", en: "Keep at least one API provider" },
        "api.defaultNoDelete": { zh: "默认平台不能删除，可以修改名称、地址、Key 和模型。", en: "Default providers cannot be deleted. You can edit name, URL, key, and models." },
        "api.duplicateId": { zh: "平台 ID 不能重复", en: "Provider IDs must be unique" },
        "api.saving": { zh: "保存中...", en: "Saving..." },
        "api.saveFailed": { zh: "保存失败", en: "Save failed" },
        "api.saved": { zh: "已保存，模型列表会立即同步到画布。", en: "Saved. Model lists sync to Canvas immediately." },
        "api.providersTitle": { zh: "平台列表", en: "Platforms" },
        "api.editorSub": { zh: "配置基础信息、API Key 和可用模型", en: "Configure basics, API key, and available models" },
        "api.basicInfo": { zh: "基本信息", en: "Basic Info" },
        "api.basicHint": { zh: "平台显示名、唯一 ID 和请求地址", en: "Display name, unique ID, and base URL" },
        "api.keyHint": { zh: "写入后端 env，页面不显示完整内容。可单独保存或清除当前 Key。", en: "Stored in backend env, never fully shown. Save or clear the key independently." },
        "api.setPrimary": { zh: "设为首选", en: "Set as Primary" },
        "api.currentPrimary": { zh: "当前首选", en: "Primary" },
        "api.primaryBadge": { zh: "首选", en: "Primary" },
        "api.modelscopeOnlyDelete": { zh: "ModelScope 是默认平台，不可删除", en: "ModelScope is the default platform and cannot be deleted" },
        "api.confirmClearKey": { zh: "确认清除当前 Key？", en: "Clear the current key?" },
        "api.enterKeyAlert": { zh: "请输入 Key", en: "Please enter a key" },
        "api.msTokenCn": { zh: "获取 Token · 国内：", en: "Token (CN): " },
        "api.msTokenGlobal": { zh: "获取 Token · 国外：", en: "Token (Global): " },
        "api.onboardingNew": { zh: "NEW", en: "NEW" },
        "api.msOnboardingTitle": { zh: "ModelScope 新手引导", en: "ModelScope Quick Start" },
        "api.msOnboardingDesc": { zh: "先获取 Token，填入 API Key 并保存后，右侧完整设置会自动显示。", en: "Get a token first, paste it into API Key, then save to reveal the full settings." },
        "api.msGetTokenCn": { zh: "获取 Token · 国内", en: "Get Token · China" },
        "api.msGetTokenGlobal": { zh: "获取 Token · 国外", en: "Get Token · Global" },
        "api.msOnboardingStep": { zh: "获取 Token 后填写并保存", en: "Get a token, paste it, then save" },
        "api.msTokenLabel": { zh: "ModelScope Token", en: "ModelScope Token" },
        "api.msTokenPlaceholder": { zh: "粘贴 ModelScope Token", en: "Paste ModelScope Token" },
        "api.rhOnboardingTitle": { zh: "RunningHub 新手引导", en: "RunningHub Quick Start" },
        "api.rhOnboardingDesc": { zh: "RH 有 RH币和账户余额两种 Key，RH币必填，账户余额可选。", en: "RunningHub supports RH Coin and balance keys. RH Coin is required; balance is optional." },
        "api.rhGetKeyCn": { zh: "获取 Key · 国内", en: "Get Key · China" },
        "api.rhGetKeyGlobal": { zh: "获取 Key · 国外", en: "Get Key · Global" },
        "api.rhGetWalletKeyCn": { zh: "获取余额 Key · 国内", en: "Get Balance Key · China" },
        "api.rhGetWalletKeyGlobal": { zh: "获取余额 Key · 国外", en: "Get Balance Key · Global" },
        "api.rhOnboardingStep": { zh: "获取 Key 后填写并保存", en: "Get keys, paste them, then save" },
        "api.rhCoinKey": { zh: "RH币 Key", en: "RH Coin Key" },
        "api.rhWalletKey": { zh: "账户余额 Key", en: "Balance Key" },
        "api.rhCoinApiKeyRequired": { zh: "RH币 API Key · 必填", en: "RH Coin API Key · Required" },
        "api.rhWalletApiKeyOptional": { zh: "账户余额 API Key · 可选", en: "Balance API Key · Optional" },
        "api.rhCoinPlaceholder": { zh: "粘贴 RH币 API Key", en: "Paste RH Coin API Key" },
        "api.rhWalletPlaceholder": { zh: "需要账户余额时再粘贴", en: "Paste only if you use balance billing" },
        "api.rhEnterCoinAlert": { zh: "请输入 RH币 API Key", en: "Please enter the RH Coin API Key" },
        "api.rhKeepCoinKey": { zh: "保持当前 RH币 Key", en: "Keep current RH Coin Key" },
        "api.rhEnterCoinKey": { zh: "输入 RH币 API Key", en: "Enter RH Coin API Key" },
        "api.rhKeepWalletKey": { zh: "保持当前账户余额 Key", en: "Keep current balance Key" },
        "api.rhEnterWalletKey": { zh: "输入账户余额 Key", en: "Enter balance API Key" },
        "api.rhCoinKeySaved": { zh: "当前 RH币 Key 已保存：", en: "RH Coin Key saved: " },
        "api.rhNoCoinKey": { zh: "还没有保存 RH币 Key。", en: "No RH Coin Key saved yet." },
        "api.rhWalletKeySaved": { zh: "当前账户余额 Key 已保存：", en: "Balance Key saved: " },
        "api.rhNoWalletKey": { zh: "还没有保存账户余额 Key。验证地址和拉取模型会优先使用它。", en: "No balance Key saved yet. URL tests and model fetching will prefer it when available." },
        "api.rhCoinKeyDesc": { zh: "使用 RH币 接口时填写", en: "Use this for RH Coin endpoints" },
        "api.rhWalletKeyDesc": { zh: "使用账户余额接口时填写", en: "Use this for balance billing endpoints" },
        "api.get": { zh: "获取", en: "Get" },
        "api.cnKey": { zh: "国内 Key", en: "China Key" },
        "api.globalKey": { zh: "国外 Key", en: "Global Key" },
        "api.saveKeyTitle": { zh: "保存 Key", en: "Save Key" },
        "api.clearKeyTitle": { zh: "清除 Key", en: "Clear Key" },
        "api.saveRhCoinKeyTitle": { zh: "保存 RH币 Key", en: "Save RH Coin Key" },
        "api.clearRhCoinKeyTitle": { zh: "清除 RH币 Key", en: "Clear RH Coin Key" },
        "api.saveRhWalletKeyTitle": { zh: "保存账户余额 Key", en: "Save Balance Key" },
        "api.clearRhWalletKeyTitle": { zh: "清除账户余额 Key", en: "Clear Balance Key" },
        "api.recommendPanelTitle": { zh: "推荐平台", en: "Recommended Providers" },
        "api.recommendPanelSub": { zh: "获取 Key 后保存，右侧会切换到刚保存的平台配置。", en: "Get a key and save it; the right panel will switch to that provider's settings." },
        "api.recommendPanelDesc": { zh: "选择适合的平台，获取 Key 后在右侧保存为默认配置。", en: "Choose a suitable provider, get a key, then save it as the default setup." },
        "api.recommendQuickSetup": { zh: "快捷设置", en: "Quick Setup" },
        "api.getKey": { zh: "获取 Key", en: "Get Key" },
        "api.recommendKeyPlaceholder": { zh: "粘贴 {name} API Key", en: "Paste {name} API Key" },
        "api.enterApiKey": { zh: "请输入 API Key", en: "Please enter an API Key" },
        "api.recommendSaved": { zh: "已保存 {name}，当前显示该平台配置。", en: "{name} saved. Showing that provider's settings now." },
        "api.recommendAccountTitle": { zh: "GPT / Codex / Claude 账号订阅", en: "GPT / Codex / Claude Account Subscriptions" },
        "api.recommendAccountDesc": { zh: "独立订阅、成品账号等选择，适合想直充自己账户的人。", en: "Independent subscriptions and ready-to-use accounts for users who want direct account access." },
        "api.viewPlans": { zh: "查看方案", en: "View Plans" },
        "api.recommendApimartSummary": { zh: "聚合多类型生成模型，适合希望用一套配置快速接入图像、视频和 LLM 的用户。", en: "Aggregates multiple generation model types for quickly connecting image, video, and LLM workflows with one setup." },
        "api.recommendFhlSummary": { zh: "偏向 OpenAI 兼容体验，适合需要 Codex、GPT image 2 等模型能力的配置。", en: "OpenAI-compatible experience for Codex, GPT image 2, and related model capabilities." },
        "api.recommendYuliSummary": { zh: "模型种类齐全，图像、视频、LLM 一站覆盖，支持每日签到送积分，适合想低成本尝鲜各类模型的用户。", en: "Full coverage of image, video, and LLM models with daily check-in credits — great for low-cost access to a wide model lineup." },
        "api.recommendYuliPerk": { zh: "签到送积分", en: "Daily check-in credits" },
        "api.recommendAgnesSummary": { zh: "免费可用的 Agnes AI 接口，支持图像与视频生成，适合快速测试和低成本接入。", en: "Free Agnes AI API for image and video generation, suitable for quick testing and low-cost setup." },
        "api.recommendAgnesFree": { zh: "免费", en: "Free" },
        "api.recommendFeatured": { zh: "首选推荐", en: "Top Pick" },
        "api.tagImageModels": { zh: "图像模型", en: "Image Models" },
        "api.tagVideoModels": { zh: "视频模型", en: "Video Models" },
        "api.tagLlmModels": { zh: "LLM模型", en: "LLM Models" },
        "api.tagGptImage2": { zh: "GPT image 2模型", en: "GPT image 2 Models" }
    });
})();
