Files
clawpanel/src/locales/modules/models.js
2026-04-25 11:49:35 +08:00

173 lines
20 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { _ } from '../helper.js'
export default {
title: _('模型配置', 'Models', '模型設定', 'モデル設定', '모델 설정', 'Cấu hình mô hình', 'Configuración de modelos', 'Configuração de modelos', 'Настройка моделей', 'Configuration des modèles', 'Modell-Konfiguration'),
desc: _('添加 AI 模型服务商,配置可用模型', 'Add AI model providers, configure available models', '新增 AI 模型服務商,設定可用模型', 'AI モデルプロバイダーとモデルの管理', 'AI 모델 프로바이더 및 모델 관리', 'Quản lý nhà cung cấp và mô hình AI', 'Gestionar proveedores y modelos de IA', 'Gerenciar provedores e modelos de IA', 'Управление провайдерами и моделями ИИ', 'Gérer les fournisseurs et modèles IA', 'KI-Anbieter und Modelle verwalten'),
addProvider: _('+ 添加服务商', '+ Add Provider', '+ 新增服務商', '+ プロバイダー追加', '+ 프로바이더 추가', '+ Thêm nhà cung cấp', '+ Agregar proveedor', '+ Adicionar provedor', '+ Добавить провайдера', '+ Ajouter un fournisseur', '+ Anbieter hinzufügen'),
undo: _('↩ 撤销', '↩ Undo'),
undoN: _('↩ 撤销 ({n})', '↩ Undo ({n})'),
undone: _('已撤销', 'Undone'),
providerHint: _('服务商是模型的来源(如 OpenAI、DeepSeek 等)。每个服务商下可添加多个模型。标记为「主模型」的将优先使用,其余作为备选自动切换。配置修改后自动保存。', 'Providers are sources of models (e.g. OpenAI, DeepSeek). Each provider can have multiple models. The "primary" model is used first; others serve as fallbacks. Changes are auto-saved.', '服務商是模型的來源(如 OpenAI、DeepSeek 等)。每個服務商下可新增多個模型。標記為「主模型」的將優先使用,其餘作為備選自動切換。設定修改后自動儲存。'),
qtcoolName: _('晴辰云', 'QingChen Cloud', '晴辰雲'),
qtcoolRecommend: _('推荐', 'Recommended', '推薦'),
qtcoolDesc: _('每日签到领取免费模型测试额度,邀请好友再送额度。付费低至官方价 2-3 折,不满意随时可退。', 'Daily check-in for free model credits, invite friends for bonus. Paid plans as low as 20-30% of official price. Refund anytime.', '每日簽到領取免費模型測試額度,邀請好友再送額度。付費低至官方價 2-3 折,不滿意隨時可退。', '毎日チェックインで無料クレジット獲得、友達招待でボーナス。有料は公式価格の2〜3割', '매일 체크인으로 무료 크레딧, 친구 초대 보너스. 유료는 공식가의 2~3할'),
qtcoolMore: _('了解更多 →', 'Learn more →'),
qtcoolCheckin: _('每日签到领额度', 'Daily check-in for credits', '每日簽到领额度'),
qtcoolKeyPlaceholder: _('粘贴 API Key签到后在用户后台获取', 'Paste API Key (get from dashboard after check-in)', '貼上 API Key簽到后在使用者後台取得'),
qtcoolFetchModels: _('获取模型列表', 'Fetch Model List', '取得模型列表'),
qtcoolFetching: _('获取中...', 'Fetching...', '取得中...'),
qtcoolNoKey: _('没有密钥?前往', 'No key? Go to', '沒有金鑰?前往'),
qtcoolCheckinPage: _('签到页', 'check-in page', '簽到頁'),
qtcoolCheckinHint: _('每日签到即可领取免费额度,在', 'for free daily credits, copy your Key from', '每日簽到即可领取免費额度,在'),
qtcoolDashboard: _('用户后台', 'dashboard', '使用者後台'),
qtcoolCopyKey: _('复制你的 Key', '', '複製你的 Key'),
qtcoolSelectTitle: _('选择要添加的模型', 'Select models to add', '選擇要新增的模型'),
qtcoolSelectHint: _('从晴辰云获取到 {count} 个可用模型,勾选需要的模型后点击添加。', 'Fetched {count} available models from QingChen Cloud. Select and add.', '從晴辰雲取得到 {count} 個可用模型,勾選需要的模型后点擊新增。'),
qtcoolKeyLabel: _('API Key', 'API Key'),
qtcoolKeyCheckinLink: _('每日签到领免费额度 →', 'Daily check-in for free credits →', '每日簽到领免費额度 →'),
qtcoolKeyPlaceholder2: _('粘贴你的 API Key', 'Paste your API Key', '貼上你的 API Key'),
qtcoolNoKeyWarn: _('请输入 API Key可通过每日签到免费获取', 'Please enter an API Key (get free credits via daily check-in)', '請輸入 API Key可通過每日簽到免費取得'),
qtcoolAddSelected: _('添加选中模型', 'Add Selected Models', '新增選中模型'),
qtcoolNoneSelected: _('未选择任何模型', 'No models selected', '未選擇任何模型'),
qtcoolAllExist: _('所选模型均已存在', 'All selected models already exist', '所選模型均已存在'),
qtcoolAdded: _('已添加 {count} 个模型', 'Added {count} models', '已新增 {count} 個模型'),
qtcoolProviderAdded: _('已添加晴辰云({count} 个模型)', 'Added QingChen Cloud ({count} models)', '已新增晴辰雲({count} 個模型)'),
already: _('已有', 'Exists'),
alreadyAdded: _('已添加', 'Added', '已新增'),
searchPlaceholder: _('搜索模型(按 ID 或名称过滤)', 'Search models (by ID or name)', '搜尋模型(按 ID 或名稱篩選)'),
currentConfig: _('当前生效配置', 'Current Configuration', '目前生效設定'),
primaryModel: _('主模型', 'Primary', '', 'プライマリモデル', '기본 모델', 'Mô hình chính', 'Modelo principal', 'Modelo principal', 'Основная модель', 'Modèle principal', 'Primäres Modell'),
primaryModelLabel: _('主模型:', 'Primary: '),
notConfigured: _('未配置', 'Not configured', '未設定'),
fallbackModels: _('备选模型:', 'Fallbacks: ', '備選模型:'),
fallbackNone: _('无', 'None', '無'),
fallbackHint: _('主模型不可用时,系统会自动切换到备选模型', 'When the primary model is unavailable, the system auto-switches to fallbacks', '主模型不可用時,系統會自動切換到備選模型'),
primaryAutoSwitch: _('主模型已自动切换为 {model}', 'Primary model auto-switched to {model}', '主模型已自動切換為 {model}'),
noProvider: _('暂无服务商,点击「+ 添加服务商」开始配置', 'No providers. Click "+ Add Provider" to get started.', '暫無服務商,点擊「+ 新增服務商」開始設定'),
noModel: _('暂无模型,点击「+ 模型」添加', 'No models. Click "+ Model" to add.', '暫無模型,点擊「+ 模型」新增'),
nModels: _('{count} 个模型', '{count} models', '{count} 個模型'),
hiddenModels: _('已隐藏 {count} 个不匹配的模型', '{count} non-matching models hidden', '已隱藏 {count} 個不匹配的模型'),
editProvider: _('编辑', 'Edit', '編輯', 'プロバイダー編集', '프로바이더 편집'),
addModel: _('+ 模型', '+ Model', '', 'モデル追加', '모델 추가', 'Thêm mô hình', 'Agregar modelo', 'Adicionar modelo', 'Добавить модель', 'Ajouter un modèle', 'Modell hinzufügen'),
fetchList: _('获取列表', 'Fetch List', '取得列表'),
deleteProvider: _('删除', 'Delete', '刪除', 'プロバイダー削除', '프로바이더 삭제'),
batchTest: _('批量测试', 'Batch Test', '批量測試'),
selectAll: _('全选', 'Select All', '全選', 'すべて選択', '모두 선택'),
selectNone: _('全不选', 'Deselect All', '全不選'),
batchDelete: _('批量删除', 'Batch Delete', '批量刪除'),
sort: _('排序:', 'Sort:'),
sortDefault: _('默认顺序 (拖拽调整)', 'Default order (drag to reorder)', '預設顺序 (拖曳調整)'),
sortNameAsc: _('名称 A-Z (固化到底层)', 'Name A-Z (persist)', '名稱 A-Z (固化到底層)'),
sortNameDesc: _('名称 Z-A (固化到底层)', 'Name Z-A (persist)', '名稱 Z-A (固化到底層)'),
sortLatencyAsc: _('延迟 低→高 (固化到底层)', 'Latency low→high (persist)', '延遲 低→高 (固化到底層)'),
sortLatencyDesc: _('延迟 高→低 (固化到底层)', 'Latency high→low (persist)', '延遲 高→低 (固化到底層)'),
sortContextAsc: _('上下文 小→大 (固化到底层)', 'Context small→large (persist)', '上下文 小→大 (固化到底層)'),
sortContextDesc: _('上下文 大→小 (固化到底层)', 'Context large→small (persist)', '上下文 大→小 (固化到底層)'),
applySortBtn: _('保存当前排序', 'Save current sort', '儲存目前排序'),
sortSaved: _('排序已保存', 'Sort order saved', '排序已儲存'),
reasoning: _('推理', 'Reasoning'),
unavailable: _('不可用', 'Unavailable'),
testBtn: _('测试', 'Test', '測試'),
setPrimary: _('设为主模型', 'Set Primary', '設為主模型', 'プライマリに設定', '기본으로 설정'),
setPrimaryDone: _('已设为主模型', 'Set as primary model', '已設為主模型'),
editModel: _('编辑', 'Edit', '編輯'),
deleteModel: _('删除', 'Delete', '刪除'),
context: _('上下文', 'context'),
justTested: _('刚刚测试', 'Just tested', '剛剛測試'),
minAgoTest: _('{n} 分钟前测试', '{n} min ago', '{n} 分鐘前測試'),
hourAgoTest: _('{n} 小时前测试', '{n} hr ago', '{n} 小時前測試'),
dayAgoTest: _('{n} 天前测试', '{n} day ago', '{n} 天前測試'),
confirmDeleteProvider: _('确定删除「{name}」及其所有模型?', 'Delete "{name}" and all its models?', '確定刪除「{name}」及其所有模型?'),
providerDeleted: _('已删除 {name}', 'Deleted {name}', '已刪除 {name}', 'プロバイダー削除済み', '프로바이더 삭제됨'),
confirmDeleteModel: _('确定删除模型「{name}」?', 'Delete model "{name}"?', '確定刪除模型「{name}」?'),
modelDeleted: _('已删除 {name}', 'Deleted {name}', '已刪除 {name}'),
confirmBatchDelete: _('确定删除选中的 {count} 个模型?\n{ids}', 'Delete {count} selected models?\n{ids}', '確定刪除選中的 {count} 個模型?\n{ids}'),
batchDeleted: _('已删除 {count} 个模型', 'Deleted {count} models', '已刪除 {count} 個模型'),
batchSelectHint: _('请先勾选要删除的模型', 'Please select models to delete first', '請先勾選要刪除的模型'),
addProviderTitle: _('添加服务商', 'Add Provider', '新增服務商'),
quickSelect: _('快捷选择', 'Quick Select', '快捷選擇'),
quickSelectHint: _('选择常用服务商自动填充,或手动填写下方信息', 'Choose a preset to auto-fill, or fill manually below', '選擇常用服務商自動填充,或手動填写下方資訊'),
providerName: _('服务商名称', 'Provider Name', '服務商名稱', 'プロバイダー名', '프로바이더명', 'Tên nhà cung cấp', 'Nombre del proveedor', 'Nome do provedor', 'Имя провайдера', 'Nom du fournisseur', 'Anbietername'),
providerNamePlaceholder: _('如 openai, newapi', 'e.g. openai, newapi'),
providerNameHint: _('自定义标识名,用于区分不同来源', 'Custom identifier to distinguish different sources', '自定義標識名,用於區分不同來源'),
baseUrl: _('接口地址', 'Base URL', '介面位址'),
baseUrlPlaceholder: _('https://api.openai.com/v1', 'https://api.openai.com/v1'),
baseUrlHint: _('模型服务的 API 地址,通常以 /v1 结尾Ollama 可直接填 http://127.0.0.1:11434', 'API endpoint URL, usually ends with /v1; Ollama: http://127.0.0.1:11434', '模型服務的 API 位址,通常以 /v1 結尾Ollama 可直接填 http://127.0.0.1:11434'),
apiKey: _('密钥 (API Key)', 'API Key', '金鑰 (API Key)'),
apiKeyPlaceholder: _('sk-...', 'sk-...'),
apiKeyHint: _('访问服务所需的密钥,留空表示无需认证', 'Required key for the service. Leave empty if not needed.', '訪問服務所需的金鑰,留空表示無需認證'),
apiType: _('接口类型', 'API Type', '介面類型'),
apiTypeHint: _('大多数中转站和 Ollama 选「OpenAI 兼容」即可', 'Most proxies and Ollama use "OpenAI Compatible"', '大多數中轉站和 Ollama 選「OpenAI 相容」即可'),
providerNameRequired: _('请填写服务商名称', 'Provider name is required', '請填写服務商名稱'),
providerAdded: _('已添加服务商: {name}', 'Provider added: {name}', '已新增服務商: {name}'),
editProviderTitle: _('编辑服务商: {name}', 'Edit Provider: {name}', '編輯服務商: {name}'),
apiKeyEditHint: _('修改后自动保存生效', 'Changes are auto-saved', '修改后自動儲存生效'),
providerUpdated: _('服务商已更新', 'Provider updated', '服務商已更新'),
addModelTitle: _('添加模型到 {provider}', 'Add Model to {provider}', '新增模型到 {provider}'),
quickAdd: _('快捷添加', 'Quick Add', '快捷新增'),
quickAddHint: _('点击直接添加常用模型,或手动填写下方信息', 'Click to add a common model, or fill in manually below', '点擊直接新增常用模型,或手動填写下方資訊'),
manualAdd: _('手动添加', 'Manual Add', '手動新增'),
modelId: _('模型 ID', 'Model ID'),
modelIdPlaceholder: _('如 gpt-4o', 'e.g. gpt-4o', '', 'モデル ID例: gpt-4o-mini'),
modelIdHint: _('必须与服务商支持的模型名一致', 'Must match the model name supported by the provider', '必須與服務商支援的模型名一致'),
modelIdRequired: _('请填写模型 ID', 'Model ID is required', '請填写模型 ID'),
displayName: _('显示名称(选填)', 'Display Name (optional)', '顯示名稱(選填)'),
displayNamePlaceholder: _('如 GPT-4o', 'e.g. GPT-4o'),
displayNameHint: _('方便识别的友好名称', 'A friendly name for identification', '方便識別的友好名稱'),
contextLength: _('上下文长度(选填)', 'Context Length (optional)', '上下文長度(選填)', 'コンテキスト長'),
contextLengthPlaceholder: _('如 128000', 'e.g. 128000'),
contextLengthHint: _('模型支持的最大 Token 数', 'Maximum token count supported by the model', '模型支援的最大 Token 數'),
isReasoning: _('这是推理模型(如 o3、R1、QwQ 等)', 'This is a reasoning model (e.g. o3, R1, QwQ)'),
reasoningHint: _('推理模型会使用特殊的调用方式', 'Reasoning models use special invocation methods', '推理模型會使用特殊的呼叫方式'),
modelAdded: _('已添加模型: {name}', 'Model added: {name}', '已新增模型: {name}'),
editModelTitle: _('编辑模型: {name}', 'Edit Model: {name}', '編輯模型: {name}'),
displayNameLabel: _('显示名称', 'Display Name', '顯示名稱'),
contextLengthLabel: _('上下文长度', 'Context Length', '上下文長度'),
isReasoningLabel: _('这是推理模型', 'Reasoning model'),
modelUpdated: _('模型已更新', 'Model updated'),
stopBatchTest: _('终止测试', 'Stop Test', '終止測試'),
stoppingBatchTest: _('正在终止批量测试...', 'Stopping batch test...', '正在終止批量測試...'),
noTestModels: _('没有可测试的模型', 'No models to test', '沒有可測試的模型'),
batchTestDone: _('批量测试完成:{ok} 成功,{fail} 失败', 'Batch test done: {ok} passed, {fail} failed', '批量測試完成:{ok} 成功,{fail} 失敗'),
batchTestAborted: _('批量测试已终止:{ok} 成功,{fail} 失败,{skip} 跳过', 'Batch test aborted: {ok} passed, {fail} failed, {skip} skipped', '批量測試已終止:{ok} 成功,{fail} 失敗,{skip} 略過'),
testing: _('测试中...', 'Testing...', '測試中...', 'テスト中...', '테스트 중...', 'Đang kiểm tra...', 'Probando...', 'Testando...', 'Проверка...', 'Test en cours...', 'Test läuft...'),
testOk: _('{model} 连通正常 ({time}s): "{reply}"', '{model} OK ({time}s): "{reply}"', '{model} 連通正常 ({time}s): "{reply}"'),
testFail: _('{model} 不可用 ({time}s): {error}', '{model} unavailable ({time}s): {error}'),
remoteListTitle: _('远程模型列表 — {provider} ({count} 个)', 'Remote Models — {provider} ({count})', '遠程模型列表 — {provider} ({count} 個)'),
remoteSearch: _('搜索模型...', 'Search models...', '搜尋模型...'),
remoteSelected: _('已选 {count} 个', '{count} selected', '已選 {count} 個'),
addSelected: _('添加选中', 'Add Selected', '新增選中'),
selectAtLeast: _('请至少选择一个模型', 'Please select at least one model', '請至少選擇一個模型'),
fetchFailed: _('获取模型列表失败: {error}', 'Failed to fetch model list: {error}', '取得模型列表失敗: {error}', 'モデルリスト取得失敗', '모델 목록 가져오기 실패'),
fetchNotSupportedTitle: _('该服务商不支持自动获取', 'Auto-fetch not supported', '該服務商不支援自動取得', 'モデルリスト自動取得非対応', '자동 가져오기 미지원'),
fetchNotSupported: _('该服务商的接口不支持自动获取模型列表。\n\n请点击「模型」按钮手动填写模型 ID。\n模型 ID 通常可在服务商的官网文档中找到。', 'This provider does not support auto-fetching model list.\n\nPlease click "Model" to manually enter the model ID.\nModel IDs can usually be found in the provider\'s documentation.', '該服務商的介面不支援自動取得模型列表。\n\n請点擊「模型」按鈕手動填写模型 ID。\n模型 ID 通常可在服務商的官網文件中找到。'),
configNotReady: _('配置未加载完成,请稍候', 'Config not loaded yet, please wait', '設定未載入完成,請稍候'),
fetchRemoteFailed: _('无法获取模型列表,请检查网络或稍后重试', 'Cannot fetch model list. Check network or try later.', '無法取得模型列表,請檢查網路或稍后重試'),
configLoadFailed: _('加载配置失败', 'Failed to load config', '載入設定失敗'),
autoFixUrl: _('已自动修复模型接口地址(如 Ollama /v1', 'Auto-fixed model API URLs (e.g. Ollama /v1)', '已自動修复模型介面位址(如 Ollama /v1'),
saveFailed: _('保存失败', 'Save failed', '儲存失敗', '保存失敗', '저장 실패'),
autoSaveFailed: _('自动保存失败', 'Auto-save failed', '自動儲存失敗'),
configSavedRestarting: _('配置已保存,正在重启 Gateway...', 'Config saved, restarting Gateway...', '設定已儲存,正在重啟 Gateway...'),
configQueued: _('配置已保存,即将重载 Gateway…', 'Config saved. Gateway will reload shortly…', '設定已儲存,即將重載 Gateway…'),
applyNow: _('立即生效', 'Apply now', '立即生效'),
configEffective: _('配置已生效Gateway 已重启', 'Config applied, Gateway restarted', '設定已生效Gateway 已重啟'),
retryRestart: _('重试', 'Retry', '重試'),
restarting: _('正在重启 Gateway...', 'Restarting Gateway...', '正在重啟 Gateway...'),
restartOk: _('Gateway 重启成功', 'Gateway restarted', 'Gateway 重啟成功'),
restartFailed: _('重启失败', 'Restart failed', '重啟失敗'),
configSavedGwFailed: _('配置已保存,但 Gateway 重启失败', 'Config saved, but Gateway restart failed', '設定已儲存,但 Gateway 重啟失敗'),
visitSite: _('访问 {name}官网', 'Visit {name} website', '訪問 {name}官網'),
// 瀑布流编辑器新增 keys
systemModelTitle: _('系统主/备模型', 'System Primary/Backup Models', '系統主/備模型'),
activeChainTitle: _('当前生效链 (支持拖拽排序)', 'Active Chain (drag to reorder)', '目前生效鏈 (支援拖曳排序)'),
candidatePoolTitle: _('可用候选池 (按服务商分组)', 'Candidate Pool (grouped by provider)', '可用候選池 (按服務商分組)'),
noCandidateModel: _('无可用候选模型', 'No candidate models available', '無可用候選模型'),
bestPracticeHint: _('💡 最佳实践:建议备选模型保持在 2-3 款并分布在不同服务商,以平衡可用性与延迟。', '💡 Best practice: Keep 2-3 fallback models distributed across different providers to balance availability and latency.', '💡 最佳實踐:建議備選模型保持在 2-3 款並分布在不同服務商,以平衡可用性與延遲。'),
setAsPrimarySuccess: _('已将 {model} 设为主模型', 'Set {model} as primary model', '已將 {model} 設為主模型'),
noFallbackSelected: _('尚未选择备选模型', 'No fallback models selected', '尚未選擇備選模型'),
nFallbacks: _('{count} 个备选', '{count} fallback(s)', '{count} 個備選'),
setAsPrimary: _('设为主用', 'Set as Primary', '設為主用'),
remove: _('移除', 'Remove', '移除'),
add: _('加入', 'Add', '加入'),
}