mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-05-06 20:02:49 +08:00
173 lines
20 KiB
JavaScript
173 lines
20 KiB
JavaScript
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', '加入'),
|
||
}
|