mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-07 01:09:54 +08:00
feat(server): refactor for byok (#14911)
This commit is contained in:
@@ -1,26 +1,26 @@
|
||||
{
|
||||
"ar": 100,
|
||||
"ca": 97,
|
||||
"ar": 97,
|
||||
"ca": 94,
|
||||
"da": 4,
|
||||
"de": 100,
|
||||
"el-GR": 96,
|
||||
"de": 97,
|
||||
"el-GR": 93,
|
||||
"en": 100,
|
||||
"es-AR": 96,
|
||||
"es-CL": 97,
|
||||
"es": 96,
|
||||
"fa": 96,
|
||||
"fr": 100,
|
||||
"es-AR": 93,
|
||||
"es-CL": 94,
|
||||
"es": 93,
|
||||
"fa": 93,
|
||||
"fr": 97,
|
||||
"hi": 1,
|
||||
"it": 97,
|
||||
"ja": 96,
|
||||
"ko": 97,
|
||||
"nb-NO": 47,
|
||||
"pl": 97,
|
||||
"pt-BR": 96,
|
||||
"ru": 98,
|
||||
"sv-SE": 96,
|
||||
"uk": 96,
|
||||
"it": 94,
|
||||
"ja": 93,
|
||||
"ko": 94,
|
||||
"nb-NO": 46,
|
||||
"pl": 94,
|
||||
"pt-BR": 93,
|
||||
"ru": 95,
|
||||
"sv-SE": 93,
|
||||
"uk": 93,
|
||||
"ur": 2,
|
||||
"zh-Hans": 97,
|
||||
"zh-Hant": 96
|
||||
"zh-Hans": 98,
|
||||
"zh-Hant": 93
|
||||
}
|
||||
|
||||
@@ -5891,6 +5891,316 @@ export function useAFFiNEI18N(): {
|
||||
* `You can view current workspace's information here.`
|
||||
*/
|
||||
["com.affine.settings.workspace.description"](): string;
|
||||
/**
|
||||
* `AI BYOK (Beta)`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.title-beta"](): string;
|
||||
/**
|
||||
* `AI BYOK`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.title"](): string;
|
||||
/**
|
||||
* `Loading provider keys.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.loading"](): string;
|
||||
/**
|
||||
* `Use your own provider keys for this workspace.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.subtitle"](): string;
|
||||
/**
|
||||
* `Use workspace provider keys before AFFiNE AI plan routes.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.header"](): string;
|
||||
/**
|
||||
* `BYOK requires Pro, Team, or Believer`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.locked.title"](): string;
|
||||
/**
|
||||
* `Upgrade this workspace to add provider keys and route AFFiNE AI through your own OpenAI, Anthropic, Gemini, or FAL account.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.locked.description"](): string;
|
||||
/**
|
||||
* `AI plan stays available`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notice.title"](): string;
|
||||
/**
|
||||
* `Local keys on this device are tried first. Workspace server keys follow, then AFFiNE AI plan routes when quota is available.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notice.description"](): string;
|
||||
/**
|
||||
* `Provider keys`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.keys.title"](): string;
|
||||
/**
|
||||
* `List order controls fallback within each storage group.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.keys.description"](): string;
|
||||
/**
|
||||
* `No provider keys`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.empty.title"](): string;
|
||||
/**
|
||||
* `Add a key to create the first route for this workspace. Provider rows are not shown until a key exists.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.empty.description"](): string;
|
||||
/**
|
||||
* `Local`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.storage.local"](): string;
|
||||
/**
|
||||
* `Server`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.storage.server"](): string;
|
||||
/**
|
||||
* `Local (this device)`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.storage.local-this-device"](): string;
|
||||
/**
|
||||
* `Local (Desktop only)`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.storage.local-desktop-only"](): string;
|
||||
/**
|
||||
* `Disabled after failure`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.status.disabled-after-failure"](): string;
|
||||
/**
|
||||
* `Key verified`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.status.key-verified"](): string;
|
||||
/**
|
||||
* `Key test failed`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.status.key-test-failed"](): string;
|
||||
/**
|
||||
* `Text`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.capability.text"](): string;
|
||||
/**
|
||||
* `Image input`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.capability.image-input"](): string;
|
||||
/**
|
||||
* `Actions`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.capability.actions"](): string;
|
||||
/**
|
||||
* `Image generate`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.capability.image-generate"](): string;
|
||||
/**
|
||||
* `Transcript`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.capability.transcript"](): string;
|
||||
/**
|
||||
* `Indexing`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.capability.indexing"](): string;
|
||||
/**
|
||||
* `failed {{date}}`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.row.activity.failed"](options: {
|
||||
readonly date: string;
|
||||
}): string;
|
||||
/**
|
||||
* `used {{date}}`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.row.activity.used"](options: {
|
||||
readonly date: string;
|
||||
}): string;
|
||||
/**
|
||||
* `used today`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.row.activity.used-today"](): string;
|
||||
/**
|
||||
* `not used yet`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.row.activity.unused"](): string;
|
||||
/**
|
||||
* `Feature coverage`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.coverage.title"](): string;
|
||||
/**
|
||||
* `Writing and chat`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.chat.title"](): string;
|
||||
/**
|
||||
* `Covered when an OpenAI, Anthropic, or Gemini BYOK key exists.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.chat.fallback"](): string;
|
||||
/**
|
||||
* `Actions and structured output`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.action.title"](): string;
|
||||
/**
|
||||
* `Covered when an OpenAI or Gemini BYOK key exists.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.action.fallback"](): string;
|
||||
/**
|
||||
* `Image generation`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.image.title"](): string;
|
||||
/**
|
||||
* `Covered when an OpenAI, Gemini, or FAL BYOK key exists.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.image.fallback"](): string;
|
||||
/**
|
||||
* `Transcript`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.transcript.title"](): string;
|
||||
/**
|
||||
* `Covered when a server Gemini BYOK key exists.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.transcript.fallback"](): string;
|
||||
/**
|
||||
* `Workspace indexing`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.workspace-indexing.title"](): string;
|
||||
/**
|
||||
* `Covered when a server Gemini BYOK key exists.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.feature.workspace-indexing.fallback"](): string;
|
||||
/**
|
||||
* `Transcript and workspace indexing require a server Gemini BYOK key or AFFiNE AI plan fallback.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.warning.transcript"](): string;
|
||||
/**
|
||||
* `Workspace indexing requires a server Gemini BYOK key or AFFiNE AI plan fallback.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.warning.workspace-indexing"](): string;
|
||||
/**
|
||||
* `BYOK usage`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.usage.title"](): string;
|
||||
/**
|
||||
* `Last 30 days`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.usage.period"](): string;
|
||||
/**
|
||||
* `{{count}} tokens`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.usage.tokens"](options: {
|
||||
readonly count: string;
|
||||
}): string;
|
||||
/**
|
||||
* `Add provider key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.modal.add-title"](): string;
|
||||
/**
|
||||
* `Edit provider key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.modal.edit-title"](): string;
|
||||
/**
|
||||
* `Re-enter the API key and test it before saving changes.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.modal.description"](): string;
|
||||
/**
|
||||
* `Provider`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.field.provider"](): string;
|
||||
/**
|
||||
* `Key name`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.field.key-name"](): string;
|
||||
/**
|
||||
* `Description`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.field.description"](): string;
|
||||
/**
|
||||
* `Key storage`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.field.storage"](): string;
|
||||
/**
|
||||
* `API key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.field.api-key"](): string;
|
||||
/**
|
||||
* `Endpoint`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.field.endpoint"](): string;
|
||||
/**
|
||||
* `Primary`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.placeholder.key-name"](): string;
|
||||
/**
|
||||
* `Workspace fallback key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.placeholder.description"](): string;
|
||||
/**
|
||||
* `Add key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.add-key"](): string;
|
||||
/**
|
||||
* `Test key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.test-key"](): string;
|
||||
/**
|
||||
* `Cancel`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.cancel"](): string;
|
||||
/**
|
||||
* `Save key`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.save-key"](): string;
|
||||
/**
|
||||
* `Clear all BYOK keys`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.clear-all"](): string;
|
||||
/**
|
||||
* `Reorder`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.reorder"](): string;
|
||||
/**
|
||||
* `Edit`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.edit"](): string;
|
||||
/**
|
||||
* `Delete`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.action.delete"](): string;
|
||||
/**
|
||||
* `Key test failed`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.test-failed.title"](): string;
|
||||
/**
|
||||
* `Local key not saved`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.local-save-failed.title"](): string;
|
||||
/**
|
||||
* `Secure device storage is unavailable.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.local-save-failed.message"](): string;
|
||||
/**
|
||||
* `BYOK settings not loaded`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.load-failed.title"](): string;
|
||||
/**
|
||||
* `BYOK key not saved`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.save-failed.title"](): string;
|
||||
/**
|
||||
* `BYOK key not deleted`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.delete-failed.title"](): string;
|
||||
/**
|
||||
* `BYOK keys not reordered`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.reorder-failed.title"](): string;
|
||||
/**
|
||||
* `BYOK keys not cleared`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.clear-failed.title"](): string;
|
||||
/**
|
||||
* `Please try again.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.operation-failed.message"](): string;
|
||||
/**
|
||||
* `Cannot reorder across storage`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.cross-storage-reorder.title"](): string;
|
||||
/**
|
||||
* `Local keys and server keys keep separate fallback order.`
|
||||
*/
|
||||
["com.affine.settings.workspace.byok.notify.cross-storage-reorder.message"](): string;
|
||||
/**
|
||||
* `Experimental features`
|
||||
*/
|
||||
|
||||
@@ -1471,6 +1471,82 @@
|
||||
"com.affine.settings.meetings.record.permission-modal.open-setting": "Open System Settings",
|
||||
"com.affine.settings.workspace": "Workspace",
|
||||
"com.affine.settings.workspace.description": "You can view current workspace's information here.",
|
||||
"com.affine.settings.workspace.byok.title-beta": "AI BYOK (Beta)",
|
||||
"com.affine.settings.workspace.byok.title": "AI BYOK",
|
||||
"com.affine.settings.workspace.byok.loading": "Loading provider keys.",
|
||||
"com.affine.settings.workspace.byok.subtitle": "Use your own provider keys for this workspace.",
|
||||
"com.affine.settings.workspace.byok.header": "Use workspace provider keys before AFFiNE AI plan routes.",
|
||||
"com.affine.settings.workspace.byok.locked.title": "BYOK requires Pro, Team, or Believer",
|
||||
"com.affine.settings.workspace.byok.locked.description": "Upgrade this workspace to add provider keys and route AFFiNE AI through your own OpenAI, Anthropic, Gemini, or FAL account.",
|
||||
"com.affine.settings.workspace.byok.notice.title": "AI plan stays available",
|
||||
"com.affine.settings.workspace.byok.notice.description": "Local keys on this device are tried first. Workspace server keys follow, then AFFiNE AI plan routes when quota is available.",
|
||||
"com.affine.settings.workspace.byok.keys.title": "Provider keys",
|
||||
"com.affine.settings.workspace.byok.keys.description": "List order controls fallback within each storage group.",
|
||||
"com.affine.settings.workspace.byok.empty.title": "No provider keys",
|
||||
"com.affine.settings.workspace.byok.empty.description": "Add a key to create the first route for this workspace. Provider rows are not shown until a key exists.",
|
||||
"com.affine.settings.workspace.byok.storage.local": "Local",
|
||||
"com.affine.settings.workspace.byok.storage.server": "Server",
|
||||
"com.affine.settings.workspace.byok.storage.local-this-device": "Local (this device)",
|
||||
"com.affine.settings.workspace.byok.storage.local-desktop-only": "Local (Desktop only)",
|
||||
"com.affine.settings.workspace.byok.status.disabled-after-failure": "Disabled after failure",
|
||||
"com.affine.settings.workspace.byok.status.key-verified": "Key verified",
|
||||
"com.affine.settings.workspace.byok.status.key-test-failed": "Key test failed",
|
||||
"com.affine.settings.workspace.byok.capability.text": "Text",
|
||||
"com.affine.settings.workspace.byok.capability.image-input": "Image input",
|
||||
"com.affine.settings.workspace.byok.capability.actions": "Actions",
|
||||
"com.affine.settings.workspace.byok.capability.image-generate": "Image generate",
|
||||
"com.affine.settings.workspace.byok.capability.transcript": "Transcript",
|
||||
"com.affine.settings.workspace.byok.capability.indexing": "Indexing",
|
||||
"com.affine.settings.workspace.byok.row.activity.failed": "failed {{date}}",
|
||||
"com.affine.settings.workspace.byok.row.activity.used": "used {{date}}",
|
||||
"com.affine.settings.workspace.byok.row.activity.used-today": "used today",
|
||||
"com.affine.settings.workspace.byok.row.activity.unused": "not used yet",
|
||||
"com.affine.settings.workspace.byok.coverage.title": "Feature coverage",
|
||||
"com.affine.settings.workspace.byok.feature.chat.title": "Writing and chat",
|
||||
"com.affine.settings.workspace.byok.feature.chat.fallback": "Covered when an OpenAI, Anthropic, or Gemini BYOK key exists.",
|
||||
"com.affine.settings.workspace.byok.feature.action.title": "Actions and structured output",
|
||||
"com.affine.settings.workspace.byok.feature.action.fallback": "Covered when an OpenAI or Gemini BYOK key exists.",
|
||||
"com.affine.settings.workspace.byok.feature.image.title": "Image generation",
|
||||
"com.affine.settings.workspace.byok.feature.image.fallback": "Covered when an OpenAI, Gemini, or FAL BYOK key exists.",
|
||||
"com.affine.settings.workspace.byok.feature.transcript.title": "Transcript",
|
||||
"com.affine.settings.workspace.byok.feature.transcript.fallback": "Covered when a server Gemini BYOK key exists.",
|
||||
"com.affine.settings.workspace.byok.feature.workspace-indexing.title": "Workspace indexing",
|
||||
"com.affine.settings.workspace.byok.feature.workspace-indexing.fallback": "Covered when a server Gemini BYOK key exists.",
|
||||
"com.affine.settings.workspace.byok.warning.transcript": "Transcript and workspace indexing require a server Gemini BYOK key or AFFiNE AI plan fallback.",
|
||||
"com.affine.settings.workspace.byok.warning.workspace-indexing": "Workspace indexing requires a server Gemini BYOK key or AFFiNE AI plan fallback.",
|
||||
"com.affine.settings.workspace.byok.usage.title": "BYOK usage",
|
||||
"com.affine.settings.workspace.byok.usage.period": "Last 30 days",
|
||||
"com.affine.settings.workspace.byok.usage.tokens": "{{count}} tokens",
|
||||
"com.affine.settings.workspace.byok.modal.add-title": "Add provider key",
|
||||
"com.affine.settings.workspace.byok.modal.edit-title": "Edit provider key",
|
||||
"com.affine.settings.workspace.byok.modal.description": "Re-enter the API key and test it before saving changes.",
|
||||
"com.affine.settings.workspace.byok.field.provider": "Provider",
|
||||
"com.affine.settings.workspace.byok.field.key-name": "Key name",
|
||||
"com.affine.settings.workspace.byok.field.description": "Description",
|
||||
"com.affine.settings.workspace.byok.field.storage": "Key storage",
|
||||
"com.affine.settings.workspace.byok.field.api-key": "API key",
|
||||
"com.affine.settings.workspace.byok.field.endpoint": "Endpoint",
|
||||
"com.affine.settings.workspace.byok.placeholder.key-name": "Primary",
|
||||
"com.affine.settings.workspace.byok.placeholder.description": "Workspace fallback key",
|
||||
"com.affine.settings.workspace.byok.action.add-key": "Add key",
|
||||
"com.affine.settings.workspace.byok.action.test-key": "Test key",
|
||||
"com.affine.settings.workspace.byok.action.cancel": "Cancel",
|
||||
"com.affine.settings.workspace.byok.action.save-key": "Save key",
|
||||
"com.affine.settings.workspace.byok.action.clear-all": "Clear all BYOK keys",
|
||||
"com.affine.settings.workspace.byok.action.reorder": "Reorder",
|
||||
"com.affine.settings.workspace.byok.action.edit": "Edit",
|
||||
"com.affine.settings.workspace.byok.action.delete": "Delete",
|
||||
"com.affine.settings.workspace.byok.notify.test-failed.title": "Key test failed",
|
||||
"com.affine.settings.workspace.byok.notify.local-save-failed.title": "Local key not saved",
|
||||
"com.affine.settings.workspace.byok.notify.local-save-failed.message": "Secure device storage is unavailable.",
|
||||
"com.affine.settings.workspace.byok.notify.load-failed.title": "BYOK settings not loaded",
|
||||
"com.affine.settings.workspace.byok.notify.save-failed.title": "BYOK key not saved",
|
||||
"com.affine.settings.workspace.byok.notify.delete-failed.title": "BYOK key not deleted",
|
||||
"com.affine.settings.workspace.byok.notify.reorder-failed.title": "BYOK keys not reordered",
|
||||
"com.affine.settings.workspace.byok.notify.clear-failed.title": "BYOK keys not cleared",
|
||||
"com.affine.settings.workspace.byok.notify.operation-failed.message": "Please try again.",
|
||||
"com.affine.settings.workspace.byok.notify.cross-storage-reorder.title": "Cannot reorder across storage",
|
||||
"com.affine.settings.workspace.byok.notify.cross-storage-reorder.message": "Local keys and server keys keep separate fallback order.",
|
||||
"com.affine.settings.workspace.experimental-features": "Experimental features",
|
||||
"com.affine.settings.workspace.experimental-features.get-started": "Get started",
|
||||
"com.affine.settings.workspace.experimental-features.header.plugins": "Experimental features",
|
||||
|
||||
@@ -1438,6 +1438,82 @@
|
||||
"com.affine.settings.meetings.record.permission-modal.open-setting": "打开系统设置",
|
||||
"com.affine.settings.workspace": "工作区",
|
||||
"com.affine.settings.workspace.description": "您可以在此处自定义您的工作区。",
|
||||
"com.affine.settings.workspace.byok.title-beta": "AI BYOK(Beta)",
|
||||
"com.affine.settings.workspace.byok.title": "AI BYOK",
|
||||
"com.affine.settings.workspace.byok.loading": "正在加载服务商密钥。",
|
||||
"com.affine.settings.workspace.byok.subtitle": "为此工作区使用您自己的服务商密钥。",
|
||||
"com.affine.settings.workspace.byok.header": "优先使用工作区服务商密钥,再回退到 AFFiNE AI 套餐通道。",
|
||||
"com.affine.settings.workspace.byok.locked.title": "BYOK 需要 Pro、Team 或 Believer",
|
||||
"com.affine.settings.workspace.byok.locked.description": "升级此工作区后,可添加服务商密钥,并通过您自己的 OpenAI、Anthropic、Gemini 或 FAL 账号路由 AFFiNE AI。",
|
||||
"com.affine.settings.workspace.byok.notice.title": "AI 套餐仍可用",
|
||||
"com.affine.settings.workspace.byok.notice.description": "会先尝试此设备上的本地密钥,然后使用工作区服务端密钥,最后在额度可用时回退到 AFFiNE AI 套餐通道。",
|
||||
"com.affine.settings.workspace.byok.keys.title": "服务商密钥",
|
||||
"com.affine.settings.workspace.byok.keys.description": "列表顺序控制每个存储分组内的回退顺序。",
|
||||
"com.affine.settings.workspace.byok.empty.title": "暂无服务商密钥",
|
||||
"com.affine.settings.workspace.byok.empty.description": "添加密钥后,将为此工作区创建第一条路由。创建前不会显示服务商行。",
|
||||
"com.affine.settings.workspace.byok.storage.local": "本地",
|
||||
"com.affine.settings.workspace.byok.storage.server": "服务端",
|
||||
"com.affine.settings.workspace.byok.storage.local-this-device": "本地(此设备)",
|
||||
"com.affine.settings.workspace.byok.storage.local-desktop-only": "本地(仅桌面端)",
|
||||
"com.affine.settings.workspace.byok.status.disabled-after-failure": "失败后已禁用",
|
||||
"com.affine.settings.workspace.byok.status.key-verified": "密钥已验证",
|
||||
"com.affine.settings.workspace.byok.status.key-test-failed": "密钥测试失败",
|
||||
"com.affine.settings.workspace.byok.capability.text": "文本",
|
||||
"com.affine.settings.workspace.byok.capability.image-input": "图片输入",
|
||||
"com.affine.settings.workspace.byok.capability.actions": "动作",
|
||||
"com.affine.settings.workspace.byok.capability.image-generate": "图片生成",
|
||||
"com.affine.settings.workspace.byok.capability.transcript": "转录",
|
||||
"com.affine.settings.workspace.byok.capability.indexing": "索引",
|
||||
"com.affine.settings.workspace.byok.row.activity.failed": "{{date}} 失败",
|
||||
"com.affine.settings.workspace.byok.row.activity.used": "{{date}} 使用",
|
||||
"com.affine.settings.workspace.byok.row.activity.used-today": "今天使用",
|
||||
"com.affine.settings.workspace.byok.row.activity.unused": "尚未使用",
|
||||
"com.affine.settings.workspace.byok.coverage.title": "功能覆盖",
|
||||
"com.affine.settings.workspace.byok.feature.chat.title": "写作与聊天",
|
||||
"com.affine.settings.workspace.byok.feature.chat.fallback": "存在 OpenAI、Anthropic 或 Gemini BYOK 密钥时覆盖。",
|
||||
"com.affine.settings.workspace.byok.feature.action.title": "动作与结构化输出",
|
||||
"com.affine.settings.workspace.byok.feature.action.fallback": "存在 OpenAI 或 Gemini BYOK 密钥时覆盖。",
|
||||
"com.affine.settings.workspace.byok.feature.image.title": "图片生成",
|
||||
"com.affine.settings.workspace.byok.feature.image.fallback": "存在 OpenAI、Gemini 或 FAL BYOK 密钥时覆盖。",
|
||||
"com.affine.settings.workspace.byok.feature.transcript.title": "转录",
|
||||
"com.affine.settings.workspace.byok.feature.transcript.fallback": "存在服务端 Gemini BYOK 密钥时覆盖。",
|
||||
"com.affine.settings.workspace.byok.feature.workspace-indexing.title": "工作区索引",
|
||||
"com.affine.settings.workspace.byok.feature.workspace-indexing.fallback": "存在服务端 Gemini BYOK 密钥时覆盖。",
|
||||
"com.affine.settings.workspace.byok.warning.transcript": "转录和工作区索引需要服务端 Gemini BYOK 密钥,或回退到 AFFiNE AI 套餐。",
|
||||
"com.affine.settings.workspace.byok.warning.workspace-indexing": "工作区索引需要服务端 Gemini BYOK 密钥,或回退到 AFFiNE AI 套餐。",
|
||||
"com.affine.settings.workspace.byok.usage.title": "BYOK 用量",
|
||||
"com.affine.settings.workspace.byok.usage.period": "最近 30 天",
|
||||
"com.affine.settings.workspace.byok.usage.tokens": "{{count}} tokens",
|
||||
"com.affine.settings.workspace.byok.modal.add-title": "添加服务商密钥",
|
||||
"com.affine.settings.workspace.byok.modal.edit-title": "编辑服务商密钥",
|
||||
"com.affine.settings.workspace.byok.modal.description": "重新输入 API key 并测试通过后才能保存更改。",
|
||||
"com.affine.settings.workspace.byok.field.provider": "服务商",
|
||||
"com.affine.settings.workspace.byok.field.key-name": "密钥名称",
|
||||
"com.affine.settings.workspace.byok.field.description": "描述",
|
||||
"com.affine.settings.workspace.byok.field.storage": "密钥存储",
|
||||
"com.affine.settings.workspace.byok.field.api-key": "API key",
|
||||
"com.affine.settings.workspace.byok.field.endpoint": "Endpoint",
|
||||
"com.affine.settings.workspace.byok.placeholder.key-name": "Primary",
|
||||
"com.affine.settings.workspace.byok.placeholder.description": "工作区回退密钥",
|
||||
"com.affine.settings.workspace.byok.action.add-key": "添加密钥",
|
||||
"com.affine.settings.workspace.byok.action.test-key": "测试密钥",
|
||||
"com.affine.settings.workspace.byok.action.cancel": "取消",
|
||||
"com.affine.settings.workspace.byok.action.save-key": "保存密钥",
|
||||
"com.affine.settings.workspace.byok.action.clear-all": "清空所有 BYOK 密钥",
|
||||
"com.affine.settings.workspace.byok.action.reorder": "重新排序",
|
||||
"com.affine.settings.workspace.byok.action.edit": "编辑",
|
||||
"com.affine.settings.workspace.byok.action.delete": "删除",
|
||||
"com.affine.settings.workspace.byok.notify.test-failed.title": "密钥测试失败",
|
||||
"com.affine.settings.workspace.byok.notify.local-save-failed.title": "本地密钥未保存",
|
||||
"com.affine.settings.workspace.byok.notify.local-save-failed.message": "安全设备存储不可用。",
|
||||
"com.affine.settings.workspace.byok.notify.load-failed.title": "BYOK 设置未加载",
|
||||
"com.affine.settings.workspace.byok.notify.save-failed.title": "BYOK 密钥未保存",
|
||||
"com.affine.settings.workspace.byok.notify.delete-failed.title": "BYOK 密钥未删除",
|
||||
"com.affine.settings.workspace.byok.notify.reorder-failed.title": "BYOK 密钥未重新排序",
|
||||
"com.affine.settings.workspace.byok.notify.clear-failed.title": "BYOK 密钥未清空",
|
||||
"com.affine.settings.workspace.byok.notify.operation-failed.message": "请稍后重试。",
|
||||
"com.affine.settings.workspace.byok.notify.cross-storage-reorder.title": "不能跨存储排序",
|
||||
"com.affine.settings.workspace.byok.notify.cross-storage-reorder.message": "本地密钥和服务端密钥会保留各自独立的回退顺序。",
|
||||
"com.affine.settings.workspace.experimental-features": "实验性功能",
|
||||
"com.affine.settings.workspace.experimental-features.get-started": "开始使用",
|
||||
"com.affine.settings.workspace.experimental-features.header.plugins": "实验性功能",
|
||||
|
||||
Reference in New Issue
Block a user