refactor: enhance model tags and localization for new model types

- Added support for rerank models in ModelTags component.
- Updated localization keys for model types in various icon components.
- Modified SelectModelPopup to filter out rerank models appropriately.
- Improved model identification logic in models configuration.
- Enhanced UI elements to reflect updated model types and their respective tooltips.
This commit is contained in:
kangfenmao 2025-03-22 19:38:00 +08:00
parent 404ec095d4
commit 43a6428653
12 changed files with 929 additions and 924 deletions

View File

@ -8,7 +8,7 @@ const ReasoningIcon: FC<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement
return ( return (
<Container> <Container>
<Tooltip title={t('models.reasoning')} placement="top"> <Tooltip title={t('models.type.reasoning')} placement="top">
<Icon className="iconfont icon-thinking" {...(props as any)} /> <Icon className="iconfont icon-thinking" {...(props as any)} />
</Tooltip> </Tooltip>
</Container> </Container>

View File

@ -9,7 +9,7 @@ const VisionIcon: FC<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>,
return ( return (
<Container> <Container>
<Tooltip title={t('models.vision')} placement="top"> <Tooltip title={t('models.type.vision')} placement="top">
<Icon {...(props as any)} /> <Icon {...(props as any)} />
</Tooltip> </Tooltip>
</Container> </Container>

View File

@ -9,7 +9,7 @@ const WebSearchIcon: FC<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement
return ( return (
<Container> <Container>
<Tooltip title={t('models.websearch')} placement="top"> <Tooltip title={t('models.type.websearch')} placement="top">
<Icon {...(props as any)} /> <Icon {...(props as any)} />
</Tooltip> </Tooltip>
</Container> </Container>

View File

@ -2,6 +2,7 @@ import {
isEmbeddingModel, isEmbeddingModel,
isFunctionCallingModel, isFunctionCallingModel,
isReasoningModel, isReasoningModel,
isRerankModel,
isVisionModel, isVisionModel,
isWebSearchModel isWebSearchModel
} from '@renderer/config/models' } from '@renderer/config/models'
@ -32,8 +33,9 @@ const ModelTags: FC<ModelTagsProps> = ({ model, showFree = true, showReasoning =
{isWebSearchModel(model) && <WebSearchIcon />} {isWebSearchModel(model) && <WebSearchIcon />}
{showReasoning && isReasoningModel(model) && <ReasoningIcon />} {showReasoning && isReasoningModel(model) && <ReasoningIcon />}
{showToolsCalling && isFunctionCallingModel(model) && <ToolsCallingIcon />} {showToolsCalling && isFunctionCallingModel(model) && <ToolsCallingIcon />}
{isEmbeddingModel(model) && <Tag color="orange">{t('models.embedding')}</Tag>} {isEmbeddingModel(model) && <Tag color="orange">{t('models.type.embedding')}</Tag>}
{showFree && isFreeModel(model) && <Tag color="green">{t('models.free')}</Tag>} {showFree && isFreeModel(model) && <Tag color="green">{t('models.type.free')}</Tag>}
{isRerankModel(model) && <Tag color="geekblue">{t('models.type.rerank')}</Tag>}
</Container> </Container>
) )
} }

View File

@ -1,6 +1,6 @@
import { PushpinOutlined, SearchOutlined } from '@ant-design/icons' import { PushpinOutlined, SearchOutlined } from '@ant-design/icons'
import { TopView } from '@renderer/components/TopView' import { TopView } from '@renderer/components/TopView'
import { getModelLogo, isEmbeddingModel } from '@renderer/config/models' import { getModelLogo, isEmbeddingModel, isRerankModel } from '@renderer/config/models'
import db from '@renderer/databases' import db from '@renderer/databases'
import { useProviders } from '@renderer/hooks/useProvider' import { useProviders } from '@renderer/hooks/useProvider'
import { getModelUniqId } from '@renderer/services/ModelService' import { getModelUniqId } from '@renderer/services/ModelService'
@ -76,7 +76,7 @@ const PopupContainer: React.FC<PopupContainerProps> = ({ model, resolve }) => {
// 根据输入的文本筛选模型 // 根据输入的文本筛选模型
const getFilteredModels = useCallback( const getFilteredModels = useCallback(
(provider) => { (provider) => {
let models = provider.models.filter((m) => !isEmbeddingModel(m)) let models = provider.models.filter((m) => !isEmbeddingModel(m) && !isRerankModel(m))
if (searchText.trim()) { if (searchText.trim()) {
const keywords = searchText.toLowerCase().split(/\s+/).filter(Boolean) const keywords = searchText.toLowerCase().split(/\s+/).filter(Boolean)

View File

@ -1895,14 +1895,15 @@ export function isEmbeddingModel(model: Model): boolean {
return EMBEDDING_REGEX.test(model.name) return EMBEDDING_REGEX.test(model.name)
} }
if (isRerankModel(model)) {
return false
}
return EMBEDDING_REGEX.test(model.id) || model.type?.includes('embedding') || false return EMBEDDING_REGEX.test(model.id) || model.type?.includes('embedding') || false
} }
export function isRerankModel(model: Model): boolean { export function isRerankModel(model: Model): boolean {
if (!model) { return model ? RERANKING_REGEX.test(model.id) || false : false
return false
}
return RERANKING_REGEX.test(model.id) || false
} }
export function isVisionModel(model: Model): boolean { export function isVisionModel(model: Model): boolean {

View File

@ -126,6 +126,12 @@
"message.quote": "Quote", "message.quote": "Quote",
"message.regenerate.model": "Switch Model", "message.regenerate.model": "Switch Model",
"message.useful": "Helpful", "message.useful": "Helpful",
"navigation": {
"first": "Already at the first message",
"last": "Already at the last message",
"next": "Next Message",
"prev": "Previous Message"
},
"resend": "Resend", "resend": "Resend",
"save": "Save", "save": "Save",
"settings.code_collapsible": "Code block collapsible", "settings.code_collapsible": "Code block collapsible",
@ -157,48 +163,42 @@
"topics.edit.placeholder": "Enter new name", "topics.edit.placeholder": "Enter new name",
"topics.edit.title": "Edit Name", "topics.edit.title": "Edit Name",
"topics.export.image": "Export as image", "topics.export.image": "Export as image",
"topics.export.joplin": "Export to Joplin",
"topics.export.md": "Export as markdown", "topics.export.md": "Export as markdown",
"topics.export.notion": "Export to Notion", "topics.export.notion": "Export to Notion",
"topics.export.title": "Export",
"topics.export.word": "Export as Word",
"topics.export.yuque": "Export to Yuque",
"topics.export.obsidian": "Export to Obsidian", "topics.export.obsidian": "Export to Obsidian",
"topics.export.obsidian_atributes": "Configure Note Attributes",
"topics.export.obsidian_btn": "Confirm",
"topics.export.obsidian_created": "Creation Time",
"topics.export.obsidian_created_placeholder": "Please select the creation time",
"topics.export.obsidian_export_failed": "Export failed",
"topics.export.obsidian_export_success": "Export success",
"topics.export.obsidian_not_configured": "Obsidian not configured", "topics.export.obsidian_not_configured": "Obsidian not configured",
"topics.export.obsidian_operate": "Operation Method",
"topics.export.obsidian_operate_append": "Append",
"topics.export.obsidian_operate_new_or_overwrite": "Create New (Overwrite if it exists)",
"topics.export.obsidian_operate_placeholder": "Please select the operation method",
"topics.export.obsidian_operate_prepend": "Prepend",
"topics.export.obsidian_source": "Source",
"topics.export.obsidian_source_placeholder": "Please enter the source",
"topics.export.obsidian_tags": "Tags",
"topics.export.obsidian_tags_placeholder": "Please enter tags, separate multiple tags with commas in English,In Obsidian, pure numbers cannot be used.",
"topics.export.obsidian_title": "Title", "topics.export.obsidian_title": "Title",
"topics.export.obsidian_title_placeholder": "Please enter the title", "topics.export.obsidian_title_placeholder": "Please enter the title",
"topics.export.obsidian_title_required": "The title cannot be empty", "topics.export.obsidian_title_required": "The title cannot be empty",
"topics.export.obsidian_tags": "Tags", "topics.export.title": "Export",
"topics.export.obsidian_tags_placeholder": "Please enter tags, separate multiple tags with commas in English,In Obsidian, pure numbers cannot be used.", "topics.export.word": "Export as Word",
"topics.export.obsidian_created": "Creation Time", "topics.export.yuque": "Export to Yuque",
"topics.export.obsidian_created_placeholder": "Please select the creation time",
"topics.export.obsidian_source": "Source",
"topics.export.obsidian_source_placeholder": "Please enter the source",
"topics.export.obsidian_operate": "Operation Method",
"topics.export.obsidian_operate_placeholder": "Please select the operation method",
"topics.export.obsidian_operate_append": "Append",
"topics.export.obsidian_operate_prepend": "Prepend",
"topics.export.obsidian_operate_new_or_overwrite": "Create New (Overwrite if it exists)",
"topics.export.obsidian_atributes": "Configure Note Attributes",
"topics.export.obsidian_btn": "Confirm",
"topics.export.obsidian_export_success": "Export success",
"topics.export.obsidian_export_failed": "Export failed",
"topics.export.joplin": "Export to Joplin",
"topics.list": "Topic List", "topics.list": "Topic List",
"topics.move_to": "Move to", "topics.move_to": "Move to",
"topics.new": "New Topic",
"topics.pinned": "Pinned Topics", "topics.pinned": "Pinned Topics",
"topics.prompt": "Topic Prompts", "topics.prompt": "Topic Prompts",
"topics.prompt.edit.title": "Edit Topic Prompts", "topics.prompt.edit.title": "Edit Topic Prompts",
"topics.prompt.tips": "Topic Prompts: Additional supplementary prompts provided for the current topic", "topics.prompt.tips": "Topic Prompts: Additional supplementary prompts provided for the current topic",
"topics.title": "Topics", "topics.title": "Topics",
"topics.unpinned": "Unpinned Topics", "topics.unpinned": "Unpinned Topics",
"topics.new": "New Topic", "translate": "Translate"
"translate": "Translate",
"navigation": {
"prev": "Previous Message",
"next": "Next Message",
"first": "Already at the first message",
"last": "Already at the last message"
}
}, },
"code_block": { "code_block": {
"collapse": "Collapse", "collapse": "Collapse",
@ -208,6 +208,7 @@
}, },
"common": { "common": {
"add": "Add", "add": "Add",
"advanced_settings": "Advanced Settings",
"and": "and", "and": "and",
"assistant": "Assistant", "assistant": "Assistant",
"avatar": "Avatar", "avatar": "Avatar",
@ -216,6 +217,8 @@
"chat": "Chat", "chat": "Chat",
"clear": "Clear", "clear": "Clear",
"close": "Close", "close": "Close",
"confirm": "Confirm",
"copied": "Copied",
"copy": "Copy", "copy": "Copy",
"cut": "Cut", "cut": "Cut",
"default": "Default", "default": "Default",
@ -225,6 +228,7 @@
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "Edit", "edit": "Edit",
"expand": "Expand",
"footnote": "Reference content", "footnote": "Reference content",
"footnotes": "References", "footnotes": "References",
"fullscreen": "Entered fullscreen mode. Press F11 to exit", "fullscreen": "Entered fullscreen mode. Press F11 to exit",
@ -232,6 +236,7 @@
"language": "Language", "language": "Language",
"model": "Model", "model": "Model",
"models": "Models", "models": "Models",
"more": "More",
"name": "Name", "name": "Name",
"paste": "Paste", "paste": "Paste",
"prompt": "Prompt", "prompt": "Prompt",
@ -244,12 +249,7 @@
"select": "Select", "select": "Select",
"topics": "Topics", "topics": "Topics",
"warning": "Warning", "warning": "Warning",
"you": "You", "you": "You"
"copied": "Copied",
"confirm": "Confirm",
"more": "More",
"advanced_settings": "Advanced Settings",
"expand": "Expand"
}, },
"docs": { "docs": {
"title": "Docs" "title": "Docs"
@ -307,6 +307,12 @@
"title": "Files", "title": "Files",
"type": "Type" "type": "Type"
}, },
"gpustack": {
"keep_alive_time.description": "The time in minutes to keep the connection alive, default is 5 minutes.",
"keep_alive_time.placeholder": "Minutes",
"keep_alive_time.title": "Keep Alive Time",
"title": "GPUStack"
},
"history": { "history": {
"continue_chat": "Continue Chatting", "continue_chat": "Continue Chatting",
"locate.message": "Locate the message", "locate.message": "Locate the message",
@ -376,13 +382,13 @@
"threshold_too_large_or_small": "Threshold cannot be greater than 1 or less than 0", "threshold_too_large_or_small": "Threshold cannot be greater than 1 or less than 0",
"threshold_tooltip": "Used to evaluate the relevance between the user's question and the content in the knowledge base (0-1)", "threshold_tooltip": "Used to evaluate the relevance between the user's question and the content in the knowledge base (0-1)",
"title": "Knowledge Base", "title": "Knowledge Base",
"topN": "Number of results returned",
"topN__too_large_or_small": "The number of results returned cannot be greater than 100 or less than 1.",
"topN_placeholder": "Not set",
"topN_tooltip": "The number of matching results returned; the larger the value, the more matching results, but also the more tokens consumed.",
"url_added": "URL added", "url_added": "URL added",
"url_placeholder": "Enter URL, multiple URLs separated by Enter", "url_placeholder": "Enter URL, multiple URLs separated by Enter",
"urls": "URLs", "urls": "URLs"
"topN": "Number of results returned",
"topN_placeholder": "Not set",
"topN__too_large_or_small": "The number of results returned cannot be greater than 100 or less than 1.",
"topN_tooltip": "The number of matching results returned; the larger the value, the more matching results, but also the more tokens consumed."
}, },
"languages": { "languages": {
"arabic": "Arabic", "arabic": "Arabic",
@ -420,22 +426,22 @@
"title": "Mermaid Diagram" "title": "Mermaid Diagram"
}, },
"message": { "message": {
"attachments": {
"pasted_text": "Pasted Text",
"pasted_image": "Pasted Image"
},
"api.check.model.title": "Select the model to use for detection", "api.check.model.title": "Select the model to use for detection",
"api.connection.failed": "Connection failed", "api.connection.failed": "Connection failed",
"api.connection.success": "Connection successful", "api.connection.success": "Connection successful",
"assistant.added.content": "Assistant added successfully", "assistant.added.content": "Assistant added successfully",
"attachments": {
"pasted_image": "Pasted Image",
"pasted_text": "Pasted Text"
},
"backup.failed": "Backup failed", "backup.failed": "Backup failed",
"backup.start.success": "Backup started", "backup.start.success": "Backup started",
"backup.success": "Backup successful", "backup.success": "Backup successful",
"chat.completion.paused": "Chat completion paused", "chat.completion.paused": "Chat completion paused",
"citations": "References", "citations": "References",
"copied": "Copied!", "copied": "Copied!",
"copy.success": "Copied!",
"copy.failed": "Copy failed", "copy.failed": "Copy failed",
"copy.success": "Copied!",
"error.chunk_overlap_too_large": "Chunk overlap cannot be greater than chunk size", "error.chunk_overlap_too_large": "Chunk overlap cannot be greater than chunk size",
"error.dimension_too_large": "Content size is too large", "error.dimension_too_large": "Content size is too large",
"error.enter.api.host": "Please enter your API host first", "error.enter.api.host": "Please enter your API host first",
@ -448,18 +454,20 @@
"error.invalid.enter.model": "Please select a model", "error.invalid.enter.model": "Please select a model",
"error.invalid.proxy.url": "Invalid proxy URL", "error.invalid.proxy.url": "Invalid proxy URL",
"error.invalid.webdav": "Invalid WebDAV settings", "error.invalid.webdav": "Invalid WebDAV settings",
"error.joplin.export": "Failed to export to Joplin. Please keep Joplin running and check connection status or configuration",
"error.joplin.no_config": "Joplin Authorization Token or URL is not configured",
"error.markdown.export.preconf": "Failed to export the Markdown file to the preconfigured path", "error.markdown.export.preconf": "Failed to export the Markdown file to the preconfigured path",
"error.markdown.export.specified": "Failed to export the Markdown file", "error.markdown.export.specified": "Failed to export the Markdown file",
"error.notion.export": "Failed to export to Notion. Please check connection status and configuration according to documentation", "error.notion.export": "Failed to export to Notion. Please check connection status and configuration according to documentation",
"error.notion.no_api_key": "Notion ApiKey or Notion DatabaseID is not configured", "error.notion.no_api_key": "Notion ApiKey or Notion DatabaseID is not configured",
"error.yuque.export": "Failed to export to Yuque. Please check connection status and configuration according to documentation", "error.yuque.export": "Failed to export to Yuque. Please check connection status and configuration according to documentation",
"error.yuque.no_config": "Yuque Token or Yuque Url is not configured", "error.yuque.no_config": "Yuque Token or Yuque Url is not configured",
"error.joplin.no_config": "Joplin Authorization Token or URL is not configured",
"error.joplin.export": "Failed to export to Joplin. Please keep Joplin running and check connection status or configuration",
"group.delete.content": "Deleting a group message will delete the user's question and all assistant's answers", "group.delete.content": "Deleting a group message will delete the user's question and all assistant's answers",
"group.delete.title": "Delete Group Message", "group.delete.title": "Delete Group Message",
"ignore.knowledge.base": "Web search mode is enabled, ignore knowledge base", "ignore.knowledge.base": "Web search mode is enabled, ignore knowledge base",
"info.notion.block_reach_limit": "Dialogue too long, exporting to Notion in pages", "info.notion.block_reach_limit": "Dialogue too long, exporting to Notion in pages",
"loading.notion.exporting_progress": "Exporting to Notion ({{current}}/{{total}})...",
"loading.notion.preparing": "Preparing to export to Notion...",
"mention.title": "Switch model answer", "mention.title": "Switch model answer",
"message.code_style": "Code style", "message.code_style": "Code style",
"message.delete.content": "Are you sure you want to delete this message?", "message.delete.content": "Are you sure you want to delete this message?",
@ -474,8 +482,6 @@
"message.style": "Message style", "message.style": "Message style",
"message.style.bubble": "Bubble", "message.style.bubble": "Bubble",
"message.style.plain": "Plain", "message.style.plain": "Plain",
"loading.notion.preparing": "Preparing to export to Notion...",
"loading.notion.exporting_progress": "Exporting to Notion ({{current}}/{{total}})...",
"regenerate.confirm": "Regenerating will replace current message", "regenerate.confirm": "Regenerating will replace current message",
"reset.confirm.content": "Are you sure you want to clear all data?", "reset.confirm.content": "Are you sure you want to clear all data?",
"reset.double.confirm.content": "All data will be lost, do you want to continue?", "reset.double.confirm.content": "All data will be lost, do you want to continue?",
@ -484,22 +490,22 @@
"restore.success": "Restored successfully", "restore.success": "Restored successfully",
"save.success.title": "Saved successfully", "save.success.title": "Saved successfully",
"searching": "Searching the internet...", "searching": "Searching the internet...",
"success.joplin.export": "Successfully exported to Joplin",
"success.markdown.export.preconf": "Successfully exported the Markdown file to the preconfigured path", "success.markdown.export.preconf": "Successfully exported the Markdown file to the preconfigured path",
"success.markdown.export.specified": "Successfully exported the Markdown file", "success.markdown.export.specified": "Successfully exported the Markdown file",
"success.notion.export": "Successfully exported to Notion", "success.notion.export": "Successfully exported to Notion",
"success.yuque.export": "Successfully exported to Yuque", "success.yuque.export": "Successfully exported to Yuque",
"success.joplin.export": "Successfully exported to Joplin",
"switch.disabled": "Please wait for the current reply to complete", "switch.disabled": "Please wait for the current reply to complete",
"tools": {
"completed": "Completed",
"invoking": "Invoking"
},
"topic.added": "New topic added", "topic.added": "New topic added",
"upgrade.success.button": "Restart", "upgrade.success.button": "Restart",
"upgrade.success.content": "Please restart the application to complete the upgrade", "upgrade.success.content": "Please restart the application to complete the upgrade",
"upgrade.success.title": "Upgrade successfully", "upgrade.success.title": "Upgrade successfully",
"warn.notion.exporting": "Exporting to Notion, please do not request export repeatedly!", "warn.notion.exporting": "Exporting to Notion, please do not request export repeatedly!",
"warning.rate.limit": "Too many requests. Please wait {{seconds}} seconds before trying again.", "warning.rate.limit": "Too many requests. Please wait {{seconds}} seconds before trying again."
"tools": {
"invoking": "Invoking",
"completed": "Completed"
}
}, },
"minapp": { "minapp": {
"sidebar.add.title": "Add to sidebar", "sidebar.add.title": "Add to sidebar",
@ -538,7 +544,7 @@
"embedding": "Embedding", "embedding": "Embedding",
"embedding_model": "Embedding Model", "embedding_model": "Embedding Model",
"embedding_model_tooltip": "Add in Settings->Model Provider->Manage", "embedding_model_tooltip": "Add in Settings->Model Provider->Manage",
"free": "Free", "function_calling": "Function Calling",
"no_matches": "No models available", "no_matches": "No models available",
"parameter_name": "Parameter Name", "parameter_name": "Parameter Name",
"parameter_type": { "parameter_type": {
@ -548,23 +554,22 @@
"string": "Text" "string": "Text"
}, },
"pinned": "Pinned", "pinned": "Pinned",
"reasoning": "Reasoning", "rerank_model": "Reordering Model",
"rerank_model_support_provider": "Currently, the reordering model only supports some providers ({{provider}})",
"rerank_model_tooltip": "Click the Manage button in Settings -> Model Services to add.",
"search": "Search models...", "search": "Search models...",
"stream_output": "Stream output", "stream_output": "Stream output",
"function_calling": "Function Calling",
"type": { "type": {
"embedding": "Embedding", "embedding": "Embedding",
"free": "Free",
"function_calling": "Tool",
"reasoning": "Reasoning", "reasoning": "Reasoning",
"rerank": "Reordering",
"select": "Select Model Types", "select": "Select Model Types",
"text": "Text", "text": "Text",
"vision": "Vision", "vision": "Vision",
"function_calling": "Function Calling" "websearch": "WebSearch"
}, }
"vision": "Vision",
"websearch": "WebSearch",
"rerank_model": "Reordering Model",
"rerank_model_tooltip": "Click the Manage button in Settings -> Model Services to add.",
"rerank_model_support_provider": "Currently, the reordering model only supports some providers ({{provider}})"
}, },
"navbar": { "navbar": {
"expand": "Expand Dialog", "expand": "Expand Dialog",
@ -610,12 +615,6 @@
}, },
"title": "PlantUML Diagram" "title": "PlantUML Diagram"
}, },
"gpustack": {
"keep_alive_time.description": "The time in minutes to keep the connection alive, default is 5 minutes.",
"keep_alive_time.placeholder": "Minutes",
"keep_alive_time.title": "Keep Alive Time",
"title": "GPUStack"
},
"prompts": { "prompts": {
"explanation": "Explain this concept to me", "explanation": "Explain this concept to me",
"summarize": "Summarize this text", "summarize": "Summarize this text",
@ -623,10 +622,12 @@
}, },
"provider": { "provider": {
"aihubmix": "AiHubMix", "aihubmix": "AiHubMix",
"alayanew": "Alaya NeW",
"anthropic": "Anthropic", "anthropic": "Anthropic",
"azure-openai": "Azure OpenAI", "azure-openai": "Azure OpenAI",
"baichuan": "Baichuan", "baichuan": "Baichuan",
"baidu-cloud": "Baidu Cloud", "baidu-cloud": "Baidu Cloud",
"copilot": "GitHub Copilot",
"dashscope": "Alibaba Cloud", "dashscope": "Alibaba Cloud",
"deepseek": "DeepSeek", "deepseek": "DeepSeek",
"dmxapi": "DMXAPI", "dmxapi": "DMXAPI",
@ -635,6 +636,7 @@
"gemini": "Gemini", "gemini": "Gemini",
"gitee-ai": "Gitee AI", "gitee-ai": "Gitee AI",
"github": "GitHub Models", "github": "GitHub Models",
"gpustack": "GPUStack",
"graphrag-kylin-mountain": "GraphRAG", "graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok", "grok": "Grok",
"groq": "Groq", "groq": "Groq",
@ -663,10 +665,7 @@
"xirang": "State Cloud Xirang", "xirang": "State Cloud Xirang",
"yi": "Yi", "yi": "Yi",
"zhinao": "360AI", "zhinao": "360AI",
"zhipu": "ZHIPU AI", "zhipu": "ZHIPU AI"
"copilot": "GitHub Copilot",
"gpustack": "GPUStack",
"alayanew": "Alaya NeW"
}, },
"restore": { "restore": {
"confirm": "Are you sure you want to restore data?", "confirm": "Are you sure you want to restore data?",
@ -728,15 +727,30 @@
"data.title": "Data Directory", "data.title": "Data Directory",
"hour_interval_one": "{{count}} hour", "hour_interval_one": "{{count}} hour",
"hour_interval_other": "{{count}} hours", "hour_interval_other": "{{count}} hours",
"minute_interval_one": "{{count}} minute", "joplin": {
"minute_interval_other": "{{count}} minutes", "check": {
"markdown_export.title": "Markdown Export", "button": "Check",
"empty_token": "Please enter Joplin Authorization Token",
"empty_url": "Please enter Joplin Clipper Service URL",
"fail": "Joplin connection verification failed",
"success": "Joplin connection verification successful"
},
"help": "In Joplin options, enable the web clipper (no browser extension needed), confirm the port, and copy the auth token here.",
"title": "Joplin Configuration",
"token": "Joplin Authorization Token",
"token_placeholder": "Joplin Authorization Token",
"url": "Joplin Web Clipper Service URL",
"url_placeholder": "http://127.0.0.1:41184/"
},
"markdown_export.force_dollar_math.help": "When enabled, $$ will be forcibly used to mark LaTeX formulas when exporting to Markdown. Note: This option also affects all export methods through Markdown, such as Notion, Yuque, etc.",
"markdown_export.force_dollar_math.title": "Force $$ for LaTeX formulas",
"markdown_export.help": "If provided, exports will be automatically saved to this path; otherwise, a save dialog will appear.",
"markdown_export.path": "Default Export Path", "markdown_export.path": "Default Export Path",
"markdown_export.path_placeholder": "Export Path", "markdown_export.path_placeholder": "Export Path",
"markdown_export.select": "Select", "markdown_export.select": "Select",
"markdown_export.help": "If provided, exports will be automatically saved to this path; otherwise, a save dialog will appear.", "markdown_export.title": "Markdown Export",
"markdown_export.force_dollar_math.title": "Force $$ for LaTeX formulas", "minute_interval_one": "{{count}} minute",
"markdown_export.force_dollar_math.help": "When enabled, $$ will be forcibly used to mark LaTeX formulas when exporting to Markdown. Note: This option also affects all export methods through Markdown, such as Notion, Yuque, etc.", "minute_interval_other": "{{count}} minutes",
"notion.api_key": "Notion API Key", "notion.api_key": "Notion API Key",
"notion.api_key_placeholder": "Enter Notion API Key", "notion.api_key_placeholder": "Enter Notion API Key",
"notion.auto_split": "Auto split when exporting", "notion.auto_split": "Auto split when exporting",
@ -758,11 +772,22 @@
"notion.split_size_help": "Recommended: 90 for Free plan, 24990 for Plus plan, default is 90", "notion.split_size_help": "Recommended: 90 for Free plan, 24990 for Plus plan, default is 90",
"notion.split_size_placeholder": "Enter block limit per page (default 90)", "notion.split_size_placeholder": "Enter block limit per page (default 90)",
"notion.title": "Notion Configuration", "notion.title": "Notion Configuration",
"obsidian": {
"folder": "Folder",
"folder_placeholder": "Please enter the folder name",
"tags": "Global Tags",
"tags_placeholder": "Please enter the tag name, separate multiple tags with commas in English,In Obsidian, pure numbers cannot be used.",
"title": "Obsidian Configuration",
"vault": "Vault",
"vault_placeholder": "Please enter the vault name"
},
"title": "Data Settings", "title": "Data Settings",
"webdav": { "webdav": {
"autoSync": "Auto Backup", "autoSync": "Auto Backup",
"autoSync.off": "Off", "autoSync.off": "Off",
"backup.button": "Backup to WebDAV", "backup.button": "Backup to WebDAV",
"backup.modal.filename.placeholder": "Please enter backup filename",
"backup.modal.title": "Backup to WebDAV",
"host": "WebDAV Host", "host": "WebDAV Host",
"host.placeholder": "http://localhost:8080", "host.placeholder": "http://localhost:8080",
"hour_interval_one": "{{count}} hour", "hour_interval_one": "{{count}} hour",
@ -774,14 +799,12 @@
"password": "WebDAV Password", "password": "WebDAV Password",
"path": "WebDAV Path", "path": "WebDAV Path",
"path.placeholder": "/backup", "path.placeholder": "/backup",
"backup.modal.title": "Backup to WebDAV",
"backup.modal.filename.placeholder": "Please enter backup filename",
"restore.modal.title": "Restore from WebDAV",
"restore.modal.select.placeholder": "Please select a backup file to restore",
"restore.confirm.title": "Confirm Restore",
"restore.confirm.content": "Restoring from WebDAV will overwrite current data. Do you want to continue?",
"restore.button": "Restore from WebDAV", "restore.button": "Restore from WebDAV",
"restore.confirm.content": "Restoring from WebDAV will overwrite current data. Do you want to continue?",
"restore.confirm.title": "Confirm Restore",
"restore.content": "Restore from WebDAV will overwrite the current data, continue?", "restore.content": "Restore from WebDAV will overwrite the current data, continue?",
"restore.modal.select.placeholder": "Please select a backup file to restore",
"restore.modal.title": "Restore from WebDAV",
"restore.title": "Restore from WebDAV", "restore.title": "Restore from WebDAV",
"syncError": "Backup Error", "syncError": "Backup Error",
"syncStatus": "Backup Status", "syncStatus": "Backup Status",
@ -802,30 +825,6 @@
"title": "Yuque Configuration", "title": "Yuque Configuration",
"token": "Yuque Token", "token": "Yuque Token",
"token_placeholder": "Please enter the Yuque Token" "token_placeholder": "Please enter the Yuque Token"
},
"obsidian": {
"title": "Obsidian Configuration",
"vault": "Vault",
"vault_placeholder": "Please enter the vault name",
"folder": "Folder",
"folder_placeholder": "Please enter the folder name",
"tags": "Global Tags",
"tags_placeholder": "Please enter the tag name, separate multiple tags with commas in English,In Obsidian, pure numbers cannot be used."
},
"joplin": {
"check": {
"button": "Check",
"empty_url": "Please enter Joplin Clipper Service URL",
"empty_token": "Please enter Joplin Authorization Token",
"fail": "Joplin connection verification failed",
"success": "Joplin connection verification successful"
},
"title": "Joplin Configuration",
"help": "In Joplin options, enable the web clipper (no browser extension needed), confirm the port, and copy the auth token here.",
"url": "Joplin Web Clipper Service URL",
"url_placeholder": "http://127.0.0.1:41184/",
"token": "Joplin Authorization Token",
"token_placeholder": "Joplin Authorization Token"
} }
}, },
"display.assistant.title": "Assistant Settings", "display.assistant.title": "Assistant Settings",
@ -871,12 +870,15 @@
"input.target_language.english": "English", "input.target_language.english": "English",
"input.target_language.japanese": "Japanese", "input.target_language.japanese": "Japanese",
"input.target_language.russian": "Russian", "input.target_language.russian": "Russian",
"launch.onboot": "Start Automatically on Boot",
"launch.title": "Launch",
"launch.totray": "Minimize to Tray on Launch",
"mcp": { "mcp": {
"actions": "Actions", "actions": "Actions",
"active": "Active", "active": "Active",
"addError": "Failed to add server",
"addServer": "Add Server", "addServer": "Add Server",
"addSuccess": "Server added successfully", "addSuccess": "Server added successfully",
"addError": "Failed to add server",
"args": "Arguments", "args": "Arguments",
"argsTooltip": "Each argument on a new line", "argsTooltip": "Each argument on a new line",
"baseUrlTooltip": "Remote server base URL", "baseUrlTooltip": "Remote server base URL",
@ -885,57 +887,53 @@
"config_description": "Configure Model Context Protocol servers", "config_description": "Configure Model Context Protocol servers",
"confirmDelete": "Delete Server", "confirmDelete": "Delete Server",
"confirmDeleteMessage": "Are you sure you want to delete the server?", "confirmDeleteMessage": "Are you sure you want to delete the server?",
"deleteSuccess": "Server deleted successfully",
"deleteError": "Failed to delete server", "deleteError": "Failed to delete server",
"deleteSuccess": "Server deleted successfully",
"dependenciesInstall": "Install Dependencies",
"dependenciesInstalling": "Installing dependencies...",
"description": "Description", "description": "Description",
"duplicateName": "A server with this name already exists", "duplicateName": "A server with this name already exists",
"editJson": "Edit JSON",
"editServer": "Edit Server", "editServer": "Edit Server",
"env": "Environment Variables", "env": "Environment Variables",
"envTooltip": "Format: KEY=value, one per line", "envTooltip": "Format: KEY=value, one per line",
"findMore": "Find More MCP Servers", "findMore": "Find More MCP Servers",
"install": "Install",
"installError": "Failed to install dependencies",
"installSuccess": "Dependencies installed successfully",
"jsonFormatError": "JSON formatting error",
"jsonModeHint": "Edit the JSON representation of the MCP server configuration. Please ensure the format is correct before saving.",
"jsonSaveError": "Failed to save JSON configuration.",
"jsonSaveSuccess": "JSON configuration has been saved.",
"missingDependencies": "is Missing, please install it to continue.",
"name": "Name", "name": "Name",
"nameRequired": "Please enter a server name", "nameRequired": "Please enter a server name",
"noServers": "No servers configured", "noServers": "No servers configured",
"npx_list": {
"actions": "Actions",
"desc": "Search and add npm packages as MCP servers",
"description": "Description",
"no_packages": "No packages found",
"npm": "NPM",
"package_name": "Package Name",
"scope_placeholder": "Enter npm scope (e.g. @your-org)",
"scope_required": "Please enter npm scope",
"search": "Search",
"search_error": "Search error",
"title": "NPX Package List",
"usage": "Usage",
"version": "Version"
},
"serverPlural": "servers", "serverPlural": "servers",
"serverSingular": "server", "serverSingular": "server",
"title": "MCP Servers", "title": "MCP Servers",
"type": "Type",
"updateSuccess": "Server updated successfully",
"updateError": "Failed to update server",
"url": "URL",
"toggleError": "Toggle failed", "toggleError": "Toggle failed",
"dependenciesInstalling": "Installing dependencies...", "type": "Type",
"dependenciesInstall": "Install Dependencies", "updateError": "Failed to update server",
"installSuccess": "Dependencies installed successfully", "updateSuccess": "Server updated successfully",
"installError": "Failed to install dependencies", "url": "URL"
"missingDependencies": "is Missing, please install it to continue.",
"install": "Install",
"npx_list": {
"title": "NPX Package List",
"desc": "Search and add npm packages as MCP servers",
"scope_placeholder": "Enter npm scope (e.g. @your-org)",
"search": "Search",
"package_name": "Package Name",
"description": "Description",
"usage": "Usage",
"npm": "NPM",
"version": "Version",
"actions": "Actions",
"scope_required": "Please enter npm scope",
"no_packages": "No packages found",
"search_error": "Search error"
},
"editJson": "Edit JSON",
"jsonModeHint": "Edit the JSON representation of the MCP server configuration. Please ensure the format is correct before saving.",
"jsonFormatError": "JSON formatting error",
"jsonSaveSuccess": "JSON configuration has been saved.",
"jsonSaveError": "Failed to save JSON configuration."
}, },
"messages.divider": "Show divider between messages", "messages.divider": "Show divider between messages",
"messages.navigation": "Message Navigation",
"messages.navigation.none": "None",
"messages.navigation.buttons": "Navigation Buttons",
"messages.navigation.anchor": "Message Anchor",
"messages.grid_columns": "Message grid display columns", "messages.grid_columns": "Message grid display columns",
"messages.grid_popover_trigger": "Grid detail trigger", "messages.grid_popover_trigger": "Grid detail trigger",
"messages.grid_popover_trigger.click": "Click to display", "messages.grid_popover_trigger.click": "Click to display",
@ -949,6 +947,10 @@
"messages.math_engine": "Math engine", "messages.math_engine": "Math engine",
"messages.metrics": "{{time_first_token_millsec}}ms to first token | {{token_speed}} tok/sec", "messages.metrics": "{{time_first_token_millsec}}ms to first token | {{token_speed}} tok/sec",
"messages.model.title": "Model Settings", "messages.model.title": "Model Settings",
"messages.navigation": "Message Navigation",
"messages.navigation.anchor": "Message Anchor",
"messages.navigation.buttons": "Navigation Buttons",
"messages.navigation.none": "None",
"messages.title": "Message Settings", "messages.title": "Message Settings",
"messages.use_serif_font": "Use serif font", "messages.use_serif_font": "Use serif font",
"model": "Default Model", "model": "Default Model",
@ -1011,43 +1013,43 @@
"check": "Check", "check": "Check",
"check_all_keys": "Check All Keys", "check_all_keys": "Check All Keys",
"check_multiple_keys": "Check Multiple API Keys", "check_multiple_keys": "Check Multiple API Keys",
"copilot": {
"auth_failed": "Github Copilot authentication failed.",
"auth_success": "GitHub Copilot authentication successful.",
"auth_success_title": "Certification successful.",
"code_failed": "Failed to obtain Device Code, please try again.",
"code_generated_desc": "Please copy the device code into the browser link below.",
"code_generated_title": "Obtain Device Code",
"confirm_login": "Excessive use may lead to your Github account being banned, please use it cautiously!!!!",
"confirm_title": "Risk Warning",
"connect": "Connect to Github",
"custom_headers": "Custom request header",
"description": "Your GitHub account needs to subscribe to Copilot.",
"expand": "Expand",
"headers_description": "Custom request headers (JSON format)",
"invalid_json": "JSON format error",
"login": "Log in to Github",
"logout": "Exit GitHub",
"logout_failed": "Exit failed, please try again.",
"logout_success": "Successfully logged out.",
"model_setting": "Model settings",
"open_verification_first": "Please click the link above to access the verification page.",
"rate_limit": "Rate limiting",
"tooltip": "You need to log in to Github before using Github Copilot"
},
"delete.content": "Are you sure you want to delete this provider?", "delete.content": "Are you sure you want to delete this provider?",
"delete.title": "Delete Provider", "delete.title": "Delete Provider",
"docs_check": "Check", "docs_check": "Check",
"docs_more_details": "for more details", "docs_more_details": "for more details",
"get_api_key": "Get API Key", "get_api_key": "Get API Key",
"is_not_support_array_content": "Enable compatible mode",
"no_models": "Please add models first before checking the API connection", "no_models": "Please add models first before checking the API connection",
"not_checked": "Not Checked", "not_checked": "Not Checked",
"remove_duplicate_keys": "Remove Duplicate Keys", "remove_duplicate_keys": "Remove Duplicate Keys",
"remove_invalid_keys": "Remove Invalid Keys", "remove_invalid_keys": "Remove Invalid Keys",
"search": "Search Providers...", "search": "Search Providers...",
"search_placeholder": "Search model id or name", "search_placeholder": "Search model id or name",
"title": "Model Provider", "title": "Model Provider"
"is_not_support_array_content": "Enable compatible mode",
"copilot": {
"tooltip": "You need to log in to Github before using Github Copilot",
"description": "Your GitHub account needs to subscribe to Copilot.",
"login": "Log in to Github",
"connect": "Connect to Github",
"logout": "Exit GitHub",
"auth_success_title": "Certification successful.",
"code_generated_title": "Obtain Device Code",
"code_generated_desc": "Please copy the device code into the browser link below.",
"code_failed": "Failed to obtain Device Code, please try again.",
"auth_success": "GitHub Copilot authentication successful.",
"auth_failed": "Github Copilot authentication failed.",
"logout_success": "Successfully logged out.",
"logout_failed": "Exit failed, please try again.",
"confirm_title": "Risk Warning",
"confirm_login": "Excessive use may lead to your Github account being banned, please use it cautiously!!!!",
"rate_limit": "Rate limiting",
"custom_headers": "Custom request header",
"headers_description": "Custom request headers (JSON format)",
"expand": "Expand",
"model_setting": "Model settings",
"invalid_json": "JSON format error",
"open_verification_first": "Please click the link above to access the verification page."
}
}, },
"proxy": { "proxy": {
"mode": { "mode": {
@ -1062,9 +1064,9 @@
"quickAssistant": { "quickAssistant": {
"click_tray_to_show": "Click the tray icon to start", "click_tray_to_show": "Click the tray icon to start",
"enable_quick_assistant": "Enable Quick Assistant", "enable_quick_assistant": "Enable Quick Assistant",
"read_clipboard_at_startup": "Read clipboard at startup",
"title": "Quick Assistant", "title": "Quick Assistant",
"use_shortcut_to_show": "Right-click the tray icon or use shortcuts to start", "use_shortcut_to_show": "Right-click the tray icon or use shortcuts to start"
"read_clipboard_at_startup": "Read clipboard at startup"
}, },
"shortcuts": { "shortcuts": {
"action": "Action", "action": "Action",
@ -1101,19 +1103,18 @@
"topic.position.left": "Left", "topic.position.left": "Left",
"topic.position.right": "Right", "topic.position.right": "Right",
"topic.show.time": "Show topic time", "topic.show.time": "Show topic time",
"tray.title": "Tray",
"tray.show": "Show Tray Icon",
"tray.onclose": "Minimize to Tray on Close", "tray.onclose": "Minimize to Tray on Close",
"launch.title": "Launch", "tray.show": "Show Tray Icon",
"launch.onboot": "Start Automatically on Boot", "tray.title": "Tray",
"launch.totray": "Minimize to Tray on Launch",
"websearch": { "websearch": {
"blacklist": "Blacklist", "blacklist": "Blacklist",
"blacklist_description": "Results from the following websites will not appear in search results", "blacklist_description": "Results from the following websites will not appear in search results",
"blacklist_tooltip": "Please use the following format (separated by line breaks)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com", "blacklist_tooltip": "Please use the following format (separated by line breaks)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com",
"check": "Check", "check": "Check",
"check_success": "Verification successful",
"check_failed": "Verification failed", "check_failed": "Verification failed",
"check_success": "Verification successful",
"enhance_mode": "Search enhance mode",
"enhance_mode_tooltip": "Use the default model to extract search keywords from the problem and search",
"get_api_key": "Get API Key", "get_api_key": "Get API Key",
"no_provider_selected": "Please select a search service provider before checking.", "no_provider_selected": "Please select a search service provider before checking.",
"search_max_result": "Number of search results", "search_max_result": "Number of search results",
@ -1121,8 +1122,6 @@
"search_provider_placeholder": "Choose a search service provider.", "search_provider_placeholder": "Choose a search service provider.",
"search_result_default": "Default", "search_result_default": "Default",
"search_with_time": "Search with dates included", "search_with_time": "Search with dates included",
"enhance_mode": "Search enhance mode",
"enhance_mode_tooltip": "Use the default model to extract search keywords from the problem and search",
"tavily": { "tavily": {
"api_key": "Tavily API Key", "api_key": "Tavily API Key",
"api_key.placeholder": "Enter Tavily API Key", "api_key.placeholder": "Enter Tavily API Key",

View File

@ -126,6 +126,12 @@
"message.quote": "引用", "message.quote": "引用",
"message.regenerate.model": "モデルを切り替え", "message.regenerate.model": "モデルを切り替え",
"message.useful": "役立つ", "message.useful": "役立つ",
"navigation": {
"first": "最初のメッセージです",
"last": "最後のメッセージです",
"next": "次のメッセージ",
"prev": "前のメッセージ"
},
"resend": "再送信", "resend": "再送信",
"save": "保存", "save": "保存",
"settings.code_collapsible": "コードブロック折り畳み", "settings.code_collapsible": "コードブロック折り畳み",
@ -157,48 +163,42 @@
"topics.edit.placeholder": "新しい名前を入力", "topics.edit.placeholder": "新しい名前を入力",
"topics.edit.title": "名前を編集", "topics.edit.title": "名前を編集",
"topics.export.image": "画像としてエクスポート", "topics.export.image": "画像としてエクスポート",
"topics.export.joplin": "Joplin にエクスポート",
"topics.export.md": "Markdownとしてエクスポート", "topics.export.md": "Markdownとしてエクスポート",
"topics.export.notion": "Notion にエクスポート", "topics.export.notion": "Notion にエクスポート",
"topics.export.title": "エクスポート",
"topics.export.word": "Wordとしてエクスポート",
"topics.export.yuque": "語雀にエクスポート",
"topics.export.obsidian": "Obsidian にエクスポート", "topics.export.obsidian": "Obsidian にエクスポート",
"topics.export.obsidian_atributes": "ノートの属性を設定",
"topics.export.obsidian_btn": "確定",
"topics.export.obsidian_created": "作成日時",
"topics.export.obsidian_created_placeholder": "作成日時を選択してください",
"topics.export.obsidian_export_failed": "エクスポート失敗",
"topics.export.obsidian_export_success": "エクスポート成功",
"topics.export.obsidian_not_configured": "Obsidian 未設定", "topics.export.obsidian_not_configured": "Obsidian 未設定",
"topics.export.obsidian_operate": "処理方法",
"topics.export.obsidian_operate_append": "追加",
"topics.export.obsidian_operate_new_or_overwrite": "新規作成(既に存在する場合は上書き)",
"topics.export.obsidian_operate_placeholder": "処理方法を選択してください",
"topics.export.obsidian_operate_prepend": "先頭に追加",
"topics.export.obsidian_source": "ソース",
"topics.export.obsidian_source_placeholder": "ソースを入力してください",
"topics.export.obsidian_tags": "タグ",
"topics.export.obsidian_tags_placeholder": "タグを入力してください。複数のタグは英語のコンマで区切ってください,Obsidian では、純粋な数字を使用することはできません。",
"topics.export.obsidian_title": "タイトル", "topics.export.obsidian_title": "タイトル",
"topics.export.obsidian_title_placeholder": "タイトルを入力してください", "topics.export.obsidian_title_placeholder": "タイトルを入力してください",
"topics.export.obsidian_title_required": "タイトルは空白にできません", "topics.export.obsidian_title_required": "タイトルは空白にできません",
"topics.export.obsidian_tags": "タグ", "topics.export.title": "エクスポート",
"topics.export.obsidian_tags_placeholder": "タグを入力してください。複数のタグは英語のコンマで区切ってください,Obsidian では、純粋な数字を使用することはできません。", "topics.export.word": "Wordとしてエクスポート",
"topics.export.obsidian_created": "作成日時", "topics.export.yuque": "語雀にエクスポート",
"topics.export.obsidian_created_placeholder": "作成日時を選択してください",
"topics.export.obsidian_source": "ソース",
"topics.export.obsidian_source_placeholder": "ソースを入力してください",
"topics.export.obsidian_operate": "処理方法",
"topics.export.obsidian_operate_placeholder": "処理方法を選択してください",
"topics.export.obsidian_operate_append": "追加",
"topics.export.obsidian_operate_prepend": "先頭に追加",
"topics.export.obsidian_operate_new_or_overwrite": "新規作成(既に存在する場合は上書き)",
"topics.export.obsidian_atributes": "ノートの属性を設定",
"topics.export.obsidian_btn": "確定",
"topics.export.obsidian_export_success": "エクスポート成功",
"topics.export.obsidian_export_failed": "エクスポート失敗",
"topics.export.joplin": "Joplin にエクスポート",
"topics.list": "トピックリスト", "topics.list": "トピックリスト",
"topics.move_to": "移動先", "topics.move_to": "移動先",
"topics.new": "新しいトピック",
"topics.pinned": "トピックを固定", "topics.pinned": "トピックを固定",
"topics.prompt": "トピック提示語", "topics.prompt": "トピック提示語",
"topics.prompt.edit.title": "トピック提示語を編集する", "topics.prompt.edit.title": "トピック提示語を編集する",
"topics.prompt.tips": "トピック提示語:現在のトピックに対して追加の補足提示語を提供", "topics.prompt.tips": "トピック提示語:現在のトピックに対して追加の補足提示語を提供",
"topics.title": "トピック", "topics.title": "トピック",
"topics.unpinned": "固定解除", "topics.unpinned": "固定解除",
"topics.new": "新しいトピック", "translate": "翻訳"
"translate": "翻訳",
"navigation": {
"prev": "前のメッセージ",
"next": "次のメッセージ",
"first": "最初のメッセージです",
"last": "最後のメッセージです"
}
}, },
"code_block": { "code_block": {
"collapse": "折りたたむ", "collapse": "折りたたむ",
@ -208,6 +208,7 @@
}, },
"common": { "common": {
"add": "追加", "add": "追加",
"advanced_settings": "詳細設定",
"and": "と", "and": "と",
"assistant": "アシスタント", "assistant": "アシスタント",
"avatar": "アバター", "avatar": "アバター",
@ -216,6 +217,8 @@
"chat": "チャット", "chat": "チャット",
"clear": "クリア", "clear": "クリア",
"close": "閉じる", "close": "閉じる",
"confirm": "確認",
"copied": "コピーされました",
"copy": "コピー", "copy": "コピー",
"cut": "切り取り", "cut": "切り取り",
"default": "デフォルト", "default": "デフォルト",
@ -225,6 +228,7 @@
"download": "ダウンロード", "download": "ダウンロード",
"duplicate": "複製", "duplicate": "複製",
"edit": "編集", "edit": "編集",
"expand": "展開",
"footnote": "引用内容", "footnote": "引用内容",
"footnotes": "脚注", "footnotes": "脚注",
"fullscreen": "全画面モードに入りました。F11キーで終了します", "fullscreen": "全画面モードに入りました。F11キーで終了します",
@ -232,6 +236,7 @@
"language": "言語", "language": "言語",
"model": "モデル", "model": "モデル",
"models": "モデル", "models": "モデル",
"more": "もっと",
"name": "名前", "name": "名前",
"paste": "貼り付け", "paste": "貼り付け",
"prompt": "プロンプト", "prompt": "プロンプト",
@ -244,12 +249,7 @@
"select": "選択", "select": "選択",
"topics": "トピック", "topics": "トピック",
"warning": "警告", "warning": "警告",
"you": "あなた", "you": "あなた"
"copied": "コピーされました",
"confirm": "確認",
"more": "もっと",
"advanced_settings": "詳細設定",
"expand": "展開"
}, },
"docs": { "docs": {
"title": "ドキュメント" "title": "ドキュメント"
@ -307,6 +307,12 @@
"title": "ファイル", "title": "ファイル",
"type": "タイプ" "type": "タイプ"
}, },
"gpustack": {
"keep_alive_time.description": "モデルがメモリに保持される時間デフォルト5分",
"keep_alive_time.placeholder": "分",
"keep_alive_time.title": "保持時間",
"title": "GPUStack"
},
"history": { "history": {
"continue_chat": "チャットを続ける", "continue_chat": "チャットを続ける",
"locate.message": "メッセージを探す", "locate.message": "メッセージを探す",
@ -376,13 +382,13 @@
"threshold_too_large_or_small": "しきい値は0より大きく1より小さい必要があります", "threshold_too_large_or_small": "しきい値は0より大きく1より小さい必要があります",
"threshold_tooltip": "ユーザーの質問と知識ベースの内容の関連性を評価するためのしきい値0-1", "threshold_tooltip": "ユーザーの質問と知識ベースの内容の関連性を評価するためのしきい値0-1",
"title": "ナレッジベース", "title": "ナレッジベース",
"topN": "返却される結果の数",
"topN__too_large_or_small": "結果の数は100より大きくてはならず、1より小さくてはなりません。",
"topN_placeholder": "未設定",
"topN_tooltip": "返されるマッチ結果の数は、数値が大きいほどマッチ結果が多くなりますが、消費されるトークンも増えます。",
"url_added": "URLが追加されました", "url_added": "URLが追加されました",
"url_placeholder": "URLを入力, 複数のURLはEnterで区切る", "url_placeholder": "URLを入力, 複数のURLはEnterで区切る",
"urls": "URL", "urls": "URL"
"topN": "返却される結果の数",
"topN_placeholder": "未設定",
"topN__too_large_or_small": "結果の数は100より大きくてはならず、1より小さくてはなりません。",
"topN_tooltip": "返されるマッチ結果の数は、数値が大きいほどマッチ結果が多くなりますが、消費されるトークンも増えます。"
}, },
"languages": { "languages": {
"arabic": "アラビア語", "arabic": "アラビア語",
@ -420,22 +426,22 @@
"title": "Mermaid図" "title": "Mermaid図"
}, },
"message": { "message": {
"attachments": {
"pasted_text": "クリップボードファイル",
"pasted_image": "クリップボード画像"
},
"api.check.model.title": "検出に使用するモデルを選択してください", "api.check.model.title": "検出に使用するモデルを選択してください",
"api.connection.failed": "接続に失敗しました", "api.connection.failed": "接続に失敗しました",
"api.connection.success": "接続に成功しました", "api.connection.success": "接続に成功しました",
"assistant.added.content": "アシスタントが追加されました", "assistant.added.content": "アシスタントが追加されました",
"attachments": {
"pasted_image": "クリップボード画像",
"pasted_text": "クリップボードファイル"
},
"backup.failed": "バックアップに失敗しました", "backup.failed": "バックアップに失敗しました",
"backup.start.success": "バックアップを開始しました", "backup.start.success": "バックアップを開始しました",
"backup.success": "バックアップに成功しました", "backup.success": "バックアップに成功しました",
"chat.completion.paused": "チャットの完了が一時停止されました", "chat.completion.paused": "チャットの完了が一時停止されました",
"citations": "参考文献", "citations": "参考文献",
"copied": "コピーしました!", "copied": "コピーしました!",
"copy.success": "コピーしました!",
"copy.failed": "コピーに失敗しました", "copy.failed": "コピーに失敗しました",
"copy.success": "コピーしました!",
"error.chunk_overlap_too_large": "チャンクの重なりは、チャンクサイズを超えることはできません", "error.chunk_overlap_too_large": "チャンクの重なりは、チャンクサイズを超えることはできません",
"error.dimension_too_large": "内容のサイズが大きすぎます", "error.dimension_too_large": "内容のサイズが大きすぎます",
"error.enter.api.host": "APIホストを入力してください", "error.enter.api.host": "APIホストを入力してください",
@ -448,20 +454,20 @@
"error.invalid.enter.model": "モデルを選択してください", "error.invalid.enter.model": "モデルを選択してください",
"error.invalid.proxy.url": "無効なプロキシURL", "error.invalid.proxy.url": "無効なプロキシURL",
"error.invalid.webdav": "無効なWebDAV設定", "error.invalid.webdav": "無効なWebDAV設定",
"error.joplin.export": "Joplin へのエクスポートに失敗しました。Joplin が実行中であることを確認してください",
"error.joplin.no_config": "Joplin 認証トークン または URL が設定されていません",
"error.markdown.export.preconf": "Markdown ファイルを事前設定されたパスにエクスポートできませんでした", "error.markdown.export.preconf": "Markdown ファイルを事前設定されたパスにエクスポートできませんでした",
"error.markdown.export.specified": "Markdown ファイルのエクスポートに失敗しました", "error.markdown.export.specified": "Markdown ファイルのエクスポートに失敗しました",
"error.notion.export": "Notionへのエクスポートに失敗しました。接続状態と設定を確認してください", "error.notion.export": "Notionへのエクスポートに失敗しました。接続状態と設定を確認してください",
"error.notion.no_api_key": "Notion ApiKey または Notion DatabaseID が設定されていません", "error.notion.no_api_key": "Notion ApiKey または Notion DatabaseID が設定されていません",
"error.yuque.export": "語雀へのエクスポートに失敗しました。接続状態と設定を確認してください", "error.yuque.export": "語雀へのエクスポートに失敗しました。接続状態と設定を確認してください",
"error.yuque.no_config": "語雀Token または 知識ベースID が設定されていません", "error.yuque.no_config": "語雀Token または 知識ベースID が設定されていません",
"error.joplin.no_config": "Joplin 認証トークン または URL が設定されていません",
"error.joplin.export": "Joplin へのエクスポートに失敗しました。Joplin が実行中であることを確認してください",
"group.delete.content": "分組メッセージを削除するとユーザーの質問と助け手の回答がすべて削除されます", "group.delete.content": "分組メッセージを削除するとユーザーの質問と助け手の回答がすべて削除されます",
"group.delete.title": "分組メッセージを削除", "group.delete.title": "分組メッセージを削除",
"loading.notion.preparing": "Notionへのエクスポートを準備中...",
"loading.notion.exporting_progress": "Notionにエクスポート中 ({{current}}/{{total}})...",
"ignore.knowledge.base": "インターネットモードが有効になっています。ナレッジベースを無視します", "ignore.knowledge.base": "インターネットモードが有効になっています。ナレッジベースを無視します",
"info.notion.block_reach_limit": "会話が長すぎます。Notionにページごとにエクスポートしています", "info.notion.block_reach_limit": "会話が長すぎます。Notionにページごとにエクスポートしています",
"loading.notion.exporting_progress": "Notionにエクスポート中 ({{current}}/{{total}})...",
"loading.notion.preparing": "Notionへのエクスポートを準備中...",
"mention.title": "モデルを切り替える", "mention.title": "モデルを切り替える",
"message.code_style": "コードスタイル", "message.code_style": "コードスタイル",
"message.delete.content": "このメッセージを削除してもよろしいですか?", "message.delete.content": "このメッセージを削除してもよろしいですか?",
@ -484,22 +490,22 @@
"restore.success": "復元に成功しました", "restore.success": "復元に成功しました",
"save.success.title": "保存に成功しました", "save.success.title": "保存に成功しました",
"searching": "インターネットで検索中...", "searching": "インターネットで検索中...",
"success.joplin.export": "Joplin へのエクスポートに成功しました",
"success.markdown.export.preconf": "Markdown ファイルを事前設定されたパスに正常にエクスポートしました", "success.markdown.export.preconf": "Markdown ファイルを事前設定されたパスに正常にエクスポートしました",
"success.markdown.export.specified": "Markdown ファイルを正常にエクスポートしました", "success.markdown.export.specified": "Markdown ファイルを正常にエクスポートしました",
"success.notion.export": "Notionへのエクスポートに成功しました", "success.notion.export": "Notionへのエクスポートに成功しました",
"success.yuque.export": "語雀へのエクスポートに成功しました", "success.yuque.export": "語雀へのエクスポートに成功しました",
"success.joplin.export": "Joplin へのエクスポートに成功しました",
"switch.disabled": "現在の応答が完了するまで切り替えを無効にします", "switch.disabled": "現在の応答が完了するまで切り替えを無効にします",
"tools": {
"completed": "完了",
"invoking": "呼び出し中"
},
"topic.added": "新しいトピックが追加されました", "topic.added": "新しいトピックが追加されました",
"upgrade.success.button": "再起動", "upgrade.success.button": "再起動",
"upgrade.success.content": "アップグレードを完了するためにアプリケーションを再起動してください", "upgrade.success.content": "アップグレードを完了するためにアプリケーションを再起動してください",
"upgrade.success.title": "アップグレードに成功しました", "upgrade.success.title": "アップグレードに成功しました",
"warn.notion.exporting": "Notionにエクスポート中です。重複してエクスポートしないでください! ", "warn.notion.exporting": "Notionにエクスポート中です。重複してエクスポートしないでください! ",
"warning.rate.limit": "送信が頻繁すぎます。{{seconds}} 秒待ってから再試行してください。", "warning.rate.limit": "送信が頻繁すぎます。{{seconds}} 秒待ってから再試行してください。"
"tools": {
"invoking": "呼び出し中",
"completed": "完了"
}
}, },
"minapp": { "minapp": {
"sidebar.add.title": "サイドバーに追加", "sidebar.add.title": "サイドバーに追加",
@ -538,7 +544,7 @@
"embedding": "埋め込み", "embedding": "埋め込み",
"embedding_model": "埋め込み模型", "embedding_model": "埋め込み模型",
"embedding_model_tooltip": "設定->モデルサービス->管理で追加", "embedding_model_tooltip": "設定->モデルサービス->管理で追加",
"free": "無料", "function_calling": "関数呼び出し",
"no_matches": "利用可能なモデルがありません", "no_matches": "利用可能なモデルがありません",
"parameter_name": "パラメータ名", "parameter_name": "パラメータ名",
"parameter_type": { "parameter_type": {
@ -548,23 +554,22 @@
"string": "テキスト" "string": "テキスト"
}, },
"pinned": "固定済み", "pinned": "固定済み",
"reasoning": "推論", "rerank_model": "再順序付けモデル",
"rerank_model_support_provider": "現在の再順序付けモデルは、{{provider}} のみサポートしています",
"rerank_model_tooltip": "設定->モデルサービスに移動し、管理ボタンをクリックして追加します。",
"search": "モデルを検索...", "search": "モデルを検索...",
"stream_output": "ストリーム出力", "stream_output": "ストリーム出力",
"function_calling": "関数呼び出し",
"type": { "type": {
"embedding": "埋め込み", "embedding": "埋め込み",
"free": "無料",
"function_calling": "ツール",
"reasoning": "推論", "reasoning": "推論",
"rerank": "再順序付け",
"select": "モデルタイプを選択", "select": "モデルタイプを選択",
"text": "テキスト", "text": "テキスト",
"vision": "画像", "vision": "画像",
"function_calling": "関数呼び出し" "websearch": "ウェブ検索"
}, }
"vision": "画像",
"websearch": "ウェブ検索",
"rerank_model": "再順序付けモデル",
"rerank_model_tooltip": "設定->モデルサービスに移動し、管理ボタンをクリックして追加します。",
"rerank_model_support_provider": "現在の再順序付けモデルは、{{provider}} のみサポートしています"
}, },
"navbar": { "navbar": {
"expand": "ダイアログを展開", "expand": "ダイアログを展開",
@ -610,12 +615,6 @@
}, },
"title": "PlantUML 図表" "title": "PlantUML 図表"
}, },
"gpustack": {
"keep_alive_time.description": "モデルがメモリに保持される時間デフォルト5分",
"keep_alive_time.placeholder": "分",
"keep_alive_time.title": "保持時間",
"title": "GPUStack"
},
"prompts": { "prompts": {
"explanation": "この概念を説明してください", "explanation": "この概念を説明してください",
"summarize": "このテキストを要約してください", "summarize": "このテキストを要約してください",
@ -623,10 +622,12 @@
}, },
"provider": { "provider": {
"aihubmix": "AiHubMix", "aihubmix": "AiHubMix",
"alayanew": "Alaya NeW",
"anthropic": "Anthropic", "anthropic": "Anthropic",
"azure-openai": "Azure OpenAI", "azure-openai": "Azure OpenAI",
"baichuan": "百川", "baichuan": "百川",
"baidu-cloud": "Baidu Cloud", "baidu-cloud": "Baidu Cloud",
"copilot": "GitHub Copilot",
"dashscope": "Alibaba Cloud", "dashscope": "Alibaba Cloud",
"deepseek": "DeepSeek", "deepseek": "DeepSeek",
"dmxapi": "DMXAPI", "dmxapi": "DMXAPI",
@ -635,6 +636,7 @@
"gemini": "Gemini", "gemini": "Gemini",
"gitee-ai": "Gitee AI", "gitee-ai": "Gitee AI",
"github": "GitHub Models", "github": "GitHub Models",
"gpustack": "GPUStack",
"graphrag-kylin-mountain": "GraphRAG", "graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok", "grok": "Grok",
"groq": "Groq", "groq": "Groq",
@ -663,10 +665,7 @@
"xirang": "天翼クラウド 息壤", "xirang": "天翼クラウド 息壤",
"yi": "零一万物", "yi": "零一万物",
"zhinao": "360智脳", "zhinao": "360智脳",
"zhipu": "智譜AI", "zhipu": "智譜AI"
"copilot": "GitHub Copilot",
"gpustack": "GPUStack",
"alayanew": "Alaya NeW"
}, },
"restore": { "restore": {
"confirm": "データを復元しますか?", "confirm": "データを復元しますか?",
@ -728,15 +727,30 @@
"data.title": "データディレクトリ", "data.title": "データディレクトリ",
"hour_interval_one": "{{count}} 時間", "hour_interval_one": "{{count}} 時間",
"hour_interval_other": "{{count}} 時間", "hour_interval_other": "{{count}} 時間",
"minute_interval_one": "{{count}} 分", "joplin": {
"minute_interval_other": "{{count}} 分", "check": {
"markdown_export.title": "Markdown エクスポート", "button": "確認",
"empty_token": "Joplin 認証トークン を先に入力してください",
"empty_url": "Joplin 剪輯服務 URL を先に入力してください",
"fail": "Joplin 接続確認に失敗しました",
"success": "Joplin 接続確認に成功しました"
},
"help": "Joplin オプションで、剪輯サービスを有効にしてください。ポート番号を確認し、認証トークンをコピーしてください",
"title": "Joplin 設定",
"token": "Joplin 認証トークン",
"token_placeholder": "Joplin 認証トークンを入力してください",
"url": "Joplin 剪輯服務 URL",
"url_placeholder": "http://127.0.0.1:41184/"
},
"markdown_export.force_dollar_math.help": "有効にすると、Markdownにエクスポートする際にLaTeX数式を$$で強制的にマークします。注意この設定はNotion、Yuqueなど、Markdownを通じたすべてのエクスポート方法にも影響します。",
"markdown_export.force_dollar_math.title": "LaTeX数式に$$を強制使用",
"markdown_export.help": "入力された場合、エクスポート時に自動的にこのパスに保存されます。未入力の場合、保存ダイアログが表示されます。",
"markdown_export.path": "デフォルトのエクスポートパス", "markdown_export.path": "デフォルトのエクスポートパス",
"markdown_export.path_placeholder": "エクスポートパス", "markdown_export.path_placeholder": "エクスポートパス",
"markdown_export.select": "選択", "markdown_export.select": "選択",
"markdown_export.help": "入力された場合、エクスポート時に自動的にこのパスに保存されます。未入力の場合、保存ダイアログが表示されます。", "markdown_export.title": "Markdown エクスポート",
"markdown_export.force_dollar_math.title": "LaTeX数式に$$を強制使用", "minute_interval_one": "{{count}} 分",
"markdown_export.force_dollar_math.help": "有効にすると、Markdownにエクスポートする際にLaTeX数式を$$で強制的にマークします。注意この設定はNotion、Yuqueなど、Markdownを通じたすべてのエクスポート方法にも影響します。", "minute_interval_other": "{{count}} 分",
"notion.api_key": "Notion APIキー", "notion.api_key": "Notion APIキー",
"notion.api_key_placeholder": "Notion APIキーを入力してください", "notion.api_key_placeholder": "Notion APIキーを入力してください",
"notion.auto_split": "ダイアログをエクスポートすると自動ページ分割", "notion.auto_split": "ダイアログをエクスポートすると自動ページ分割",
@ -758,11 +772,22 @@
"notion.split_size_help": "Notion無料版ユーザーは90、有料版ユーザーは24990、デフォルトは90", "notion.split_size_help": "Notion無料版ユーザーは90、有料版ユーザーは24990、デフォルトは90",
"notion.split_size_placeholder": "ページごとのブロック数制限を入力してください(デフォルト90)", "notion.split_size_placeholder": "ページごとのブロック数制限を入力してください(デフォルト90)",
"notion.title": "Notion 設定", "notion.title": "Notion 設定",
"obsidian": {
"folder": "フォルダー",
"folder_placeholder": "フォルダーの名前を入力してください",
"tags": "グローバルタグ",
"tags_placeholder": "タグの名前を入力してください。複数のタグは英語のコンマで区切ってください,Obsidian では、純粋な数字を使用することはできません。",
"title": "Obsidian の設定",
"vault": "ヴォールト(保管庫)",
"vault_placeholder": "保管庫の名前を入力してください"
},
"title": "データ設定", "title": "データ設定",
"webdav": { "webdav": {
"autoSync": "自動バックアップ", "autoSync": "自動バックアップ",
"autoSync.off": "オフ", "autoSync.off": "オフ",
"backup.button": "WebDAVにバックアップ", "backup.button": "WebDAVにバックアップ",
"backup.modal.filename.placeholder": "バックアップファイル名を入力してください",
"backup.modal.title": "WebDAV にバックアップ",
"host": "WebDAVホスト", "host": "WebDAVホスト",
"host.placeholder": "http://localhost:8080", "host.placeholder": "http://localhost:8080",
"hour_interval_one": "{{count}} 時間", "hour_interval_one": "{{count}} 時間",
@ -775,18 +800,16 @@
"path": "WebDAVパス", "path": "WebDAVパス",
"path.placeholder": "/backup", "path.placeholder": "/backup",
"restore.button": "WebDAVから復元", "restore.button": "WebDAVから復元",
"restore.confirm.content": "WebDAV から復元すると現在のデータが上書きされます。続行しますか?",
"restore.confirm.title": "復元を確認",
"restore.content": "WebDAVから復元すると現在のデータが上書きされます。続行しますか", "restore.content": "WebDAVから復元すると現在のデータが上書きされます。続行しますか",
"restore.modal.select.placeholder": "復元するバックアップファイルを選択してください",
"restore.modal.title": "WebDAV から復元",
"restore.title": "WebDAVから復元", "restore.title": "WebDAVから復元",
"syncError": "バックアップエラー", "syncError": "バックアップエラー",
"syncStatus": "バックアップ状態", "syncStatus": "バックアップ状態",
"title": "WebDAV", "title": "WebDAV",
"user": "WebDAVユーザー", "user": "WebDAVユーザー"
"backup.modal.title": "WebDAV にバックアップ",
"backup.modal.filename.placeholder": "バックアップファイル名を入力してください",
"restore.modal.title": "WebDAV から復元",
"restore.modal.select.placeholder": "復元するバックアップファイルを選択してください",
"restore.confirm.title": "復元を確認",
"restore.confirm.content": "WebDAV から復元すると現在のデータが上書きされます。続行しますか?"
}, },
"yuque": { "yuque": {
"check": { "check": {
@ -802,30 +825,6 @@
"title": "Yuque設定", "title": "Yuque設定",
"token": "Yuqueトークン", "token": "Yuqueトークン",
"token_placeholder": "Yuqueトークンを入力してください" "token_placeholder": "Yuqueトークンを入力してください"
},
"obsidian": {
"title": "Obsidian の設定",
"vault": "ヴォールト(保管庫)",
"vault_placeholder": "保管庫の名前を入力してください",
"folder": "フォルダー",
"folder_placeholder": "フォルダーの名前を入力してください",
"tags": "グローバルタグ",
"tags_placeholder": "タグの名前を入力してください。複数のタグは英語のコンマで区切ってください,Obsidian では、純粋な数字を使用することはできません。"
},
"joplin": {
"check": {
"button": "確認",
"empty_url": "Joplin 剪輯服務 URL を先に入力してください",
"empty_token": "Joplin 認証トークン を先に入力してください",
"fail": "Joplin 接続確認に失敗しました",
"success": "Joplin 接続確認に成功しました"
},
"title": "Joplin 設定",
"help": "Joplin オプションで、剪輯サービスを有効にしてください。ポート番号を確認し、認証トークンをコピーしてください",
"url": "Joplin 剪輯服務 URL",
"url_placeholder": "http://127.0.0.1:41184/",
"token": "Joplin 認証トークン",
"token_placeholder": "Joplin 認証トークンを入力してください"
} }
}, },
"display.assistant.title": "アシスタント設定", "display.assistant.title": "アシスタント設定",
@ -871,12 +870,15 @@
"input.target_language.english": "英語", "input.target_language.english": "英語",
"input.target_language.japanese": "日本語", "input.target_language.japanese": "日本語",
"input.target_language.russian": "ロシア語", "input.target_language.russian": "ロシア語",
"launch.onboot": "起動時に自動で開始",
"launch.title": "起動",
"launch.totray": "起動時にトレイに最小化",
"mcp": { "mcp": {
"actions": "操作", "actions": "操作",
"active": "有効", "active": "有効",
"addError": "サーバーの追加に失敗しました",
"addServer": "サーバーを追加", "addServer": "サーバーを追加",
"addSuccess": "サーバーが正常に追加されました", "addSuccess": "サーバーが正常に追加されました",
"addError": "サーバーの追加に失敗しました",
"args": "引数", "args": "引数",
"argsTooltip": "1行に1つの引数を入力してください", "argsTooltip": "1行に1つの引数を入力してください",
"baseUrlTooltip": "リモートURLアドレス", "baseUrlTooltip": "リモートURLアドレス",
@ -887,55 +889,51 @@
"confirmDeleteMessage": "本当にこのサーバーを削除しますか?", "confirmDeleteMessage": "本当にこのサーバーを削除しますか?",
"deleteError": "サーバーの削除に失敗しました", "deleteError": "サーバーの削除に失敗しました",
"deleteSuccess": "サーバーが正常に削除されました", "deleteSuccess": "サーバーが正常に削除されました",
"dependenciesInstall": "依存関係をインストール",
"dependenciesInstalling": "依存関係をインストール中...",
"description": "説明", "description": "説明",
"duplicateName": "同じ名前のサーバーが既に存在します", "duplicateName": "同じ名前のサーバーが既に存在します",
"editJson": "JSONを編集",
"editServer": "サーバーを編集", "editServer": "サーバーを編集",
"env": "環境変数", "env": "環境変数",
"envTooltip": "形式: KEY=value, 1行に1つ", "envTooltip": "形式: KEY=value, 1行に1つ",
"findMore": "MCP サーバーを見つける", "findMore": "MCP サーバーを見つける",
"install": "インストール",
"installError": "依存関係のインストールに失敗しました",
"installSuccess": "依存関係のインストールに成功しました",
"jsonFormatError": "JSONフォーマットエラー",
"jsonModeHint": "MCPサーバー設定のJSON表現を編集します。保存する前に、フォーマットが正しいことを確認してください。",
"jsonSaveError": "JSON設定の保存に失敗しました",
"jsonSaveSuccess": "JSON設定が保存されました。",
"missingDependencies": "が不足しています。続行するにはインストールしてください。",
"name": "名前", "name": "名前",
"nameRequired": "サーバー名を入力してください", "nameRequired": "サーバー名を入力してください",
"noServers": "サーバーが設定されていません", "noServers": "サーバーが設定されていません",
"npx_list": {
"actions": "アクション",
"desc": "npm パッケージを検索して MCP サーバーとして追加",
"description": "説明",
"no_packages": "パッケージが見つかりません",
"npm": "NPM",
"package_name": "パッケージ名",
"scope_placeholder": "npm スコープを入力 (例: @your-org)",
"scope_required": "npm スコープを入力してください",
"search": "検索",
"search_error": "パッケージの検索に失敗しました",
"title": "NPX パッケージリスト",
"usage": "使用法",
"version": "バージョン"
},
"serverPlural": "サーバー", "serverPlural": "サーバー",
"serverSingular": "サーバー", "serverSingular": "サーバー",
"title": "MCP サーバー", "title": "MCP サーバー",
"type": "タイプ",
"updateSuccess": "サーバーが正常に更新されました",
"updateError": "サーバーの更新に失敗しました",
"url": "URL",
"toggleError": "切り替えに失敗しました", "toggleError": "切り替えに失敗しました",
"dependenciesInstalling": "依存関係をインストール中...", "type": "タイプ",
"dependenciesInstall": "依存関係をインストール", "updateError": "サーバーの更新に失敗しました",
"installSuccess": "依存関係のインストールに成功しました", "updateSuccess": "サーバーが正常に更新されました",
"installError": "依存関係のインストールに失敗しました", "url": "URL"
"missingDependencies": "が不足しています。続行するにはインストールしてください。",
"install": "インストール",
"npx_list": {
"title": "NPX パッケージリスト",
"desc": "npm パッケージを検索して MCP サーバーとして追加",
"scope_placeholder": "npm スコープを入力 (例: @your-org)",
"search": "検索",
"package_name": "パッケージ名",
"description": "説明",
"usage": "使用法",
"npm": "NPM",
"version": "バージョン",
"actions": "アクション",
"scope_required": "npm スコープを入力してください",
"no_packages": "パッケージが見つかりません",
"search_error": "パッケージの検索に失敗しました"
},
"editJson": "JSONを編集",
"jsonModeHint": "MCPサーバー設定のJSON表現を編集します。保存する前に、フォーマットが正しいことを確認してください。",
"jsonFormatError": "JSONフォーマットエラー",
"jsonSaveSuccess": "JSON設定が保存されました。",
"jsonSaveError": "JSON設定の保存に失敗しました"
}, },
"messages.divider": "メッセージ間に区切り線を表示", "messages.divider": "メッセージ間に区切り線を表示",
"messages.navigation": "メッセージナビゲーション",
"messages.navigation.none": "表示しない",
"messages.navigation.buttons": "上下ボタン",
"messages.navigation.anchor": "会話アンカー",
"messages.grid_columns": "メッセージグリッドの表示列数", "messages.grid_columns": "メッセージグリッドの表示列数",
"messages.grid_popover_trigger": "グリッド詳細トリガー", "messages.grid_popover_trigger": "グリッド詳細トリガー",
"messages.grid_popover_trigger.click": "クリックで表示", "messages.grid_popover_trigger.click": "クリックで表示",
@ -949,6 +947,10 @@
"messages.math_engine": "数式エンジン", "messages.math_engine": "数式エンジン",
"messages.metrics": "最初のトークンまでの時間 {{time_first_token_millsec}}ms | トークン速度 {{token_speed}} tok/sec", "messages.metrics": "最初のトークンまでの時間 {{time_first_token_millsec}}ms | トークン速度 {{token_speed}} tok/sec",
"messages.model.title": "モデル設定", "messages.model.title": "モデル設定",
"messages.navigation": "メッセージナビゲーション",
"messages.navigation.anchor": "会話アンカー",
"messages.navigation.buttons": "上下ボタン",
"messages.navigation.none": "表示しない",
"messages.title": "メッセージ設定", "messages.title": "メッセージ設定",
"messages.use_serif_font": "セリフフォントを使用", "messages.use_serif_font": "セリフフォントを使用",
"model": "デフォルトモデル", "model": "デフォルトモデル",
@ -1011,43 +1013,43 @@
"check": "チェック", "check": "チェック",
"check_all_keys": "すべてのキーをチェック", "check_all_keys": "すべてのキーをチェック",
"check_multiple_keys": "複数のAPIキーをチェック", "check_multiple_keys": "複数のAPIキーをチェック",
"copilot": {
"auth_failed": "Github Copilotの認証に失敗しました。",
"auth_success": "Github Copilotの認証が成功しました",
"auth_success_title": "認証成功",
"code_failed": "デバイスコードの取得に失敗しました。再試行してください。",
"code_generated_desc": "デバイスコードを下記のブラウザリンクにコピーしてください。",
"code_generated_title": "デバイスコードを取得する",
"confirm_login": "過度使用すると、あなたのGithubアカウントが停止される可能性があるため、慎重に使用してください!!!!",
"confirm_title": "リスク警告",
"connect": "GitHubに接続する",
"custom_headers": "カスタムリクエストヘッダー",
"description": "あなたのGithubアカウントはCopilotを購読する必要があります。",
"expand": "展開",
"headers_description": "カスタムリクエストヘッダーJSONフォーマット",
"invalid_json": "JSONフォーマットエラー",
"login": "GitHubにログインする",
"logout": "GitHubから退出する",
"logout_failed": "ログアウトに失敗しました。もう一度お試しください。",
"logout_success": "正常にログアウトしました。",
"model_setting": "モデル設定",
"open_verification_first": "上のリンクをクリックして、確認ページにアクセスしてください。",
"rate_limit": "レート制限",
"tooltip": "Github Copilot を使用するには、まず Github にログインする必要があります。"
},
"delete.content": "このプロバイダーを削除してもよろしいですか?", "delete.content": "このプロバイダーを削除してもよろしいですか?",
"delete.title": "プロバイダーを削除", "delete.title": "プロバイダーを削除",
"docs_check": "チェック", "docs_check": "チェック",
"docs_more_details": "詳細を確認", "docs_more_details": "詳細を確認",
"get_api_key": "APIキーを取得", "get_api_key": "APIキーを取得",
"is_not_support_array_content": "互換モードを有効にする",
"no_models": "API接続をチェックする前に、モデルを追加してください", "no_models": "API接続をチェックする前に、モデルを追加してください",
"not_checked": "未チェック", "not_checked": "未チェック",
"remove_duplicate_keys": "重複キーを削除", "remove_duplicate_keys": "重複キーを削除",
"remove_invalid_keys": "無効なキーを削除", "remove_invalid_keys": "無効なキーを削除",
"search": "プロバイダーを検索...", "search": "プロバイダーを検索...",
"search_placeholder": "モデルIDまたは名前を検索", "search_placeholder": "モデルIDまたは名前を検索",
"title": "モデルプロバイダー", "title": "モデルプロバイダー"
"is_not_support_array_content": "互換モードを有効にする",
"copilot": {
"tooltip": "Github Copilot を使用するには、まず Github にログインする必要があります。",
"description": "あなたのGithubアカウントはCopilotを購読する必要があります。",
"login": "GitHubにログインする",
"connect": "GitHubに接続する",
"logout": "GitHubから退出する",
"auth_success_title": "認証成功",
"code_generated_title": "デバイスコードを取得する",
"code_generated_desc": "デバイスコードを下記のブラウザリンクにコピーしてください。",
"code_failed": "デバイスコードの取得に失敗しました。再試行してください。",
"auth_success": "Github Copilotの認証が成功しました",
"auth_failed": "Github Copilotの認証に失敗しました。",
"logout_success": "正常にログアウトしました。",
"logout_failed": "ログアウトに失敗しました。もう一度お試しください。",
"confirm_title": "リスク警告",
"confirm_login": "過度使用すると、あなたのGithubアカウントが停止される可能性があるため、慎重に使用してください!!!!",
"rate_limit": "レート制限",
"custom_headers": "カスタムリクエストヘッダー",
"headers_description": "カスタムリクエストヘッダーJSONフォーマット",
"expand": "展開",
"model_setting": "モデル設定",
"invalid_json": "JSONフォーマットエラー",
"open_verification_first": "上のリンクをクリックして、確認ページにアクセスしてください。"
}
}, },
"proxy": { "proxy": {
"mode": { "mode": {
@ -1062,9 +1064,9 @@
"quickAssistant": { "quickAssistant": {
"click_tray_to_show": "トレイアイコンをクリックして起動", "click_tray_to_show": "トレイアイコンをクリックして起動",
"enable_quick_assistant": "クイックアシスタントを有効にする", "enable_quick_assistant": "クイックアシスタントを有効にする",
"read_clipboard_at_startup": "起動時にクリップボードを読み取る",
"title": "クイックアシスタント", "title": "クイックアシスタント",
"use_shortcut_to_show": "トレイアイコンを右クリックするか、ショートカットキーで起動できます", "use_shortcut_to_show": "トレイアイコンを右クリックするか、ショートカットキーで起動できます"
"read_clipboard_at_startup": "起動時にクリップボードを読み取る"
}, },
"shortcuts": { "shortcuts": {
"action": "操作", "action": "操作",
@ -1101,19 +1103,18 @@
"topic.position.left": "左", "topic.position.left": "左",
"topic.position.right": "右", "topic.position.right": "右",
"topic.show.time": "トピックの時間を表示", "topic.show.time": "トピックの時間を表示",
"tray.title": "トレイ",
"tray.show": "トレイアイコンを表示",
"tray.onclose": "閉じるときにトレイに最小化", "tray.onclose": "閉じるときにトレイに最小化",
"launch.title": "起動", "tray.show": "トレイアイコンを表示",
"launch.onboot": "起動時に自動で開始", "tray.title": "トレイ",
"launch.totray": "起動時にトレイに最小化",
"websearch": { "websearch": {
"blacklist": "ブラックリスト", "blacklist": "ブラックリスト",
"blacklist_description": "以下のウェブサイトの結果は検索結果に表示されません", "blacklist_description": "以下のウェブサイトの結果は検索結果に表示されません",
"blacklist_tooltip": "以下の形式を使用してください(改行区切り)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com", "blacklist_tooltip": "以下の形式を使用してください(改行区切り)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com",
"check": "チェック", "check": "チェック",
"check_success": "検証に成功しました",
"check_failed": "検証に失敗しました", "check_failed": "検証に失敗しました",
"check_success": "検証に成功しました",
"enhance_mode": "検索強化モード",
"enhance_mode_tooltip": "デフォルトモデルを使用して問題から検索キーワードを抽出し、検索を実行します",
"get_api_key": "APIキーを取得", "get_api_key": "APIキーを取得",
"no_provider_selected": "検索サービスプロバイダーを選択してから再確認してください。", "no_provider_selected": "検索サービスプロバイダーを選択してから再確認してください。",
"search_max_result": "検索結果の数", "search_max_result": "検索結果の数",
@ -1121,8 +1122,6 @@
"search_provider_placeholder": "検索サービスプロバイダーを選択する", "search_provider_placeholder": "検索サービスプロバイダーを選択する",
"search_result_default": "デフォルト", "search_result_default": "デフォルト",
"search_with_time": "日付を含む検索", "search_with_time": "日付を含む検索",
"enhance_mode": "検索強化モード",
"enhance_mode_tooltip": "デフォルトモデルを使用して問題から検索キーワードを抽出し、検索を実行します",
"tavily": { "tavily": {
"api_key": "Tavily API キー", "api_key": "Tavily API キー",
"api_key.placeholder": "Tavily API キーを入力してください", "api_key.placeholder": "Tavily API キーを入力してください",

View File

@ -126,6 +126,12 @@
"message.quote": "Цитата", "message.quote": "Цитата",
"message.regenerate.model": "Переключить модель", "message.regenerate.model": "Переключить модель",
"message.useful": "Полезно", "message.useful": "Полезно",
"navigation": {
"first": "Уже первое сообщение",
"last": "Уже последнее сообщение",
"next": "Следующее сообщение",
"prev": "Предыдущее сообщение"
},
"resend": "Переотправить", "resend": "Переотправить",
"save": "Сохранить", "save": "Сохранить",
"settings.code_collapsible": "Блок кода свернут", "settings.code_collapsible": "Блок кода свернут",
@ -157,48 +163,42 @@
"topics.edit.placeholder": "Введите новый заголовок", "topics.edit.placeholder": "Введите новый заголовок",
"topics.edit.title": "Редактировать заголовок", "topics.edit.title": "Редактировать заголовок",
"topics.export.image": "Экспорт как изображение", "topics.export.image": "Экспорт как изображение",
"topics.export.joplin": "Экспорт в Joplin",
"topics.export.md": "Экспорт как markdown", "topics.export.md": "Экспорт как markdown",
"topics.export.notion": "Экспорт в Notion", "topics.export.notion": "Экспорт в Notion",
"topics.export.title": "Экспорт",
"topics.export.word": "Экспорт как Word",
"topics.export.yuque": "Экспорт в Yuque",
"topics.export.obsidian": "Экспорт в Obsidian", "topics.export.obsidian": "Экспорт в Obsidian",
"topics.export.obsidian_atributes": "Настроить атрибуты заметки",
"topics.export.obsidian_btn": "Подтвердить",
"topics.export.obsidian_created": "Дата создания",
"topics.export.obsidian_created_placeholder": "Пожалуйста, выберите дату создания",
"topics.export.obsidian_export_failed": "Экспорт не удалось",
"topics.export.obsidian_export_success": "Экспорт успешно завершен",
"topics.export.obsidian_not_configured": "Obsidian не настроен", "topics.export.obsidian_not_configured": "Obsidian не настроен",
"topics.export.obsidian_operate": "Метод обработки",
"topics.export.obsidian_operate_append": "Добавить в конец",
"topics.export.obsidian_operate_new_or_overwrite": "Создать новый (перезаписать, если уже существует)",
"topics.export.obsidian_operate_placeholder": "Пожалуйста, выберите метод обработки",
"topics.export.obsidian_operate_prepend": "Добавить в начало",
"topics.export.obsidian_source": "Источник",
"topics.export.obsidian_source_placeholder": "Пожалуйста, введите источник",
"topics.export.obsidian_tags": "Тэги",
"topics.export.obsidian_tags_placeholder": "Пожалуйста, введите имена тегов. Разделяйте несколько тегов запятыми на английском языке. В Obsidian нельзя использовать только цифры.",
"topics.export.obsidian_title": "Заголовок", "topics.export.obsidian_title": "Заголовок",
"topics.export.obsidian_title_placeholder": "Пожалуйста, введите заголовок", "topics.export.obsidian_title_placeholder": "Пожалуйста, введите заголовок",
"topics.export.obsidian_title_required": "Заголовок не может быть пустым", "topics.export.obsidian_title_required": "Заголовок не может быть пустым",
"topics.export.obsidian_tags": "Тэги", "topics.export.title": "Экспорт",
"topics.export.obsidian_tags_placeholder": "Пожалуйста, введите имена тегов. Разделяйте несколько тегов запятыми на английском языке. В Obsidian нельзя использовать только цифры.", "topics.export.word": "Экспорт как Word",
"topics.export.obsidian_created": "Дата создания", "topics.export.yuque": "Экспорт в Yuque",
"topics.export.obsidian_created_placeholder": "Пожалуйста, выберите дату создания",
"topics.export.obsidian_source": "Источник",
"topics.export.obsidian_source_placeholder": "Пожалуйста, введите источник",
"topics.export.obsidian_operate": "Метод обработки",
"topics.export.obsidian_operate_placeholder": "Пожалуйста, выберите метод обработки",
"topics.export.obsidian_operate_append": "Добавить в конец",
"topics.export.obsidian_operate_prepend": "Добавить в начало",
"topics.export.obsidian_operate_new_or_overwrite": "Создать новый (перезаписать, если уже существует)",
"topics.export.obsidian_atributes": "Настроить атрибуты заметки",
"topics.export.obsidian_btn": "Подтвердить",
"topics.export.obsidian_export_success": "Экспорт успешно завершен",
"topics.export.obsidian_export_failed": "Экспорт не удалось",
"topics.export.joplin": "Экспорт в Joplin",
"topics.list": "Список топиков", "topics.list": "Список топиков",
"topics.move_to": "Переместить в", "topics.move_to": "Переместить в",
"topics.new": "Новый топик",
"topics.pinned": "Закрепленные темы", "topics.pinned": "Закрепленные темы",
"topics.prompt": "Тематические подсказки", "topics.prompt": "Тематические подсказки",
"topics.prompt.edit.title": "Редактировать подсказки темы", "topics.prompt.edit.title": "Редактировать подсказки темы",
"topics.prompt.tips": "Тематические подсказки: Дополнительные подсказки, предоставленные для текущей темы", "topics.prompt.tips": "Тематические подсказки: Дополнительные подсказки, предоставленные для текущей темы",
"topics.title": "Топики", "topics.title": "Топики",
"topics.unpinned": "Открепленные темы", "topics.unpinned": "Открепленные темы",
"topics.new": "Новый топик", "translate": "Перевести"
"translate": "Перевести",
"navigation": {
"prev": "Предыдущее сообщение",
"next": "Следующее сообщение",
"first": "Уже первое сообщение",
"last": "Уже последнее сообщение"
}
}, },
"code_block": { "code_block": {
"collapse": "Свернуть", "collapse": "Свернуть",
@ -208,6 +208,7 @@
}, },
"common": { "common": {
"add": "Добавить", "add": "Добавить",
"advanced_settings": "Дополнительные настройки",
"and": "и", "and": "и",
"assistant": "Ассистент", "assistant": "Ассистент",
"avatar": "Аватар", "avatar": "Аватар",
@ -216,6 +217,8 @@
"chat": "Чат", "chat": "Чат",
"clear": "Очистить", "clear": "Очистить",
"close": "Закрыть", "close": "Закрыть",
"confirm": "Подтверждение",
"copied": "Скопировано",
"copy": "Копировать", "copy": "Копировать",
"cut": "Вырезать", "cut": "Вырезать",
"default": "По умолчанию", "default": "По умолчанию",
@ -225,6 +228,7 @@
"download": "Скачать", "download": "Скачать",
"duplicate": "Дублировать", "duplicate": "Дублировать",
"edit": "Редактировать", "edit": "Редактировать",
"expand": "Развернуть",
"footnote": "Цитируемый контент", "footnote": "Цитируемый контент",
"footnotes": "Сноски", "footnotes": "Сноски",
"fullscreen": "Вы вошли в полноэкранный режим. Нажмите F11 для выхода", "fullscreen": "Вы вошли в полноэкранный режим. Нажмите F11 для выхода",
@ -232,6 +236,7 @@
"language": "Язык", "language": "Язык",
"model": "Модель", "model": "Модель",
"models": "Модели", "models": "Модели",
"more": "Ещё",
"name": "Имя", "name": "Имя",
"paste": "Вставить", "paste": "Вставить",
"prompt": "Промпт", "prompt": "Промпт",
@ -244,12 +249,7 @@
"select": "Выбрать", "select": "Выбрать",
"topics": "Топики", "topics": "Топики",
"warning": "Предупреждение", "warning": "Предупреждение",
"you": "Вы", "you": "Вы"
"confirm": "Подтверждение",
"copied": "Скопировано",
"more": "Ещё",
"advanced_settings": "Дополнительные настройки",
"expand": "Развернуть"
}, },
"docs": { "docs": {
"title": "Документация" "title": "Документация"
@ -307,6 +307,12 @@
"title": "Файлы", "title": "Файлы",
"type": "Тип" "type": "Тип"
}, },
"gpustack": {
"keep_alive_time.description": "Время в минутах, в течение которого модель остается активной, по умолчанию 5 минут.",
"keep_alive_time.placeholder": "Минуты",
"keep_alive_time.title": "Время жизни модели",
"title": "GPUStack"
},
"history": { "history": {
"continue_chat": "Продолжить чат", "continue_chat": "Продолжить чат",
"locate.message": "Найти сообщение", "locate.message": "Найти сообщение",
@ -376,13 +382,13 @@
"threshold_too_large_or_small": "Порог не может быть больше 1 или меньше 0", "threshold_too_large_or_small": "Порог не может быть больше 1 или меньше 0",
"threshold_tooltip": "Используется для оценки соответствия между пользовательским вопросом и содержимым в базе знаний (0-1)", "threshold_tooltip": "Используется для оценки соответствия между пользовательским вопросом и содержимым в базе знаний (0-1)",
"title": "База знаний", "title": "База знаний",
"topN": "Количество возвращаемых результатов",
"topN__too_large_or_small": "Количество возвращаемых результатов не может быть больше 100 или меньше 1.",
"topN_placeholder": "Не установлено",
"topN_tooltip": "Количество возвращаемых совпадений; чем больше значение, тем больше совпадений, но и потребление токенов тоже возрастает.",
"url_added": "URL добавлен", "url_added": "URL добавлен",
"url_placeholder": "Введите URL, несколько URL через Enter", "url_placeholder": "Введите URL, несколько URL через Enter",
"urls": "URL-адреса", "urls": "URL-адреса"
"topN": "Количество возвращаемых результатов",
"topN_placeholder": "Не установлено",
"topN__too_large_or_small": "Количество возвращаемых результатов не может быть больше 100 или меньше 1.",
"topN_tooltip": "Количество возвращаемых совпадений; чем больше значение, тем больше совпадений, но и потребление токенов тоже возрастает."
}, },
"languages": { "languages": {
"arabic": "Арабский", "arabic": "Арабский",
@ -419,29 +425,23 @@
}, },
"title": "Диаграмма Mermaid" "title": "Диаграмма Mermaid"
}, },
"gpustack": {
"keep_alive_time.description": "Время в минутах, в течение которого модель остается активной, по умолчанию 5 минут.",
"keep_alive_time.placeholder": "Минуты",
"keep_alive_time.title": "Время жизни модели",
"title": "GPUStack"
},
"message": { "message": {
"attachments": {
"pasted_text": "Вырезанный текст",
"pasted_image": "Вырезанное изображение"
},
"api.check.model.title": "Выберите модель для проверки", "api.check.model.title": "Выберите модель для проверки",
"api.connection.failed": "Соединение не удалось", "api.connection.failed": "Соединение не удалось",
"api.connection.success": "Соединение успешно", "api.connection.success": "Соединение успешно",
"assistant.added.content": "Ассистент успешно добавлен", "assistant.added.content": "Ассистент успешно добавлен",
"attachments": {
"pasted_image": "Вырезанное изображение",
"pasted_text": "Вырезанный текст"
},
"backup.failed": "Создание резервной копии не удалось", "backup.failed": "Создание резервной копии не удалось",
"backup.start.success": "Создание резервной копии начато", "backup.start.success": "Создание резервной копии начато",
"backup.success": "Резервная копия успешно создана", "backup.success": "Резервная копия успешно создана",
"chat.completion.paused": "Завершение чата приостановлено", "chat.completion.paused": "Завершение чата приостановлено",
"citations": "Источники", "citations": "Источники",
"copied": "Скопировано!", "copied": "Скопировано!",
"copy.success": "Скопировано!",
"copy.failed": "Не удалось скопировать", "copy.failed": "Не удалось скопировать",
"copy.success": "Скопировано!",
"error.chunk_overlap_too_large": "Перекрытие фрагментов не может быть больше размера фрагмента.", "error.chunk_overlap_too_large": "Перекрытие фрагментов не может быть больше размера фрагмента.",
"error.dimension_too_large": "Размер содержимого слишком велик", "error.dimension_too_large": "Размер содержимого слишком велик",
"error.enter.api.host": "Пожалуйста, введите ваш API хост", "error.enter.api.host": "Пожалуйста, введите ваш API хост",
@ -454,20 +454,20 @@
"error.invalid.enter.model": "Пожалуйста, выберите модель", "error.invalid.enter.model": "Пожалуйста, выберите модель",
"error.invalid.proxy.url": "Неверный URL прокси", "error.invalid.proxy.url": "Неверный URL прокси",
"error.invalid.webdav": "Неверные настройки WebDAV", "error.invalid.webdav": "Неверные настройки WebDAV",
"error.joplin.export": "Не удалось экспортировать в Joplin, пожалуйста, убедитесь, что Joplin запущен и проверьте состояние подключения или настройки",
"error.joplin.no_config": "Joplin Authorization Token или URL не настроен",
"error.markdown.export.preconf": "Не удалось экспортировать файл Markdown в предуказанный путь", "error.markdown.export.preconf": "Не удалось экспортировать файл Markdown в предуказанный путь",
"error.markdown.export.specified": "Не удалось экспортировать файл Markdown", "error.markdown.export.specified": "Не удалось экспортировать файл Markdown",
"error.notion.export": "Ошибка экспорта в Notion, пожалуйста, проверьте состояние подключения и настройки в документации", "error.notion.export": "Ошибка экспорта в Notion, пожалуйста, проверьте состояние подключения и настройки в документации",
"error.notion.no_api_key": "Notion ApiKey или Notion DatabaseID не настроен", "error.notion.no_api_key": "Notion ApiKey или Notion DatabaseID не настроен",
"error.yuque.export": "Ошибка экспорта в Yuque, пожалуйста, проверьте состояние подключения и настройки в документации", "error.yuque.export": "Ошибка экспорта в Yuque, пожалуйста, проверьте состояние подключения и настройки в документации",
"error.yuque.no_config": "Yuque Token или Yuque Url не настроен", "error.yuque.no_config": "Yuque Token или Yuque Url не настроен",
"error.joplin.no_config": "Joplin Authorization Token или URL не настроен",
"error.joplin.export": "Не удалось экспортировать в Joplin, пожалуйста, убедитесь, что Joplin запущен и проверьте состояние подключения или настройки",
"group.delete.content": "Удаление группы сообщений удалит пользовательский вопрос и все ответы помощника", "group.delete.content": "Удаление группы сообщений удалит пользовательский вопрос и все ответы помощника",
"group.delete.title": "Удалить группу сообщений", "group.delete.title": "Удалить группу сообщений",
"ignore.knowledge.base": "Режим сети включен, игнорировать базу знаний", "ignore.knowledge.base": "Режим сети включен, игнорировать базу знаний",
"info.notion.block_reach_limit": "Диалог слишком длинный, экспортируется в Notion по страницам", "info.notion.block_reach_limit": "Диалог слишком длинный, экспортируется в Notion по страницам",
"loading.notion.preparing": "Подготовка к экспорту в Notion...",
"loading.notion.exporting_progress": "Экспорт в Notion ({{current}}/{{total}})...", "loading.notion.exporting_progress": "Экспорт в Notion ({{current}}/{{total}})...",
"loading.notion.preparing": "Подготовка к экспорту в Notion...",
"mention.title": "Переключить модель ответа", "mention.title": "Переключить модель ответа",
"message.code_style": "Стиль кода", "message.code_style": "Стиль кода",
"message.delete.content": "Вы уверены, что хотите удалить это сообщение?", "message.delete.content": "Вы уверены, что хотите удалить это сообщение?",
@ -490,22 +490,22 @@
"restore.success": "Успешно восстановлено", "restore.success": "Успешно восстановлено",
"save.success.title": "Успешно сохранено", "save.success.title": "Успешно сохранено",
"searching": "Поиск в Интернете...", "searching": "Поиск в Интернете...",
"success.joplin.export": "Успешный экспорт в Joplin",
"success.markdown.export.preconf": "Файл Markdown успешно экспортирован в предуказанный путь", "success.markdown.export.preconf": "Файл Markdown успешно экспортирован в предуказанный путь",
"success.markdown.export.specified": "Файл Markdown успешно экспортирован", "success.markdown.export.specified": "Файл Markdown успешно экспортирован",
"success.notion.export": "Успешный экспорт в Notion", "success.notion.export": "Успешный экспорт в Notion",
"success.yuque.export": "Успешный экспорт в Yuque", "success.yuque.export": "Успешный экспорт в Yuque",
"success.joplin.export": "Успешный экспорт в Joplin",
"switch.disabled": "Пожалуйста, дождитесь завершения текущего ответа", "switch.disabled": "Пожалуйста, дождитесь завершения текущего ответа",
"tools": {
"completed": "Завершено",
"invoking": "Вызов"
},
"topic.added": "Новый топик добавлен", "topic.added": "Новый топик добавлен",
"upgrade.success.button": "Перезапустить", "upgrade.success.button": "Перезапустить",
"upgrade.success.content": "Пожалуйста, перезапустите приложение для завершения обновления", "upgrade.success.content": "Пожалуйста, перезапустите приложение для завершения обновления",
"upgrade.success.title": "Обновление успешно", "upgrade.success.title": "Обновление успешно",
"warn.notion.exporting": "Экспортируется в Notion, пожалуйста, не отправляйте повторные запросы!", "warn.notion.exporting": "Экспортируется в Notion, пожалуйста, не отправляйте повторные запросы!",
"warning.rate.limit": "Отправка слишком частая, пожалуйста, подождите {{seconds}} секунд, прежде чем попробовать снова.", "warning.rate.limit": "Отправка слишком частая, пожалуйста, подождите {{seconds}} секунд, прежде чем попробовать снова."
"tools": {
"invoking": "Вызов",
"completed": "Завершено"
}
}, },
"minapp": { "minapp": {
"sidebar.add.title": "Добавить в боковую панель", "sidebar.add.title": "Добавить в боковую панель",
@ -544,7 +544,7 @@
"embedding": "Встраиваемые", "embedding": "Встраиваемые",
"embedding_model": "Встраиваемые модели", "embedding_model": "Встраиваемые модели",
"embedding_model_tooltip": "Добавьте в настройки->модель сервиса->управление", "embedding_model_tooltip": "Добавьте в настройки->модель сервиса->управление",
"free": "Бесплатные", "function_calling": "Вызов функции",
"no_matches": "Нет доступных моделей", "no_matches": "Нет доступных моделей",
"parameter_name": "Имя параметра", "parameter_name": "Имя параметра",
"parameter_type": { "parameter_type": {
@ -554,23 +554,22 @@
"string": "Текст" "string": "Текст"
}, },
"pinned": "Закреплено", "pinned": "Закреплено",
"reasoning": "Рассуждение", "rerank_model": "Модель переупорядочивания",
"rerank_model_support_provider": "Текущая модель переупорядочивания поддерживается только некоторыми поставщиками ({{provider}})",
"rerank_model_tooltip": "В настройках -> Служба модели нажмите кнопку \"Управление\", чтобы добавить.",
"search": "Поиск моделей...", "search": "Поиск моделей...",
"stream_output": "Потоковый вывод", "stream_output": "Потоковый вывод",
"function_calling": "Вызов функции",
"type": { "type": {
"embedding": "Встраиваемые", "embedding": "Встраиваемые",
"free": "Бесплатные",
"function_calling": "Инструкция",
"reasoning": "Рассуждение", "reasoning": "Рассуждение",
"rerank": "Переупорядочить",
"select": "Выберите тип модели", "select": "Выберите тип модели",
"text": "Текст", "text": "Текст",
"vision": "Изображение", "vision": "Визуальные",
"function_calling": "Вызов функции" "websearch": "Веб-поисковые"
}, }
"vision": "Визуальные",
"websearch": "Веб-поисковые",
"rerank_model": "Модель переупорядочивания",
"rerank_model_tooltip": "В настройках -> Служба модели нажмите кнопку \"Управление\", чтобы добавить.",
"rerank_model_support_provider": "Текущая модель переупорядочивания поддерживается только некоторыми поставщиками ({{provider}})"
}, },
"navbar": { "navbar": {
"expand": "Развернуть диалоговое окно", "expand": "Развернуть диалоговое окно",
@ -623,10 +622,12 @@
}, },
"provider": { "provider": {
"aihubmix": "AiHubMix", "aihubmix": "AiHubMix",
"alayanew": "Alaya NeW",
"anthropic": "Anthropic", "anthropic": "Anthropic",
"azure-openai": "Azure OpenAI", "azure-openai": "Azure OpenAI",
"baichuan": "Baichuan", "baichuan": "Baichuan",
"baidu-cloud": "Baidu Cloud", "baidu-cloud": "Baidu Cloud",
"copilot": "GitHub Copilot",
"dashscope": "Alibaba Cloud", "dashscope": "Alibaba Cloud",
"deepseek": "DeepSeek", "deepseek": "DeepSeek",
"dmxapi": "DMXAPI", "dmxapi": "DMXAPI",
@ -635,6 +636,7 @@
"gemini": "Gemini", "gemini": "Gemini",
"gitee-ai": "Gitee AI", "gitee-ai": "Gitee AI",
"github": "GitHub Models", "github": "GitHub Models",
"gpustack": "GPUStack",
"graphrag-kylin-mountain": "GraphRAG", "graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok", "grok": "Grok",
"groq": "Groq", "groq": "Groq",
@ -663,10 +665,7 @@
"xirang": "State Cloud Xirang", "xirang": "State Cloud Xirang",
"yi": "Yi", "yi": "Yi",
"zhinao": "360AI", "zhinao": "360AI",
"zhipu": "ZHIPU AI", "zhipu": "ZHIPU AI"
"copilot": "GitHub Copilot",
"gpustack": "GPUStack",
"alayanew": "Alaya NeW"
}, },
"restore": { "restore": {
"confirm": "Вы уверены, что хотите восстановить данные?", "confirm": "Вы уверены, что хотите восстановить данные?",
@ -728,15 +727,30 @@
"data.title": "Каталог данных", "data.title": "Каталог данных",
"hour_interval_one": "{{count}} час", "hour_interval_one": "{{count}} час",
"hour_interval_other": "{{count}} часов", "hour_interval_other": "{{count}} часов",
"minute_interval_one": "{{count}} минута", "joplin": {
"minute_interval_other": "{{count}} минут", "check": {
"markdown_export.title": "Экспорт в Markdown", "button": "Проверить",
"empty_token": "Сначала введите токен Joplin",
"empty_url": "Сначала введите URL Joplin",
"fail": "Не удалось проверить подключение к Joplin",
"success": "Подключение к Joplin успешно проверено"
},
"help": "Включите Joplin опцию, проверьте порт и скопируйте токен",
"title": "Настройка Joplin",
"token": "Токен Joplin",
"token_placeholder": "Введите токен Joplin",
"url": "URL Joplin",
"url_placeholder": "http://127.0.0.1:41184/"
},
"markdown_export.force_dollar_math.help": "Если включено, при экспорте в Markdown для обозначения формул LaTeX будет принудительно использоваться $$. Примечание: Эта опция также влияет на все методы экспорта через Markdown, такие как Notion, Yuque и т.д.",
"markdown_export.force_dollar_math.title": "Принудительно использовать $$ для формул LaTeX",
"markdown_export.help": "Если указано, файлы будут автоматически сохраняться в этот путь; в противном случае появится диалоговое окно сохранения.",
"markdown_export.path": "Путь экспорта по умолчанию", "markdown_export.path": "Путь экспорта по умолчанию",
"markdown_export.path_placeholder": "Путь экспорта", "markdown_export.path_placeholder": "Путь экспорта",
"markdown_export.select": "Выбрать", "markdown_export.select": "Выбрать",
"markdown_export.help": "Если указано, файлы будут автоматически сохраняться в этот путь; в противном случае появится диалоговое окно сохранения.", "markdown_export.title": "Экспорт в Markdown",
"markdown_export.force_dollar_math.title": "Принудительно использовать $$ для формул LaTeX", "minute_interval_one": "{{count}} минута",
"markdown_export.force_dollar_math.help": "Если включено, при экспорте в Markdown для обозначения формул LaTeX будет принудительно использоваться $$. Примечание: Эта опция также влияет на все методы экспорта через Markdown, такие как Notion, Yuque и т.д.", "minute_interval_other": "{{count}} минут",
"notion.api_key": "Ключ API Notion", "notion.api_key": "Ключ API Notion",
"notion.api_key_placeholder": "Введите ключ API Notion", "notion.api_key_placeholder": "Введите ключ API Notion",
"notion.auto_split": "Автоматическое разбиение на страницы при экспорте диалога", "notion.auto_split": "Автоматическое разбиение на страницы при экспорте диалога",
@ -758,11 +772,22 @@
"notion.split_size_help": "Рекомендуется 90 для пользователей бесплатной версии Notion, 24990 для пользователей премиум-версии, значение по умолчанию — 90", "notion.split_size_help": "Рекомендуется 90 для пользователей бесплатной версии Notion, 24990 для пользователей премиум-версии, значение по умолчанию — 90",
"notion.split_size_placeholder": "Введите ограничение количества блоков на странице (по умолчанию 90)", "notion.split_size_placeholder": "Введите ограничение количества блоков на странице (по умолчанию 90)",
"notion.title": "Настройки Notion", "notion.title": "Настройки Notion",
"obsidian": {
"folder": "Папка",
"folder_placeholder": "Пожалуйста, введите имя папки",
"tags": "Глобальные Теги",
"tags_placeholder": "Пожалуйста, введите имена тегов. Разделяйте несколько тегов запятыми на английском языке. В Obsidian нельзя использовать только цифры.",
"title": "Конфигурация Obsidian",
"vault": "Хранилище",
"vault_placeholder": "Пожалуйста, введите имя хранилища"
},
"title": "Настройки данных", "title": "Настройки данных",
"webdav": { "webdav": {
"autoSync": "Автоматическое резервное копирование", "autoSync": "Автоматическое резервное копирование",
"autoSync.off": "Выключено", "autoSync.off": "Выключено",
"backup.button": "Резервное копирование на WebDAV", "backup.button": "Резервное копирование на WebDAV",
"backup.modal.filename.placeholder": "Введите имя файла резервной копии",
"backup.modal.title": "Резервное копирование на WebDAV",
"host": "Хост WebDAV", "host": "Хост WebDAV",
"host.placeholder": "http://localhost:8080", "host.placeholder": "http://localhost:8080",
"hour_interval_one": "{{count}} час", "hour_interval_one": "{{count}} час",
@ -775,18 +800,16 @@
"path": "Путь WebDAV", "path": "Путь WebDAV",
"path.placeholder": "/backup", "path.placeholder": "/backup",
"restore.button": "Восстановление с WebDAV", "restore.button": "Восстановление с WebDAV",
"restore.confirm.content": "Восстановление с WebDAV перезапишет текущие данные, продолжить?",
"restore.confirm.title": "Подтверждение восстановления",
"restore.content": "Восстановление с WebDAV перезапишет текущие данные, продолжить?", "restore.content": "Восстановление с WebDAV перезапишет текущие данные, продолжить?",
"restore.modal.select.placeholder": "Выберите файл резервной копии для восстановления",
"restore.modal.title": "Восстановление с WebDAV",
"restore.title": "Восстановление с WebDAV", "restore.title": "Восстановление с WebDAV",
"syncError": "Ошибка резервного копирования", "syncError": "Ошибка резервного копирования",
"syncStatus": "Статус резервного копирования", "syncStatus": "Статус резервного копирования",
"title": "WebDAV", "title": "WebDAV",
"user": "Пользователь WebDAV", "user": "Пользователь WebDAV"
"backup.modal.title": "Резервное копирование на WebDAV",
"backup.modal.filename.placeholder": "Введите имя файла резервной копии",
"restore.modal.title": "Восстановление с WebDAV",
"restore.modal.select.placeholder": "Выберите файл резервной копии для восстановления",
"restore.confirm.title": "Подтверждение восстановления",
"restore.confirm.content": "Восстановление с WebDAV перезапишет текущие данные, продолжить?"
}, },
"yuque": { "yuque": {
"check": { "check": {
@ -802,30 +825,6 @@
"title": "Настройка Yuque", "title": "Настройка Yuque",
"token": "Токен Yuque", "token": "Токен Yuque",
"token_placeholder": "Введите токен Yuque" "token_placeholder": "Введите токен Yuque"
},
"obsidian": {
"title": "Конфигурация Obsidian",
"vault": "Хранилище",
"vault_placeholder": "Пожалуйста, введите имя хранилища",
"folder": "Папка",
"folder_placeholder": "Пожалуйста, введите имя папки",
"tags": "Глобальные Теги",
"tags_placeholder": "Пожалуйста, введите имена тегов. Разделяйте несколько тегов запятыми на английском языке. В Obsidian нельзя использовать только цифры."
},
"joplin": {
"check": {
"button": "Проверить",
"empty_url": "Сначала введите URL Joplin",
"empty_token": "Сначала введите токен Joplin",
"fail": "Не удалось проверить подключение к Joplin",
"success": "Подключение к Joplin успешно проверено"
},
"title": "Настройка Joplin",
"help": "Включите Joplin опцию, проверьте порт и скопируйте токен",
"url": "URL Joplin",
"url_placeholder": "http://127.0.0.1:41184/",
"token": "Токен Joplin",
"token_placeholder": "Введите токен Joplin"
} }
}, },
"display.assistant.title": "Настройки ассистентов", "display.assistant.title": "Настройки ассистентов",
@ -871,12 +870,15 @@
"input.target_language.english": "Английский", "input.target_language.english": "Английский",
"input.target_language.japanese": "Японский", "input.target_language.japanese": "Японский",
"input.target_language.russian": "Русский", "input.target_language.russian": "Русский",
"launch.onboot": "Автозапуск при включении",
"launch.title": "Запуск",
"launch.totray": "Свернуть в трей при запуске",
"mcp": { "mcp": {
"actions": "Действия", "actions": "Действия",
"active": "Активен", "active": "Активен",
"addError": "Ошибка добавления сервера",
"addServer": "Добавить сервер", "addServer": "Добавить сервер",
"addSuccess": "Сервер успешно добавлен", "addSuccess": "Сервер успешно добавлен",
"addError": "Ошибка добавления сервера",
"args": "Аргументы", "args": "Аргументы",
"argsTooltip": "Каждый аргумент с новой строки", "argsTooltip": "Каждый аргумент с новой строки",
"baseUrlTooltip": "Адрес удаленного URL", "baseUrlTooltip": "Адрес удаленного URL",
@ -887,55 +889,51 @@
"confirmDeleteMessage": "Вы уверены, что хотите удалить этот сервер?", "confirmDeleteMessage": "Вы уверены, что хотите удалить этот сервер?",
"deleteError": "Не удалось удалить сервер", "deleteError": "Не удалось удалить сервер",
"deleteSuccess": "Сервер успешно удален", "deleteSuccess": "Сервер успешно удален",
"dependenciesInstall": "Установить зависимости",
"dependenciesInstalling": "Установка зависимостей...",
"description": "Описание", "description": "Описание",
"duplicateName": "Сервер с таким именем уже существует", "duplicateName": "Сервер с таким именем уже существует",
"editJson": "Редактировать JSON",
"editServer": "Редактировать сервер", "editServer": "Редактировать сервер",
"env": "Переменные окружения", "env": "Переменные окружения",
"envTooltip": "Формат: KEY=value, по одной на строку", "envTooltip": "Формат: KEY=value, по одной на строку",
"findMore": "Найти больше MCP серверов", "findMore": "Найти больше MCP серверов",
"install": "Установить",
"installError": "Не удалось установить зависимости",
"installSuccess": "Зависимости успешно установлены",
"jsonFormatError": "Ошибка форматирования JSON",
"jsonModeHint": "Редактируйте JSON-форматирование конфигурации сервера MCP. Перед сохранением убедитесь, что формат правильный.",
"jsonSaveError": "Не удалось сохранить конфигурацию JSON",
"jsonSaveSuccess": "JSON конфигурация сохранена",
"missingDependencies": "отсутствует, пожалуйста, установите для продолжения.",
"name": "Имя", "name": "Имя",
"nameRequired": "Пожалуйста, введите имя сервера", "nameRequired": "Пожалуйста, введите имя сервера",
"noServers": "Серверы не настроены", "noServers": "Серверы не настроены",
"npx_list": {
"actions": "Действия",
"desc": "Поиск и добавление npm пакетов в качестве MCP серверов",
"description": "Описание",
"no_packages": "Ничего не найдено",
"npm": "NPM",
"package_name": "Имя пакета",
"scope_placeholder": "Введите область npm (например, @your-org)",
"scope_required": "Пожалуйста, введите область npm",
"search": "Поиск",
"search_error": "Ошибка поиска",
"title": "Список пакетов NPX",
"usage": "Использование",
"version": "Версия"
},
"serverPlural": "серверы", "serverPlural": "серверы",
"serverSingular": "сервер", "serverSingular": "сервер",
"title": "Серверы MCP", "title": "Серверы MCP",
"type": "Тип",
"updateSuccess": "Сервер успешно обновлен",
"updateError": "Ошибка обновления сервера",
"url": "URL",
"toggleError": "Переключение не удалось", "toggleError": "Переключение не удалось",
"dependenciesInstalling": "Установка зависимостей...", "type": "Тип",
"dependenciesInstall": "Установить зависимости", "updateError": "Ошибка обновления сервера",
"installSuccess": "Зависимости успешно установлены", "updateSuccess": "Сервер успешно обновлен",
"installError": "Не удалось установить зависимости", "url": "URL"
"missingDependencies": "отсутствует, пожалуйста, установите для продолжения.",
"install": "Установить",
"npx_list": {
"title": "Список пакетов NPX",
"desc": "Поиск и добавление npm пакетов в качестве MCP серверов",
"scope_placeholder": "Введите область npm (например, @your-org)",
"search": "Поиск",
"package_name": "Имя пакета",
"description": "Описание",
"usage": "Использование",
"npm": "NPM",
"version": "Версия",
"actions": "Действия",
"scope_required": "Пожалуйста, введите область npm",
"no_packages": "Ничего не найдено",
"search_error": "Ошибка поиска"
},
"editJson": "Редактировать JSON",
"jsonModeHint": "Редактируйте JSON-форматирование конфигурации сервера MCP. Перед сохранением убедитесь, что формат правильный.",
"jsonFormatError": "Ошибка форматирования JSON",
"jsonSaveSuccess": "JSON конфигурация сохранена",
"jsonSaveError": "Не удалось сохранить конфигурацию JSON"
}, },
"messages.divider": "Показывать разделитель между сообщениями", "messages.divider": "Показывать разделитель между сообщениями",
"messages.navigation": "Навигация сообщений",
"messages.navigation.none": "Не показывать",
"messages.navigation.buttons": "Кнопки пагинации",
"messages.navigation.anchor": "Диалог анкор",
"messages.grid_columns": "Количество столбцов сетки сообщений", "messages.grid_columns": "Количество столбцов сетки сообщений",
"messages.grid_popover_trigger": "Триггер для отображения подробной информации в сетке", "messages.grid_popover_trigger": "Триггер для отображения подробной информации в сетке",
"messages.grid_popover_trigger.click": "Нажатие для отображения", "messages.grid_popover_trigger.click": "Нажатие для отображения",
@ -949,6 +947,10 @@
"messages.math_engine": "Математический движок", "messages.math_engine": "Математический движок",
"messages.metrics": "{{time_first_token_millsec}}ms до первого токена | {{token_speed}} tok/sec", "messages.metrics": "{{time_first_token_millsec}}ms до первого токена | {{token_speed}} tok/sec",
"messages.model.title": "Настройки модели", "messages.model.title": "Настройки модели",
"messages.navigation": "Навигация сообщений",
"messages.navigation.anchor": "Диалог анкор",
"messages.navigation.buttons": "Кнопки пагинации",
"messages.navigation.none": "Не показывать",
"messages.title": "Настройки сообщений", "messages.title": "Настройки сообщений",
"messages.use_serif_font": "Использовать serif шрифт", "messages.use_serif_font": "Использовать serif шрифт",
"model": "Модель по умолчанию", "model": "Модель по умолчанию",
@ -1011,43 +1013,43 @@
"check": "Проверить", "check": "Проверить",
"check_all_keys": "Проверить все ключи", "check_all_keys": "Проверить все ключи",
"check_multiple_keys": "Проверить несколько ключей API", "check_multiple_keys": "Проверить несколько ключей API",
"copilot": {
"auth_failed": "Github Copilot认证失败",
"auth_success": "Github Copilot认证成功",
"auth_success_title": "Аутентификация успешна",
"code_failed": "Получение кода устройства не удалось, пожалуйста, попробуйте еще раз.",
"code_generated_desc": "Пожалуйста, скопируйте код устройства в приведенную ниже ссылку браузера.",
"code_generated_title": "Получить код устройства",
"confirm_login": "Чрезмерное использование может привести к блокировке вашего Github, будьте осторожны!!!!",
"confirm_title": "Предупреждение о рисках",
"connect": "Подключить Github",
"custom_headers": "Пользовательские заголовки запроса",
"description": "Ваша учетная запись Github должна подписаться на Copilot.",
"expand": "развернуть",
"headers_description": "Пользовательские заголовки запроса (формат json)",
"invalid_json": "Ошибка формата JSON",
"login": "Войти в Github",
"logout": "Выйти из Github",
"logout_failed": "Не удалось выйти, пожалуйста, повторите попытку.",
"logout_success": "Успешно вышел",
"model_setting": "Настройки модели",
"open_verification_first": "Пожалуйста, сначала щелкните по ссылке выше, чтобы перейти на страницу проверки.",
"rate_limit": "Ограничение скорости",
"tooltip": "Для использования Github Copilot необходимо сначала войти в Github."
},
"delete.content": "Вы уверены, что хотите удалить этот провайдер?", "delete.content": "Вы уверены, что хотите удалить этот провайдер?",
"delete.title": "Удалить провайдер", "delete.title": "Удалить провайдер",
"docs_check": "Проверить", "docs_check": "Проверить",
"docs_more_details": "для получения дополнительной информации", "docs_more_details": "для получения дополнительной информации",
"get_api_key": "Получить ключ API", "get_api_key": "Получить ключ API",
"is_not_support_array_content": "Включить совместимый режим",
"no_models": "Пожалуйста, добавьте модели перед проверкой соединения с API", "no_models": "Пожалуйста, добавьте модели перед проверкой соединения с API",
"not_checked": "Не проверено", "not_checked": "Не проверено",
"remove_duplicate_keys": "Удалить дубликаты ключей", "remove_duplicate_keys": "Удалить дубликаты ключей",
"remove_invalid_keys": "Удалить недействительные ключи", "remove_invalid_keys": "Удалить недействительные ключи",
"search": "Поиск поставщиков...", "search": "Поиск поставщиков...",
"search_placeholder": "Поиск по ID или имени модели", "search_placeholder": "Поиск по ID или имени модели",
"title": "Провайдеры моделей", "title": "Провайдеры моделей"
"is_not_support_array_content": "Включить совместимый режим",
"copilot": {
"tooltip": "Для использования Github Copilot необходимо сначала войти в Github.",
"description": "Ваша учетная запись Github должна подписаться на Copilot.",
"login": "Войти в Github",
"connect": "Подключить Github",
"logout": "Выйти из Github",
"auth_success_title": "Аутентификация успешна",
"code_generated_title": "Получить код устройства",
"code_generated_desc": "Пожалуйста, скопируйте код устройства в приведенную ниже ссылку браузера.",
"code_failed": "Получение кода устройства не удалось, пожалуйста, попробуйте еще раз.",
"auth_success": "Github Copilot认证成功",
"auth_failed": "Github Copilot认证失败",
"logout_success": "Успешно вышел",
"logout_failed": "Не удалось выйти, пожалуйста, повторите попытку.",
"confirm_title": "Предупреждение о рисках",
"confirm_login": "Чрезмерное использование может привести к блокировке вашего Github, будьте осторожны!!!!",
"rate_limit": "Ограничение скорости",
"custom_headers": "Пользовательские заголовки запроса",
"headers_description": "Пользовательские заголовки запроса (формат json)",
"expand": "развернуть",
"model_setting": "Настройки модели",
"invalid_json": "Ошибка формата JSON",
"open_verification_first": "Пожалуйста, сначала щелкните по ссылке выше, чтобы перейти на страницу проверки."
}
}, },
"proxy": { "proxy": {
"mode": { "mode": {
@ -1062,9 +1064,9 @@
"quickAssistant": { "quickAssistant": {
"click_tray_to_show": "Нажмите на иконку трея для запуска", "click_tray_to_show": "Нажмите на иконку трея для запуска",
"enable_quick_assistant": "Включить быстрый помощник", "enable_quick_assistant": "Включить быстрый помощник",
"read_clipboard_at_startup": "Чтение буфера обмена при запуске",
"title": "Быстрый помощник", "title": "Быстрый помощник",
"use_shortcut_to_show": "Нажмите на иконку трея или используйте горячие клавиши для запуска", "use_shortcut_to_show": "Нажмите на иконку трея или используйте горячие клавиши для запуска"
"read_clipboard_at_startup": "Чтение буфера обмена при запуске"
}, },
"shortcuts": { "shortcuts": {
"action": "Действие", "action": "Действие",
@ -1101,19 +1103,18 @@
"topic.position.left": "Слева", "topic.position.left": "Слева",
"topic.position.right": "Справа", "topic.position.right": "Справа",
"topic.show.time": "Показывать время топика", "topic.show.time": "Показывать время топика",
"tray.title": "Трей",
"tray.show": "Показать значок в трее",
"tray.onclose": "Свернуть в трей при закрытии", "tray.onclose": "Свернуть в трей при закрытии",
"launch.title": "Запуск", "tray.show": "Показать значок в трее",
"launch.onboot": "Автозапуск при включении", "tray.title": "Трей",
"launch.totray": "Свернуть в трей при запуске",
"websearch": { "websearch": {
"blacklist": "Черный список", "blacklist": "Черный список",
"blacklist_description": "Результаты из следующих веб-сайтов не будут отображаться в результатах поиска", "blacklist_description": "Результаты из следующих веб-сайтов не будут отображаться в результатах поиска",
"blacklist_tooltip": "Пожалуйста, используйте следующий формат (разделенный переносами строк)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com", "blacklist_tooltip": "Пожалуйста, используйте следующий формат (разделенный переносами строк)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com",
"check": "проверка", "check": "проверка",
"check_success": "Проверка успешна",
"check_failed": "Проверка не прошла", "check_failed": "Проверка не прошла",
"check_success": "Проверка успешна",
"enhance_mode": "Режим улучшения поиска",
"enhance_mode_tooltip": "Используйте модель по умолчанию для извлечения ключевых слов из проблемы и поиска",
"get_api_key": "Получить ключ API", "get_api_key": "Получить ключ API",
"no_provider_selected": "Пожалуйста, выберите поставщика поисковых услуг, затем проверьте.", "no_provider_selected": "Пожалуйста, выберите поставщика поисковых услуг, затем проверьте.",
"search_max_result": "Количество результатов поиска", "search_max_result": "Количество результатов поиска",
@ -1121,8 +1122,6 @@
"search_provider_placeholder": "Выберите поставщика поисковых услуг", "search_provider_placeholder": "Выберите поставщика поисковых услуг",
"search_result_default": "По умолчанию", "search_result_default": "По умолчанию",
"search_with_time": "Поиск, содержащий дату", "search_with_time": "Поиск, содержащий дату",
"enhance_mode": "Режим улучшения поиска",
"enhance_mode_tooltip": "Используйте модель по умолчанию для извлечения ключевых слов из проблемы и поиска",
"tavily": { "tavily": {
"api_key": "Ключ API Tavily", "api_key": "Ключ API Tavily",
"api_key.placeholder": "Введите ключ API Tavily", "api_key.placeholder": "Введите ключ API Tavily",

View File

@ -126,6 +126,12 @@
"message.quote": "引用", "message.quote": "引用",
"message.regenerate.model": "切换模型", "message.regenerate.model": "切换模型",
"message.useful": "有用", "message.useful": "有用",
"navigation": {
"first": "已经是第一条消息",
"last": "已经是最后一条消息",
"next": "下一条消息",
"prev": "上一条消息"
},
"resend": "重新发送", "resend": "重新发送",
"save": "保存", "save": "保存",
"settings.code_collapsible": "代码块可折叠", "settings.code_collapsible": "代码块可折叠",
@ -157,48 +163,42 @@
"topics.edit.placeholder": "输入新名称", "topics.edit.placeholder": "输入新名称",
"topics.edit.title": "编辑话题名", "topics.edit.title": "编辑话题名",
"topics.export.image": "导出为图片", "topics.export.image": "导出为图片",
"topics.export.joplin": "导出到 Joplin",
"topics.export.md": "导出为 Markdown", "topics.export.md": "导出为 Markdown",
"topics.export.notion": "导出到 Notion", "topics.export.notion": "导出到 Notion",
"topics.export.title": "导出",
"topics.export.word": "导出为 Word",
"topics.export.yuque": "导出到语雀",
"topics.export.obsidian": "导出到 Obsidian", "topics.export.obsidian": "导出到 Obsidian",
"topics.export.obsidian_atributes": "配置笔记属性",
"topics.export.obsidian_btn": "确定",
"topics.export.obsidian_created": "创建时间",
"topics.export.obsidian_created_placeholder": "请选择创建时间",
"topics.export.obsidian_export_failed": "导出失败",
"topics.export.obsidian_export_success": "导出成功",
"topics.export.obsidian_not_configured": "Obsidian 未配置", "topics.export.obsidian_not_configured": "Obsidian 未配置",
"topics.export.obsidian_operate": "处理方式",
"topics.export.obsidian_operate_append": "追加",
"topics.export.obsidian_operate_new_or_overwrite": "新建(如果存在就覆盖)",
"topics.export.obsidian_operate_placeholder": "请选择处理方式",
"topics.export.obsidian_operate_prepend": "前置",
"topics.export.obsidian_source": "来源",
"topics.export.obsidian_source_placeholder": "请输入来源",
"topics.export.obsidian_tags": "标签",
"topics.export.obsidian_tags_placeholder": "请输入标签,多个标签用英文逗号分隔,Obsidian不可用纯数字",
"topics.export.obsidian_title": "标题", "topics.export.obsidian_title": "标题",
"topics.export.obsidian_title_placeholder": "请输入标题", "topics.export.obsidian_title_placeholder": "请输入标题",
"topics.export.obsidian_title_required": "标题不能为空", "topics.export.obsidian_title_required": "标题不能为空",
"topics.export.obsidian_tags": "标签", "topics.export.title": "导出",
"topics.export.obsidian_tags_placeholder": "请输入标签,多个标签用英文逗号分隔,Obsidian不可用纯数字", "topics.export.word": "导出为 Word",
"topics.export.obsidian_created": "创建时间", "topics.export.yuque": "导出到语雀",
"topics.export.obsidian_created_placeholder": "请选择创建时间",
"topics.export.obsidian_source": "来源",
"topics.export.obsidian_source_placeholder": "请输入来源",
"topics.export.obsidian_operate": "处理方式",
"topics.export.obsidian_operate_placeholder": "请选择处理方式",
"topics.export.obsidian_operate_append": "追加",
"topics.export.obsidian_operate_prepend": "前置",
"topics.export.obsidian_operate_new_or_overwrite": "新建(如果存在就覆盖)",
"topics.export.obsidian_atributes": "配置笔记属性",
"topics.export.obsidian_btn": "确定",
"topics.export.obsidian_export_success": "导出成功",
"topics.export.obsidian_export_failed": "导出失败",
"topics.export.joplin": "导出到 Joplin",
"topics.list": "话题列表", "topics.list": "话题列表",
"topics.move_to": "移动到", "topics.move_to": "移动到",
"topics.new": "开始新对话",
"topics.pinned": "固定话题", "topics.pinned": "固定话题",
"topics.prompt": "话题提示词", "topics.prompt": "话题提示词",
"topics.prompt.edit.title": "编辑话题提示词", "topics.prompt.edit.title": "编辑话题提示词",
"topics.prompt.tips": "话题提示词: 针对当前话题提供额外的补充提示词", "topics.prompt.tips": "话题提示词: 针对当前话题提供额外的补充提示词",
"topics.title": "话题", "topics.title": "话题",
"topics.unpinned": "取消固定", "topics.unpinned": "取消固定",
"topics.new": "开始新对话", "translate": "翻译"
"translate": "翻译",
"navigation": {
"prev": "上一条消息",
"next": "下一条消息",
"first": "已经是第一条消息",
"last": "已经是最后一条消息"
}
}, },
"code_block": { "code_block": {
"collapse": "收起", "collapse": "收起",
@ -208,6 +208,7 @@
}, },
"common": { "common": {
"add": "添加", "add": "添加",
"advanced_settings": "高级设置",
"and": "和", "and": "和",
"assistant": "智能体", "assistant": "智能体",
"avatar": "头像", "avatar": "头像",
@ -217,8 +218,8 @@
"clear": "清除", "clear": "清除",
"close": "关闭", "close": "关闭",
"confirm": "确认", "confirm": "确认",
"copy": "复制",
"copied": "已复制", "copied": "已复制",
"copy": "复制",
"cut": "剪切", "cut": "剪切",
"default": "默认", "default": "默认",
"delete": "删除", "delete": "删除",
@ -227,6 +228,7 @@
"download": "下载", "download": "下载",
"duplicate": "复制", "duplicate": "复制",
"edit": "编辑", "edit": "编辑",
"expand": "展开",
"footnote": "引用内容", "footnote": "引用内容",
"footnotes": "引用内容", "footnotes": "引用内容",
"fullscreen": "已进入全屏模式,按 F11 退出", "fullscreen": "已进入全屏模式,按 F11 退出",
@ -234,6 +236,7 @@
"language": "语言", "language": "语言",
"model": "模型", "model": "模型",
"models": "模型", "models": "模型",
"more": "更多",
"name": "名称", "name": "名称",
"paste": "粘贴", "paste": "粘贴",
"prompt": "提示词", "prompt": "提示词",
@ -246,10 +249,7 @@
"select": "选择", "select": "选择",
"topics": "话题", "topics": "话题",
"warning": "警告", "warning": "警告",
"you": "用户", "you": "用户"
"more": "更多",
"advanced_settings": "高级设置",
"expand": "展开"
}, },
"docs": { "docs": {
"title": "帮助文档" "title": "帮助文档"
@ -307,6 +307,12 @@
"title": "文件", "title": "文件",
"type": "类型" "type": "类型"
}, },
"gpustack": {
"keep_alive_time.description": "模型在内存中保持的时间默认5分钟",
"keep_alive_time.placeholder": "分钟",
"keep_alive_time.title": "保持活跃时间",
"title": "GPUStack"
},
"history": { "history": {
"continue_chat": "继续聊天", "continue_chat": "继续聊天",
"locate.message": "定位到消息", "locate.message": "定位到消息",
@ -375,11 +381,11 @@
"threshold_placeholder": "未设置", "threshold_placeholder": "未设置",
"threshold_too_large_or_small": "阈值不能大于1或小于0", "threshold_too_large_or_small": "阈值不能大于1或小于0",
"threshold_tooltip": "用于衡量用户问题与知识库内容之间的相关性0-1", "threshold_tooltip": "用于衡量用户问题与知识库内容之间的相关性0-1",
"topN": "返回结果数量",
"topN_placeholder": "未设置",
"topN__too_large_or_small": "返回结果数量不能大于100或小于1",
"topN_tooltip": "返回的匹配结果数量,数值越大,匹配结果越多,但消耗的 Token 也越多",
"title": "知识库", "title": "知识库",
"topN": "返回结果数量",
"topN__too_large_or_small": "返回结果数量不能大于100或小于1",
"topN_placeholder": "未设置",
"topN_tooltip": "返回的匹配结果数量,数值越大,匹配结果越多,但消耗的 Token 也越多",
"url_added": "网址已添加", "url_added": "网址已添加",
"url_placeholder": "请输入网址, 多个网址用回车分隔", "url_placeholder": "请输入网址, 多个网址用回车分隔",
"urls": "网址" "urls": "网址"
@ -420,22 +426,22 @@
"title": "Mermaid 图表" "title": "Mermaid 图表"
}, },
"message": { "message": {
"attachments": {
"pasted_text": "剪切板文件",
"pasted_image": "剪切板图片"
},
"api.check.model.title": "请选择要检测的模型", "api.check.model.title": "请选择要检测的模型",
"api.connection.failed": "连接失败", "api.connection.failed": "连接失败",
"api.connection.success": "连接成功", "api.connection.success": "连接成功",
"assistant.added.content": "智能体添加成功", "assistant.added.content": "智能体添加成功",
"attachments": {
"pasted_image": "剪切板图片",
"pasted_text": "剪切板文件"
},
"backup.failed": "备份失败", "backup.failed": "备份失败",
"backup.start.success": "开始备份", "backup.start.success": "开始备份",
"backup.success": "备份成功", "backup.success": "备份成功",
"chat.completion.paused": "会话已停止", "chat.completion.paused": "会话已停止",
"citations": "引用内容", "citations": "引用内容",
"copied": "已复制", "copied": "已复制",
"copy.success": "复制成功",
"copy.failed": "复制失败", "copy.failed": "复制失败",
"copy.success": "复制成功",
"error.chunk_overlap_too_large": "分段重叠不能大于分段大小", "error.chunk_overlap_too_large": "分段重叠不能大于分段大小",
"error.dimension_too_large": "内容尺寸过大", "error.dimension_too_large": "内容尺寸过大",
"error.enter.api.host": "请输入您的 API 地址", "error.enter.api.host": "请输入您的 API 地址",
@ -448,20 +454,20 @@
"error.invalid.enter.model": "请选择一个模型", "error.invalid.enter.model": "请选择一个模型",
"error.invalid.proxy.url": "无效的代理地址", "error.invalid.proxy.url": "无效的代理地址",
"error.invalid.webdav": "无效的 WebDAV 设置", "error.invalid.webdav": "无效的 WebDAV 设置",
"error.joplin.export": "导出 Joplin 失败,请保持 Joplin 已运行并检查连接状态或检查配置",
"error.joplin.no_config": "未配置 Joplin 授权令牌 或 URL",
"error.markdown.export.preconf": "导出Markdown文件到预先设定的路径失败", "error.markdown.export.preconf": "导出Markdown文件到预先设定的路径失败",
"error.markdown.export.specified": "导出Markdown文件失败", "error.markdown.export.specified": "导出Markdown文件失败",
"error.notion.export": "导出 Notion 错误,请检查连接状态并对照文档检查配置", "error.notion.export": "导出 Notion 错误,请检查连接状态并对照文档检查配置",
"error.notion.no_api_key": "未配置 Notion API Key 或 Notion Database ID", "error.notion.no_api_key": "未配置 Notion API Key 或 Notion Database ID",
"error.yuque.export": "导出语雀错误,请检查连接状态并对照文档检查配置", "error.yuque.export": "导出语雀错误,请检查连接状态并对照文档检查配置",
"error.yuque.no_config": "未配置语雀 Token 或 知识库 URL", "error.yuque.no_config": "未配置语雀 Token 或 知识库 URL",
"error.joplin.no_config": "未配置 Joplin 授权令牌 或 URL",
"error.joplin.export": "导出 Joplin 失败,请保持 Joplin 已运行并检查连接状态或检查配置",
"group.delete.content": "删除分组消息会删除用户提问和所有助手的回答", "group.delete.content": "删除分组消息会删除用户提问和所有助手的回答",
"group.delete.title": "删除分组消息", "group.delete.title": "删除分组消息",
"ignore.knowledge.base": "联网模式开启,忽略知识库", "ignore.knowledge.base": "联网模式开启,忽略知识库",
"info.notion.block_reach_limit": "对话过长正在分页导出到Notion", "info.notion.block_reach_limit": "对话过长正在分页导出到Notion",
"loading.notion.preparing": "正在准备导出到Notion...",
"loading.notion.exporting_progress": "正在导出到Notion ({{current}}/{{total}})...", "loading.notion.exporting_progress": "正在导出到Notion ({{current}}/{{total}})...",
"loading.notion.preparing": "正在准备导出到Notion...",
"mention.title": "切换模型回答", "mention.title": "切换模型回答",
"message.code_style": "代码风格", "message.code_style": "代码风格",
"message.delete.content": "确定要删除此消息吗?", "message.delete.content": "确定要删除此消息吗?",
@ -484,22 +490,22 @@
"restore.success": "恢复成功", "restore.success": "恢复成功",
"save.success.title": "保存成功", "save.success.title": "保存成功",
"searching": "正在联网搜索...", "searching": "正在联网搜索...",
"success.joplin.export": "成功导出到 Joplin",
"success.markdown.export.preconf": "成功导出 Markdown 文件到预先设定的路径", "success.markdown.export.preconf": "成功导出 Markdown 文件到预先设定的路径",
"success.markdown.export.specified": "成功导出 Markdown 文件", "success.markdown.export.specified": "成功导出 Markdown 文件",
"success.notion.export": "成功导出到 Notion", "success.notion.export": "成功导出到 Notion",
"success.yuque.export": "成功导出到语雀", "success.yuque.export": "成功导出到语雀",
"success.joplin.export": "成功导出到 Joplin",
"switch.disabled": "请等待当前回复完成后操作", "switch.disabled": "请等待当前回复完成后操作",
"tools": {
"completed": "已完成",
"invoking": "调用中"
},
"topic.added": "话题添加成功", "topic.added": "话题添加成功",
"upgrade.success.button": "重启", "upgrade.success.button": "重启",
"upgrade.success.content": "重启用以完成升级", "upgrade.success.content": "重启用以完成升级",
"upgrade.success.title": "升级成功", "upgrade.success.title": "升级成功",
"warn.notion.exporting": "正在导出到 Notion, 请勿重复请求导出!", "warn.notion.exporting": "正在导出到 Notion, 请勿重复请求导出!",
"warning.rate.limit": "发送过于频繁,请等待 {{seconds}} 秒后再尝试", "warning.rate.limit": "发送过于频繁,请等待 {{seconds}} 秒后再尝试"
"tools": {
"invoking": "调用中",
"completed": "已完成"
}
}, },
"minapp": { "minapp": {
"sidebar.add.title": "添加到侧边栏", "sidebar.add.title": "添加到侧边栏",
@ -538,10 +544,7 @@
"embedding": "嵌入", "embedding": "嵌入",
"embedding_model": "嵌入模型", "embedding_model": "嵌入模型",
"embedding_model_tooltip": "在设置->模型服务中点击管理按钮添加", "embedding_model_tooltip": "在设置->模型服务中点击管理按钮添加",
"rerank_model": "重排序模型", "function_calling": "函数调用",
"rerank_model_tooltip": "在设置->模型服务中点击管理按钮添加",
"rerank_model_support_provider": "目前重排序模型仅支持部分服务商 ({{provider}})",
"free": "免费",
"no_matches": "无可用模型", "no_matches": "无可用模型",
"parameter_name": "参数名称", "parameter_name": "参数名称",
"parameter_type": { "parameter_type": {
@ -551,20 +554,22 @@
"string": "文本" "string": "文本"
}, },
"pinned": "已固定", "pinned": "已固定",
"reasoning": "推理", "rerank_model": "重排序模型",
"rerank_model_support_provider": "目前重排序模型仅支持部分服务商 ({{provider}})",
"rerank_model_tooltip": "在设置->模型服务中点击管理按钮添加",
"search": "搜索模型...", "search": "搜索模型...",
"stream_output": "流式输出", "stream_output": "流式输出",
"function_calling": "函数调用",
"type": { "type": {
"embedding": "嵌入", "embedding": "嵌入",
"free": "免费",
"function_calling": "工具",
"reasoning": "推理", "reasoning": "推理",
"rerank": "重排",
"select": "选择模型类型", "select": "选择模型类型",
"text": "文本", "text": "文本",
"vision": "图像", "vision": "视觉",
"function_calling": "函数调用" "websearch": "联网"
}, }
"vision": "视觉",
"websearch": "联网"
}, },
"navbar": { "navbar": {
"expand": "伸缩对话框", "expand": "伸缩对话框",
@ -617,10 +622,12 @@
}, },
"provider": { "provider": {
"aihubmix": "AiHubMix", "aihubmix": "AiHubMix",
"alayanew": "Alaya NeW",
"anthropic": "Anthropic", "anthropic": "Anthropic",
"azure-openai": "Azure OpenAI", "azure-openai": "Azure OpenAI",
"baichuan": "百川", "baichuan": "百川",
"baidu-cloud": "百度云千帆", "baidu-cloud": "百度云千帆",
"copilot": "GitHub Copilot",
"dashscope": "阿里云百炼", "dashscope": "阿里云百炼",
"deepseek": "深度求索", "deepseek": "深度求索",
"dmxapi": "DMXAPI", "dmxapi": "DMXAPI",
@ -629,6 +636,7 @@
"gemini": "Gemini", "gemini": "Gemini",
"gitee-ai": "Gitee AI", "gitee-ai": "Gitee AI",
"github": "GitHub Models", "github": "GitHub Models",
"gpustack": "GPUStack",
"graphrag-kylin-mountain": "GraphRAG", "graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok", "grok": "Grok",
"groq": "Groq", "groq": "Groq",
@ -657,10 +665,7 @@
"xirang": "天翼云息壤", "xirang": "天翼云息壤",
"yi": "零一万物", "yi": "零一万物",
"zhinao": "360智脑", "zhinao": "360智脑",
"zhipu": "智谱AI", "zhipu": "智谱AI"
"copilot": "GitHub Copilot",
"gpustack": "GPUStack",
"alayanew": "Alaya NeW"
}, },
"restore": { "restore": {
"confirm": "确定要恢复数据吗?", "confirm": "确定要恢复数据吗?",
@ -676,12 +681,6 @@
}, },
"title": "数据恢复" "title": "数据恢复"
}, },
"gpustack": {
"keep_alive_time.description": "模型在内存中保持的时间默认5分钟",
"keep_alive_time.placeholder": "分钟",
"keep_alive_time.title": "保持活跃时间",
"title": "GPUStack"
},
"settings": { "settings": {
"about": "关于我们", "about": "关于我们",
"about.checkingUpdate": "正在检查更新...", "about.checkingUpdate": "正在检查更新...",
@ -728,15 +727,30 @@
"data.title": "数据目录", "data.title": "数据目录",
"hour_interval_one": "{{count}} 小时", "hour_interval_one": "{{count}} 小时",
"hour_interval_other": "{{count}} 小时", "hour_interval_other": "{{count}} 小时",
"minute_interval_one": "{{count}} 分钟", "joplin": {
"minute_interval_other": "{{count}} 分钟", "check": {
"markdown_export.title": "Markdown 导出", "button": "检查",
"empty_token": "请先输入 Joplin 授权令牌",
"empty_url": "请先输入 Joplin 剪裁服务监听 URL",
"fail": "Joplin 连接验证失败",
"success": "Joplin 连接验证成功"
},
"help": "在 Joplin 选项中,启用网页剪裁服务(无需安装浏览器插件),确认端口号,并复制授权令牌",
"title": "Joplin 配置",
"token": "Joplin 授权令牌",
"token_placeholder": "请输入 Joplin 授权令牌",
"url": "Joplin 剪裁服务监听 URL",
"url_placeholder": "http://127.0.0.1:41184/"
},
"markdown_export.force_dollar_math.help": "开启后导出Markdown时会将强制使用$$来标记LaTeX公式。注意该项也会影响所有通过Markdown导出的方式如Notion、语雀等。",
"markdown_export.force_dollar_math.title": "强制使用$$来标记LaTeX公式",
"markdown_export.help": "若填入,则每次导出时将自动保存到该路径;否则,将弹出保存对话框",
"markdown_export.path": "默认导出路径", "markdown_export.path": "默认导出路径",
"markdown_export.path_placeholder": "导出路径", "markdown_export.path_placeholder": "导出路径",
"markdown_export.select": "选择", "markdown_export.select": "选择",
"markdown_export.help": "若填入,则每次导出时将自动保存到该路径;否则,将弹出保存对话框", "markdown_export.title": "Markdown 导出",
"markdown_export.force_dollar_math.title": "强制使用$$来标记LaTeX公式", "minute_interval_one": "{{count}} 分钟",
"markdown_export.force_dollar_math.help": "开启后导出Markdown时会将强制使用$$来标记LaTeX公式。注意该项也会影响所有通过Markdown导出的方式如Notion、语雀等。", "minute_interval_other": "{{count}} 分钟",
"notion.api_key": "Notion 密钥", "notion.api_key": "Notion 密钥",
"notion.api_key_placeholder": "请输入Notion 密钥", "notion.api_key_placeholder": "请输入Notion 密钥",
"notion.auto_split": "导出对话时自动分页", "notion.auto_split": "导出对话时自动分页",
@ -758,11 +772,22 @@
"notion.split_size_help": "Notion免费版用户建议设置为90高级版用户建议设置为24990默认值为90", "notion.split_size_help": "Notion免费版用户建议设置为90高级版用户建议设置为24990默认值为90",
"notion.split_size_placeholder": "请输入每页块数限制(默认90)", "notion.split_size_placeholder": "请输入每页块数限制(默认90)",
"notion.title": "Notion 配置", "notion.title": "Notion 配置",
"obsidian": {
"folder": "文件夹",
"folder_placeholder": "请输入文件夹名称",
"tags": "全局标签",
"tags_placeholder": "请输入标签名称, 多个标签用英文逗号分隔,Obsidian不可用纯数字",
"title": "Obsidian 配置",
"vault": "保管库",
"vault_placeholder": "请输入保管库名称"
},
"title": "数据设置", "title": "数据设置",
"webdav": { "webdav": {
"autoSync": "自动备份", "autoSync": "自动备份",
"autoSync.off": "关闭", "autoSync.off": "关闭",
"backup.button": "备份到 WebDAV", "backup.button": "备份到 WebDAV",
"backup.modal.filename.placeholder": "请输入备份文件名",
"backup.modal.title": "备份到 WebDAV",
"host": "WebDAV 地址", "host": "WebDAV 地址",
"host.placeholder": "http://localhost:8080", "host.placeholder": "http://localhost:8080",
"hour_interval_one": "{{count}} 小时", "hour_interval_one": "{{count}} 小时",
@ -774,14 +799,12 @@
"password": "WebDAV 密码", "password": "WebDAV 密码",
"path": "WebDAV 路径", "path": "WebDAV 路径",
"path.placeholder": "/backup", "path.placeholder": "/backup",
"backup.modal.title": "备份到 WebDAV",
"backup.modal.filename.placeholder": "请输入备份文件名",
"restore.modal.title": "从 WebDAV 恢复",
"restore.modal.select.placeholder": "请选择要恢复的备份文件",
"restore.confirm.title": "确认恢复",
"restore.confirm.content": "从 WebDAV 恢复将会覆盖当前数据,是否继续?",
"restore.button": "从 WebDAV 恢复", "restore.button": "从 WebDAV 恢复",
"restore.confirm.content": "从 WebDAV 恢复将会覆盖当前数据,是否继续?",
"restore.confirm.title": "确认恢复",
"restore.content": "从 WebDAV 恢复将覆盖当前数据,是否继续?", "restore.content": "从 WebDAV 恢复将覆盖当前数据,是否继续?",
"restore.modal.select.placeholder": "请选择要恢复的备份文件",
"restore.modal.title": "从 WebDAV 恢复",
"restore.title": "从 WebDAV 恢复", "restore.title": "从 WebDAV 恢复",
"syncError": "备份错误", "syncError": "备份错误",
"syncStatus": "备份状态", "syncStatus": "备份状态",
@ -802,30 +825,6 @@
"title": "语雀配置", "title": "语雀配置",
"token": "语雀 Token", "token": "语雀 Token",
"token_placeholder": "请输入语雀Token" "token_placeholder": "请输入语雀Token"
},
"obsidian": {
"title": "Obsidian 配置",
"vault": "保管库",
"vault_placeholder": "请输入保管库名称",
"folder": "文件夹",
"folder_placeholder": "请输入文件夹名称",
"tags": "全局标签",
"tags_placeholder": "请输入标签名称, 多个标签用英文逗号分隔,Obsidian不可用纯数字"
},
"joplin": {
"check": {
"button": "检查",
"empty_url": "请先输入 Joplin 剪裁服务监听 URL",
"empty_token": "请先输入 Joplin 授权令牌",
"fail": "Joplin 连接验证失败",
"success": "Joplin 连接验证成功"
},
"title": "Joplin 配置",
"help": "在 Joplin 选项中,启用网页剪裁服务(无需安装浏览器插件),确认端口号,并复制授权令牌",
"url": "Joplin 剪裁服务监听 URL",
"url_placeholder": "http://127.0.0.1:41184/",
"token": "Joplin 授权令牌",
"token_placeholder": "请输入 Joplin 授权令牌"
} }
}, },
"display.assistant.title": "助手设置", "display.assistant.title": "助手设置",
@ -871,12 +870,15 @@
"input.target_language.english": "英文", "input.target_language.english": "英文",
"input.target_language.japanese": "日文", "input.target_language.japanese": "日文",
"input.target_language.russian": "俄文", "input.target_language.russian": "俄文",
"launch.onboot": "开机自动启动",
"launch.title": "启动",
"launch.totray": "启动时最小化到托盘",
"mcp": { "mcp": {
"actions": "操作", "actions": "操作",
"active": "启用", "active": "启用",
"addError": "添加服务器失败",
"addServer": "添加服务器", "addServer": "添加服务器",
"addSuccess": "服务器添加成功", "addSuccess": "服务器添加成功",
"addError": "添加服务器失败",
"args": "参数", "args": "参数",
"argsTooltip": "每个参数占一行", "argsTooltip": "每个参数占一行",
"baseUrlTooltip": "远程 URL 地址", "baseUrlTooltip": "远程 URL 地址",
@ -887,55 +889,51 @@
"confirmDeleteMessage": "您确定要删除该服务器吗?", "confirmDeleteMessage": "您确定要删除该服务器吗?",
"deleteError": "删除服务器失败", "deleteError": "删除服务器失败",
"deleteSuccess": "服务器删除成功", "deleteSuccess": "服务器删除成功",
"dependenciesInstall": "安装依赖项",
"dependenciesInstalling": "正在安装依赖项...",
"description": "描述", "description": "描述",
"duplicateName": "已存在同名服务器", "duplicateName": "已存在同名服务器",
"editJson": "编辑JSON",
"editServer": "编辑服务器", "editServer": "编辑服务器",
"env": "环境变量", "env": "环境变量",
"envTooltip": "格式KEY=value每行一个", "envTooltip": "格式KEY=value每行一个",
"findMore": "更多 MCP 服务器", "findMore": "更多 MCP 服务器",
"install": "安装",
"installError": "安装依赖项失败",
"installSuccess": "依赖项安装成功",
"jsonFormatError": "JSON格式化错误",
"jsonModeHint": "编辑MCP服务器配置的JSON表示。保存前请确保格式正确。",
"jsonSaveError": "保存JSON配置失败",
"jsonSaveSuccess": "JSON配置已保存",
"missingDependencies": "缺失,请安装它以继续",
"name": "名称", "name": "名称",
"nameRequired": "请输入服务器名称", "nameRequired": "请输入服务器名称",
"noServers": "未配置服务器", "noServers": "未配置服务器",
"npx_list": {
"actions": "操作",
"desc": "搜索并添加 npm 包作为 MCP 服务",
"description": "描述",
"no_packages": "未找到包",
"npm": "NPM",
"package_name": "包名称",
"scope_placeholder": "输入 npm 作用域 (例如 @your-org)",
"scope_required": "请输入 npm 作用域",
"search": "搜索",
"search_error": "搜索失败",
"title": "NPX 包列表",
"usage": "用法",
"version": "版本"
},
"serverPlural": "服务器", "serverPlural": "服务器",
"serverSingular": "服务器", "serverSingular": "服务器",
"title": "MCP 服务器", "title": "MCP 服务器",
"type": "类型",
"updateSuccess": "服务器更新成功",
"updateError": "更新服务器失败",
"url": "URL",
"toggleError": "切换失败", "toggleError": "切换失败",
"dependenciesInstalling": "正在安装依赖项...", "type": "类型",
"dependenciesInstall": "安装依赖项", "updateError": "更新服务器失败",
"installSuccess": "依赖项安装成功", "updateSuccess": "服务器更新成功",
"installError": "安装依赖项失败", "url": "URL"
"missingDependencies": "缺失,请安装它以继续",
"install": "安装",
"npx_list": {
"title": "NPX 包列表",
"desc": "搜索并添加 npm 包作为 MCP 服务",
"scope_placeholder": "输入 npm 作用域 (例如 @your-org)",
"search": "搜索",
"package_name": "包名称",
"description": "描述",
"usage": "用法",
"npm": "NPM",
"version": "版本",
"actions": "操作",
"scope_required": "请输入 npm 作用域",
"no_packages": "未找到包",
"search_error": "搜索失败"
},
"editJson": "编辑JSON",
"jsonModeHint": "编辑MCP服务器配置的JSON表示。保存前请确保格式正确。",
"jsonFormatError": "JSON格式化错误",
"jsonSaveSuccess": "JSON配置已保存",
"jsonSaveError": "保存JSON配置失败"
}, },
"messages.divider": "消息分割线", "messages.divider": "消息分割线",
"messages.navigation": "对话导航按钮",
"messages.navigation.none": "不显示",
"messages.navigation.buttons": "上下按钮",
"messages.navigation.anchor": "对话锚点",
"messages.grid_columns": "消息网格展示列数", "messages.grid_columns": "消息网格展示列数",
"messages.grid_popover_trigger": "网格详情触发", "messages.grid_popover_trigger": "网格详情触发",
"messages.grid_popover_trigger.click": "点击显示", "messages.grid_popover_trigger.click": "点击显示",
@ -949,6 +947,10 @@
"messages.math_engine": "数学公式引擎", "messages.math_engine": "数学公式引擎",
"messages.metrics": "首字时延 {{time_first_token_millsec}}ms | 每秒 {{token_speed}} tokens", "messages.metrics": "首字时延 {{time_first_token_millsec}}ms | 每秒 {{token_speed}} tokens",
"messages.model.title": "模型设置", "messages.model.title": "模型设置",
"messages.navigation": "对话导航按钮",
"messages.navigation.anchor": "对话锚点",
"messages.navigation.buttons": "上下按钮",
"messages.navigation.none": "不显示",
"messages.title": "消息设置", "messages.title": "消息设置",
"messages.use_serif_font": "使用衬线字体", "messages.use_serif_font": "使用衬线字体",
"model": "默认模型", "model": "默认模型",
@ -1011,43 +1013,43 @@
"check": "检查", "check": "检查",
"check_all_keys": "检查所有密钥", "check_all_keys": "检查所有密钥",
"check_multiple_keys": "检查多个 API 密钥", "check_multiple_keys": "检查多个 API 密钥",
"copilot": {
"auth_failed": "Github Copilot 认证失败",
"auth_success": "Github Copilot 认证成功",
"auth_success_title": "认证成功",
"code_failed": "获取 Device Code 失败,请重试",
"code_generated_desc": "请将 Device Code 复制到下面的浏览器链接中",
"code_generated_title": "获取 Device Code",
"confirm_login": "过度使用可能会导致您的 Github 账号遭到封号,请谨慎使用!!!!",
"confirm_title": "风险警告",
"connect": "连接 Github",
"custom_headers": "自定义请求头",
"description": "您的 Github 账号需要订阅 Copilot",
"expand": "展开",
"headers_description": "自定义请求头(json格式)",
"invalid_json": "JSON 格式错误",
"login": "登录 Github",
"logout": "退出 Github",
"logout_failed": "退出失败,请重试",
"logout_success": "已成功退出",
"model_setting": "模型设置",
"open_verification_first": "请先点击上方链接访问验证页面",
"rate_limit": "速率限制",
"tooltip": "使用 Github Copilot 需要先登录 Github"
},
"delete.content": "确定要删除此模型提供商吗?", "delete.content": "确定要删除此模型提供商吗?",
"delete.title": "删除提供商", "delete.title": "删除提供商",
"docs_check": "查看", "docs_check": "查看",
"docs_more_details": "获取更多详情", "docs_more_details": "获取更多详情",
"get_api_key": "点击这里获取密钥", "get_api_key": "点击这里获取密钥",
"is_not_support_array_content": "开启兼容模式",
"no_models": "请先添加模型再检查 API 连接", "no_models": "请先添加模型再检查 API 连接",
"not_checked": "未检查", "not_checked": "未检查",
"remove_duplicate_keys": "移除重复密钥", "remove_duplicate_keys": "移除重复密钥",
"remove_invalid_keys": "删除无效密钥", "remove_invalid_keys": "删除无效密钥",
"search": "搜索模型平台...", "search": "搜索模型平台...",
"search_placeholder": "搜索模型 ID 或名称", "search_placeholder": "搜索模型 ID 或名称",
"title": "模型服务", "title": "模型服务"
"is_not_support_array_content": "开启兼容模式",
"copilot": {
"tooltip": "使用 Github Copilot 需要先登录 Github",
"description": "您的 Github 账号需要订阅 Copilot",
"login": "登录 Github",
"connect": "连接 Github",
"logout": "退出 Github",
"auth_success_title": "认证成功",
"code_generated_title": "获取 Device Code",
"code_generated_desc": "请将 Device Code 复制到下面的浏览器链接中",
"code_failed": "获取 Device Code 失败,请重试",
"auth_success": "Github Copilot 认证成功",
"auth_failed": "Github Copilot 认证失败",
"logout_success": "已成功退出",
"logout_failed": "退出失败,请重试",
"confirm_title": "风险警告",
"confirm_login": "过度使用可能会导致您的 Github 账号遭到封号,请谨慎使用!!!!",
"rate_limit": "速率限制",
"custom_headers": "自定义请求头",
"headers_description": "自定义请求头(json格式)",
"expand": "展开",
"model_setting": "模型设置",
"invalid_json": "JSON 格式错误",
"open_verification_first": "请先点击上方链接访问验证页面"
}
}, },
"proxy": { "proxy": {
"mode": { "mode": {
@ -1062,9 +1064,9 @@
"quickAssistant": { "quickAssistant": {
"click_tray_to_show": "点击托盘图标启动", "click_tray_to_show": "点击托盘图标启动",
"enable_quick_assistant": "启用快捷助手", "enable_quick_assistant": "启用快捷助手",
"read_clipboard_at_startup": "启动时读取剪贴板",
"title": "快捷助手", "title": "快捷助手",
"use_shortcut_to_show": "右键点击托盘图标或使用快捷键启动", "use_shortcut_to_show": "右键点击托盘图标或使用快捷键启动"
"read_clipboard_at_startup": "启动时读取剪贴板"
}, },
"shortcuts": { "shortcuts": {
"action": "操作", "action": "操作",
@ -1101,19 +1103,18 @@
"topic.position.left": "左侧", "topic.position.left": "左侧",
"topic.position.right": "右侧", "topic.position.right": "右侧",
"topic.show.time": "显示话题时间", "topic.show.time": "显示话题时间",
"tray.title": "托盘",
"tray.show": "显示托盘图标",
"tray.onclose": "关闭时最小化到托盘", "tray.onclose": "关闭时最小化到托盘",
"launch.title": "启动", "tray.show": "显示托盘图标",
"launch.onboot": "开机自动启动", "tray.title": "托盘",
"launch.totray": "启动时最小化到托盘",
"websearch": { "websearch": {
"blacklist": "黑名单", "blacklist": "黑名单",
"blacklist_description": "在搜索结果中不会出现以下网站的结果", "blacklist_description": "在搜索结果中不会出现以下网站的结果",
"blacklist_tooltip": "请使用以下格式(换行分隔)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com", "blacklist_tooltip": "请使用以下格式(换行分隔)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com",
"check": "检查", "check": "检查",
"check_success": "验证成功",
"check_failed": "验证失败", "check_failed": "验证失败",
"check_success": "验证成功",
"enhance_mode": "搜索增强模式",
"enhance_mode_tooltip": "使用默认模型提取关键词后搜索",
"get_api_key": "点击这里获取密钥", "get_api_key": "点击这里获取密钥",
"no_provider_selected": "请选择搜索服务商后再检查", "no_provider_selected": "请选择搜索服务商后再检查",
"search_max_result": "搜索结果个数", "search_max_result": "搜索结果个数",
@ -1121,8 +1122,6 @@
"search_provider_placeholder": "选择一个搜索服务商", "search_provider_placeholder": "选择一个搜索服务商",
"search_result_default": "默认", "search_result_default": "默认",
"search_with_time": "搜索包含日期", "search_with_time": "搜索包含日期",
"enhance_mode": "搜索增强模式",
"enhance_mode_tooltip": "使用默认模型提取关键词后搜索",
"tavily": { "tavily": {
"api_key": "Tavily API 密钥", "api_key": "Tavily API 密钥",
"api_key.placeholder": "请输入 Tavily API 密钥", "api_key.placeholder": "请输入 Tavily API 密钥",

View File

@ -126,6 +126,12 @@
"message.quote": "引用", "message.quote": "引用",
"message.regenerate.model": "切換模型", "message.regenerate.model": "切換模型",
"message.useful": "有用", "message.useful": "有用",
"navigation": {
"first": "已經是第一條訊息",
"last": "已經是最後一條訊息",
"next": "下一條訊息",
"prev": "上一條訊息"
},
"resend": "重新傳送", "resend": "重新傳送",
"save": "儲存", "save": "儲存",
"settings.code_collapsible": "程式碼區塊可折疊", "settings.code_collapsible": "程式碼區塊可折疊",
@ -157,51 +163,44 @@
"topics.edit.placeholder": "輸入新名稱", "topics.edit.placeholder": "輸入新名稱",
"topics.edit.title": "編輯名稱", "topics.edit.title": "編輯名稱",
"topics.export.image": "匯出為圖片", "topics.export.image": "匯出為圖片",
"topics.export.joplin": "匯出到 Joplin",
"topics.export.md": "匯出為 Markdown", "topics.export.md": "匯出為 Markdown",
"topics.export.notion": "匯出到 Notion", "topics.export.notion": "匯出到 Notion",
"topics.export.title": "匯出",
"topics.export.word": "匯出為 Word",
"topics.export.yuque": "匯出到語雀",
"topics.export.obsidian": "匯出到 Obsidian", "topics.export.obsidian": "匯出到 Obsidian",
"topics.export.obsidian_atributes": "配置筆記屬性",
"topics.export.obsidian_btn": "確定",
"topics.export.obsidian_created": "建立時間",
"topics.export.obsidian_created_placeholder": "請選擇建立時間",
"topics.export.obsidian_export_failed": "匯出失敗",
"topics.export.obsidian_export_success": "匯出成功",
"topics.export.obsidian_not_configured": "Obsidian 未配置", "topics.export.obsidian_not_configured": "Obsidian 未配置",
"topics.export.obsidian_operate": "處理方式",
"topics.export.obsidian_operate_append": "追加",
"topics.export.obsidian_operate_new_or_overwrite": "新建(如果存在就覆蓋)",
"topics.export.obsidian_operate_placeholder": "請選擇處理方式",
"topics.export.obsidian_operate_prepend": "前置",
"topics.export.obsidian_selected_path": "已選擇路徑",
"topics.export.obsidian_show_md_files": "顯示md文件",
"topics.export.obsidian_source": "來源",
"topics.export.obsidian_source_placeholder": "請輸入來源",
"topics.export.obsidian_tags": "標籤",
"topics.export.obsidian_tags_placeholder": "請輸入標籤名稱多個標籤用英文逗號分隔。Obsidian 不可用純數字。",
"topics.export.obsidian_title": "標題", "topics.export.obsidian_title": "標題",
"topics.export.obsidian_title_placeholder": "請輸入標題", "topics.export.obsidian_title_placeholder": "請輸入標題",
"topics.export.obsidian_title_required": "標題不能為空", "topics.export.obsidian_title_required": "標題不能為空",
"topics.export.obsidian_tags": "標籤", "topics.export.title": "匯出",
"topics.export.obsidian_tags_placeholder": "請輸入標籤名稱多個標籤用英文逗號分隔。Obsidian 不可用純數字。", "topics.export.word": "匯出為 Word",
"topics.export.obsidian_created": "建立時間", "topics.export.yuque": "匯出到語雀",
"topics.export.obsidian_created_placeholder": "請選擇建立時間",
"topics.export.obsidian_source": "來源",
"topics.export.obsidian_source_placeholder": "請輸入來源",
"topics.export.obsidian_operate": "處理方式",
"topics.export.obsidian_operate_placeholder": "請選擇處理方式",
"topics.export.obsidian_operate_append": "追加",
"topics.export.obsidian_operate_prepend": "前置",
"topics.export.obsidian_operate_new_or_overwrite": "新建(如果存在就覆蓋)",
"topics.export.obsidian_atributes": "配置筆記屬性",
"topics.export.obsidian_btn": "確定",
"topics.export.obsidian_export_success": "匯出成功",
"topics.export.obsidian_export_failed": "匯出失败",
"topics.export.obsidian_export_failed": "匯出失敗",
"topics.export.obsidian_show_md_files": "顯示md文件",
"topics.export.obsidian_selected_path": "已選擇路徑",
"topics.export.joplin": "匯出到 Joplin",
"topics.list": "話題列表", "topics.list": "話題列表",
"topics.move_to": "移動到", "topics.move_to": "移動到",
"topics.new": "開始新對話",
"topics.pinned": "固定話題", "topics.pinned": "固定話題",
"topics.prompt": "話題提示詞", "topics.prompt": "話題提示詞",
"topics.prompt.edit.title": "編輯話題提示詞", "topics.prompt.edit.title": "編輯話題提示詞",
"topics.prompt.tips": "話題提示詞:針對目前話題提供額外的補充提示詞", "topics.prompt.tips": "話題提示詞:針對目前話題提供額外的補充提示詞",
"topics.title": "話題", "topics.title": "話題",
"topics.unpinned": "取消固定", "topics.unpinned": "取消固定",
"topics.new": "開始新對話", "translate": "翻譯"
"translate": "翻譯",
"navigation": {
"prev": "上一條訊息",
"next": "下一條訊息",
"first": "已經是第一條訊息",
"last": "已經是最後一條訊息"
}
}, },
"code_block": { "code_block": {
"collapse": "折疊", "collapse": "折疊",
@ -211,6 +210,7 @@
}, },
"common": { "common": {
"add": "新增", "add": "新增",
"advanced_settings": "進階設定",
"and": "與", "and": "與",
"assistant": "智慧代理人", "assistant": "智慧代理人",
"avatar": "頭像", "avatar": "頭像",
@ -219,6 +219,8 @@
"chat": "聊天", "chat": "聊天",
"clear": "清除", "clear": "清除",
"close": "關閉", "close": "關閉",
"confirm": "確認",
"copied": "已複製",
"copy": "複製", "copy": "複製",
"cut": "剪下", "cut": "剪下",
"default": "預設", "default": "預設",
@ -228,6 +230,7 @@
"download": "下載", "download": "下載",
"duplicate": "複製", "duplicate": "複製",
"edit": "編輯", "edit": "編輯",
"expand": "展開",
"footnote": "引用內容", "footnote": "引用內容",
"footnotes": "引用", "footnotes": "引用",
"fullscreen": "已進入全螢幕模式,按 F11 結束", "fullscreen": "已進入全螢幕模式,按 F11 結束",
@ -235,6 +238,7 @@
"language": "語言", "language": "語言",
"model": "模型", "model": "模型",
"models": "模型", "models": "模型",
"more": "更多",
"name": "名稱", "name": "名稱",
"paste": "貼上", "paste": "貼上",
"prompt": "提示詞", "prompt": "提示詞",
@ -247,12 +251,7 @@
"select": "選擇", "select": "選擇",
"topics": "話題", "topics": "話題",
"warning": "警告", "warning": "警告",
"you": "您", "you": "您"
"copied": "已複製",
"confirm": "確認",
"more": "更多",
"advanced_settings": "進階設定",
"expand": "展開"
}, },
"docs": { "docs": {
"title": "說明文件" "title": "說明文件"
@ -310,6 +309,12 @@
"title": "檔案", "title": "檔案",
"type": "類型" "type": "類型"
}, },
"gpustack": {
"keep_alive_time.description": "模型在記憶體中保持的時間(預設為 5 分鐘)。",
"keep_alive_time.placeholder": "分鐘",
"keep_alive_time.title": "保持活躍時間",
"title": "GPUStack"
},
"history": { "history": {
"continue_chat": "繼續聊天", "continue_chat": "繼續聊天",
"locate.message": "定位到訊息", "locate.message": "定位到訊息",
@ -379,13 +384,13 @@
"threshold_too_large_or_small": "閾值不能大於 1 或小於 0", "threshold_too_large_or_small": "閾值不能大於 1 或小於 0",
"threshold_tooltip": "用於衡量使用者問題與知識庫內容之間的相關性0-1", "threshold_tooltip": "用於衡量使用者問題與知識庫內容之間的相關性0-1",
"title": "知識庫", "title": "知識庫",
"topN": "返回結果數量",
"topN__too_large_or_small": "返回結果數量不能大於100或小於1",
"topN_placeholder": "未設定",
"topN_tooltip": "返回的匹配結果數量,數值越大,匹配結果越多,但消耗的 Token 也越多",
"url_added": "網址已新增", "url_added": "網址已新增",
"url_placeholder": "請輸入網址,多個網址用換行符號分隔", "url_placeholder": "請輸入網址,多個網址用換行符號分隔",
"urls": "網址", "urls": "網址"
"topN": "返回結果數量",
"topN_placeholder": "未設定",
"topN__too_large_or_small": "返回結果數量不能大於100或小於1",
"topN_tooltip": "返回的匹配結果數量,數值越大,匹配結果越多,但消耗的 Token 也越多"
}, },
"languages": { "languages": {
"arabic": "阿拉伯文", "arabic": "阿拉伯文",
@ -423,22 +428,22 @@
"title": "Mermaid 圖表" "title": "Mermaid 圖表"
}, },
"message": { "message": {
"attachments": {
"pasted_text": "剪切板文件",
"pasted_image": "剪切板圖片"
},
"api.check.model.title": "請選擇要偵測的模型", "api.check.model.title": "請選擇要偵測的模型",
"api.connection.failed": "連接失敗", "api.connection.failed": "連接失敗",
"api.connection.success": "連接成功", "api.connection.success": "連接成功",
"assistant.added.content": "智慧代理人新增成功", "assistant.added.content": "智慧代理人新增成功",
"attachments": {
"pasted_image": "剪切板圖片",
"pasted_text": "剪切板文件"
},
"backup.failed": "備份失敗", "backup.failed": "備份失敗",
"backup.start.success": "開始備份", "backup.start.success": "開始備份",
"backup.success": "備份成功", "backup.success": "備份成功",
"chat.completion.paused": "聊天完成已暫停", "chat.completion.paused": "聊天完成已暫停",
"citations": "參考文獻", "citations": "參考文獻",
"copied": "已複製!", "copied": "已複製!",
"copy.success": "已複製!",
"copy.failed": "複製失敗", "copy.failed": "複製失敗",
"copy.success": "已複製!",
"error.chunk_overlap_too_large": "分段重疊不能大於分段大小", "error.chunk_overlap_too_large": "分段重疊不能大於分段大小",
"error.dimension_too_large": "內容尺寸過大", "error.dimension_too_large": "內容尺寸過大",
"error.enter.api.host": "請先輸入您的 API 主機地址", "error.enter.api.host": "請先輸入您的 API 主機地址",
@ -451,20 +456,20 @@
"error.invalid.enter.model": "請選擇一個模型", "error.invalid.enter.model": "請選擇一個模型",
"error.invalid.proxy.url": "無效的代理伺服器 URL", "error.invalid.proxy.url": "無效的代理伺服器 URL",
"error.invalid.webdav": "無效的 WebDAV 設定", "error.invalid.webdav": "無效的 WebDAV 設定",
"error.joplin.export": "匯出 Joplin 失敗,請保持 Joplin 已運行並檢查連接狀態或檢查設定",
"error.joplin.no_config": "未設定 Joplin 授權Token 或 URL",
"error.markdown.export.preconf": "導出 Markdown 文件到預先設定的路徑失敗", "error.markdown.export.preconf": "導出 Markdown 文件到預先設定的路徑失敗",
"error.markdown.export.specified": "導出 Markdown 文件失敗", "error.markdown.export.specified": "導出 Markdown 文件失敗",
"error.notion.export": "匯出 Notion 錯誤,請檢查連接狀態並對照文件檢查設定", "error.notion.export": "匯出 Notion 錯誤,請檢查連接狀態並對照文件檢查設定",
"error.notion.no_api_key": "未設定 Notion API Key 或 Notion Database ID", "error.notion.no_api_key": "未設定 Notion API Key 或 Notion Database ID",
"error.yuque.export": "匯出語雀錯誤,請檢查連接狀態並對照文件檢查設定", "error.yuque.export": "匯出語雀錯誤,請檢查連接狀態並對照文件檢查設定",
"error.yuque.no_config": "未設定語雀 Token 或知識庫 Url", "error.yuque.no_config": "未設定語雀 Token 或知識庫 Url",
"error.joplin.no_config": "未設定 Joplin 授權Token 或 URL",
"error.joplin.export": "匯出 Joplin 失敗,請保持 Joplin 已運行並檢查連接狀態或檢查設定",
"group.delete.content": "刪除分組訊息會刪除使用者提問和所有助手的回答", "group.delete.content": "刪除分組訊息會刪除使用者提問和所有助手的回答",
"group.delete.title": "刪除分組訊息", "group.delete.title": "刪除分組訊息",
"ignore.knowledge.base": "網路模式開啟,忽略知識庫", "ignore.knowledge.base": "網路模式開啟,忽略知識庫",
"info.notion.block_reach_limit": "對話過長,自動分頁匯出到 Notion", "info.notion.block_reach_limit": "對話過長,自動分頁匯出到 Notion",
"loading.notion.preparing": "正在準備匯出到 Notion...",
"loading.notion.exporting_progress": "正在匯出到 Notion ({{current}}/{{total}})...", "loading.notion.exporting_progress": "正在匯出到 Notion ({{current}}/{{total}})...",
"loading.notion.preparing": "正在準備匯出到 Notion...",
"mention.title": "切換模型回答", "mention.title": "切換模型回答",
"message.code_style": "程式碼風格", "message.code_style": "程式碼風格",
"message.delete.content": "確定要刪除此訊息嗎?", "message.delete.content": "確定要刪除此訊息嗎?",
@ -487,22 +492,22 @@
"restore.success": "恢復成功", "restore.success": "恢復成功",
"save.success.title": "儲存成功", "save.success.title": "儲存成功",
"searching": "正在網路上搜尋...", "searching": "正在網路上搜尋...",
"success.joplin.export": "成功匯出到 Joplin",
"success.markdown.export.preconf": "成功導出 Markdown 文件到預先設定的路徑", "success.markdown.export.preconf": "成功導出 Markdown 文件到預先設定的路徑",
"success.markdown.export.specified": "成功導出 Markdown 文件", "success.markdown.export.specified": "成功導出 Markdown 文件",
"success.notion.export": "成功匯出到 Notion", "success.notion.export": "成功匯出到 Notion",
"success.yuque.export": "成功匯出到語雀", "success.yuque.export": "成功匯出到語雀",
"success.joplin.export": "成功匯出到 Joplin",
"switch.disabled": "請等待當前回覆完成", "switch.disabled": "請等待當前回覆完成",
"tools": {
"completed": "已完成",
"invoking": "調用中"
},
"topic.added": "新話題已新增", "topic.added": "新話題已新增",
"upgrade.success.button": "重新啟動", "upgrade.success.button": "重新啟動",
"upgrade.success.content": "請重新啟動程式以完成升級", "upgrade.success.content": "請重新啟動程式以完成升級",
"upgrade.success.title": "升級成功", "upgrade.success.title": "升級成功",
"warn.notion.exporting": "正在匯出到 Notion請勿重複請求匯出", "warn.notion.exporting": "正在匯出到 Notion請勿重複請求匯出",
"warning.rate.limit": "發送過於頻繁,請在 {{seconds}} 秒後再嘗試", "warning.rate.limit": "發送過於頻繁,請在 {{seconds}} 秒後再嘗試"
"tools": {
"invoking": "調用中",
"completed": "已完成"
}
}, },
"minapp": { "minapp": {
"sidebar.add.title": "新增到側邊欄", "sidebar.add.title": "新增到側邊欄",
@ -541,7 +546,7 @@
"embedding": "嵌入", "embedding": "嵌入",
"embedding_model": "嵌入模型", "embedding_model": "嵌入模型",
"embedding_model_tooltip": "在設定->模型服務中點選管理按鈕新增", "embedding_model_tooltip": "在設定->模型服務中點選管理按鈕新增",
"free": "免費", "function_calling": "函數調用",
"no_matches": "無可用模型", "no_matches": "無可用模型",
"parameter_name": "參數名稱", "parameter_name": "參數名稱",
"parameter_type": { "parameter_type": {
@ -551,23 +556,22 @@
"string": "文字" "string": "文字"
}, },
"pinned": "已固定", "pinned": "已固定",
"reasoning": "推理", "rerank_model": "重排序模型",
"rerank_model_support_provider": "目前重排序模型僅支持部分服務商 ({{provider}})",
"rerank_model_tooltip": "在設定->模型服務中點擊管理按鈕添加",
"search": "搜尋模型...", "search": "搜尋模型...",
"stream_output": "串流輸出", "stream_output": "串流輸出",
"function_calling": "函數調用",
"type": { "type": {
"embedding": "嵌入", "embedding": "嵌入",
"free": "免費",
"function_calling": "工具",
"reasoning": "推理", "reasoning": "推理",
"rerank": "重排",
"select": "選擇模型類型", "select": "選擇模型類型",
"text": "文字", "text": "文字",
"vision": "影像", "vision": "視覺",
"function_calling": "函數調用" "websearch": "網路搜尋"
}, }
"vision": "視覺",
"websearch": "網路搜尋",
"rerank_model": "重排序模型",
"rerank_model_tooltip": "在設定->模型服務中點擊管理按鈕添加",
"rerank_model_support_provider": "目前重排序模型僅支持部分服務商 ({{provider}})"
}, },
"navbar": { "navbar": {
"expand": "伸縮對話框", "expand": "伸縮對話框",
@ -620,10 +624,12 @@
}, },
"provider": { "provider": {
"aihubmix": "AiHubMix", "aihubmix": "AiHubMix",
"alayanew": "Alaya NeW",
"anthropic": "Anthropic", "anthropic": "Anthropic",
"azure-openai": "Azure OpenAI", "azure-openai": "Azure OpenAI",
"baichuan": "百川", "baichuan": "百川",
"baidu-cloud": "百度雲千帆", "baidu-cloud": "百度雲千帆",
"copilot": "GitHub Copilot",
"dashscope": "阿里雲百鍊", "dashscope": "阿里雲百鍊",
"deepseek": "深度求索", "deepseek": "深度求索",
"dmxapi": "DMXAPI", "dmxapi": "DMXAPI",
@ -632,6 +638,7 @@
"gemini": "Gemini", "gemini": "Gemini",
"gitee-ai": "Gitee AI", "gitee-ai": "Gitee AI",
"github": "GitHub Models", "github": "GitHub Models",
"gpustack": "GPUStack",
"graphrag-kylin-mountain": "GraphRAG", "graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok", "grok": "Grok",
"groq": "Groq", "groq": "Groq",
@ -660,10 +667,7 @@
"xirang": "天翼雲息壤", "xirang": "天翼雲息壤",
"yi": "零一萬物", "yi": "零一萬物",
"zhinao": "360 智腦", "zhinao": "360 智腦",
"zhipu": "智譜 AI", "zhipu": "智譜 AI"
"copilot": "GitHub Copilot",
"gpustack": "GPUStack",
"alayanew": "Alaya NeW"
}, },
"restore": { "restore": {
"confirm": "確定要復原資料嗎?", "confirm": "確定要復原資料嗎?",
@ -679,12 +683,6 @@
}, },
"title": "資料復原" "title": "資料復原"
}, },
"gpustack": {
"keep_alive_time.description": "模型在記憶體中保持的時間(預設為 5 分鐘)。",
"keep_alive_time.placeholder": "分鐘",
"keep_alive_time.title": "保持活躍時間",
"title": "GPUStack"
},
"settings": { "settings": {
"about": "關於與回饋", "about": "關於與回饋",
"about.checkingUpdate": "正在檢查更新...", "about.checkingUpdate": "正在檢查更新...",
@ -731,15 +729,30 @@
"data.title": "資料目錄", "data.title": "資料目錄",
"hour_interval_one": "{{count}} 小時", "hour_interval_one": "{{count}} 小時",
"hour_interval_other": "{{count}} 小時", "hour_interval_other": "{{count}} 小時",
"minute_interval_one": "{{count}} 分鐘", "joplin": {
"minute_interval_other": "{{count}} 分鐘", "check": {
"markdown_export.title": "Markdown 匯出", "button": "檢查",
"empty_token": "請先輸入 Joplin 授權Token",
"empty_url": "請先輸入 Joplin 剪輯服務 URL",
"fail": "Joplin 連接驗證失敗",
"success": "Joplin 連接驗證成功"
},
"help": "在 Joplin 選項中啟用剪輯服務無需安裝瀏覽器外掛確認埠編號並複製授權Token",
"title": "Joplin 設定",
"token": "Joplin 授權Token",
"token_placeholder": "請輸入 Joplin 授權Token",
"url": "Joplin 剪輯服務 URL",
"url_placeholder": "http://127.0.0.1:41184/"
},
"markdown_export.force_dollar_math.help": "開啟後匯出Markdown時會強制使用$$來標記LaTeX公式。注意該項也會影響所有透過Markdown匯出的方式如Notion、語雀等。",
"markdown_export.force_dollar_math.title": "LaTeX公式強制使用$$",
"markdown_export.help": "若填入,每次匯出時將自動儲存至該路徑;否則,將彈出儲存對話框。",
"markdown_export.path": "預設匯出路徑", "markdown_export.path": "預設匯出路徑",
"markdown_export.path_placeholder": "匯出路徑", "markdown_export.path_placeholder": "匯出路徑",
"markdown_export.select": "選擇", "markdown_export.select": "選擇",
"markdown_export.help": "若填入,每次匯出時將自動儲存至該路徑;否則,將彈出儲存對話框。", "markdown_export.title": "Markdown 匯出",
"markdown_export.force_dollar_math.title": "LaTeX公式強制使用$$", "minute_interval_one": "{{count}} 分鐘",
"markdown_export.force_dollar_math.help": "開啟後匯出Markdown時會強制使用$$來標記LaTeX公式。注意該項也會影響所有透過Markdown匯出的方式如Notion、語雀等。", "minute_interval_other": "{{count}} 分鐘",
"notion.api_key": "Notion 金鑰", "notion.api_key": "Notion 金鑰",
"notion.api_key_placeholder": "請輸入 Notion 金鑰", "notion.api_key_placeholder": "請輸入 Notion 金鑰",
"notion.auto_split": "匯出對話時自動分頁", "notion.auto_split": "匯出對話時自動分頁",
@ -761,11 +774,22 @@
"notion.split_size_help": "Notion 免費版使用者建議設定為 90進階版使用者建議設定為 24990預設值為 90", "notion.split_size_help": "Notion 免費版使用者建議設定為 90進階版使用者建議設定為 24990預設值為 90",
"notion.split_size_placeholder": "請輸入每頁塊數限制 (預設 90)", "notion.split_size_placeholder": "請輸入每頁塊數限制 (預設 90)",
"notion.title": "Notion 設定", "notion.title": "Notion 設定",
"obsidian": {
"folder": "資料夾",
"folder_placeholder": "請輸入資料夾名稱",
"tags": "全域標籤",
"tags_placeholder": "請輸入標籤名稱多個標籤用英文逗號分隔。Obsidian 不可用純數字。",
"title": "Obsidian 設定",
"vault": "保險庫",
"vault_placeholder": "請輸入保險庫名稱"
},
"title": "資料設定", "title": "資料設定",
"webdav": { "webdav": {
"autoSync": "自動備份", "autoSync": "自動備份",
"autoSync.off": "關閉", "autoSync.off": "關閉",
"backup.button": "備份到 WebDAV", "backup.button": "備份到 WebDAV",
"backup.modal.filename.placeholder": "請輸入備份文件名",
"backup.modal.title": "備份到 WebDAV",
"host": "WebDAV 主機位址", "host": "WebDAV 主機位址",
"host.placeholder": "http://localhost:8080", "host.placeholder": "http://localhost:8080",
"hour_interval_one": "{{count}} 小時", "hour_interval_one": "{{count}} 小時",
@ -778,18 +802,16 @@
"path": "WebDAV 路徑", "path": "WebDAV 路徑",
"path.placeholder": "/backup", "path.placeholder": "/backup",
"restore.button": "從 WebDAV 恢復", "restore.button": "從 WebDAV 恢復",
"restore.confirm.content": "從 WebDAV 恢復將覆蓋目前資料,是否繼續?",
"restore.confirm.title": "復元確認",
"restore.content": "從 WebDAV 恢復將覆蓋目前資料,是否繼續?", "restore.content": "從 WebDAV 恢復將覆蓋目前資料,是否繼續?",
"restore.modal.select.placeholder": "請選擇要恢復的備份文件",
"restore.modal.title": "從 WebDAV 恢復",
"restore.title": "從 WebDAV 恢復", "restore.title": "從 WebDAV 恢復",
"syncError": "備份錯誤", "syncError": "備份錯誤",
"syncStatus": "備份狀態", "syncStatus": "備份狀態",
"title": "WebDAV", "title": "WebDAV",
"user": "WebDAV 使用者名稱", "user": "WebDAV 使用者名稱"
"backup.modal.title": "備份到 WebDAV",
"backup.modal.filename.placeholder": "請輸入備份文件名",
"restore.modal.title": "從 WebDAV 恢復",
"restore.modal.select.placeholder": "請選擇要恢復的備份文件",
"restore.confirm.title": "復元確認",
"restore.confirm.content": "從 WebDAV 恢復將覆蓋目前資料,是否繼續?"
}, },
"yuque": { "yuque": {
"check": { "check": {
@ -805,30 +827,6 @@
"title": "語雀設定", "title": "語雀設定",
"token": "語雀 Token", "token": "語雀 Token",
"token_placeholder": "請輸入語雀 Token" "token_placeholder": "請輸入語雀 Token"
},
"obsidian": {
"title": "Obsidian 設定",
"vault": "保險庫",
"vault_placeholder": "請輸入保險庫名稱",
"folder": "資料夾",
"folder_placeholder": "請輸入資料夾名稱",
"tags": "全域標籤",
"tags_placeholder": "請輸入標籤名稱多個標籤用英文逗號分隔。Obsidian 不可用純數字。"
},
"joplin": {
"check": {
"button": "檢查",
"empty_url": "請先輸入 Joplin 剪輯服務 URL",
"empty_token": "請先輸入 Joplin 授權Token",
"fail": "Joplin 連接驗證失敗",
"success": "Joplin 連接驗證成功"
},
"title": "Joplin 設定",
"help": "在 Joplin 選項中啟用剪輯服務無需安裝瀏覽器外掛確認埠編號並複製授權Token",
"url": "Joplin 剪輯服務 URL",
"url_placeholder": "http://127.0.0.1:41184/",
"token": "Joplin 授權Token",
"token_placeholder": "請輸入 Joplin 授權Token"
} }
}, },
"display.assistant.title": "助手設定", "display.assistant.title": "助手設定",
@ -874,12 +872,15 @@
"input.target_language.english": "英文", "input.target_language.english": "英文",
"input.target_language.japanese": "日文", "input.target_language.japanese": "日文",
"input.target_language.russian": "俄文", "input.target_language.russian": "俄文",
"launch.onboot": "開機自動啟動",
"launch.title": "啟動",
"launch.totray": "啟動時最小化到系统匣",
"mcp": { "mcp": {
"actions": "操作", "actions": "操作",
"active": "啟用", "active": "啟用",
"addError": "添加伺服器失敗",
"addServer": "新增伺服器", "addServer": "新增伺服器",
"addSuccess": "伺服器新增成功", "addSuccess": "伺服器新增成功",
"addError": "添加伺服器失敗",
"args": "參數", "args": "參數",
"argsTooltip": "每個參數佔一行", "argsTooltip": "每個參數佔一行",
"baseUrlTooltip": "遠端 URL 地址", "baseUrlTooltip": "遠端 URL 地址",
@ -890,55 +891,51 @@
"confirmDeleteMessage": "您確定要刪除該伺服器嗎?", "confirmDeleteMessage": "您確定要刪除該伺服器嗎?",
"deleteError": "刪除伺服器失敗", "deleteError": "刪除伺服器失敗",
"deleteSuccess": "伺服器刪除成功", "deleteSuccess": "伺服器刪除成功",
"dependenciesInstall": "安裝相依套件",
"dependenciesInstalling": "正在安裝相依套件...",
"description": "描述", "description": "描述",
"duplicateName": "已存在相同名稱的伺服器", "duplicateName": "已存在相同名稱的伺服器",
"editJson": "編輯JSON",
"editServer": "編輯伺服器", "editServer": "編輯伺服器",
"env": "環境變數", "env": "環境變數",
"envTooltip": "格式KEY=value每行一個", "envTooltip": "格式KEY=value每行一個",
"findMore": "更多 MCP 伺服器", "findMore": "更多 MCP 伺服器",
"install": "安裝",
"installError": "安裝相依套件失敗",
"installSuccess": "相依套件安裝成功",
"jsonFormatError": "JSON格式錯誤",
"jsonModeHint": "編輯MCP伺服器配置的JSON表示。保存前請確保格式正確。",
"jsonSaveError": "保存JSON配置失敗",
"jsonSaveSuccess": "JSON配置已儲存",
"missingDependencies": "缺失,請安裝它以繼續",
"name": "名稱", "name": "名稱",
"nameRequired": "請輸入伺服器名稱", "nameRequired": "請輸入伺服器名稱",
"noServers": "未設定伺服器", "noServers": "未設定伺服器",
"npx_list": {
"actions": "操作",
"desc": "搜索並添加 npm 包作為 MCP 服務",
"description": "描述",
"no_packages": "未找到包",
"npm": "NPM",
"package_name": "包名稱",
"scope_placeholder": "輸入 npm 作用域 (例如 @your-org)",
"scope_required": "請輸入 npm 作用域",
"search": "搜索",
"search_error": "搜索失敗",
"title": "NPX 包列表",
"usage": "用法",
"version": "版本"
},
"serverPlural": "伺服器", "serverPlural": "伺服器",
"serverSingular": "伺服器", "serverSingular": "伺服器",
"title": "MCP 伺服器", "title": "MCP 伺服器",
"type": "類型",
"updateSuccess": "伺服器更新成功",
"updateError": "更新伺服器失敗",
"url": "URL",
"toggleError": "切換失敗", "toggleError": "切換失敗",
"dependenciesInstalling": "正在安裝相依套件...", "type": "類型",
"dependenciesInstall": "安裝相依套件", "updateError": "更新伺服器失敗",
"installSuccess": "相依套件安裝成功", "updateSuccess": "伺服器更新成功",
"installError": "安裝相依套件失敗", "url": "URL"
"missingDependencies": "缺失,請安裝它以繼續",
"install": "安裝",
"npx_list": {
"title": "NPX 包列表",
"desc": "搜索並添加 npm 包作為 MCP 服務",
"scope_placeholder": "輸入 npm 作用域 (例如 @your-org)",
"search": "搜索",
"package_name": "包名稱",
"description": "描述",
"usage": "用法",
"npm": "NPM",
"version": "版本",
"actions": "操作",
"scope_required": "請輸入 npm 作用域",
"no_packages": "未找到包",
"search_error": "搜索失敗"
},
"editJson": "編輯JSON",
"jsonModeHint": "編輯MCP伺服器配置的JSON表示。保存前請確保格式正確。",
"jsonFormatError": "JSON格式錯誤",
"jsonSaveSuccess": "JSON配置已儲存",
"jsonSaveError": "保存JSON配置失敗"
}, },
"messages.divider": "訊息間顯示分隔線", "messages.divider": "訊息間顯示分隔線",
"messages.navigation": "訊息導航",
"messages.navigation.none": "不顯示",
"messages.navigation.buttons": "上下按鈕",
"messages.navigation.anchor": "對話錨點",
"messages.grid_columns": "訊息網格展示列數", "messages.grid_columns": "訊息網格展示列數",
"messages.grid_popover_trigger": "網格詳細資訊觸發", "messages.grid_popover_trigger": "網格詳細資訊觸發",
"messages.grid_popover_trigger.click": "點選顯示", "messages.grid_popover_trigger.click": "點選顯示",
@ -952,6 +949,10 @@
"messages.math_engine": "Markdown 渲染輸入訊息", "messages.math_engine": "Markdown 渲染輸入訊息",
"messages.metrics": "首字延遲 {{time_first_token_millsec}}ms | 每秒 {{token_speed}} tokens", "messages.metrics": "首字延遲 {{time_first_token_millsec}}ms | 每秒 {{token_speed}} tokens",
"messages.model.title": "模型設定", "messages.model.title": "模型設定",
"messages.navigation": "訊息導航",
"messages.navigation.anchor": "對話錨點",
"messages.navigation.buttons": "上下按鈕",
"messages.navigation.none": "不顯示",
"messages.title": "訊息設定", "messages.title": "訊息設定",
"messages.use_serif_font": "使用襯線字型", "messages.use_serif_font": "使用襯線字型",
"model": "預設模型", "model": "預設模型",
@ -1014,43 +1015,43 @@
"check": "檢查", "check": "檢查",
"check_all_keys": "檢查所有金鑰", "check_all_keys": "檢查所有金鑰",
"check_multiple_keys": "檢查多個 API 金鑰", "check_multiple_keys": "檢查多個 API 金鑰",
"copilot": {
"auth_failed": "Github Copilot認證失敗",
"auth_success": "Github Copilot 認證成功",
"auth_success_title": "認證成功",
"code_failed": "獲取 Device Code失敗請重試",
"code_generated_desc": "請將設備代碼複製到下面的瀏覽器連結中",
"code_generated_title": "獲取設備代碼",
"confirm_login": "過度使用可能會導致您的 Github 帳號遭到封號,請謹慎使用!!!!",
"confirm_title": "風險警告",
"connect": "連接 Github",
"custom_headers": "自訂請求標頭",
"description": "您的 Github 帳號需要訂閱 Copilot",
"expand": "展開",
"headers_description": "自訂請求標頭(json格式)",
"invalid_json": "JSON 格式錯誤",
"login": "登入 Github",
"logout": "退出 Github",
"logout_failed": "退出失敗,請重試",
"logout_success": "已成功登出",
"model_setting": "模型設定",
"open_verification_first": "請先點擊上方連結訪問驗證頁面",
"rate_limit": "速率限制",
"tooltip": "使用 Github Copilot 需要先登入 Github"
},
"delete.content": "確定要刪除此提供者嗎?", "delete.content": "確定要刪除此提供者嗎?",
"delete.title": "刪除提供者", "delete.title": "刪除提供者",
"docs_check": "檢查", "docs_check": "檢查",
"docs_more_details": "檢視更多細節", "docs_more_details": "檢視更多細節",
"get_api_key": "點選這裡取得金鑰", "get_api_key": "點選這裡取得金鑰",
"is_not_support_array_content": "開啟相容模式",
"no_models": "請先新增模型再檢查 API 連接", "no_models": "請先新增模型再檢查 API 連接",
"not_checked": "未檢查", "not_checked": "未檢查",
"remove_duplicate_keys": "移除重複金鑰", "remove_duplicate_keys": "移除重複金鑰",
"remove_invalid_keys": "刪除無效金鑰", "remove_invalid_keys": "刪除無效金鑰",
"search": "搜尋模型平臺...", "search": "搜尋模型平臺...",
"search_placeholder": "搜尋模型 ID 或名稱", "search_placeholder": "搜尋模型 ID 或名稱",
"title": "模型提供者", "title": "模型提供者"
"is_not_support_array_content": "開啟相容模式",
"copilot": {
"tooltip": "使用 Github Copilot 需要先登入 Github",
"description": "您的 Github 帳號需要訂閱 Copilot",
"login": "登入 Github",
"connect": "連接 Github",
"logout": "退出 Github",
"auth_success_title": "認證成功",
"code_generated_title": "獲取設備代碼",
"code_generated_desc": "請將設備代碼複製到下面的瀏覽器連結中",
"code_failed": "獲取 Device Code失敗請重試",
"auth_success": "Github Copilot 認證成功",
"auth_failed": "Github Copilot認證失敗",
"logout_success": "已成功登出",
"logout_failed": "退出失敗,請重試",
"confirm_title": "風險警告",
"confirm_login": "過度使用可能會導致您的 Github 帳號遭到封號,請謹慎使用!!!!",
"rate_limit": "速率限制",
"custom_headers": "自訂請求標頭",
"headers_description": "自訂請求標頭(json格式)",
"expand": "展開",
"model_setting": "模型設定",
"invalid_json": "JSON 格式錯誤",
"open_verification_first": "請先點擊上方連結訪問驗證頁面"
}
}, },
"proxy": { "proxy": {
"mode": { "mode": {
@ -1065,9 +1066,9 @@
"quickAssistant": { "quickAssistant": {
"click_tray_to_show": "點選工具列圖示啟動", "click_tray_to_show": "點選工具列圖示啟動",
"enable_quick_assistant": "啟用快捷助手", "enable_quick_assistant": "啟用快捷助手",
"read_clipboard_at_startup": "啟動時讀取剪貼簿",
"title": "快捷助手", "title": "快捷助手",
"use_shortcut_to_show": "右鍵點選工具列圖示或使用快捷鍵啟動", "use_shortcut_to_show": "右鍵點選工具列圖示或使用快捷鍵啟動"
"read_clipboard_at_startup": "啟動時讀取剪貼簿"
}, },
"shortcuts": { "shortcuts": {
"action": "操作", "action": "操作",
@ -1104,19 +1105,18 @@
"topic.position.left": "左側", "topic.position.left": "左側",
"topic.position.right": "右側", "topic.position.right": "右側",
"topic.show.time": "顯示話題時間", "topic.show.time": "顯示話題時間",
"tray.title": "系统匣",
"tray.show": "顯示系统匣圖示",
"tray.onclose": "關閉時最小化到系统匣", "tray.onclose": "關閉時最小化到系统匣",
"launch.title": "啟動", "tray.show": "顯示系统匣圖示",
"launch.onboot": "開機自動啟動", "tray.title": "系统匣",
"launch.totray": "啟動時最小化到系统匣",
"websearch": { "websearch": {
"blacklist": "黑名單", "blacklist": "黑名單",
"blacklist_description": "以下網站不會出現在搜尋結果中", "blacklist_description": "以下網站不會出現在搜尋結果中",
"blacklist_tooltip": "請使用以下格式 (換行符號分隔)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com", "blacklist_tooltip": "請使用以下格式 (換行符號分隔)\nexample.com\nhttps://www.example.com\nhttps://example.com\n*://*.example.com",
"check": "檢查", "check": "檢查",
"check_success": "驗證成功",
"check_failed": "驗證失敗", "check_failed": "驗證失敗",
"check_success": "驗證成功",
"enhance_mode": "搜索增強模式",
"enhance_mode_tooltip": "使用預設模型提取關鍵詞後搜索",
"get_api_key": "點選這裡取得金鑰", "get_api_key": "點選這裡取得金鑰",
"no_provider_selected": "請選擇搜尋服務商後再檢查", "no_provider_selected": "請選擇搜尋服務商後再檢查",
"search_max_result": "搜尋結果個數", "search_max_result": "搜尋結果個數",
@ -1124,8 +1124,6 @@
"search_provider_placeholder": "選擇一個搜尋服務商", "search_provider_placeholder": "選擇一個搜尋服務商",
"search_result_default": "預設", "search_result_default": "預設",
"search_with_time": "搜尋包含日期", "search_with_time": "搜尋包含日期",
"enhance_mode": "搜索增強模式",
"enhance_mode_tooltip": "使用預設模型提取關鍵詞後搜索",
"tavily": { "tavily": {
"api_key": "Tavily API 金鑰", "api_key": "Tavily API 金鑰",
"api_key.placeholder": "請輸入 Tavily API 金鑰", "api_key.placeholder": "請輸入 Tavily API 金鑰",

View File

@ -6,6 +6,7 @@ import {
isEmbeddingModel, isEmbeddingModel,
isFunctionCallingModel, isFunctionCallingModel,
isReasoningModel, isReasoningModel,
isRerankModel,
isVisionModel, isVisionModel,
isWebSearchModel, isWebSearchModel,
SYSTEM_MODELS SYSTEM_MODELS
@ -71,6 +72,8 @@ const PopupContainer: React.FC<Props> = ({ provider: _provider, resolve }) => {
return isEmbeddingModel(model) return isEmbeddingModel(model)
case 'function_calling': case 'function_calling':
return isFunctionCallingModel(model) return isFunctionCallingModel(model)
case 'rerank':
return isRerankModel(model)
default: default:
return true return true
} }
@ -157,7 +160,7 @@ const PopupContainer: React.FC<Props> = ({ provider: _provider, resolve }) => {
onCancel={onCancel} onCancel={onCancel}
afterClose={onClose} afterClose={onClose}
footer={null} footer={null}
width="600px" width="680px"
styles={{ styles={{
content: { padding: 0 }, content: { padding: 0 },
header: { padding: 22, paddingBottom: 15 } header: { padding: 22, paddingBottom: 15 }
@ -165,14 +168,19 @@ const PopupContainer: React.FC<Props> = ({ provider: _provider, resolve }) => {
centered> centered>
<SearchContainer> <SearchContainer>
<Center> <Center>
<Radio.Group value={filterType} onChange={(e) => setFilterType(e.target.value)} buttonStyle="solid"> <Radio.Group
size={i18n.language.startsWith('zh') ? 'middle' : 'small'}
value={filterType}
onChange={(e) => setFilterType(e.target.value)}
buttonStyle="solid">
<Radio.Button value="all">{t('models.all')}</Radio.Button> <Radio.Button value="all">{t('models.all')}</Radio.Button>
<Radio.Button value="reasoning">{t('models.reasoning')}</Radio.Button> <Radio.Button value="reasoning">{t('models.type.reasoning')}</Radio.Button>
<Radio.Button value="vision">{t('models.vision')}</Radio.Button> <Radio.Button value="vision">{t('models.type.vision')}</Radio.Button>
<Radio.Button value="websearch">{t('models.websearch')}</Radio.Button> <Radio.Button value="websearch">{t('models.type.websearch')}</Radio.Button>
<Radio.Button value="free">{t('models.free')}</Radio.Button> <Radio.Button value="free">{t('models.type.free')}</Radio.Button>
<Radio.Button value="embedding">{t('models.embedding')}</Radio.Button> <Radio.Button value="embedding">{t('models.type.embedding')}</Radio.Button>
<Radio.Button value="function_calling">{t('models.function_calling')}</Radio.Button> <Radio.Button value="rerank">{t('models.type.rerank')}</Radio.Button>
<Radio.Button value="function_calling">{t('models.type.function_calling')}</Radio.Button>
</Radio.Group> </Radio.Group>
</Center> </Center>
<Search <Search