feat: add translated message content

This commit is contained in:
kangfenmao 2024-12-02 13:41:28 +08:00
parent 2e9041c891
commit 744a6ac7cb
9 changed files with 1901 additions and 1779 deletions

View File

@ -1,490 +1,494 @@
{ {
"translation": { "translation": {
"common": {
"avatar": "Avatar",
"language": "Language",
"model": "Model",
"models": "Models",
"topics": "Topics",
"docs": "Docs",
"and": "and",
"assistant": "Assistant",
"name": "Name",
"description": "Description",
"prompt": "Prompt",
"rename": "Rename",
"delete": "Delete",
"edit": "Edit",
"duplicate": "Duplicate",
"copy": "Copy",
"paste": "Paste",
"cut": "Cut",
"regenerate": "Regenerate",
"provider": "Provider",
"you": "You",
"save": "Save",
"footnotes": "References",
"select": "Select",
"search": "Search",
"default": "Default",
"warning": "Warning",
"back": "Back",
"chat": "Chat",
"close": "Close",
"cancel": "Cancel",
"download": "Download",
"reset": "Reset"
},
"button": {
"add": "Add",
"added": "Added",
"manage": "Manage",
"select_model": "Select Model",
"show.all": "Show All",
"collapse": "Collapse"
},
"message": {
"copied": "Copied!",
"assistant.added.content": "Assistant added successfully",
"message.delete.title": "Delete Message",
"message.delete.content": "Are you sure you want to delete this message?",
"error.enter.api.key": "Please enter your API key first",
"error.enter.api.host": "Please enter your API host first",
"error.enter.model": "Please select a model first",
"error.invalid.proxy.url": "Invalid proxy URL",
"error.invalid.webdav": "Invalid WebDAV settings",
"api.connection.failed": "Connection failed",
"api.connection.success": "Connection successful",
"chat.completion.paused": "Chat completion paused",
"switch.disabled": "Switching is disabled while the assistant is generating",
"restore.success": "Restored successfully",
"backup.success": "Backup successful",
"backup.failed": "Backup failed",
"reset.confirm.content": "Are you sure you want to clear all data?",
"reset.double.confirm.title": "DATA LOST !!!",
"reset.double.confirm.content": "All data will be lost, do you want to continue?",
"upgrade.success.title": "Upgrade successfully",
"upgrade.success.content": "Please restart the application to complete the upgrade",
"upgrade.success.button": "Restart",
"topic.added": "New topic added",
"save.success.title": "Saved successfully",
"message.code_style": "Code style",
"message.style": "Message Style",
"message.style.bubble": "Bubble",
"message.style.plain": "Plain"
},
"chat": {
"save": "Save",
"default.name": "⭐️ Default Assistant",
"default.description": "Hello, I'm Default Assistant. You can start chatting with me right away",
"default.topic.name": "Default Topic",
"topics.title": "Topics",
"topics.auto_rename": "Auto Rename",
"topics.edit.title": "Edit Name",
"topics.edit.placeholder": "Enter new name",
"topics.clear.title": "Clear Messages",
"topics.move_to": "Move to",
"topics.list": "Topic List",
"topics.export.title": "Export",
"topics.export.image": "Export as image",
"topics.export.md": "Export as markdown",
"topics.export.word": "Export as Word",
"input.new_topic": "New Topic {{Command}}+N",
"input.topics": " Topics ",
"input.clear": "Clear",
"input.new.context": "Clear Context",
"input.expand": "Expand",
"input.collapse": "Collapse",
"input.clear.title": "Clear all messages?",
"input.clear.content": "Do you want to clear all messages of the current topic?",
"input.placeholder": "Type your message here...",
"input.send": "Send",
"input.pause": "Pause",
"input.settings": "Settings",
"input.upload": "Upload image or document file",
"input.context_count.tip": "Context Count",
"input.estimated_tokens.tip": "Estimated tokens",
"input.translate": "Translate to English",
"settings.temperature": "Temperature",
"settings.temperature.tip": "Lower values make the model more creative and unpredictable, while higher values make it more deterministic and precise.",
"settings.context_count": "Context",
"settings.context_count.tip": "The number of previous messages to keep in the context.",
"settings.max_tokens": "Enable Max Tokens Limit",
"settings.max_tokens.tip": "The maximum number of tokens the model can generate. Normal chat suggests 500-800. Short text generation suggests 800-2000. Code generation suggests 2000-3600. Long text generation suggests above 4000.",
"settings.reset": "Reset",
"settings.set_as_default": "Apply to default assistant",
"settings.max": "Max",
"settings.show_line_numbers": "Show Line Numbers in Code",
"settings.code_collapsible": "Code block collapsible",
"suggestions.title": "Suggested Questions",
"add.assistant.title": "Add Assistant",
"message.new.context": "New Context",
"message.new.branch": "New Branch",
"message.new.branch.created": "New Branch Created",
"assistant.search.placeholder": "Search",
"artifacts.button.preview": "Preview",
"artifacts.button.download": "Download"
},
"assistants": {
"title": "Assistants",
"abbr": "Assistant",
"search": "Search assistants...",
"settings.prompt": "Prompt Settings",
"settings.model": "Model Settings",
"settings.preset_messages": "Preset Messages",
"settings.default_model": "Default Model",
"settings.auto_reset_model": "Auto Reset Model",
"settings.auto_reset_model.tip": "Automatically reset the model when a new topic is created.",
"edit.title": "Edit Assistant",
"copy.title": "Copy Assistant",
"clear.title": "Clear topics",
"clear.content": "Clearing the topic will delete all topics and files in the assistant. Are you sure you want to continue?",
"save.title": "Save to agent",
"save.success": "Saved successfully",
"delete.title": "Delete Assistant",
"delete.content": "Deleting an assistant will delete all topics and files under the assistant. Are you sure you want to delete it?"
},
"model": {
"stream_output": "Stream Output",
"search": "Search models...",
"pinned": "Pinned",
"type": {
"text": "Text",
"vision": "Vision",
"select": "Select Model Types"
}
},
"paintings": {
"title": "Images",
"image.size": "Image Size",
"button.new.image": "New Image",
"button.delete.image": "Delete Image",
"button.delete.image.confirm": "Are you sure you want to delete this image?",
"number_images": "Number Images",
"number_images_tip": "Number of images to generate (1-4)",
"seed": "Seed",
"seed_tip": "The same seed and prompt can produce similar images",
"inference_steps": "Inference Steps",
"inference_steps_tip": "The number of inference steps to perform. More steps produce higher quality but take longer",
"guidance_scale": "Guidance Scale",
"guidance_scale_tip": "Classifier Free Guidance. How close you want the model to stick to your prompt when looking for a related image to show you",
"negative_prompt": "Negative Prompt",
"negative_prompt_tip": "Describe what you don't want included in the image",
"prompt_placeholder": "Describe the image you want to create, e.g. A serene lake at sunset with mountains in the background",
"regenerate.confirm": "This will replace your existing generated images. Do you want to continue?"
},
"files": {
"title": "Files",
"file": "File",
"name": "Name",
"size": "Size",
"count": "Count",
"created_at": "Created At",
"image": "Image",
"text": "Text",
"document": "Document",
"actions": "Actions",
"open": "Open",
"all": "All Files"
},
"agents": { "agents": {
"title": "Agents", "add.button": "Add to Assistant",
"my_agents": "My Agents",
"add.title": "Create Agent",
"edit.title": "Edit Agent",
"add.name": "Name", "add.name": "Name",
"add.name.placeholder": "Enter name", "add.name.placeholder": "Enter name",
"add.prompt": "Prompt", "add.prompt": "Prompt",
"add.prompt.placeholder": "Enter prompt", "add.prompt.placeholder": "Enter prompt",
"add.button": "Add to Assistant", "add.title": "Create Agent",
"manage.title": "Manage Agents",
"delete.popup.content": "Are you sure you want to delete this agent?", "delete.popup.content": "Are you sure you want to delete this agent?",
"tag.default": "Default",
"tag.system": "System",
"tag.agent": "Agent",
"tag.new": "New",
"edit.message.title": "Preset messages",
"edit.message.add.title": "Add", "edit.message.add.title": "Add",
"edit.message.group.title": "Message Group",
"edit.message.assistant.title": "Assistant",
"edit.message.assistant.placeholder": "Enter assistant message", "edit.message.assistant.placeholder": "Enter assistant message",
"edit.message.user.title": "User", "edit.message.assistant.title": "Assistant",
"edit.message.user.placeholder": "Enter user message",
"edit.message.empty.content": "Conversation input content cannot be empty", "edit.message.empty.content": "Conversation input content cannot be empty",
"edit.message.group.title": "Message Group",
"edit.message.title": "Preset messages",
"edit.message.user.placeholder": "Enter user message",
"edit.message.user.title": "User",
"edit.model.select.title": "Select Model", "edit.model.select.title": "Select Model",
"edit.settings.hide_preset_messages": "Hide Preset Message", "edit.settings.hide_preset_messages": "Hide Preset Message",
"edit.title": "Edit Agent",
"manage.title": "Manage Agents",
"my_agents": "My Agents",
"search.no_results": "No results found", "search.no_results": "No results found",
"sorting.title": "Sorting" "sorting.title": "Sorting",
"tag.agent": "Agent",
"tag.default": "Default",
"tag.new": "New",
"tag.system": "System",
"title": "Agents"
}, },
"minapp": { "assistants": {
"title": "MinApp" "abbr": "Assistant",
"clear.content": "Clearing the topic will delete all topics and files in the assistant. Are you sure you want to continue?",
"clear.title": "Clear topics",
"copy.title": "Copy Assistant",
"delete.content": "Deleting an assistant will delete all topics and files under the assistant. Are you sure you want to delete it?",
"delete.title": "Delete Assistant",
"edit.title": "Edit Assistant",
"save.success": "Saved successfully",
"save.title": "Save to agent",
"search": "Search assistants...",
"settings.auto_reset_model": "Auto Reset Model",
"settings.auto_reset_model.tip": "Automatically reset the model when a new topic is created.",
"settings.default_model": "Default Model",
"settings.model": "Model Settings",
"settings.preset_messages": "Preset Messages",
"settings.prompt": "Prompt Settings",
"title": "Assistants"
}, },
"history": { "button": {
"title": "Topics Search", "add": "Add",
"search.placeholder": "Search topics or messages...", "added": "Added",
"continue_chat": "Continue Chatting", "collapse": "Collapse",
"search.topics.empty": "No topics found, press Enter to search all messages", "manage": "Manage",
"search.messages": "Search All Messages", "select_model": "Select Model",
"locate.message": "Locate the message" "show.all": "Show All"
}, },
"provider": { "chat": {
"jina": "Jina", "add.assistant.title": "Add Assistant",
"mistral": "Mistral", "artifacts.button.download": "Download",
"hyperbolic": "Hyperbolic", "artifacts.button.preview": "Preview",
"grok": "Grok", "assistant.search.placeholder": "Search",
"nvidia": "Nvidia", "default.description": "Hello, I'm Default Assistant. You can start chatting with me right away",
"hunyuan": "Tencent Hunyuan", "default.name": "⭐️ Default Assistant",
"zhinao": "360AI", "default.topic.name": "Default Topic",
"fireworks": "Fireworks", "input.clear": "Clear",
"together": "Together", "input.clear.content": "Do you want to clear all messages of the current topic?",
"openai": "OpenAI", "input.clear.title": "Clear all messages?",
"gemini": "Gemini", "input.collapse": "Collapse",
"deepseek": "DeepSeek", "input.context_count.tip": "Context Count",
"moonshot": "Moonshot", "input.estimated_tokens.tip": "Estimated tokens",
"silicon": "SiliconFlow", "input.expand": "Expand",
"openrouter": "OpenRouter", "input.new.context": "Clear Context",
"yi": "Yi", "input.new_topic": "New Topic {{Command}}+N",
"zhipu": "ZHIPU AI", "input.pause": "Pause",
"groq": "Groq", "input.placeholder": "Type your message here...",
"ollama": "Ollama", "input.send": "Send",
"baichuan": "Baichuan", "input.settings": "Settings",
"dashscope": "Alibaba Cloud", "input.topics": " Topics ",
"anthropic": "Anthropic", "input.translate": "Translate to English",
"aihubmix": "AiHubMix", "input.upload": "Upload image or document file",
"stepfun": "StepFun", "message.new.branch": "New Branch",
"doubao": "Doubao", "message.new.branch.created": "New Branch Created",
"minimax": "MiniMax", "message.new.context": "New Context",
"graphrag-kylin-mountain": "GraphRAG", "save": "Save",
"github": "GitHub Models", "settings.code_collapsible": "Code block collapsible",
"ocoolai": "ocoolAI", "settings.context_count": "Context",
"azure-openai": "Azure OpenAI" "settings.context_count.tip": "The number of previous messages to keep in the context.",
"settings.max": "Max",
"settings.max_tokens": "Enable Max Tokens Limit",
"settings.max_tokens.tip": "The maximum number of tokens the model can generate. Normal chat suggests 500-800. Short text generation suggests 800-2000. Code generation suggests 2000-3600. Long text generation suggests above 4000.",
"settings.reset": "Reset",
"settings.set_as_default": "Apply to default assistant",
"settings.show_line_numbers": "Show Line Numbers in Code",
"settings.temperature": "Temperature",
"settings.temperature.tip": "Lower values make the model more creative and unpredictable, while higher values make it more deterministic and precise.",
"suggestions.title": "Suggested Questions",
"topics.auto_rename": "Auto Rename",
"topics.clear.title": "Clear Messages",
"topics.edit.placeholder": "Enter new name",
"topics.edit.title": "Edit Name",
"topics.export.image": "Export as image",
"topics.export.md": "Export as markdown",
"topics.export.title": "Export",
"topics.export.word": "Export as Word",
"topics.list": "Topic List",
"topics.move_to": "Move to",
"topics.title": "Topics",
"translate": "Translate"
}, },
"settings": { "common": {
"title": "Settings", "and": "and",
"general": "General Settings", "assistant": "Assistant",
"model": "Default Model", "avatar": "Avatar",
"assistant": "Default Assistant", "back": "Back",
"about": "About & Feedback", "cancel": "Cancel",
"messages.model.title": "Model Settings", "chat": "Chat",
"messages.title": "Message Settings", "close": "Close",
"messages.divider": "Show divider between messages", "copy": "Copy",
"messages.use_serif_font": "Use serif font", "cut": "Cut",
"messages.input.title": "Input Settings", "default": "Default",
"messages.input.show_estimated_tokens": "Show estimated tokens", "delete": "Delete",
"messages.input.send_shortcuts": "Send shortcuts", "description": "Description",
"messages.input.paste_long_text_as_file": "Paste long text as file", "docs": "Docs",
"messages.markdown_rendering_input_message": "Markdown render input msg", "download": "Download",
"messages.math_engine": "Math render engine", "duplicate": "Duplicate",
"general.title": "General Settings", "edit": "Edit",
"general.user_name": "User Name", "footnotes": "References",
"general.user_name.placeholder": "Enter your name", "language": "Language",
"general.backup.title": "Data Backup and Recovery", "model": "Model",
"general.backup.button": "Backup", "models": "Models",
"general.restore.button": "Restore", "name": "Name",
"general.view_webdav_settings": "View WebDAV settings", "paste": "Paste",
"general.reset.title": "Data Reset", "prompt": "Prompt",
"general.reset.button": "Reset", "provider": "Provider",
"general.manually_check_update.title": "Turn off update checking", "regenerate": "Regenerate",
"advanced.title": "Advanced Settings", "rename": "Rename",
"advanced.auto_switch_to_topics": "Auto switch to topic", "reset": "Reset",
"provider.api_key": "API Key", "save": "Save",
"provider.api_key.tip": "Multiple keys separated by commas", "search": "Search",
"provider.check": "Check", "select": "Select",
"provider.get_api_key": "Get API Key", "topics": "Topics",
"provider.api_host": "API Host", "warning": "Warning",
"provider.api_version": "API Version", "you": "You"
"provider.docs_check": "Check",
"provider.docs_more_details": "for more details",
"provider.search_placeholder": "Search model id or name",
"provider.api.url.reset": "Reset",
"provider.api.url.preview": "Preview: {{url}}",
"provider.api.url.tip": "Ending with / ignores v1, ending with # forces use of input address",
"models.default_assistant_model": "Default Assistant Model",
"models.default_assistant_model_description": "Model used when creating a new assistant, if the assistant is not set, this model will be used",
"models.topic_naming_model": "Topic Naming Model",
"models.topic_naming_model_description": "Model used when automatically naming a new topic",
"models.translate_model": "Translate Model",
"models.translate_model_description": "Model used for translation service",
"models.add.add_model": "Add Model",
"models.add.model_id.placeholder": "Required e.g. gpt-3.5-turbo",
"models.add.model_id": "Model ID",
"models.add.model_id.tooltip": "Example: gpt-3.5-turbo",
"models.add.model_name": "Model Name",
"models.add.model_name.placeholder": "Optional e.g. GPT-4",
"models.add.group_name": "Group Name",
"models.add.group_name.tooltip": "Optional e.g. ChatGPT",
"models.add.group_name.placeholder": "Optional e.g. ChatGPT",
"models.translate_model_prompt_title": "Translate Model Prompt",
"models.translate_model_prompt_message": "Please enter the translate model prompt",
"models.empty": "No models found",
"assistant.title": "Default Assistant",
"assistant.model_params": "Model Parameters",
"about.description": "A powerful AI assistant for producer",
"about.updateNotAvailable": "You are using the latest version",
"about.checkingUpdate": "Checking for updates...",
"about.updateError": "Update error",
"about.checkUpdate": "Check Update",
"about.downloading": "Downloading...",
"about.title": "About",
"about.releases.title": "Release Notes",
"about.releases.button": "Releases",
"about.website.title": "Official Website",
"about.website.button": "Website",
"about.feedback.title": "Feedback",
"about.feedback.button": "Feedback",
"about.contact.title": "Contact",
"about.license.title": "License",
"about.license.button": "License",
"about.contact.button": "Email",
"proxy.title": "Proxy Address",
"tray.title": "Enable System Tray Icon",
"theme.title": "Theme",
"theme.dark": "Dark",
"theme.light": "Light",
"theme.auto": "Auto",
"theme.window.style.title": "Window Style",
"theme.window.style.transparent": "Transparent Window",
"theme.window.style.opaque": "Opaque Window",
"font_size.title": "Message Font Size",
"topic.position": "Topic Position",
"topic.position.left": "Left",
"topic.position.right": "Right",
"topic.show.time": "Show Topic Time",
"display.title": "Display Settings",
"input.auto_translate_with_space": "Quickly translate with 3 spaces",
"shortcuts": {
"title": "Keyboard Shortcuts",
"action": "Action",
"key": "Key",
"new_topic": "New Topic",
"zoom_in": "Zoom In",
"zoom_out": "Zoom Out",
"zoom_reset": "Reset Zoom"
},
"provider": {
"title": "Model Provider",
"api_key": "API Key",
"api_key.tip": "Multiple keys separated by commas",
"check": "Check",
"get_api_key": "Get API Key",
"api_host": "API Host",
"api_version": "API Version",
"docs_check": "Check",
"docs_more_details": "for more details",
"search_placeholder": "Search model id or name",
"api.url.reset": "Reset",
"api.url.preview": "Preview: {{url}}",
"api.url.tip": "Ending with / ignores v1, ending with # forces use of input address",
"check_multiple_keys": "Check Multiple API Keys",
"check_all_keys": "Check All Keys",
"remove_invalid_keys": "Remove Invalid Keys",
"remove_duplicate_keys": "Remove Duplicate Keys",
"not_checked": "Not Checked",
"delete.title": "Delete Provider",
"delete.content": "Are you sure you want to delete this provider?",
"add.title": "Add Provider",
"add.name": "Provider Name",
"add.name.placeholder": "Example: OpenAI",
"add.type": "Provider Type",
"no_models": "Please add models first before checking the API connection"
},
"proxy": {
"title": "Proxy Settings",
"mode": {
"title": "Proxy Mode",
"system": "System Proxy",
"custom": "Custom Proxy",
"none": "No Proxy"
}
},
"data": {
"title": "Data Settings",
"webdav.title": "WebDAV",
"webdav.host": "WebDAV Host",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.user": "WebDAV User",
"webdav.password": "WebDAV Password",
"webdav.path": "WebDAV Path",
"webdav.path.placeholder": "/backup",
"webdav.backup.button": "Backup to WebDAV",
"webdav.restore.button": "Restore from WebDAV",
"data.title": "Data Directory",
"app_data": "App Data",
"app_logs": "App Logs",
"clear_cache": {
"title": "Clear Cache",
"button": "Clear Cache",
"confirm": "Clearing the cache will delete application cache data, including minapp data. This action is irreversible, continue?",
"success": "Cache cleared",
"error": "Error clearing cache"
}
}
},
"translate": {
"title": "Translation",
"any.language": "Any language",
"button.translate": "Translate",
"error.not_configured": "Translation model is not configured",
"input.placeholder": "Enter text to translate",
"output.placeholder": "Translation",
"confirm": {
"title": "Translation Confirmation",
"content": "Translation will replace the original text, continue?"
}
},
"languages": {
"english": "English",
"chinese": "Chinese",
"chinese-traditional": "Traditional Chinese",
"japanese": "Japanese",
"korean": "Korean",
"russian": "Russian",
"spanish": "Spanish",
"french": "French",
"italian": "Italian",
"portuguese": "Portuguese",
"arabic": "Arabic"
},
"ollama": {
"title": "Ollama",
"keep_alive_time.title": "Keep Alive Time",
"keep_alive_time.placeholder": "Minutes",
"keep_alive_time.description": "The time in minutes to keep the connection alive, default is 5 minutes."
}, },
"error": { "error": {
"chat.response": "Something went wrong. Please check if you have set your API key in the Settings > Providers",
"backup.file_format": "Backup file format error", "backup.file_format": "Backup file format error",
"provider_disabled": "Model provider is not enabled", "chat.response": "Something went wrong. Please check if you have set your API key in the Settings > Providers",
"no_api_key": "API key is not configured" "no_api_key": "API key is not configured",
}, "provider_disabled": "Model provider is not enabled"
"words": {
"knowledgeGraph": "Knowledge Graph",
"visualization": "Visualization"
}, },
"export": { "export": {
"attached_files": "Attached Files",
"user": "User",
"assistant": "Assistant", "assistant": "Assistant",
"attached_files": "Attached Files",
"conversation_details": "Conversation Details",
"conversation_history": "Conversation History",
"created": "Created", "created": "Created",
"last_updated": "Last Updated", "last_updated": "Last Updated",
"messages": "Messages", "messages": "Messages",
"conversation_details": "Conversation Details", "user": "User"
"conversation_history": "Conversation History" },
"files": {
"actions": "Actions",
"all": "All Files",
"count": "Count",
"created_at": "Created At",
"document": "Document",
"file": "File",
"image": "Image",
"name": "Name",
"open": "Open",
"size": "Size",
"text": "Text",
"title": "Files"
},
"history": {
"continue_chat": "Continue Chatting",
"locate.message": "Locate the message",
"search.messages": "Search All Messages",
"search.placeholder": "Search topics or messages...",
"search.topics.empty": "No topics found, press Enter to search all messages",
"title": "Topics Search"
},
"languages": {
"arabic": "Arabic",
"chinese": "Chinese",
"chinese-traditional": "Traditional Chinese",
"english": "English",
"french": "French",
"italian": "Italian",
"japanese": "Japanese",
"korean": "Korean",
"portuguese": "Portuguese",
"russian": "Russian",
"spanish": "Spanish"
}, },
"mermaid": { "mermaid": {
"title": "Mermaid Diagram",
"download": { "download": {
"svg": "Download SVG", "png": "Download PNG",
"png": "Download PNG" "svg": "Download SVG"
}, },
"tabs": { "tabs": {
"preview": "Preview", "preview": "Preview",
"source": "Source" "source": "Source"
},
"title": "Mermaid Diagram"
},
"message": {
"api.connection.failed": "Connection failed",
"api.connection.success": "Connection successful",
"assistant.added.content": "Assistant added successfully",
"backup.failed": "Backup failed",
"backup.success": "Backup successful",
"chat.completion.paused": "Chat completion paused",
"copied": "Copied!",
"error.enter.api.host": "Please enter your API host first",
"error.enter.api.key": "Please enter your API key first",
"error.enter.model": "Please select a model first",
"error.invalid.proxy.url": "Invalid proxy URL",
"error.invalid.webdav": "Invalid WebDAV settings",
"message.code_style": "Code style",
"message.delete.content": "Are you sure you want to delete this message?",
"message.delete.title": "Delete Message",
"message.style": "Message Style",
"message.style.bubble": "Bubble",
"message.style.plain": "Plain",
"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.title": "DATA LOST !!!",
"restore.success": "Restored successfully",
"save.success.title": "Saved successfully",
"switch.disabled": "Switching is disabled while the assistant is generating",
"topic.added": "New topic added",
"upgrade.success.button": "Restart",
"upgrade.success.content": "Please restart the application to complete the upgrade",
"upgrade.success.title": "Upgrade successfully"
},
"minapp": {
"title": "MinApp"
},
"model": {
"pinned": "Pinned",
"search": "Search models...",
"stream_output": "Stream Output",
"type": {
"select": "Select Model Types",
"text": "Text",
"vision": "Vision"
} }
}, },
"ollama": {
"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": "Ollama"
},
"paintings": {
"button.delete.image": "Delete Image",
"button.delete.image.confirm": "Are you sure you want to delete this image?",
"button.new.image": "New Image",
"guidance_scale": "Guidance Scale",
"guidance_scale_tip": "Classifier Free Guidance. How close you want the model to stick to your prompt when looking for a related image to show you",
"image.size": "Image Size",
"inference_steps": "Inference Steps",
"inference_steps_tip": "The number of inference steps to perform. More steps produce higher quality but take longer",
"negative_prompt": "Negative Prompt",
"negative_prompt_tip": "Describe what you don't want included in the image",
"number_images": "Number Images",
"number_images_tip": "Number of images to generate (1-4)",
"prompt_placeholder": "Describe the image you want to create, e.g. A serene lake at sunset with mountains in the background",
"regenerate.confirm": "This will replace your existing generated images. Do you want to continue?",
"seed": "Seed",
"seed_tip": "The same seed and prompt can produce similar images",
"title": "Images"
},
"provider": {
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",
"baichuan": "Baichuan",
"dashscope": "Alibaba Cloud",
"deepseek": "DeepSeek",
"doubao": "Doubao",
"fireworks": "Fireworks",
"gemini": "Gemini",
"github": "GitHub Models",
"graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok",
"groq": "Groq",
"hunyuan": "Tencent Hunyuan",
"hyperbolic": "Hyperbolic",
"jina": "Jina",
"minimax": "MiniMax",
"mistral": "Mistral",
"moonshot": "Moonshot",
"nvidia": "Nvidia",
"ocoolai": "ocoolAI",
"ollama": "Ollama",
"openai": "OpenAI",
"openrouter": "OpenRouter",
"silicon": "SiliconFlow",
"stepfun": "StepFun",
"together": "Together",
"yi": "Yi",
"zhinao": "360AI",
"zhipu": "ZHIPU AI"
},
"settings": {
"about": "About & Feedback",
"about.checkUpdate": "Check Update",
"about.checkingUpdate": "Checking for updates...",
"about.contact.button": "Email",
"about.contact.title": "Contact",
"about.description": "A powerful AI assistant for producer",
"about.downloading": "Downloading...",
"about.feedback.button": "Feedback",
"about.feedback.title": "Feedback",
"about.license.button": "License",
"about.license.title": "License",
"about.releases.button": "Releases",
"about.releases.title": "Release Notes",
"about.title": "About",
"about.updateError": "Update error",
"about.updateNotAvailable": "You are using the latest version",
"about.website.button": "Website",
"about.website.title": "Official Website",
"advanced.auto_switch_to_topics": "Auto switch to topic",
"advanced.title": "Advanced Settings",
"assistant": "Default Assistant",
"assistant.model_params": "Model Parameters",
"assistant.title": "Default Assistant",
"data": {
"app_data": "App Data",
"app_logs": "App Logs",
"clear_cache": {
"button": "Clear Cache",
"confirm": "Clearing the cache will delete application cache data, including minapp data. This action is irreversible, continue?",
"error": "Error clearing cache",
"success": "Cache cleared",
"title": "Clear Cache"
},
"data.title": "Data Directory",
"title": "Data Settings",
"webdav.backup.button": "Backup to WebDAV",
"webdav.host": "WebDAV Host",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.password": "WebDAV Password",
"webdav.path": "WebDAV Path",
"webdav.path.placeholder": "/backup",
"webdav.restore.button": "Restore from WebDAV",
"webdav.title": "WebDAV",
"webdav.user": "WebDAV User"
},
"display.title": "Display Settings",
"font_size.title": "Message Font Size",
"general": "General Settings",
"general.backup.button": "Backup",
"general.backup.title": "Data Backup and Recovery",
"general.manually_check_update.title": "Turn off update checking",
"general.reset.button": "Reset",
"general.reset.title": "Data Reset",
"general.restore.button": "Restore",
"general.title": "General Settings",
"general.user_name": "User Name",
"general.user_name.placeholder": "Enter your name",
"general.view_webdav_settings": "View WebDAV settings",
"input.auto_translate_with_space": "Quickly translate with 3 spaces",
"messages.divider": "Show divider between messages",
"messages.input.paste_long_text_as_file": "Paste long text as file",
"messages.input.send_shortcuts": "Send shortcuts",
"messages.input.show_estimated_tokens": "Show estimated tokens",
"messages.input.title": "Input Settings",
"messages.markdown_rendering_input_message": "Markdown render input msg",
"messages.math_engine": "Math render engine",
"messages.model.title": "Model Settings",
"messages.title": "Message Settings",
"messages.use_serif_font": "Use serif font",
"model": "Default Model",
"models.add.add_model": "Add Model",
"models.add.group_name": "Group Name",
"models.add.group_name.placeholder": "Optional e.g. ChatGPT",
"models.add.group_name.tooltip": "Optional e.g. ChatGPT",
"models.add.model_id": "Model ID",
"models.add.model_id.placeholder": "Required e.g. gpt-3.5-turbo",
"models.add.model_id.tooltip": "Example: gpt-3.5-turbo",
"models.add.model_name": "Model Name",
"models.add.model_name.placeholder": "Optional e.g. GPT-4",
"models.default_assistant_model": "Default Assistant Model",
"models.default_assistant_model_description": "Model used when creating a new assistant, if the assistant is not set, this model will be used",
"models.empty": "No models found",
"models.topic_naming_model": "Topic Naming Model",
"models.topic_naming_model_description": "Model used when automatically naming a new topic",
"models.translate_model": "Translate Model",
"models.translate_model_description": "Model used for translation service",
"models.translate_model_prompt_message": "Please enter the translate model prompt",
"models.translate_model_prompt_title": "Translate Model Prompt",
"provider": {
"add.name": "Provider Name",
"add.name.placeholder": "Example: OpenAI",
"add.title": "Add Provider",
"add.type": "Provider Type",
"api.url.preview": "Preview: {{url}}",
"api.url.reset": "Reset",
"api.url.tip": "Ending with / ignores v1, ending with # forces use of input address",
"api_host": "API Host",
"api_key": "API Key",
"api_key.tip": "Multiple keys separated by commas",
"api_version": "API Version",
"check": "Check",
"check_all_keys": "Check All Keys",
"check_multiple_keys": "Check Multiple API Keys",
"delete.content": "Are you sure you want to delete this provider?",
"delete.title": "Delete Provider",
"docs_check": "Check",
"docs_more_details": "for more details",
"get_api_key": "Get API Key",
"no_models": "Please add models first before checking the API connection",
"not_checked": "Not Checked",
"remove_duplicate_keys": "Remove Duplicate Keys",
"remove_invalid_keys": "Remove Invalid Keys",
"search_placeholder": "Search model id or name",
"title": "Model Provider"
},
"provider.api.url.preview": "Preview: {{url}}",
"provider.api.url.reset": "Reset",
"provider.api.url.tip": "Ending with / ignores v1, ending with # forces use of input address",
"provider.api_host": "API Host",
"provider.api_key": "API Key",
"provider.api_key.tip": "Multiple keys separated by commas",
"provider.api_version": "API Version",
"provider.check": "Check",
"provider.docs_check": "Check",
"provider.docs_more_details": "for more details",
"provider.get_api_key": "Get API Key",
"provider.search_placeholder": "Search model id or name",
"proxy": {
"mode": {
"custom": "Custom Proxy",
"none": "No Proxy",
"system": "System Proxy",
"title": "Proxy Mode"
},
"title": "Proxy Settings"
},
"proxy.title": "Proxy Address",
"shortcuts": {
"action": "Action",
"key": "Key",
"new_topic": "New Topic",
"title": "Keyboard Shortcuts",
"zoom_in": "Zoom In",
"zoom_out": "Zoom Out",
"zoom_reset": "Reset Zoom"
},
"theme.auto": "Auto",
"theme.dark": "Dark",
"theme.light": "Light",
"theme.title": "Theme",
"theme.window.style.opaque": "Opaque Window",
"theme.window.style.title": "Window Style",
"theme.window.style.transparent": "Transparent Window",
"title": "Settings",
"topic.position": "Topic Position",
"topic.position.left": "Left",
"topic.position.right": "Right",
"topic.show.time": "Show Topic Time",
"tray.title": "Enable System Tray Icon"
},
"translate": {
"any.language": "Any language",
"button.translate": "Translate",
"confirm": {
"content": "Translation will replace the original text, continue?",
"title": "Translation Confirmation"
},
"error.not_configured": "Translation model is not configured",
"error.failed": "Translation failed",
"input.placeholder": "Enter text to translate",
"output.placeholder": "Translation",
"processing": "Translation in progress...",
"title": "Translation",
"close": "Close"
},
"tray": { "tray": {
"show_window": "Show Window", "quit": "Quit",
"quit": "Quit" "show_window": "Show Window"
},
"words": {
"knowledgeGraph": "Knowledge Graph",
"visualization": "Visualization"
} }
} }
} }

View File

@ -1,490 +1,494 @@
{ {
"translation": { "translation": {
"common": {
"avatar": "Аватар",
"language": "Язык",
"model": "Модель",
"models": "Модели",
"topics": "Топики",
"docs": "Документы",
"and": "и",
"assistant": "Ассистент",
"name": "Имя",
"description": "Описание",
"prompt": "Промпт",
"rename": "Переименовать",
"delete": "Удалить",
"edit": "Редактировать",
"duplicate": "Дублировать",
"copy": "Копировать",
"paste": "Вставить",
"cut": "Вырезать",
"regenerate": "Пересоздать",
"provider": "Провайдер",
"you": "Вы",
"save": "Сохранить",
"footnotes": "Сноски",
"select": "Выбрать",
"search": "Поиск",
"default": "По умолчанию",
"warning": "Предупреждение",
"back": "Назад",
"chat": "Чат",
"close": "Закрыть",
"cancel": "Отмена",
"download": "Скачать",
"reset": "Сбросить"
},
"button": {
"add": "Добавить",
"added": "Добавлено",
"manage": "Редактировать",
"select_model": "Выбрать модель",
"show.all": "Показать все",
"collapse": "Свернуть"
},
"message": {
"copied": "Скопировано!",
"assistant.added.content": "Ассистент успешно добавлен",
"message.delete.title": "Удалить сообщение",
"message.delete.content": "Вы уверены, что хотите удалить это сообщение?",
"error.enter.api.key": "Пожалуйста, введите ваш API ключ",
"error.enter.api.host": "Пожалуйста, введите ваш API хост",
"error.enter.model": "Пожалуйста, выберите модель",
"error.invalid.proxy.url": "Неверный URL прокси",
"error.invalid.webdav": "Неверные настройки WebDAV",
"api.connection.failed": "Соединение не удалось",
"api.connection.success": "Соединение успешно",
"chat.completion.paused": "Завершение чата приостановлено",
"switch.disabled": "Переключение отключено, пока ассистент генерирует",
"restore.success": "Успешно восстановлено",
"backup.success": "Резервная копия успешно создана",
"backup.failed": "Создание резервной копии не удалось",
"reset.confirm.content": "Вы уверены, что хотите очистить все данные?",
"reset.double.confirm.title": "ДАННЫЕ БУДУТ УТЕРЯНЫ !!!",
"reset.double.confirm.content": "Все данные будут утеряны, хотите продолжить?",
"upgrade.success.title": "Обновление успешно",
"upgrade.success.content": "Пожалуйста, перезапустите приложение для завершения обновления",
"upgrade.success.button": "Перезапустить",
"topic.added": "Новый топик добавлен",
"save.success.title": "Успешно сохранено",
"message.code_style": "Стиль кода",
"message.style": "Стиль сообщения",
"message.style.bubble": "Пузырь",
"message.style.plain": "Простой"
},
"chat": {
"save": "Сохранить",
"default.name": "⭐️ Ассистент по умолчанию",
"default.description": "Привет, я Ассистент по умолчанию. Вы можете начать общаться со мной прямо сейчас",
"default.topic.name": "Топик по умолчанию",
"topics.title": "Топики",
"topics.auto_rename": "Автопереименование",
"topics.edit.title": "Редактировать заголовок",
"topics.edit.placeholder": "Введите новый заголовок",
"topics.clear.title": "Очистить сообщения",
"topics.move_to": "Переместить в",
"topics.list": "Список топиков",
"topics.export.title": "Экспорт",
"topics.export.image": "Экспорт как изображение",
"topics.export.md": "Экспорт как markdown",
"topics.export.word": "Экспорт как Word",
"input.new_topic": "Новый топик {{Command}}+N",
"input.topics": " Топики ",
"input.clear": "Очистить",
"input.new.context": "Очистить контекст",
"input.expand": "Развернуть",
"input.collapse": "Свернуть",
"input.clear.title": "Очистить все сообщения?",
"input.clear.content": "Хотите очистить все сообщения текущего топика?",
"input.placeholder": "Введите ваше сообщение здесь...",
"input.send": "Отправить",
"input.pause": "Остановить",
"input.settings": "Настройки",
"input.upload": "Загрузить изображение или документ",
"input.context_count.tip": "Количество контекстов",
"input.estimated_tokens.tip": "Затраты токенов",
"input.translate": "Перевести на английский",
"settings.temperature": "Температура",
"settings.temperature.tip": "Меньшие значения делают модель более креативной и непредсказуемой, в то время как большие значения делают её более детерминированной и точной.",
"settings.context_count": "Контекст",
"settings.context_count.tip": "Количество предыдущих сообщений, которые нужно сохранить в контексте.",
"settings.max_tokens": "Включить лимит максимальных токенов",
"settings.max_tokens.tip": "Максимальное количество токенов, которые может сгенерировать модель. Обычный чат предполагает 500-800. Генерация короткого текста предполагает 800-2000. Генерация кода предполагает 2000-3600. Генерация длинного текста предполагает выше 4000.",
"settings.reset": "Сбросить",
"settings.set_as_default": "Применить к ассистенту по умолчанию",
"settings.max": "Максимум",
"settings.show_line_numbers": "Показать номера строк в коде",
"settings.code_collapsible": "Блок кода свернут",
"suggestions.title": "Предложенные вопросы",
"add.assistant.title": "Добавить ассистента",
"message.new.context": "Новый контекст",
"message.new.branch": "Новая ветка",
"message.new.branch.created": "Новая ветка создана",
"assistant.search.placeholder": "Поиск",
"artifacts.button.preview": "Предпросмотр",
"artifacts.button.download": "Скачать"
},
"assistants": {
"title": "Ассистенты",
"abbr": "Ассистент",
"search": "Поиск ассистентов...",
"settings.prompt": "Настройки промптов",
"settings.model": "Настройки модели",
"settings.preset_messages": "Предустановленные сообщения",
"settings.default_model": "Модель по умолчанию",
"settings.auto_reset_model": "Автосброс модели",
"settings.auto_reset_model.tip": "Автоматически сбрасывать модель при создании нового топика.",
"edit.title": "Редактировать ассистента",
"copy.title": "Копировать ассистента",
"clear.title": "Очистить топики",
"clear.content": "Очистка топика удалит все топики и файлы в ассистенте. Вы уверены, что хотите продолжить?",
"save.title": "Сохранить в агента",
"save.success": "Успешно сохранено",
"delete.title": "Удалить ассистента",
"delete.content": "Удаление ассистента удалит все топики и файлы под ассистентом. Вы уверены, что хотите удалить его?"
},
"model": {
"stream_output": "Потоковый вывод",
"search": "Поиск моделей...",
"pinned": "Закреплено",
"type": {
"text": "Текст",
"vision": "Изображение",
"select": "Выберите тип модели"
}
},
"paintings": {
"title": "Изображения",
"image.size": "Размер изображения",
"button.new.image": "Новое изображение",
"button.delete.image": "Удалить изображение",
"button.delete.image.confirm": "Вы уверены, что хотите удалить это изображение?",
"number_images": "Количество изображений",
"number_images_tip": "Количество изображений для генерации (1-4)",
"seed": "Ключ генерации",
"seed_tip": "Одинаковый ключ генерации и промпт могут производить похожие изображения",
"inference_steps": "Шаги вывода",
"inference_steps_tip": "Количество шагов вывода для выполнения. Больше шагов производят более высокое качество, но занимают больше времени",
"guidance_scale": "Масштаб руководства",
"guidance_scale_tip": "Без классификатора руководства. Насколько близко вы хотите, чтобы модель придерживалась вашего промпта при поиске связанного изображения для показа вам",
"negative_prompt": "Негативный промпт",
"negative_prompt_tip": "Опишите, что вы не хотите включать в изображение",
"prompt_placeholder": "Опишите изображение, которое вы хотите создать, например, Спокойное озеро на закате с горами на заднем плане",
"regenerate.confirm": "Это заменит ваши существующие сгенерированные изображения. Хотите продолжить?"
},
"files": {
"title": "Файлы",
"file": "Файл",
"name": "Имя",
"size": "Размер",
"count": "Количество",
"created_at": "Дата создания",
"image": "Изображение",
"text": "Текст",
"document": "Документ",
"actions": "Действия",
"open": "Открыть",
"all": "Все файлы"
},
"agents": { "agents": {
"title": "Агенты", "add.button": "Добавить к ассистенту",
"my_agents": "Мои агенты",
"add.title": "Создать агента",
"edit.title": "Редактировать агента",
"add.name": "Имя", "add.name": "Имя",
"add.name.placeholder": "Введите имя", "add.name.placeholder": "Введите имя",
"add.prompt": "Промпт", "add.prompt": "Промпт",
"add.prompt.placeholder": "Введите промпт", "add.prompt.placeholder": "Введите промпт",
"add.button": "Добавить к ассистенту", "add.title": "Создать агента",
"manage.title": "Редактировать агентов",
"delete.popup.content": "Вы уверены, что хотите удалить этого агента?", "delete.popup.content": "Вы уверены, что хотите удалить этого агента?",
"tag.default": "По умолчанию",
"tag.system": "Система",
"tag.agent": "Агент",
"tag.new": "Новый",
"edit.message.title": "Предустановленные сообщения",
"edit.message.add.title": "Добавить", "edit.message.add.title": "Добавить",
"edit.message.group.title": "Группа сообщений",
"edit.message.assistant.title": "Ассистент",
"edit.message.assistant.placeholder": "Введите сообщение ассистента", "edit.message.assistant.placeholder": "Введите сообщение ассистента",
"edit.message.user.title": "Пользователь", "edit.message.assistant.title": "Ассистент",
"edit.message.user.placeholder": "Введите сообщение пользователя",
"edit.message.empty.content": "Содержание вводимого сообщения не может быть пустым", "edit.message.empty.content": "Содержание вводимого сообщения не может быть пустым",
"edit.message.group.title": "Группа сообщений",
"edit.message.title": "Предустановленные сообщения",
"edit.message.user.placeholder": "Введите сообщение пользователя",
"edit.message.user.title": "Пользователь",
"edit.model.select.title": "Выбрать модель", "edit.model.select.title": "Выбрать модель",
"edit.settings.hide_preset_messages": "Скрыть предустановленные сообщения", "edit.settings.hide_preset_messages": "Скрыть предустановленные сообщения",
"edit.title": "Редактировать агента",
"manage.title": "Редактировать агентов",
"my_agents": "Мои агенты",
"search.no_results": "Результаты не найдены", "search.no_results": "Результаты не найдены",
"sorting.title": "Сортировка" "sorting.title": "Сортировка",
"tag.agent": "Агент",
"tag.default": "По умолчанию",
"tag.new": "Новый",
"tag.system": "Система",
"title": "Агенты"
}, },
"minapp": { "assistants": {
"title": "Встроенные приложения" "abbr": "Ассистент",
"clear.content": "Очистка топика удалит все топики и файлы в ассистенте. Вы уверены, что хотите продолжить?",
"clear.title": "Очистить топики",
"copy.title": "Копировать ассистента",
"delete.content": "Удаление ассистента удалит все топики и файлы под ассистентом. Вы уверены, что хотите удалить его?",
"delete.title": "Удалить ассистента",
"edit.title": "Редактировать ассистента",
"save.success": "Успешно сохранено",
"save.title": "Сохранить в агента",
"search": "Поиск ассистентов...",
"settings.auto_reset_model": "Автосброс модели",
"settings.auto_reset_model.tip": "Автоматически сбрасывать модель при создании нового топика.",
"settings.default_model": "Модель по умолчанию",
"settings.model": "Настройки модели",
"settings.preset_messages": "Предустановленные сообщения",
"settings.prompt": "Настройки промптов",
"title": "Ассистенты"
}, },
"history": { "button": {
"title": "Поиск топиков", "add": "Добавить",
"search.placeholder": "Поиск топиков или сообщений...", "added": "Добавлено",
"continue_chat": "Продолжить чат", "collapse": "Свернуть",
"search.topics.empty": "Топики не найдены, нажмите Enter для поиска всех сообщений", "manage": "Редактировать",
"search.messages": "Поиск всех сообщений", "select_model": "Выбрать модель",
"locate.message": "Найти сообщение" "show.all": "Показать все"
}, },
"provider": { "chat": {
"jina": "Jina", "add.assistant.title": "Добавить ассистента",
"mistral": "Mistral", "artifacts.button.download": "Скачать",
"hyperbolic": "Hyperbolic", "artifacts.button.preview": "Предпросмотр",
"grok": "Grok", "assistant.search.placeholder": "Поиск",
"nvidia": "Nvidia", "default.description": "Привет, я Ассистент по умолчанию. Вы можете начать общаться со мной прямо сейчас",
"hunyuan": "Tencent Hunyuan", "default.name": "⭐️ Ассистент по умолчанию",
"zhinao": "360AI", "default.topic.name": "Топик по умолчанию",
"fireworks": "Fireworks", "input.clear": "Очистить",
"together": "Together", "input.clear.content": "Хотите очистить все сообщения текущего топика?",
"openai": "OpenAI", "input.clear.title": "Очистить все сообщения?",
"gemini": "Gemini", "input.collapse": "Свернуть",
"deepseek": "DeepSeek", "input.context_count.tip": "Количество контекстов",
"moonshot": "Moonshot", "input.estimated_tokens.tip": "Затраты токенов",
"silicon": "SiliconFlow", "input.expand": "Развернуть",
"openrouter": "OpenRouter", "input.new.context": "Очистить контекст",
"yi": "Yi", "input.new_topic": "Новый топик {{Command}}+N",
"zhipu": "ZHIPU AI", "input.pause": "Остановить",
"groq": "Groq", "input.placeholder": "Введите ваше сообщение здесь...",
"ollama": "Ollama", "input.send": "Отправить",
"baichuan": "Baichuan", "input.settings": "Настройки",
"dashscope": "Alibaba Cloud", "input.topics": " Топики ",
"anthropic": "Anthropic", "input.translate": "Перевести на английский",
"aihubmix": "AiHubMix", "input.upload": "Загрузить изображение или документ",
"stepfun": "StepFun", "message.new.branch": "Новая ветка",
"doubao": "Doubao", "message.new.branch.created": "Новая ветка создана",
"minimax": "MiniMax", "message.new.context": "Новый контекст",
"graphrag-kylin-mountain": "GraphRAG", "save": "Сохранить",
"github": "GitHub Models", "settings.code_collapsible": "Блок кода свернут",
"ocoolai": "ocoolAI", "settings.context_count": "Контекст",
"azure-openai": "Azure OpenAI" "settings.context_count.tip": "Количество предыдущих сообщений, которые нужно сохранить в контексте.",
"settings.max": "Максимум",
"settings.max_tokens": "Включить лимит максимальных токенов",
"settings.max_tokens.tip": "Максимальное количество токенов, которые может сгенерировать модель. Обычный чат предполагает 500-800. Генерация короткого текста предполагает 800-2000. Генерация кода предполагает 2000-3600. Генерация длинного текста предполагает выше 4000.",
"settings.reset": "Сбросить",
"settings.set_as_default": "Применить к ассистенту по умолчанию",
"settings.show_line_numbers": "Показать номера строк в коде",
"settings.temperature": "Температура",
"settings.temperature.tip": "Меньшие значения делают модель более креативной и непредсказуемой, в то время как большие значения делают её более детерминированной и точной.",
"suggestions.title": "Предложенные вопросы",
"topics.auto_rename": "Автопереименование",
"topics.clear.title": "Очистить сообщения",
"topics.edit.placeholder": "Введите новый заголовок",
"topics.edit.title": "Редактировать заголовок",
"topics.export.image": "Экспорт как изображение",
"topics.export.md": "Экспорт как markdown",
"topics.export.title": "Экспорт",
"topics.export.word": "Экспорт как Word",
"topics.list": "Список топиков",
"topics.move_to": "Переместить в",
"topics.title": "Топики",
"translate": "Перевести"
}, },
"settings": { "common": {
"title": "Настройки", "and": "и",
"general": "Общие настройки", "assistant": "Ассистент",
"model": "Модель по умолчанию", "avatar": "Аватар",
"assistant": "Ассистент по умолчанию", "back": "Назад",
"about": "О программе и обратная связь", "cancel": "Отмена",
"messages.model.title": "Настройки модели", "chat": "Чат",
"messages.title": "Настройки сообщений", "close": "Закрыть",
"messages.divider": "Показывать разделитель между сообщениями", "copy": "Копировать",
"messages.use_serif_font": "Использовать serif шрифт", "cut": "Вырезать",
"messages.input.title": "Настройки ввода", "default": "По умолчанию",
"messages.input.show_estimated_tokens": "Показывать затраты токенов", "delete": "Удалить",
"messages.input.send_shortcuts": "Горячие клавиши для отправки", "description": "Описание",
"messages.input.paste_long_text_as_file": "Вставлять длинный текст как файл", "docs": "Документы",
"messages.markdown_rendering_input_message": "Отображение ввода в формате Markdown", "download": "Скачать",
"messages.math_engine": "Математический движок", "duplicate": "Дублировать",
"general.title": "Общие настройки", "edit": "Редактировать",
"general.user_name": "Имя пользователя", "footnotes": "Сноски",
"general.user_name.placeholder": "Введите ваше имя", "language": "Язык",
"general.backup.title": "Резервное копирование и восстановление данных", "model": "Модель",
"general.backup.button": "Резервное копирование", "models": "Модели",
"general.restore.button": "Восстановление", "name": "Имя",
"general.view_webdav_settings": "Просмотр настроек WebDAV", "paste": "Вставить",
"general.reset.title": "Сброс данных", "prompt": "Промпт",
"general.reset.button": "Сброс", "provider": "Провайдер",
"general.manually_check_update.title": "Отключить проверку обновлений", "regenerate": "Пересоздать",
"advanced.title": "Расширенные настройки", "rename": "Переименовать",
"advanced.auto_switch_to_topics": "Автоматически переключаться на топик", "reset": "Сбросить",
"provider.api_key": "Ключ API", "save": "Сохранить",
"provider.api_key.tip": "Несколько ключей, разделенных запятыми", "search": "Поиск",
"provider.check": "Проверить", "select": "Выбрать",
"provider.get_api_key": "Получить ключ API", "topics": "Топики",
"provider.api_host": "Хост API", "warning": "Предупреждение",
"provider.api_version": "Версия API", "you": "Вы"
"provider.docs_check": "Проверить",
"provider.docs_more_details": "для получения дополнительной информации",
"provider.search_placeholder": "Поиск по ID или имени модели",
"provider.api.url.reset": "Сброс",
"provider.api.url.preview": "Предпросмотр: {{url}}",
"provider.api.url.tip": "Заканчивая на / игнорирует v1, заканчивая на # принудительно использует введенный адрес",
"models.default_assistant_model": "Модель ассистента по умолчанию",
"models.default_assistant_model_description": "Модель, используемая при создании нового ассистента, если ассистент не имеет настроенной модели, будет использоваться эта модель",
"models.topic_naming_model": "Модель именования топика",
"models.topic_naming_model_description": "Модель, используемая при автоматическом именовании нового топика",
"models.translate_model": "Модель перевода",
"models.translate_model_description": "Модель, используемая для сервиса перевода",
"models.add.add_model": "Добавить модель",
"models.add.model_id.placeholder": "Обязательно, например, gpt-3.5-turbo",
"models.add.model_id": "ID модели",
"models.add.model_id.tooltip": "Пример: gpt-3.5-turbo",
"models.add.model_name": "Имя модели",
"models.add.model_name.placeholder": "Необязательно, например, GPT-4",
"models.add.group_name": "Имя группы",
"models.add.group_name.tooltip": "Необязательно, например, ChatGPT",
"models.add.group_name.placeholder": "Необязательно, например, ChatGPT",
"models.translate_model_prompt_title": "Модель перевода",
"models.translate_model_prompt_message": "Введите модель перевода",
"models.empty": "Модели не найдены",
"assistant.title": "Ассистент по умолчанию",
"assistant.model_params": "Параметры модели",
"about.description": "Мощный AI-ассистент для созидания",
"about.updateNotAvailable": "Вы используете последнюю версию",
"about.checkingUpdate": "Проверка обновлений...",
"about.updateError": "Ошибка обновления",
"about.checkUpdate": "Проверить обновления",
"about.downloading": "Загрузка...",
"about.title": "О программе",
"about.releases.title": "Заметки о релизах",
"about.releases.button": "Релизы",
"about.website.title": "Официальный сайт",
"about.website.button": "Сайт",
"about.feedback.title": "Обратная связь",
"about.feedback.button": "Обратная связь",
"about.contact.title": "Контакты",
"about.license.title": "Лицензия",
"about.license.button": "Лицензия",
"about.contact.button": "Электронная почта",
"proxy.title": "Адрес прокси",
"tray.title": "Включить значок системного трея",
"theme.title": "Тема",
"theme.dark": "Темная",
"theme.light": "Светлая",
"theme.auto": "Автоматически",
"theme.window.style.title": "Стиль окна",
"theme.window.style.transparent": "Прозрачное окно",
"theme.window.style.opaque": "Непрозрачное окно",
"font_size.title": "Размер шрифта сообщений",
"topic.position": "Позиция топиков",
"topic.position.left": "Слева",
"topic.position.right": "Справа",
"topic.show.time": "Показывать время топика",
"display.title": "Настройки отображения",
"input.auto_translate_with_space": "Быстрый перевод с помощью 3-х пробелов",
"shortcuts": {
"title": "Горячие клавиши",
"action": "Действие",
"key": "Клавиша",
"new_topic": "Новый топик",
"zoom_in": "Увеличить",
"zoom_out": "Уменьшить",
"zoom_reset": "Сбросить масштаб"
},
"provider": {
"title": "Провайдеры моделей",
"api_key": "Ключ API",
"api_key.tip": "Несколько ключей, разделенных запятыми",
"check": "Проверить",
"get_api_key": "Получить ключ API",
"api_host": "Хост API",
"api_version": "Версия API",
"docs_check": "Проверить",
"docs_more_details": "для получения дополнительной информации",
"search_placeholder": "Поиск по ID или имени модели",
"api.url.reset": "Сброс",
"api.url.preview": "Предпросмотр: {{url}}",
"api.url.tip": "Заканчивая на / игнорирует v1, заканчивая на # принудительно использует введенный адрес",
"check_multiple_keys": "Проверить несколько ключей API",
"check_all_keys": "Проверить все ключи",
"remove_invalid_keys": "Удалить недействительные ключи",
"remove_duplicate_keys": "Удалить дубликаты ключей",
"not_checked": "Не проверено",
"delete.title": "Удалить провайдер",
"delete.content": "Вы уверены, что хотите удалить этот провайдер?",
"add.title": "Добавить провайдер",
"add.name": "Имя провайдера",
"add.name.placeholder": "Пример: OpenAI",
"add.type": "Тип провайдера",
"no_models": "Пожалуйста, добавьте модели перед проверкой соединения с API"
},
"proxy": {
"title": "Настройки прокси",
"mode": {
"title": "Режим прокси",
"system": "Системный прокси",
"custom": "Пользовательский прокси",
"none": "Не использовать прокси"
}
},
"data": {
"title": "Настройки данных",
"webdav.title": "WebDAV",
"webdav.host": "Хост WebDAV",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.user": "Пользователь WebDAV",
"webdav.password": "Пароль WebDAV",
"webdav.path": "Путь WebDAV",
"webdav.path.placeholder": "/backup",
"webdav.backup.button": "Резервное копирование на WebDAV",
"webdav.restore.button": "Восстановление с WebDAV",
"data.title": "Каталог данных",
"app_data": "Данные приложения",
"app_logs": "Логи приложения",
"clear_cache": {
"title": "Очистка кэша",
"button": "Очистка кэша",
"confirm": "Очистка кэша удалит данные приложения. Это действие необратимо, продолжить?",
"success": "Кэш очищен",
"error": "Ошибка при очистке кэша"
}
}
},
"translate": {
"title": "Перевод",
"any.language": "Любой язык",
"button.translate": "Перевести",
"error.not_configured": "Модель перевода не настроена",
"input.placeholder": "Введите текст для перевода",
"output.placeholder": "Перевод",
"confirm": {
"title": "Перевод подтверждение",
"content": "Перевод заменит исходный текст, продолжить?"
}
},
"languages": {
"english": "Английский",
"chinese": "Китайский",
"chinese-traditional": "Китайский традиционный",
"japanese": "Японский",
"korean": "Корейский",
"russian": "Русский",
"spanish": "Испанский",
"french": "Французский",
"italian": "Итальянский",
"portuguese": "Португальский",
"arabic": "Арабский"
},
"ollama": {
"title": "Ollama",
"keep_alive_time.title": "Время жизни модели",
"keep_alive_time.placeholder": "Минуты",
"keep_alive_time.description": "Время в минутах, в течение которого модель остается активной, по умолчанию 5 минут."
}, },
"error": { "error": {
"chat.response": "Что-то пошло не так. Пожалуйста, проверьте, установлен ли ваш ключ API в Настройки > Провайдеры",
"backup.file_format": "Ошибка формата файла резервной копии", "backup.file_format": "Ошибка формата файла резервной копии",
"provider_disabled": "Провайдер моделей не включен", "chat.response": "Что-то пошло не так. Пожалуйста, проверьте, установлен ли ваш ключ API в Настройки > Провайдеры",
"no_api_key": "Ключ API не настроен" "no_api_key": "Ключ API не настроен",
}, "provider_disabled": "Провайдер моделей не включен"
"words": {
"knowledgeGraph": "Граф знаний",
"visualization": "Визуализация"
}, },
"export": { "export": {
"attached_files": "Прикрепленные файлы",
"user": "Пользователь",
"assistant": "Ассистент", "assistant": "Ассистент",
"attached_files": "Прикрепленные файлы",
"conversation_details": "Детали разговора",
"conversation_history": "История разговора",
"created": "Создано", "created": "Создано",
"last_updated": "Последнее обновление", "last_updated": "Последнее обновление",
"messages": "Сообщения", "messages": "Сообщения",
"conversation_details": "Детали разговора", "user": "Пользователь"
"conversation_history": "История разговора" },
"files": {
"actions": "Действия",
"all": "Все файлы",
"count": "Количество",
"created_at": "Дата создания",
"document": "Документ",
"file": "Файл",
"image": "Изображение",
"name": "Имя",
"open": "Открыть",
"size": "Размер",
"text": "Текст",
"title": "Файлы"
},
"history": {
"continue_chat": "Продолжить чат",
"locate.message": "Найти сообщение",
"search.messages": "Поиск всех сообщений",
"search.placeholder": "Поиск топиков или сообщений...",
"search.topics.empty": "Топики не найдены, нажмите Enter для поиска всех сообщений",
"title": "Поиск топиков"
},
"languages": {
"arabic": "Арабский",
"chinese": "Китайский",
"chinese-traditional": "Китайский традиционный",
"english": "Английский",
"french": "Французский",
"italian": "Итальянский",
"japanese": "Японский",
"korean": "Корейский",
"portuguese": "Португальский",
"russian": "Русский",
"spanish": "Испанский"
}, },
"mermaid": { "mermaid": {
"title": "Диаграмма Mermaid",
"download": { "download": {
"svg": "Скачать SVG", "png": "Скачать PNG",
"png": "Скачать PNG" "svg": "Скачать SVG"
}, },
"tabs": { "tabs": {
"preview": "Предпросмотр", "preview": "Предпросмотр",
"source": "Исходный код" "source": "Исходный код"
},
"title": "Диаграмма Mermaid"
},
"message": {
"api.connection.failed": "Соединение не удалось",
"api.connection.success": "Соединение успешно",
"assistant.added.content": "Ассистент успешно добавлен",
"backup.failed": "Создание резервной копии не удалось",
"backup.success": "Резервная копия успешно создана",
"chat.completion.paused": "Завершение чата приостановлено",
"copied": "Скопировано!",
"error.enter.api.host": "Пожалуйста, введите ваш API хост",
"error.enter.api.key": "Пожалуйста, введите ваш API ключ",
"error.enter.model": "Пожалуйста, выберите модель",
"error.invalid.proxy.url": "Неверный URL прокси",
"error.invalid.webdav": "Неверные настройки WebDAV",
"message.code_style": "Стиль кода",
"message.delete.content": "Вы уверены, что хотите удалить это сообщение?",
"message.delete.title": "Удалить сообщение",
"message.style": "Стиль сообщения",
"message.style.bubble": "Пузырь",
"message.style.plain": "Простой",
"reset.confirm.content": "Вы уверены, что хотите очистить все данные?",
"reset.double.confirm.content": "Все данные будут утеряны, хотите продолжить?",
"reset.double.confirm.title": "ДАННЫЕ БУДУТ УТЕРЯНЫ !!!",
"restore.success": "Успешно восстановлено",
"save.success.title": "Успешно сохранено",
"switch.disabled": "Переключение отключено, пока ассистент генерирует",
"topic.added": "Новый топик добавлен",
"upgrade.success.button": "Перезапустить",
"upgrade.success.content": "Пожалуйста, перезапустите приложение для завершения обновления",
"upgrade.success.title": "Обновление успешно"
},
"minapp": {
"title": "Встроенные приложения"
},
"model": {
"pinned": "Закреплено",
"search": "Поиск моделей...",
"stream_output": "Потоковый вывод",
"type": {
"select": "Выберите тип модели",
"text": "Текст",
"vision": "Изображение"
} }
}, },
"ollama": {
"keep_alive_time.description": "Время в минутах, в течение которого модель остается активной, по умолчанию 5 минут.",
"keep_alive_time.placeholder": "Минуты",
"keep_alive_time.title": "Время жизни модели",
"title": "Ollama"
},
"paintings": {
"button.delete.image": "Удалить изображение",
"button.delete.image.confirm": "Вы уверены, что хотите удалить это изображение?",
"button.new.image": "Новое изображение",
"guidance_scale": "Масштаб руководства",
"guidance_scale_tip": "Без классификатора руководства. Насколько близко вы хотите, чтобы модель придерживалась вашего промпта при поиске связанного изображения для показа вам",
"image.size": "Размер изображения",
"inference_steps": "Шаги вывода",
"inference_steps_tip": "Количество шагов вывода для выполнения. Больше шагов производят более высокое качество, но занимают больше времени",
"negative_prompt": "Негативный промпт",
"negative_prompt_tip": "Опишите, что вы не хотите включать в изображение",
"number_images": "Количество изображений",
"number_images_tip": "Количество изображений для генерации (1-4)",
"prompt_placeholder": "Опишите изображение, которое вы хотите создать, например, Спокойное озеро на закате с горами на заднем плане",
"regenerate.confirm": "Это заменит ваши существующие сгенерированные изображения. Хотите продолжить?",
"seed": "Ключ генерации",
"seed_tip": "Одинаковый ключ генерации и промпт могут производить похожие изображения",
"title": "Изображения"
},
"provider": {
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",
"baichuan": "Baichuan",
"dashscope": "Alibaba Cloud",
"deepseek": "DeepSeek",
"doubao": "Doubao",
"fireworks": "Fireworks",
"gemini": "Gemini",
"github": "GitHub Models",
"graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok",
"groq": "Groq",
"hunyuan": "Tencent Hunyuan",
"hyperbolic": "Hyperbolic",
"jina": "Jina",
"minimax": "MiniMax",
"mistral": "Mistral",
"moonshot": "Moonshot",
"nvidia": "Nvidia",
"ocoolai": "ocoolAI",
"ollama": "Ollama",
"openai": "OpenAI",
"openrouter": "OpenRouter",
"silicon": "SiliconFlow",
"stepfun": "StepFun",
"together": "Together",
"yi": "Yi",
"zhinao": "360AI",
"zhipu": "ZHIPU AI"
},
"settings": {
"about": "О программе и обратная связь",
"about.checkUpdate": "Проверить обновления",
"about.checkingUpdate": "Проверка обновлений...",
"about.contact.button": "Электронная почта",
"about.contact.title": "Контакты",
"about.description": "Мощный AI-ассистент для созидания",
"about.downloading": "Загрузка...",
"about.feedback.button": "Обратная связь",
"about.feedback.title": "Обратная связь",
"about.license.button": "Лицензия",
"about.license.title": "Лицензия",
"about.releases.button": "Релизы",
"about.releases.title": "Заметки о релизах",
"about.title": "О программе",
"about.updateError": "Ошибка обновления",
"about.updateNotAvailable": "Вы используете последнюю версию",
"about.website.button": "Сайт",
"about.website.title": "Официальный сайт",
"advanced.auto_switch_to_topics": "Автоматически переключаться на топик",
"advanced.title": "Расширенные настройки",
"assistant": "Ассистент по умолчанию",
"assistant.model_params": "Параметры модели",
"assistant.title": "Ассистент по умолчанию",
"data": {
"app_data": "Данные приложения",
"app_logs": "Логи приложения",
"clear_cache": {
"button": "Очистка кэша",
"confirm": "Очистка кэша удалит данные приложения. Это действие необратимо, продолжить?",
"error": "Ошибка при очистке кэша",
"success": "Кэш очищен",
"title": "Очистка кэша"
},
"data.title": "Каталог данных",
"title": "Настройки данных",
"webdav.backup.button": "Резервное копирование на WebDAV",
"webdav.host": "Хост WebDAV",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.password": "Пароль WebDAV",
"webdav.path": "Путь WebDAV",
"webdav.path.placeholder": "/backup",
"webdav.restore.button": "Восстановление с WebDAV",
"webdav.title": "WebDAV",
"webdav.user": "Пользователь WebDAV"
},
"display.title": "Настройки отображения",
"font_size.title": "Размер шрифта сообщений",
"general": "Общие настройки",
"general.backup.button": "Резервное копирование",
"general.backup.title": "Резервное копирование и восстановление данных",
"general.manually_check_update.title": "Отключить проверку обновлений",
"general.reset.button": "Сброс",
"general.reset.title": "Сброс данных",
"general.restore.button": "Восстановление",
"general.title": "Общие настройки",
"general.user_name": "Имя пользователя",
"general.user_name.placeholder": "Введите ваше имя",
"general.view_webdav_settings": "Просмотр настроек WebDAV",
"input.auto_translate_with_space": "Быстрый перевод с помощью 3-х пробелов",
"messages.divider": "Показывать разделитель между сообщениями",
"messages.input.paste_long_text_as_file": "Вставлять длинный текст как файл",
"messages.input.send_shortcuts": "Горячие клавиши для отправки",
"messages.input.show_estimated_tokens": "Показывать затраты токенов",
"messages.input.title": "Настройки ввода",
"messages.markdown_rendering_input_message": "Отображение ввода в формате Markdown",
"messages.math_engine": "Математический движок",
"messages.model.title": "Настройки модели",
"messages.title": "Настройки сообщений",
"messages.use_serif_font": "Использовать serif шрифт",
"model": "Модель по умолчанию",
"models.add.add_model": "Добавить модель",
"models.add.group_name": "Имя группы",
"models.add.group_name.placeholder": "Необязательно, например, ChatGPT",
"models.add.group_name.tooltip": "Необязательно, например, ChatGPT",
"models.add.model_id": "ID модели",
"models.add.model_id.placeholder": "Обязательно, например, gpt-3.5-turbo",
"models.add.model_id.tooltip": "Пример: gpt-3.5-turbo",
"models.add.model_name": "Имя модели",
"models.add.model_name.placeholder": "Необязательно, например, GPT-4",
"models.default_assistant_model": "Модель ассистента по умолчанию",
"models.default_assistant_model_description": "Модель, используемая при создании нового ассистента, если ассистент не имеет настроенной модели, будет использоваться эта модель",
"models.empty": "Модели не найдены",
"models.topic_naming_model": "Модель именования топика",
"models.topic_naming_model_description": "Модель, используемая при автоматическом именовании нового топика",
"models.translate_model": "Модель перевода",
"models.translate_model_description": "Модель, используемая для сервиса перевода",
"models.translate_model_prompt_message": "Введите модель перевода",
"models.translate_model_prompt_title": "Модель перевода",
"provider": {
"add.name": "Имя провайдера",
"add.name.placeholder": "Пример: OpenAI",
"add.title": "Добавить провайдер",
"add.type": "Тип провайдера",
"api.url.preview": "Предпросмотр: {{url}}",
"api.url.reset": "Сброс",
"api.url.tip": "Заканчивая на / игнорирует v1, заканчивая на # принудительно использует введенный адрес",
"api_host": "Хост API",
"api_key": "Ключ API",
"api_key.tip": "Несколько ключей, разделенных запятыми",
"api_version": "Версия API",
"check": "Проверить",
"check_all_keys": "Проверить все ключи",
"check_multiple_keys": "Проверить несколько ключей API",
"delete.content": "Вы уверены, что хотите удалить этот провайдер?",
"delete.title": "Удалить провайдер",
"docs_check": "Проверить",
"docs_more_details": "для получения дополнительной информации",
"get_api_key": "Получить ключ API",
"no_models": "Пожалуйста, добавьте модели перед проверкой соединения с API",
"not_checked": "Не проверено",
"remove_duplicate_keys": "Удалить дубликаты ключей",
"remove_invalid_keys": "Удалить недействительные ключи",
"search_placeholder": "Поиск по ID или имени модели",
"title": "Провайдеры моделей"
},
"provider.api.url.preview": "Предпросмотр: {{url}}",
"provider.api.url.reset": "Сброс",
"provider.api.url.tip": "Заканчивая на / игнорирует v1, заканчивая на # принудительно использует введенный адрес",
"provider.api_host": "Хост API",
"provider.api_key": "Ключ API",
"provider.api_key.tip": "Несколько ключей, разделенных запятыми",
"provider.api_version": "Версия API",
"provider.check": "Проверить",
"provider.docs_check": "Проверить",
"provider.docs_more_details": "для получения дополнительной информации",
"provider.get_api_key": "Получить ключ API",
"provider.search_placeholder": "Поиск по ID или имени модели",
"proxy": {
"mode": {
"custom": "Пользовательский прокси",
"none": "Не использовать прокси",
"system": "Системный прокси",
"title": "Режим прокси"
},
"title": "Настройки прокси"
},
"proxy.title": "Адрес прокси",
"shortcuts": {
"action": "Действие",
"key": "Клавиша",
"new_topic": "Новый топик",
"title": "Горячие клавиши",
"zoom_in": "Увеличить",
"zoom_out": "Уменьшить",
"zoom_reset": "Сбросить масштаб"
},
"theme.auto": "Автоматически",
"theme.dark": "Темная",
"theme.light": "Светлая",
"theme.title": "Тема",
"theme.window.style.opaque": "Непрозрачное окно",
"theme.window.style.title": "Стиль окна",
"theme.window.style.transparent": "Прозрачное окно",
"title": "Настройки",
"topic.position": "Позиция топиков",
"topic.position.left": "Слева",
"topic.position.right": "Справа",
"topic.show.time": "Показывать время топика",
"tray.title": "Включить значок системного трея"
},
"translate": {
"any.language": "Любой язык",
"button.translate": "Перевести",
"confirm": {
"content": "Перевод заменит исходный текст, продолжить?",
"title": "Перевод подтверждение"
},
"error.not_configured": "Модель перевода не настроена",
"error.failed": "Перевод не удалось",
"input.placeholder": "Введите текст для перевода",
"output.placeholder": "Перевод",
"processing": "Перевод в процессе...",
"title": "Перевод",
"close": "Закрыть"
},
"tray": { "tray": {
"show_window": "Показать окно", "quit": "Выйти",
"quit": "Выйти" "show_window": "Показать окно"
},
"words": {
"knowledgeGraph": "Граф знаний",
"visualization": "Визуализация"
} }
} }
} }

View File

@ -1,478 +1,482 @@
{ {
"translation": { "translation": {
"common": {
"avatar": "头像",
"language": "语言",
"model": "模型",
"models": "模型",
"topics": "话题",
"docs": "文档",
"and": "和",
"assistant": "智能体",
"name": "名称",
"description": "描述",
"prompt": "提示词",
"rename": "重命名",
"delete": "删除",
"edit": "编辑",
"duplicate": "复制",
"copy": "复制",
"paste": "粘贴",
"cut": "剪切",
"regenerate": "重新生成",
"provider": "提供商",
"you": "用户",
"save": "保存",
"footnote": "引用内容",
"select": "选择",
"search": "搜索",
"default": "默认",
"warning": "警告",
"back": "返回",
"chat": "聊天",
"close": "关闭",
"cancel": "取消",
"download": "下载",
"reset": "重置"
},
"button": {
"add": "添加",
"added": "已添加",
"manage": "管理",
"select_model": "选择模型",
"show.all": "显示全部",
"collapse": "收起"
},
"message": {
"copied": "已复制",
"assistant.added.content": "智能体添加成功",
"message.delete.title": "删除消息",
"message.delete.content": "确定要删除此消息吗?",
"error.enter.api.key": "请输入您的 API 密钥",
"error.enter.api.host": "请输入您的 API 地址",
"error.enter.model": "请选择一个模型",
"error.invalid.proxy.url": "无效的代理地址",
"error.invalid.webdav": "无效的 WebDAV 设置",
"api.connection.failed": "连接失败",
"api.connection.success": "连接成功",
"chat.completion.paused": "会话已停止",
"switch.disabled": "模型回复完成后才能切换",
"restore.success": "恢复成功",
"backup.success": "备份成功",
"backup.failed": "备份失败",
"reset.confirm.content": "确定要重置所有数据吗?",
"reset.double.confirm.title": "数据丢失!!!",
"reset.double.confirm.content": "你的全部数据都会丢失,如果没有备份数据,将无法恢复,确定要继续吗?",
"upgrade.success.title": "升级成功",
"upgrade.success.content": "重启用以完成升级",
"upgrade.success.button": "重启",
"topic.added": "话题添加成功",
"save.success.title": "保存成功",
"message.code_style": "代码风格",
"message.style": "消息样式",
"message.style.bubble": "气泡",
"message.style.plain": "简洁"
},
"chat": {
"save": "保存",
"default.name": "⭐️ 默认助手",
"default.description": "你好,我是默认助手。你可以立刻开始跟我聊天。",
"default.topic.name": "默认话题",
"topics.title": "话题",
"topics.auto_rename": "生成话题名",
"topics.edit.title": "编辑话题名",
"topics.edit.placeholder": "输入新名称",
"topics.clear.title": "清空消息",
"topics.move_to": "移动到",
"topics.list": "话题列表",
"topics.export.title": "导出",
"topics.export.image": "导出为图片",
"topics.export.md": "导出为 Markdown",
"topics.export.word": "导出为 Word",
"input.new_topic": "新话题 {{Command}}+N",
"input.topics": " 话题 ",
"input.clear": "清空消息",
"input.new.context": "清除上下文",
"input.expand": "展开",
"input.collapse": "收起",
"input.clear.title": "清空消息",
"input.clear.content": "确定要清除当前会话所有消息吗?",
"input.placeholder": "在这里输入消息...",
"input.send": "发送",
"input.pause": "暂停",
"input.settings": "设置",
"input.upload": "上传图片或文档",
"input.context_count.tip": "上下文数",
"input.estimated_tokens.tip": "预估 token 数",
"input.translate": "翻译成英文",
"settings.temperature": "模型温度",
"settings.temperature.tip": "模型生成文本的随机程度。值越大,回复内容越赋有多样性、创造性、随机性;设为 0 根据事实回答。日常聊天建议设置为 0.7",
"settings.context_count": "上下文数",
"settings.context_count.tip": "要保留在上下文中的消息数量,数值越大,上下文越长,消耗的 token 越多。普通聊天建议 5-10",
"settings.max_tokens": "开启消息长度限制",
"settings.max_tokens.tip": "单次交互所用的最大 Token 数, 会影响返回结果的长度。普通聊天建议 500-800短文生成建议 800-2000代码生成建议 2000-3600长文生成建议切换模型到 4000 左右",
"settings.reset": "重置",
"settings.set_as_default": "应用到默认助手",
"settings.max": "不限",
"settings.show_line_numbers": "代码显示行号",
"settings.code_collapsible": "代码块可折叠",
"suggestions.title": "建议的问题",
"add.assistant.title": "添加助手",
"message.new.context": "清除上下文",
"message.new.branch": "新分支",
"message.new.branch.created": "新分支已创建",
"assistant.search.placeholder": "搜索",
"artifacts.button.preview": "预览",
"artifacts.button.download": "下载"
},
"assistants": {
"title": "助手",
"abbr": "助手",
"search": "搜索助手",
"settings.prompt": "提示词设置",
"settings.model": "模型设置",
"settings.preset_messages": "预设消息",
"settings.default_model": "默认模型",
"settings.auto_reset_model": "自动重置模型",
"settings.auto_reset_model.tip": "创建新话题时自动重置模型",
"edit.title": "编辑助手",
"copy.title": "复制助手",
"clear.title": "清空话题",
"clear.content": "清空话题会删除助手下所有话题和文件,确定要继续吗?",
"save.title": "保存到智能体",
"save.success": "保存成功",
"delete.title": "删除助手",
"delete.content": "删除助手会删除所有该助手下的话题和文件,确定要继续吗?"
},
"model": {
"stream_output": "流式输出",
"search": "搜索模型...",
"pinned": "已固定",
"type": {
"text": "文本",
"vision": "图像",
"select": "选择模型类型"
}
},
"paintings": {
"title": "图片",
"image.size": "图片尺寸",
"button.new.image": "新建图片",
"button.delete.image": "删除图片",
"button.delete.image.confirm": "确定要删除此图片吗?",
"number_images": "生成数量",
"number_images_tip": "一次生成的图片数量 (1-4)",
"seed": "随机种子",
"seed_tip": "相同的种子和提示词可以生成相似的图片",
"inference_steps": "推理步数",
"inference_steps_tip": "要执行的推理步数。步数越多,质量越高但耗时越长",
"guidance_scale": "引导比例",
"guidance_scale_tip": "无分类器指导。控制模型在寻找相关图像时对提示词的遵循程度",
"negative_prompt": "反向提示词",
"negative_prompt_tip": "描述你不想在图片中出现的内容",
"prompt_placeholder": "描述你想创建的图片,例如:一个宁静的湖泊,夕阳西下,远处是群山",
"regenerate.confirm": "这将覆盖已生成的图片,是否继续?"
},
"files": {
"title": "文件",
"file": "文件",
"name": "文件名",
"size": "大小",
"count": "文件数",
"created_at": "创建时间",
"image": "图片",
"text": "文本",
"document": "文档",
"actions": "操作",
"open": "打开",
"all": "所有文件"
},
"agents": { "agents": {
"title": "智能体", "add.button": "添加到助手",
"my_agents": "我的智能体",
"add.title": "创建智能体",
"edit.title": "编辑智能体",
"add.name": "名称", "add.name": "名称",
"add.name.placeholder": "输入名称", "add.name.placeholder": "输入名称",
"add.prompt": "提示词", "add.prompt": "提示词",
"add.prompt.placeholder": "输入提示词", "add.prompt.placeholder": "输入提示词",
"add.button": "添加到助手", "add.title": "创建智能体",
"manage.title": "管理智能体",
"delete.popup.content": "确定要删除此智能体吗?", "delete.popup.content": "确定要删除此智能体吗?",
"tag.default": "默认",
"tag.system": "系统",
"tag.agent": "智能体",
"tag.new": "新建",
"edit.message.title": "预设消息",
"edit.message.add.title": "添加", "edit.message.add.title": "添加",
"edit.message.group.title": "消息组",
"edit.message.assistant.title": "助手",
"edit.message.assistant.placeholder": "输入助手消息", "edit.message.assistant.placeholder": "输入助手消息",
"edit.message.user.title": "用户", "edit.message.assistant.title": "助手",
"edit.message.user.placeholder": "输入用户消息",
"edit.message.empty.content": "会话输入内容不能为空", "edit.message.empty.content": "会话输入内容不能为空",
"edit.message.group.title": "消息组",
"edit.message.title": "预设消息",
"edit.message.user.placeholder": "输入用户消息",
"edit.message.user.title": "用户",
"edit.model.select.title": "选择模型", "edit.model.select.title": "选择模型",
"edit.settings.hide_preset_messages": "隐藏预设消息", "edit.settings.hide_preset_messages": "隐藏预设消息",
"edit.title": "编辑智能体",
"manage.title": "管理智能体",
"my_agents": "我的智能体",
"search.no_results": "没有找到相关智能体", "search.no_results": "没有找到相关智能体",
"sorting.title": "排序" "sorting.title": "排序",
"tag.agent": "智能体",
"tag.default": "默认",
"tag.new": "新建",
"tag.system": "系统",
"title": "智能体"
}, },
"minapp": { "assistants": {
"title": "小程序" "abbr": "助手",
"clear.content": "清空话题会删除助手下所有话题和文件,确定要继续吗?",
"clear.title": "清空话题",
"copy.title": "复制助手",
"delete.content": "删除助手会删除所有该助手下的话题和文件,确定要继续吗?",
"delete.title": "删除助手",
"edit.title": "编辑助手",
"save.success": "保存成功",
"save.title": "保存到智能体",
"search": "搜索助手",
"settings.auto_reset_model": "自动重置模型",
"settings.auto_reset_model.tip": "创建新话题时自动重置模型",
"settings.default_model": "默认模型",
"settings.model": "模型设置",
"settings.preset_messages": "预设消息",
"settings.prompt": "提示词设置",
"title": "助手"
}, },
"history": { "button": {
"title": "话题搜索", "add": "添加",
"search.placeholder": "搜索话题或消息...", "added": "已添加",
"continue_chat": "继续聊天", "collapse": "收起",
"search.topics.empty": "没有找到相关话题, 点击回车键搜索所有消息", "manage": "管理",
"search.messages": "搜索所有消息", "select_model": "选择模型",
"locate.message": "定位到消息" "show.all": "显示全部"
}, },
"provider": { "chat": {
"jina": "Jina", "add.assistant.title": "添加助手",
"mistral": "Mistral", "artifacts.button.download": "下载",
"hyperbolic": "Hyperbolic", "artifacts.button.preview": "预览",
"grok": "Grok", "assistant.search.placeholder": "搜索",
"nvidia": "英伟达", "default.description": "你好,我是默认助手。你可以立刻开始跟我聊天。",
"hunyuan": "腾讯混元", "default.name": "⭐️ 默认助手",
"zhinao": "360智脑", "default.topic.name": "默认话题",
"fireworks": "Fireworks", "input.clear": "清空消息",
"together": "Together", "input.clear.content": "确定要清除当前会话所有消息吗?",
"openai": "OpenAI", "input.clear.title": "清空消息",
"gemini": "Gemini", "input.collapse": "收起",
"deepseek": "深度求索", "input.context_count.tip": "上下文数",
"moonshot": "月之暗面", "input.estimated_tokens.tip": "预估 token 数",
"silicon": "硅基流动", "input.expand": "展开",
"openrouter": "OpenRouter", "input.new.context": "清除上下文",
"yi": "零一万物", "input.new_topic": "新话题 {{Command}}+N",
"zhipu": "智谱AI", "input.pause": "暂停",
"groq": "Groq", "input.placeholder": "在这里输入消息...",
"ollama": "Ollama", "input.send": "发送",
"baichuan": "百川", "input.settings": "设置",
"dashscope": "阿里云百炼", "input.topics": " 话题 ",
"anthropic": "Anthropic", "input.translate": "翻译成英文",
"aihubmix": "AiHubMix", "input.upload": "上传图片或文档",
"stepfun": "阶跃星辰", "message.new.branch": "新分支",
"doubao": "豆包", "message.new.branch.created": "新分支已创建",
"minimax": "MiniMax", "message.new.context": "清除上下文",
"graphrag-kylin-mountain": "GraphRAG", "save": "保存",
"github": "GitHub Models", "settings.code_collapsible": "代码块可折叠",
"ocoolai": "ocoolAI", "settings.context_count": "上下文数",
"azure-openai": "Azure OpenAI" "settings.context_count.tip": "要保留在上下文中的消息数量,数值越大,上下文越长,消耗的 token 越多。普通聊天建议 5-10",
"settings.max": "不限",
"settings.max_tokens": "开启消息长度限制",
"settings.max_tokens.tip": "单次交互所用的最大 Token 数, 会影响返回结果的长度。普通聊天建议 500-800短文生成建议 800-2000代码生成建议 2000-3600长文生成建议切换模型到 4000 左右",
"settings.reset": "重置",
"settings.set_as_default": "应用到默认助手",
"settings.show_line_numbers": "代码显示行号",
"settings.temperature": "模型温度",
"settings.temperature.tip": "模型生成文本的随机程度。值越大,回复内容越赋有多样性、创造性、随机性;设为 0 根据事实回答。日常聊天建议设置为 0.7",
"suggestions.title": "建议的问题",
"topics.auto_rename": "生成话题名",
"topics.clear.title": "清空消息",
"topics.edit.placeholder": "输入新名称",
"topics.edit.title": "编辑话题名",
"topics.export.image": "导出为图片",
"topics.export.md": "导出为 Markdown",
"topics.export.title": "导出",
"topics.export.word": "导出为 Word",
"topics.list": "话题列表",
"topics.move_to": "移动到",
"topics.title": "话题",
"translate": "翻译"
}, },
"settings": { "common": {
"title": "设置", "and": "和",
"general": "常规设置", "assistant": "智能体",
"model": "默认模型", "avatar": "头像",
"assistant": "默认助手", "back": "返回",
"about": "关于我们", "cancel": "取消",
"messages.model.title": "模型设置", "chat": "聊天",
"messages.title": "消息设置", "close": "关闭",
"messages.divider": "消息分割线", "copy": "复制",
"messages.use_serif_font": "使用衬线字体", "cut": "剪切",
"messages.input.title": "输入设置", "default": "默认",
"messages.input.show_estimated_tokens": "显示预估 Token 数", "delete": "删除",
"messages.input.send_shortcuts": "发送快捷键", "description": "描述",
"messages.input.paste_long_text_as_file": "长文本粘贴为文件", "docs": "文档",
"messages.markdown_rendering_input_message": "Markdown 渲染输入消息", "download": "下载",
"messages.math_engine": "数学公式引擎", "duplicate": "复制",
"general.title": "常规设置", "edit": "编辑",
"general.user_name": "用户名", "footnote": "引用内容",
"general.user_name.placeholder": "请输入用户名", "language": "语言",
"general.backup.title": "数据备份与恢复", "model": "模型",
"general.backup.button": "备份", "models": "模型",
"general.restore.button": "恢复", "name": "名称",
"general.reset.title": "重置数据", "paste": "粘贴",
"general.reset.button": "重置", "prompt": "提示词",
"general.view_webdav_settings": "查看 WebDAV 设置", "provider": "提供商",
"general.manually_check_update.title": "关闭更新检测", "regenerate": "重新生成",
"advanced.title": "高级设置", "rename": "重命名",
"advanced.auto_switch_to_topics": "自动切换到话题", "reset": "重置",
"models.default_assistant_model": "默认助手模型", "save": "保存",
"models.default_assistant_model_description": "创建新助手时使用的模型,如果助手未设置模型,则使用此模型", "search": "搜索",
"models.topic_naming_model": "话题命名模型", "select": "选择",
"models.topic_naming_model_description": "自动命名新话题时使用的模型", "topics": "话题",
"models.translate_model": "翻译模型", "warning": "警告",
"models.translate_model_description": "翻译服务使用的模型", "you": "用户"
"models.add.add_model": "添加模型",
"models.add.model_id.placeholder": "必填 例如 gpt-3.5-turbo",
"models.add.model_id": "模型 ID",
"models.add.model_id.tooltip": "例如 gpt-3.5-turbo",
"models.add.model_name": "模型名称",
"models.add.model_name.placeholder": "例如 GPT-3.5",
"models.add.group_name": "分组名称",
"models.add.group_name.tooltip": "例如 ChatGPT",
"models.add.group_name.placeholder": "例如 ChatGPT",
"models.translate_model_prompt_title": "翻译模型提示词",
"models.translate_model_prompt_message": "请输入翻译模型提示词",
"models.empty": "没有模型",
"assistant.title": "默认助手",
"assistant.model_params": "模型参数",
"about.description": "一款为创造者而生的 AI 助手",
"about.updateNotAvailable": "你的软件已是最新版本",
"about.checkingUpdate": "正在检查更新...",
"about.updateError": "更新出错",
"about.checkUpdate": "检查更新",
"about.downloading": "正在下载更新...",
"about.title": "关于我们",
"about.releases.title": "更新日志",
"about.releases.button": "查看",
"about.website.title": "官方网站",
"about.website.button": "查看",
"about.feedback.title": "意见反馈",
"about.feedback.button": "反馈",
"about.contact.title": "邮件联系",
"about.license.title": "许可证",
"about.license.button": "查看",
"about.contact.button": "邮件",
"proxy.title": "代理地址",
"tray.title": "启用系统托盘图标",
"theme.title": "主题",
"theme.dark": "深色主题",
"theme.light": "浅色主题",
"theme.auto": "跟随系统",
"theme.window.style.title": "窗口样式",
"theme.window.style.transparent": "透明窗口",
"theme.window.style.opaque": "不透明窗口",
"font_size.title": "消息字体大小",
"topic.position": "话题位置",
"topic.position.left": "左侧",
"topic.position.right": "右侧",
"topic.show.time": "显示话题时间",
"display.title": "显示设置",
"input.auto_translate_with_space": "快速敲击3次空格翻译",
"shortcuts": {
"title": "快捷方式",
"action": "操作",
"key": "按键",
"new_topic": "新建话题",
"zoom_in": "放大界面",
"zoom_out": "缩小界面",
"zoom_reset": "重置缩放"
},
"provider": {
"title": "模型服务",
"api_key": "API 密钥",
"api_key.tip": "多个密钥使用逗号分隔",
"check": "检查",
"get_api_key": "点击这里获取密钥",
"api_host": "API 地址",
"api_version": "API 版本",
"docs_check": "查看",
"docs_more_details": "获取更多详情",
"search_placeholder": "搜索模型 ID 或名称",
"api.url.reset": "重置",
"api.url.preview": "预览: {{url}}",
"api.url.tip": "/结尾忽略v1版本#结尾制使用输入地址",
"check_multiple_keys": "检查多个 API 密钥",
"check_all_keys": "检查所有密钥",
"remove_invalid_keys": "删除无效密钥",
"remove_duplicate_keys": "移除重复密钥",
"not_checked": "未检查",
"delete.title": "删除提供商",
"delete.content": "确定要删除此模型提供商吗?",
"add.title": "添加提供商",
"add.name": "提供商名称",
"add.name.placeholder": "例如 OpenAI",
"add.type": "提供商类型",
"no_models": "请先添加模型再检查 API 连接"
},
"proxy": {
"title": "代理设置",
"mode": {
"title": "代理模式",
"system": "系统代理",
"custom": "自定义代理",
"none": "不使用代理"
}
},
"data": {
"title": "数据设置",
"webdav.title": "WebDAV",
"webdav.host": "WebDAV 地址",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.user": "WebDAV 用户名",
"webdav.password": "WebDAV 密码",
"webdav.path": "WebDAV 路径",
"webdav.path.placeholder": "/backup",
"webdav.backup.button": "备份到 WebDAV",
"webdav.restore.button": "从 WebDAV 恢复",
"data.title": "数据目录",
"app_data": "应用数据",
"app_logs": "应用日志",
"clear_cache": {
"title": "清除缓存",
"button": "清除缓存",
"confirm": "清除缓存将删除应用缓存的数据,包括小程序数据。此操作不可恢复,是否继续?",
"success": "缓存清除成功",
"error": "清除缓存失败"
}
}
},
"translate": {
"title": "翻译",
"any.language": "任意语言",
"button.translate": "翻译",
"error.not_configured": "翻译模型未配置",
"input.placeholder": "输入文本进行翻译",
"output.placeholder": "翻译",
"confirm": {
"title": "翻译确认",
"content": "翻译后将覆盖原文,是否继续?"
}
},
"languages": {
"english": "英文",
"chinese": "简体中文",
"chinese-traditional": "繁体中文",
"japanese": "日文",
"korean": "韩文",
"russian": "俄文",
"spanish": "西班牙文",
"french": "法文",
"italian": "意大利文",
"portuguese": "葡萄牙文",
"arabic": "阿拉伯文"
},
"ollama": {
"title": "Ollama",
"keep_alive_time.title": "保持活跃时间",
"keep_alive_time.placeholder": "分钟",
"keep_alive_time.description": "对话后模型在内存中保持的时间默认5分钟"
}, },
"error": { "error": {
"chat.response": "出错了,如果没有配置 API 密钥,请前往设置 > 模型提供商中配置密钥",
"backup.file_format": "备份文件格式错误", "backup.file_format": "备份文件格式错误",
"provider_disabled": "模型提供商未启用", "chat.response": "出错了,如果没有配置 API 密钥,请前往设置 > 模型提供商中配置密钥",
"no_api_key": "API 密钥未配置" "no_api_key": "API 密钥未配置",
}, "provider_disabled": "模型提供商未启用"
"words": {
"knowledgeGraph": "知识图谱",
"visualization": "可视化"
}, },
"export": { "export": {
"attached_files": "附件",
"user": "用户",
"assistant": "助手", "assistant": "助手",
"attached_files": "附件",
"conversation_details": "会话详情",
"conversation_history": "会话历史",
"created": "创建时间", "created": "创建时间",
"last_updated": "最后更新", "last_updated": "最后更新",
"messages": "消息数", "messages": "消息数",
"conversation_details": "会话详情", "user": "用户"
"conversation_history": "会话历史" },
"files": {
"actions": "操作",
"all": "所有文件",
"count": "文件数",
"created_at": "创建时间",
"document": "文档",
"file": "文件",
"image": "图片",
"name": "文件名",
"open": "打开",
"size": "大小",
"text": "文本",
"title": "文件"
},
"history": {
"continue_chat": "继续聊天",
"locate.message": "定位到消息",
"search.messages": "搜索所有消息",
"search.placeholder": "搜索话题或消息...",
"search.topics.empty": "没有找到相关话题, 点击回车键搜索所有消息",
"title": "话题搜索"
},
"languages": {
"arabic": "阿拉伯文",
"chinese": "简体中文",
"chinese-traditional": "繁体中文",
"english": "英文",
"french": "法文",
"italian": "意大利文",
"japanese": "日文",
"korean": "韩文",
"portuguese": "葡萄牙文",
"russian": "俄文",
"spanish": "西班牙文"
}, },
"mermaid": { "mermaid": {
"title": "Mermaid 图表",
"download": { "download": {
"svg": "下载 SVG", "png": "下载 PNG",
"png": "下载 PNG" "svg": "下载 SVG"
}, },
"tabs": { "tabs": {
"preview": "预览", "preview": "预览",
"source": "源码" "source": "源码"
},
"title": "Mermaid 图表"
},
"message": {
"api.connection.failed": "连接失败",
"api.connection.success": "连接成功",
"assistant.added.content": "智能体添加成功",
"backup.failed": "备份失败",
"backup.success": "备份成功",
"chat.completion.paused": "会话已停止",
"copied": "已复制",
"error.enter.api.host": "请输入您的 API 地址",
"error.enter.api.key": "请输入您的 API 密钥",
"error.enter.model": "请选择一个模型",
"error.invalid.proxy.url": "无效的代理地址",
"error.invalid.webdav": "无效的 WebDAV 设置",
"message.code_style": "代码风格",
"message.delete.content": "确定要删除此消息吗?",
"message.delete.title": "删除消息",
"message.style": "消息样式",
"message.style.bubble": "气泡",
"message.style.plain": "简洁",
"reset.confirm.content": "确定要重置所有数据吗?",
"reset.double.confirm.content": "你的全部数据都会丢失,如果没有备份数据,将无法恢复,确定要继续吗?",
"reset.double.confirm.title": "数据丢失!!!",
"restore.success": "恢复成功",
"save.success.title": "保存成功",
"switch.disabled": "模型回复完成后才能切换",
"topic.added": "话题添加成功",
"upgrade.success.button": "重启",
"upgrade.success.content": "重启用以完成升级",
"upgrade.success.title": "升级成功"
},
"minapp": {
"title": "小程序"
},
"model": {
"pinned": "已固定",
"search": "搜索模型...",
"stream_output": "流式输出",
"type": {
"select": "选择模型类型",
"text": "文本",
"vision": "图像"
} }
}, },
"ollama": {
"keep_alive_time.description": "对话后模型在内存中保持的时间默认5分钟",
"keep_alive_time.placeholder": "分钟",
"keep_alive_time.title": "保持活跃时间",
"title": "Ollama"
},
"paintings": {
"button.delete.image": "删除图片",
"button.delete.image.confirm": "确定要删除此图片吗?",
"button.new.image": "新建图片",
"guidance_scale": "引导比例",
"guidance_scale_tip": "无分类器指导。控制模型在寻找相关图像时对提示词的遵循程度",
"image.size": "图片尺寸",
"inference_steps": "推理步数",
"inference_steps_tip": "要执行的推理步数。步数越多,质量越高但耗时越长",
"negative_prompt": "反向提示词",
"negative_prompt_tip": "描述你不想在图片中出现的内容",
"number_images": "生成数量",
"number_images_tip": "一次生成的图片数量 (1-4)",
"prompt_placeholder": "描述你想创建的图片,例如:一个宁静的湖泊,夕阳西下,远处是群山",
"regenerate.confirm": "这将覆盖已生成的图片,是否继续?",
"seed": "随机种子",
"seed_tip": "相同的种子和提示词可以生成相似的图片",
"title": "图片"
},
"provider": {
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",
"baichuan": "百川",
"dashscope": "阿里云百炼",
"deepseek": "深度求索",
"doubao": "豆包",
"fireworks": "Fireworks",
"gemini": "Gemini",
"github": "GitHub Models",
"graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok",
"groq": "Groq",
"hunyuan": "腾讯混元",
"hyperbolic": "Hyperbolic",
"jina": "Jina",
"minimax": "MiniMax",
"mistral": "Mistral",
"moonshot": "月之暗面",
"nvidia": "英伟达",
"ocoolai": "ocoolAI",
"ollama": "Ollama",
"openai": "OpenAI",
"openrouter": "OpenRouter",
"silicon": "硅基流动",
"stepfun": "阶跃星辰",
"together": "Together",
"yi": "零一万物",
"zhinao": "360智脑",
"zhipu": "智谱AI"
},
"settings": {
"about": "关于我们",
"about.checkUpdate": "检查更新",
"about.checkingUpdate": "正在检查更新...",
"about.contact.button": "邮件",
"about.contact.title": "邮件联系",
"about.description": "一款为创造者而生的 AI 助手",
"about.downloading": "正在下载更新...",
"about.feedback.button": "反馈",
"about.feedback.title": "意见反馈",
"about.license.button": "查看",
"about.license.title": "许可证",
"about.releases.button": "查看",
"about.releases.title": "更新日志",
"about.title": "关于我们",
"about.updateError": "更新出错",
"about.updateNotAvailable": "你的软件已是最新版本",
"about.website.button": "查看",
"about.website.title": "官方网站",
"advanced.auto_switch_to_topics": "自动切换到话题",
"advanced.title": "高级设置",
"assistant": "默认助手",
"assistant.model_params": "模型参数",
"assistant.title": "默认助手",
"data": {
"app_data": "应用数据",
"app_logs": "应用日志",
"clear_cache": {
"button": "清除缓存",
"confirm": "清除缓存将删除应用缓存的数据,包括小程序数据。此操作不可恢复,是否继续?",
"error": "清除缓存失败",
"success": "缓存清除成功",
"title": "清除缓存"
},
"data.title": "数据目录",
"title": "数据设置",
"webdav.backup.button": "备份到 WebDAV",
"webdav.host": "WebDAV 地址",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.password": "WebDAV 密码",
"webdav.path": "WebDAV 路径",
"webdav.path.placeholder": "/backup",
"webdav.restore.button": "从 WebDAV 恢复",
"webdav.title": "WebDAV",
"webdav.user": "WebDAV 用户名"
},
"display.title": "显示设置",
"font_size.title": "消息字体大小",
"general": "常规设置",
"general.backup.button": "备份",
"general.backup.title": "数据备份与恢复",
"general.manually_check_update.title": "关闭更新检测",
"general.reset.button": "重置",
"general.reset.title": "重置数据",
"general.restore.button": "恢复",
"general.title": "常规设置",
"general.user_name": "用户名",
"general.user_name.placeholder": "请输入用户名",
"general.view_webdav_settings": "查看 WebDAV 设置",
"input.auto_translate_with_space": "快速敲击3次空格翻译",
"messages.divider": "消息分割线",
"messages.input.paste_long_text_as_file": "长文本粘贴为文件",
"messages.input.send_shortcuts": "发送快捷键",
"messages.input.show_estimated_tokens": "显示预估 Token 数",
"messages.input.title": "输入设置",
"messages.markdown_rendering_input_message": "Markdown 渲染输入消息",
"messages.math_engine": "数学公式引擎",
"messages.model.title": "模型设置",
"messages.title": "消息设置",
"messages.use_serif_font": "使用衬线字体",
"model": "默认模型",
"models.add.add_model": "添加模型",
"models.add.group_name": "分组名称",
"models.add.group_name.placeholder": "例如 ChatGPT",
"models.add.group_name.tooltip": "例如 ChatGPT",
"models.add.model_id": "模型 ID",
"models.add.model_id.placeholder": "必填 例如 gpt-3.5-turbo",
"models.add.model_id.tooltip": "例如 gpt-3.5-turbo",
"models.add.model_name": "模型名称",
"models.add.model_name.placeholder": "例如 GPT-3.5",
"models.default_assistant_model": "默认助手模型",
"models.default_assistant_model_description": "创建新助手时使用的模型,如果助手未设置模型,则使用此模型",
"models.empty": "没有模型",
"models.topic_naming_model": "话题命名模型",
"models.topic_naming_model_description": "自动命名新话题时使用的模型",
"models.translate_model": "翻译模型",
"models.translate_model_description": "翻译服务使用的模型",
"models.translate_model_prompt_message": "请输入翻译模型提示词",
"models.translate_model_prompt_title": "翻译模型提示词",
"provider": {
"add.name": "提供商名称",
"add.name.placeholder": "例如 OpenAI",
"add.title": "添加提供商",
"add.type": "提供商类型",
"api.url.preview": "预览: {{url}}",
"api.url.reset": "重置",
"api.url.tip": "/结尾忽略v1版本#结尾制使用输入地址",
"api_host": "API 地址",
"api_key": "API 密钥",
"api_key.tip": "多个密钥使用逗号分隔",
"api_version": "API 版本",
"check": "检查",
"check_all_keys": "检查所有密钥",
"check_multiple_keys": "检查多个 API 密钥",
"delete.content": "确定要删除此模型提供商吗?",
"delete.title": "删除提供商",
"docs_check": "查看",
"docs_more_details": "获取更多详情",
"get_api_key": "点击这里获取密钥",
"no_models": "请先添加模型再检查 API 连接",
"not_checked": "未检查",
"remove_duplicate_keys": "移除重复密钥",
"remove_invalid_keys": "删除无效密钥",
"search_placeholder": "搜索模型 ID 或名称",
"title": "模型服务"
},
"proxy": {
"mode": {
"custom": "自定义代理",
"none": "不使用代理",
"system": "系统代理",
"title": "代理模式"
},
"title": "代理设置"
},
"proxy.title": "代理地址",
"shortcuts": {
"action": "操作",
"key": "按键",
"new_topic": "新建话题",
"title": "快捷方式",
"zoom_in": "放大界面",
"zoom_out": "缩小界面",
"zoom_reset": "重置缩放"
},
"theme.auto": "跟随系统",
"theme.dark": "深色主题",
"theme.light": "浅色主题",
"theme.title": "主题",
"theme.window.style.opaque": "不透明窗口",
"theme.window.style.title": "窗口样式",
"theme.window.style.transparent": "透明窗口",
"title": "设置",
"topic.position": "话题位置",
"topic.position.left": "左侧",
"topic.position.right": "右侧",
"topic.show.time": "显示话题时间",
"tray.title": "启用系统托盘图标"
},
"translate": {
"any.language": "任意语言",
"button.translate": "翻译",
"confirm": {
"content": "翻译后将覆盖原文,是否继续?",
"title": "翻译确认"
},
"error.not_configured": "翻译模型未配置",
"error.failed": "翻译失败",
"input.placeholder": "输入文本进行翻译",
"output.placeholder": "翻译",
"processing": "翻译中...",
"title": "翻译",
"close": "关闭"
},
"tray": { "tray": {
"show_window": "显示窗口", "quit": "退出",
"quit": "退出" "show_window": "显示窗口"
},
"words": {
"knowledgeGraph": "知识图谱",
"visualization": "可视化"
} }
} }
} }

View File

@ -1,478 +1,482 @@
{ {
"translation": { "translation": {
"common": {
"avatar": "頭像",
"language": "語言",
"model": "模型",
"models": "模型",
"topics": "話題",
"docs": "文件",
"and": "與",
"assistant": "智能體",
"name": "名稱",
"description": "描述",
"prompt": "提示詞",
"rename": "重新命名",
"delete": "刪除",
"edit": "編輯",
"duplicate": "複製",
"copy": "複製",
"paste": "貼上",
"cut": "剪下",
"regenerate": "重新生成",
"provider": "提供商",
"you": "您",
"save": "保存",
"footnotes": "引用",
"select": "選擇",
"search": "搜尋",
"default": "預設",
"warning": "警告",
"back": "返回",
"chat": "聊天",
"close": "關閉",
"cancel": "取消",
"download": "下載",
"reset": "重置"
},
"button": {
"add": "添加",
"added": "已添加",
"manage": "管理",
"select_model": "選擇模型",
"show.all": "顯示全部",
"collapse": "收起"
},
"message": {
"copied": "已複製",
"assistant.added.content": "智能體添加成功",
"message.delete.title": "刪除訊息",
"message.delete.content": "確定要刪除此訊息嗎?",
"error.enter.api.key": "請先輸入您的 API 密鑰",
"error.enter.api.host": "請先輸入您的 API 主機地址",
"error.enter.model": "請先選擇一個模型",
"error.invalid.proxy.url": "無效的代理 URL",
"error.invalid.webdav": "無效的 WebDAV 設定",
"api.connection.failed": "連接失敗",
"api.connection.success": "連接成功",
"chat.completion.paused": "聊天完成已暫停",
"switch.disabled": "助手生成回覆時無法切換",
"restore.success": "恢復成功",
"backup.success": "備份成功",
"backup.failed": "備份失敗",
"reset.confirm.content": "確定要清除所有資料嗎?",
"reset.double.confirm.title": "資料將會丟失!!!",
"reset.double.confirm.content": "所有資料將會被清除,您確定要繼續嗎?",
"upgrade.success.title": "升級成功",
"upgrade.success.content": "請重新啟動應用以完成升級",
"upgrade.success.button": "重新啟動",
"topic.added": "新話題已添加",
"save.success.title": "保存成功",
"message.code_style": "程式碼風格",
"message.style": "消息樣式",
"message.style.bubble": "氣泡",
"message.style.plain": "簡潔"
},
"chat": {
"save": "保存",
"default.name": "⭐️ 預設助手",
"default.description": "你好,我是預設助手。你可以立即開始與我聊天。",
"default.topic.name": "預設話題",
"topics.title": "話題",
"topics.auto_rename": "自動重新命名",
"topics.edit.title": "編輯名稱",
"topics.edit.placeholder": "輸入新名稱",
"topics.clear.title": "清空消息",
"topics.move_to": "移動到",
"topics.list": "話題列表",
"topics.export.title": "匯出",
"topics.export.image": "匯出為圖片",
"topics.export.md": "匯出為 Markdown",
"topics.export.word": "導出為 Word",
"input.new_topic": "新話題 {{Command}}+N",
"input.topics": " 話題 ",
"input.clear": "清除",
"input.new.context": "清除上下文",
"input.expand": "展開",
"input.collapse": "收起",
"input.clear.title": "清除所有訊息?",
"input.clear.content": "您想要清除當前話題的所有訊息嗎?",
"input.placeholder": "在此輸入您的訊息...",
"input.send": "發送",
"input.pause": "暫停",
"input.settings": "設定",
"input.upload": "上傳圖片或文檔",
"input.context_count.tip": "上下文數量",
"input.estimated_tokens.tip": "預估 Token 數",
"input.translate": "翻譯成英文",
"settings.temperature": "溫度",
"settings.temperature.tip": "較低的值使模型更具創造性和不可預測性,較高的值則使其更具確定性和精確性。",
"settings.context_count": "上下文",
"settings.context_count.tip": "在上下文中保留的前幾則訊息。",
"settings.max_tokens": "啟用最大 Token 限制",
"settings.max_tokens.tip": "模型可以生成的最大 Token 數。普通聊天建議 500-800。短文生成建議 800-2000。代碼生成建議 2000-3600。長文生成建議超過 4000。",
"settings.reset": "重置",
"settings.set_as_default": "設為預設助手",
"settings.max": "最大",
"settings.show_line_numbers": "代码顯示行號",
"settings.code_collapsible": "代码块可折叠",
"suggestions.title": "建議的問題",
"add.assistant.title": "添加助手",
"message.new.context": "新上下文",
"message.new.branch": "新分支",
"message.new.branch.created": "新分支已建立",
"assistant.search.placeholder": "搜尋",
"artifacts.button.preview": "預覽",
"artifacts.button.download": "下載"
},
"assistants": {
"title": "助手",
"abbr": "助",
"search": "搜尋助手...",
"settings.prompt": "提示詞設定",
"settings.model": "模型設定",
"settings.preset_messages": "預設訊息",
"settings.default_model": "預設模型",
"settings.auto_reset_model": "自動重置模型",
"settings.auto_reset_model.tip": "每次新的話題時自動重置模型",
"edit.title": "編輯助手",
"copy.title": "複製助手",
"clear.title": "清空話題",
"clear.content": "清空話題會刪除助手下所有主題和文件,確定要繼續嗎?",
"save.title": "儲存到智能體",
"save.success": "儲存成功",
"delete.title": "删除助手",
"delete.content": "删除助手会删除所有该助手下的话题和文件,确定要繼續吗?"
},
"model": {
"stream_output": "串流輸出",
"search": "搜尋模型...",
"pinned": "已固定",
"type": {
"text": "文字",
"vision": "圖像",
"select": "選擇模型類型"
}
},
"paintings": {
"title": "繪圖",
"image.size": "影像尺寸",
"button.new.image": "新繪圖",
"button.delete.image": "刪除繪圖",
"button.delete.image.confirm": "確定要刪除此繪圖嗎?",
"number_images": "生成數量",
"number_images_tip": "一次生成的圖片數量 (1-4)",
"seed": "隨機種子",
"seed_tip": "相同的種子和提示詞可以生成相似的圖片",
"inference_steps": "推理步數",
"inference_steps_tip": "要執行的推理步數。步數越多,質量越高但耗時越長",
"guidance_scale": "引導比例",
"guidance_scale_tip": "無分類器指導。控制模型在尋找相關圖像時對提示詞的遵循程度",
"negative_prompt": "反向提示詞",
"negative_prompt_tip": "描述你不想在圖片中出現的內容",
"prompt_placeholder": "描述你想創建的圖片,例如:一個寧靜的湖泊,夕陽西下,遠處是群山",
"regenerate.confirm": "這將覆蓋已生成的圖片,是否繼續?"
},
"files": {
"title": "檔案",
"file": "檔案",
"name": "名稱",
"size": "大小",
"count": "數量",
"created_at": "建立時間",
"image": "圖片",
"text": "文本",
"document": "文檔",
"actions": "操作",
"open": "打開",
"all": "所有檔案"
},
"agents": { "agents": {
"title": "智能體", "add.button": "添加到助手",
"my_agents": "我的智能體",
"add.title": "创建智能體",
"edit.title": "編輯智能體",
"add.name": "名稱", "add.name": "名稱",
"add.name.placeholder": "輸入名稱", "add.name.placeholder": "輸入名稱",
"add.prompt": "提示詞", "add.prompt": "提示詞",
"add.prompt.placeholder": "輸入提示詞", "add.prompt.placeholder": "輸入提示詞",
"add.button": "添加到助手", "add.title": "创建智能體",
"manage.title": "管理智能體",
"delete.popup.content": "確定要刪除此智能體嗎?", "delete.popup.content": "確定要刪除此智能體嗎?",
"tag.default": "預設",
"tag.system": "系統",
"tag.agent": "智能体",
"tag.new": "新建",
"edit.message.title": "預設訊息",
"edit.message.add.title": "添加", "edit.message.add.title": "添加",
"edit.message.group.title": "訊息組",
"edit.message.assistant.title": "助手",
"edit.message.assistant.placeholder": "輸入助手消息", "edit.message.assistant.placeholder": "輸入助手消息",
"edit.message.user.title": "用戶", "edit.message.assistant.title": "助手",
"edit.message.user.placeholder": "輸入用戶消息",
"edit.message.empty.content": "會話輸入內容不能為空", "edit.message.empty.content": "會話輸入內容不能為空",
"edit.message.group.title": "訊息組",
"edit.message.title": "預設訊息",
"edit.message.user.placeholder": "輸入用戶消息",
"edit.message.user.title": "用戶",
"edit.model.select.title": "選擇模型", "edit.model.select.title": "選擇模型",
"edit.settings.hide_preset_messages": "隱藏預設消息", "edit.settings.hide_preset_messages": "隱藏預設消息",
"edit.title": "編輯智能體",
"manage.title": "管理智能體",
"my_agents": "我的智能體",
"search.no_results": "沒有找到相關智能體", "search.no_results": "沒有找到相關智能體",
"sorting.title": "排序" "sorting.title": "排序",
"tag.agent": "智能体",
"tag.default": "預設",
"tag.new": "新建",
"tag.system": "系統",
"title": "智能體"
}, },
"minapp": { "assistants": {
"title": "小程序" "abbr": "助",
"clear.content": "清空話題會刪除助手下所有主題和文件,確定要繼續嗎?",
"clear.title": "清空話題",
"copy.title": "複製助手",
"delete.content": "删除助手会删除所有该助手下的话题和文件,确定要繼續吗?",
"delete.title": "删除助手",
"edit.title": "編輯助手",
"save.success": "儲存成功",
"save.title": "儲存到智能體",
"search": "搜尋助手...",
"settings.auto_reset_model": "自動重置模型",
"settings.auto_reset_model.tip": "每次新的話題時自動重置模型",
"settings.default_model": "預設模型",
"settings.model": "模型設定",
"settings.preset_messages": "預設訊息",
"settings.prompt": "提示詞設定",
"title": "助手"
}, },
"history": { "button": {
"title": "搜尋話題", "add": "添加",
"search.placeholder": "搜尋話題或訊息...", "added": "已添加",
"continue_chat": "繼續聊天", "collapse": "收起",
"search.topics.empty": "沒有找到相關話題, 點擊回車鍵搜尋所有訊息", "manage": "管理",
"search.messages": "搜尋所有訊息", "select_model": "選擇模型",
"locate.message": "定位到訊息" "show.all": "顯示全部"
}, },
"provider": { "chat": {
"jina": "Jina", "add.assistant.title": "添加助手",
"mistral": "Mistral", "artifacts.button.download": "下載",
"hyperbolic": "Hyperbolic", "artifacts.button.preview": "預覽",
"grok": "Grok", "assistant.search.placeholder": "搜尋",
"nvidia": "輝達", "default.description": "你好,我是預設助手。你可以立即開始與我聊天。",
"zhinao": "360智腦", "default.name": "⭐️ 預設助手",
"hunyuan": "騰訊混元", "default.topic.name": "預設話題",
"fireworks": "Fireworks", "input.clear": "清除",
"together": "Together", "input.clear.content": "您想要清除當前話題的所有訊息嗎?",
"openai": "OpenAI", "input.clear.title": "清除所有訊息?",
"gemini": "Gemini", "input.collapse": "收起",
"deepseek": "深度求索", "input.context_count.tip": "上下文數量",
"moonshot": "月之暗面", "input.estimated_tokens.tip": "預估 Token 數",
"silicon": "SiliconFlow", "input.expand": "展開",
"openrouter": "OpenRouter", "input.new.context": "清除上下文",
"yi": "零一萬物", "input.new_topic": "新話題 {{Command}}+N",
"zhipu": "智譜AI", "input.pause": "暫停",
"groq": "Groq", "input.placeholder": "在此輸入您的訊息...",
"ollama": "Ollama", "input.send": "發送",
"baichuan": "百川", "input.settings": "設定",
"dashscope": "阿里雲百鍊", "input.topics": " 話題 ",
"anthropic": "Anthropic", "input.translate": "翻譯成英文",
"aihubmix": "AiHubMix", "input.upload": "上傳圖片或文檔",
"stepfun": "StepFun", "message.new.branch": "新分支",
"doubao": "豆包", "message.new.branch.created": "新分支已建立",
"minimax": "MiniMax", "message.new.context": "新上下文",
"graphrag-kylin-mountain": "GraphRAG", "save": "保存",
"github": "GitHub Models", "settings.code_collapsible": "代码块可折叠",
"ocoolai": "ocoolAI", "settings.context_count": "上下文",
"azure-openai": "Azure OpenAI" "settings.context_count.tip": "在上下文中保留的前幾則訊息。",
"settings.max": "最大",
"settings.max_tokens": "啟用最大 Token 限制",
"settings.max_tokens.tip": "模型可以生成的最大 Token 數。普通聊天建議 500-800。短文生成建議 800-2000。代碼生成建議 2000-3600。長文生成建議超過 4000。",
"settings.reset": "重置",
"settings.set_as_default": "設為預設助手",
"settings.show_line_numbers": "代码顯示行號",
"settings.temperature": "溫度",
"settings.temperature.tip": "較低的值使模型更具創造性和不可預測性,較高的值則使其更具確定性和精確性。",
"suggestions.title": "建議的問題",
"topics.auto_rename": "自動重新命名",
"topics.clear.title": "清空消息",
"topics.edit.placeholder": "輸入新名稱",
"topics.edit.title": "編輯名稱",
"topics.export.image": "匯出為圖片",
"topics.export.md": "匯出為 Markdown",
"topics.export.title": "匯出",
"topics.export.word": "導出為 Word",
"topics.list": "話題列表",
"topics.move_to": "移動到",
"topics.title": "話題",
"translate": "翻譯"
}, },
"settings": { "common": {
"title": "設定", "and": "與",
"general": "一般設定", "assistant": "智能體",
"model": "預設模型", "avatar": "頭像",
"assistant": "預設助手", "back": "返回",
"about": "關於與回饋", "cancel": "取消",
"messages.model.title": "模型設定", "chat": "聊天",
"messages.title": "訊息設定", "close": "關閉",
"messages.divider": "訊息間顯示分隔線", "copy": "複製",
"messages.use_serif_font": "使用襯線字體", "cut": "剪下",
"messages.input.title": "輸入設定", "default": "預設",
"messages.input.show_estimated_tokens": "顯示預估 Token 數", "delete": "刪除",
"messages.input.send_shortcuts": "發送快捷鍵", "description": "描述",
"messages.input.paste_long_text_as_file": "將長文本貼上為檔案", "docs": "文件",
"messages.math_engine": "Markdown 渲染輸入訊息", "download": "下載",
"messages.math_render_engine": "數學公式引擎", "duplicate": "複製",
"general.title": "一般設定", "edit": "編輯",
"general.user_name": "使用者名稱", "footnotes": "引用",
"general.user_name.placeholder": "輸入您的名稱", "language": "語言",
"general.backup.title": "資料備份與復原", "model": "模型",
"general.backup.button": "備份", "models": "模型",
"general.restore.button": "復原", "name": "名稱",
"general.view_webdav_settings": "查看 WebDAV 設定", "paste": "貼上",
"general.reset.title": "資料重置", "prompt": "提示詞",
"general.reset.button": "重置", "provider": "提供商",
"general.manually_check_update.title": "關閉更新檢查", "regenerate": "重新生成",
"advanced.title": "進階設定", "rename": "重新命名",
"advanced.auto_switch_to_topics": "自動切換到話題", "reset": "重置",
"models.default_assistant_model": "預設助手模型", "save": "保存",
"models.default_assistant_model_description": "創建新助手時使用的模型,如果助手未設置模型,則使用此模型", "search": "搜尋",
"models.topic_naming_model": "話題命名模型", "select": "選擇",
"models.topic_naming_model_description": "自動命名新話題時使用的模型", "topics": "話題",
"models.translate_model": "翻譯模型", "warning": "警告",
"models.translate_model_description": "翻譯服務使用的模型", "you": "您"
"models.add.add_model": "添加模型",
"models.add.model_id.placeholder": "必填,例如 gpt-3.5-turbo",
"models.add.model_id": "模型 ID",
"models.add.model_id.tooltip": "例如 gpt-3.5-turbo",
"models.add.model_name": "模型名稱",
"models.add.model_name.placeholder": "可選,例如 GPT-4",
"models.add.group_name": "群組名稱",
"models.add.group_name.tooltip": "可選,例如 ChatGPT",
"models.add.group_name.placeholder": "可選,例如 ChatGPT",
"models.translate_model_prompt_title": "翻譯模型提示詞",
"models.translate_model_prompt_message": "請輸入翻譯模型提示詞",
"models.empty": "找不到模型",
"assistant.title": "預設助手",
"assistant.model_params": "模型參數",
"about.description": "一款為創作者而生的強大 AI 助手",
"about.updateNotAvailable": "您正在使用最新版本",
"about.checkingUpdate": "正在檢查更新...",
"about.updateError": "更新錯誤",
"about.checkUpdate": "檢查更新",
"about.downloading": "正在下載...",
"about.title": "關於我們",
"about.releases.title": "更新日誌",
"about.releases.button": "查看",
"about.website.title": "官方網站",
"about.website.button": "網站",
"about.feedback.title": "回饋",
"about.feedback.button": "回饋",
"about.contact.title": "聯繫方式",
"about.license.title": "許可證",
"about.license.button": "查看",
"about.contact.button": "郵件",
"proxy.title": "代理地址",
"tray.title": "啟用系統托盤圖標",
"theme.title": "主題",
"theme.dark": "深色主題",
"theme.light": "淺色主題",
"theme.auto": "自動",
"theme.window.style.title": "視窗樣式",
"theme.window.style.transparent": "透明視窗",
"theme.window.style.opaque": "不透明視窗",
"font_size.title": "訊息字體大小",
"topic.position": "話題位置",
"topic.position.left": "左側",
"topic.position.right": "右側",
"topic.show.time": "顯示話題時間",
"display.title": "顯示設定",
"input.auto_translate_with_space": "快速敲擊3次空格翻譯",
"shortcuts": {
"title": "快速方式",
"action": "操作",
"key": "按鍵",
"new_topic": "新建話題",
"zoom_in": "放大界面",
"zoom_out": "縮小界面",
"zoom_reset": "重置縮放"
},
"provider": {
"title": "模型提供者",
"api_key": "API 密鑰",
"api_key.tip": "多個密鑰使用逗號分隔",
"check": "檢查",
"get_api_key": "獲取 API 密鑰",
"api_host": "API 主機地址",
"api_version": "API 版本",
"docs_check": "檢查",
"docs_more_details": "查看更多細節",
"search_placeholder": "搜尋模型 ID 或名稱",
"api.url.reset": "重置",
"api.url.preview": "預覽: {{url}}",
"api.url.tip": "/結尾忽略v1版本#結尾強制使用輸入位址",
"check_multiple_keys": "檢查多個 API 密鑰",
"check_all_keys": "檢查所有密鑰",
"remove_invalid_keys": "刪除無效密鑰",
"remove_duplicate_keys": "移除重複密鑰",
"not_checked": "未檢查",
"delete.title": "刪除提供者",
"delete.content": "確定要刪除此提供者嗎?",
"add.title": "添加提供者",
"add.name": "提供者名稱",
"add.name.placeholder": "例如OpenAI",
"add.type": "提供商類型",
"no_models": "請先添加模型再檢查 API 連接"
},
"proxy": {
"title": "代理設定",
"mode": {
"title": "代理模式",
"system": "系統代理",
"custom": "自定義代理",
"none": "不使用代理"
}
},
"data": {
"title": "數據設定",
"webdav.title": "WebDAV",
"webdav.host": "WebDAV 主機位址",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.user": "WebDAV 使用者名稱",
"webdav.password": "WebDAV 密碼",
"webdav.path": "WebDAV Path",
"webdav.path.placeholder": "/backup",
"webdav.backup.button": "從 WebDAV 備份",
"webdav.restore.button": "從 WebDAV 恢復",
"data.title": "數據目錄",
"data.app_data": "應用數據",
"data.app_logs": "應用日誌",
"clear_cache": {
"title": "清除緩存",
"button": "清除緩存",
"confirm": "清除緩存將刪除應用緩存數據,包括小程序數據。此操作不可恢復,是否繼續?",
"success": "緩存清除成功",
"error": "清除緩存失敗"
}
}
},
"translate": {
"title": "翻譯",
"any.language": "任意語言",
"button.translate": "翻譯",
"error.not_configured": "翻譯模型未配置",
"input.placeholder": "輸入文字進行翻譯",
"output.placeholder": "翻譯",
"confirm": {
"title": "翻譯確認",
"content": "翻譯後將覆蓋原文,是否繼續?"
}
},
"languages": {
"english": "英文",
"chinese": "簡體中文",
"chinese-traditional": "繁體中文",
"japanese": "日文",
"korean": "韓文",
"russian": "俄文",
"spanish": "西班牙文",
"french": "法文",
"italian": "意大利文",
"portuguese": "葡萄牙文",
"arabic": "阿拉伯文"
},
"ollama": {
"title": "Ollama",
"keep_alive_time.title": "保持活躍時間",
"keep_alive_time.placeholder": "分鐘",
"keep_alive_time.description": "對話後模型在記憶體中保持的時間(預設為 5 分鐘)。"
}, },
"error": { "error": {
"chat.response": "出現錯誤。如果尚未配置 API 密鑰,請前往設定 > 模型提供者中配置密鑰",
"backup.file_format": "備份文件格式錯誤", "backup.file_format": "備份文件格式錯誤",
"provider_disabled": "模型提供商未啟用", "chat.response": "出現錯誤。如果尚未配置 API 密鑰,請前往設定 > 模型提供者中配置密鑰",
"no_api_key": "API 密鑰未配置" "no_api_key": "API 密鑰未配置",
}, "provider_disabled": "模型提供商未啟用"
"words": {
"knowledgeGraph": "知識圖譜",
"visualization": "可視化"
}, },
"export": { "export": {
"attached_files": "附件",
"user": "用戶",
"assistant": "助手", "assistant": "助手",
"attached_files": "附件",
"conversation_details": "會話詳情",
"conversation_history": "會話歷史",
"created": "創建時間", "created": "創建時間",
"last_updated": "最後<E69C80><E5BE8C>新", "last_updated": "最後<E69C80><E5BE8C>新",
"messages": "訊息數", "messages": "訊息數",
"conversation_details": "會話詳情", "user": "用戶"
"conversation_history": "會話歷史" },
"files": {
"actions": "操作",
"all": "所有檔案",
"count": "數量",
"created_at": "建立時間",
"document": "文檔",
"file": "檔案",
"image": "圖片",
"name": "名稱",
"open": "打開",
"size": "大小",
"text": "文本",
"title": "檔案"
},
"history": {
"continue_chat": "繼續聊天",
"locate.message": "定位到訊息",
"search.messages": "搜尋所有訊息",
"search.placeholder": "搜尋話題或訊息...",
"search.topics.empty": "沒有找到相關話題, 點擊回車鍵搜尋所有訊息",
"title": "搜尋話題"
},
"languages": {
"arabic": "阿拉伯文",
"chinese": "簡體中文",
"chinese-traditional": "繁體中文",
"english": "英文",
"french": "法文",
"italian": "意大利文",
"japanese": "日文",
"korean": "韓文",
"portuguese": "葡萄牙文",
"russian": "俄文",
"spanish": "西班牙文"
}, },
"mermaid": { "mermaid": {
"title": "Mermaid 圖表",
"download": { "download": {
"svg": "下載 SVG", "png": "下載 PNG",
"png": "下載 PNG" "svg": "下載 SVG"
}, },
"tabs": { "tabs": {
"preview": "預覽", "preview": "預覽",
"source": "原始碼" "source": "原始碼"
},
"title": "Mermaid 圖表"
},
"message": {
"api.connection.failed": "連接失敗",
"api.connection.success": "連接成功",
"assistant.added.content": "智能體添加成功",
"backup.failed": "備份失敗",
"backup.success": "備份成功",
"chat.completion.paused": "聊天完成已暫停",
"copied": "已複製",
"error.enter.api.host": "請先輸入您的 API 主機地址",
"error.enter.api.key": "請先輸入您的 API 密鑰",
"error.enter.model": "請先選擇一個模型",
"error.invalid.proxy.url": "無效的代理 URL",
"error.invalid.webdav": "無效的 WebDAV 設定",
"message.code_style": "程式碼風格",
"message.delete.content": "確定要刪除此訊息嗎?",
"message.delete.title": "刪除訊息",
"message.style": "消息樣式",
"message.style.bubble": "氣泡",
"message.style.plain": "簡潔",
"reset.confirm.content": "確定要清除所有資料嗎?",
"reset.double.confirm.content": "所有資料將會被清除,您確定要繼續嗎?",
"reset.double.confirm.title": "資料將會丟失!!!",
"restore.success": "恢復成功",
"save.success.title": "保存成功",
"switch.disabled": "助手生成回覆時無法切換",
"topic.added": "新話題已添加",
"upgrade.success.button": "重新啟動",
"upgrade.success.content": "請重新啟動應用以完成升級",
"upgrade.success.title": "升級成功"
},
"minapp": {
"title": "小程序"
},
"model": {
"pinned": "已固定",
"search": "搜尋模型...",
"stream_output": "串流輸出",
"type": {
"select": "選擇模型類型",
"text": "文字",
"vision": "圖像"
} }
}, },
"ollama": {
"keep_alive_time.description": "對話後模型在記憶體中保持的時間(預設為 5 分鐘)。",
"keep_alive_time.placeholder": "分鐘",
"keep_alive_time.title": "保持活躍時間",
"title": "Ollama"
},
"paintings": {
"button.delete.image": "刪除繪圖",
"button.delete.image.confirm": "確定要刪除此繪圖嗎?",
"button.new.image": "新繪圖",
"guidance_scale": "引導比例",
"guidance_scale_tip": "無分類器指導。控制模型在尋找相關圖像時對提示詞的遵循程度",
"image.size": "影像尺寸",
"inference_steps": "推理步數",
"inference_steps_tip": "要執行的推理步數。步數越多,質量越高但耗時越長",
"negative_prompt": "反向提示詞",
"negative_prompt_tip": "描述你不想在圖片中出現的內容",
"number_images": "生成數量",
"number_images_tip": "一次生成的圖片數量 (1-4)",
"prompt_placeholder": "描述你想創建的圖片,例如:一個寧靜的湖泊,夕陽西下,遠處是群山",
"regenerate.confirm": "這將覆蓋已生成的圖片,是否繼續?",
"seed": "隨機種子",
"seed_tip": "相同的種子和提示詞可以生成相似的圖片",
"title": "繪圖"
},
"provider": {
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",
"baichuan": "百川",
"dashscope": "阿里雲百鍊",
"deepseek": "深度求索",
"doubao": "豆包",
"fireworks": "Fireworks",
"gemini": "Gemini",
"github": "GitHub Models",
"graphrag-kylin-mountain": "GraphRAG",
"grok": "Grok",
"groq": "Groq",
"hunyuan": "騰訊混元",
"hyperbolic": "Hyperbolic",
"jina": "Jina",
"minimax": "MiniMax",
"mistral": "Mistral",
"moonshot": "月之暗面",
"nvidia": "輝達",
"ocoolai": "ocoolAI",
"ollama": "Ollama",
"openai": "OpenAI",
"openrouter": "OpenRouter",
"silicon": "SiliconFlow",
"stepfun": "StepFun",
"together": "Together",
"yi": "零一萬物",
"zhinao": "360智腦",
"zhipu": "智譜AI"
},
"settings": {
"about": "關於與回饋",
"about.checkUpdate": "檢查更新",
"about.checkingUpdate": "正在檢查更新...",
"about.contact.button": "郵件",
"about.contact.title": "聯繫方式",
"about.description": "一款為創作者而生的強大 AI 助手",
"about.downloading": "正在下載...",
"about.feedback.button": "回饋",
"about.feedback.title": "回饋",
"about.license.button": "查看",
"about.license.title": "許可證",
"about.releases.button": "查看",
"about.releases.title": "更新日誌",
"about.title": "關於我們",
"about.updateError": "更新錯誤",
"about.updateNotAvailable": "您正在使用最新版本",
"about.website.button": "網站",
"about.website.title": "官方網站",
"advanced.auto_switch_to_topics": "自動切換到話題",
"advanced.title": "進階設定",
"assistant": "預設助手",
"assistant.model_params": "模型參數",
"assistant.title": "預設助手",
"data": {
"clear_cache": {
"button": "清除緩存",
"confirm": "清除緩存將刪除應用緩存數據,包括小程序數據。此操作不可恢復,是否繼續?",
"error": "清除緩存失敗",
"success": "緩存清除成功",
"title": "清除緩存"
},
"data.app_data": "應用數據",
"data.app_logs": "應用日誌",
"data.title": "數據目錄",
"title": "數據設定",
"webdav.backup.button": "從 WebDAV 備份",
"webdav.host": "WebDAV 主機位址",
"webdav.host.placeholder": "http://localhost:8080",
"webdav.password": "WebDAV 密碼",
"webdav.path": "WebDAV Path",
"webdav.path.placeholder": "/backup",
"webdav.restore.button": "從 WebDAV 恢復",
"webdav.title": "WebDAV",
"webdav.user": "WebDAV 使用者名稱"
},
"display.title": "顯示設定",
"font_size.title": "訊息字體大小",
"general": "一般設定",
"general.backup.button": "備份",
"general.backup.title": "資料備份與復原",
"general.manually_check_update.title": "關閉更新檢查",
"general.reset.button": "重置",
"general.reset.title": "資料重置",
"general.restore.button": "復原",
"general.title": "一般設定",
"general.user_name": "使用者名稱",
"general.user_name.placeholder": "輸入您的名稱",
"general.view_webdav_settings": "查看 WebDAV 設定",
"input.auto_translate_with_space": "快速敲擊3次空格翻譯",
"messages.divider": "訊息間顯示分隔線",
"messages.input.paste_long_text_as_file": "將長文本貼上為檔案",
"messages.input.send_shortcuts": "發送快捷鍵",
"messages.input.show_estimated_tokens": "顯示預估 Token 數",
"messages.input.title": "輸入設定",
"messages.math_engine": "Markdown 渲染輸入訊息",
"messages.math_render_engine": "數學公式引擎",
"messages.model.title": "模型設定",
"messages.title": "訊息設定",
"messages.use_serif_font": "使用襯線字體",
"model": "預設模型",
"models.add.add_model": "添加模型",
"models.add.group_name": "群組名稱",
"models.add.group_name.placeholder": "可選,例如 ChatGPT",
"models.add.group_name.tooltip": "可選,例如 ChatGPT",
"models.add.model_id": "模型 ID",
"models.add.model_id.placeholder": "必填,例如 gpt-3.5-turbo",
"models.add.model_id.tooltip": "例如 gpt-3.5-turbo",
"models.add.model_name": "模型名稱",
"models.add.model_name.placeholder": "可選,例如 GPT-4",
"models.default_assistant_model": "預設助手模型",
"models.default_assistant_model_description": "創建新助手時使用的模型,如果助手未設置模型,則使用此模型",
"models.empty": "找不到模型",
"models.topic_naming_model": "話題命名模型",
"models.topic_naming_model_description": "自動命名新話題時使用的模型",
"models.translate_model": "翻譯模型",
"models.translate_model_description": "翻譯服務使用的模型",
"models.translate_model_prompt_message": "請輸入翻譯模型提示詞",
"models.translate_model_prompt_title": "翻譯模型提示詞",
"provider": {
"add.name": "提供者名稱",
"add.name.placeholder": "例如OpenAI",
"add.title": "添加提供者",
"add.type": "提供商類型",
"api.url.preview": "預覽: {{url}}",
"api.url.reset": "重置",
"api.url.tip": "/結尾忽略v1版本#結尾強制使用輸入位址",
"api_host": "API 主機地址",
"api_key": "API 密鑰",
"api_key.tip": "多個密鑰使用逗號分隔",
"api_version": "API 版本",
"check": "檢查",
"check_all_keys": "檢查所有密鑰",
"check_multiple_keys": "檢查多個 API 密鑰",
"delete.content": "確定要刪除此提供者嗎?",
"delete.title": "刪除提供者",
"docs_check": "檢查",
"docs_more_details": "查看更多細節",
"get_api_key": "獲取 API 密鑰",
"no_models": "請先添加模型再檢查 API 連接",
"not_checked": "未檢查",
"remove_duplicate_keys": "移除重複密鑰",
"remove_invalid_keys": "刪除無效密鑰",
"search_placeholder": "搜尋模型 ID 或名稱",
"title": "模型提供者"
},
"proxy": {
"mode": {
"custom": "自定義代理",
"none": "不使用代理",
"system": "系統代理",
"title": "代理模式"
},
"title": "代理設定"
},
"proxy.title": "代理地址",
"shortcuts": {
"action": "操作",
"key": "按鍵",
"new_topic": "新建話題",
"title": "快速方式",
"zoom_in": "放大界面",
"zoom_out": "縮小界面",
"zoom_reset": "重置縮放"
},
"theme.auto": "自動",
"theme.dark": "深色主題",
"theme.light": "淺色主題",
"theme.title": "主題",
"theme.window.style.opaque": "不透明視窗",
"theme.window.style.title": "視窗樣式",
"theme.window.style.transparent": "透明視窗",
"title": "設定",
"topic.position": "話題位置",
"topic.position.left": "左側",
"topic.position.right": "右側",
"topic.show.time": "顯示話題時間",
"tray.title": "啟用系統托盤圖標"
},
"translate": {
"any.language": "任意語言",
"button.translate": "翻譯",
"confirm": {
"content": "翻譯後將覆蓋原文,是否繼續?",
"title": "翻譯確認"
},
"error.not_configured": "翻譯模型未配置",
"error.failed": "翻譯失敗",
"input.placeholder": "輸入文字進行翻譯",
"output.placeholder": "翻譯",
"processing": "翻譯中...",
"title": "翻譯",
"close": "關閉"
},
"tray": { "tray": {
"show_window": "顯示視窗", "quit": "退出",
"quit": "退出" "show_window": "顯示視窗"
},
"words": {
"knowledgeGraph": "知識圖譜",
"visualization": "可視化"
} }
} }
} }

View File

@ -352,6 +352,10 @@ const Inputbar: FC<Props> = ({ assistant, setActiveTopic }) => {
textareaRef.current?.focus() textareaRef.current?.focus()
}, [assistant]) }, [assistant])
useEffect(() => {
setTimeout(() => resizeTextArea(), 0)
}, [])
useEffect(() => { useEffect(() => {
return () => { return () => {
if (spaceClickTimer.current) { if (spaceClickTimer.current) {

View File

@ -1,7 +1,10 @@
import { SyncOutlined } from '@ant-design/icons' import { SyncOutlined, TranslationOutlined } from '@ant-design/icons'
import { Message, Model } from '@renderer/types' import { Message, Model } from '@renderer/types'
import { getBriefInfo } from '@renderer/utils' import { getBriefInfo } from '@renderer/utils'
import { Divider } from 'antd'
import React from 'react' import React from 'react'
import { useTranslation } from 'react-i18next'
import BeatLoader from 'react-spinners/BeatLoader'
import styled from 'styled-components' import styled from 'styled-components'
import Markdown from '../Markdown/Markdown' import Markdown from '../Markdown/Markdown'
@ -12,6 +15,8 @@ const MessageContent: React.FC<{
message: Message message: Message
model?: Model model?: Model
}> = ({ message, model }) => { }> = ({ message, model }) => {
const { t } = useTranslation()
if (message.status === 'sending') { if (message.status === 'sending') {
return ( return (
<MessageContentLoading> <MessageContentLoading>
@ -32,6 +37,18 @@ const MessageContent: React.FC<{
return ( return (
<> <>
<Markdown message={message} /> <Markdown message={message} />
{message.translatedContent && (
<>
<Divider style={{ margin: 0, marginBottom: 10 }}>
<TranslationOutlined />
</Divider>
{message.translatedContent === t('translate.processing') ? (
<BeatLoader color="var(--color-text-2)" size="10" style={{ marginBottom: 15 }} />
) : (
<Markdown message={{ ...message, content: message.translatedContent }} />
)}
</>
)}
<MessageAttachments message={message} /> <MessageAttachments message={message} />
</> </>
) )

View File

@ -6,11 +6,14 @@ import {
MenuOutlined, MenuOutlined,
QuestionCircleOutlined, QuestionCircleOutlined,
SaveOutlined, SaveOutlined,
SyncOutlined SyncOutlined,
TranslationOutlined
} from '@ant-design/icons' } from '@ant-design/icons'
import SelectModelPopup from '@renderer/components/Popups/SelectModelPopup' import SelectModelPopup from '@renderer/components/Popups/SelectModelPopup'
import TextEditPopup from '@renderer/components/Popups/TextEditPopup' import TextEditPopup from '@renderer/components/Popups/TextEditPopup'
import { useDefaultModel } from '@renderer/hooks/useAssistant'
import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService'
import { translateText } from '@renderer/services/TranslateService'
import { Message, Model } from '@renderer/types' import { Message, Model } from '@renderer/types'
import { removeTrailingDoubleSpaces } from '@renderer/utils' import { removeTrailingDoubleSpaces } from '@renderer/utils'
import { Dropdown, Popconfirm, Tooltip } from 'antd' import { Dropdown, Popconfirm, Tooltip } from 'antd'
@ -34,6 +37,8 @@ const MessageMenubar: FC<Props> = (props) => {
const { message, index, model, isLastMessage, isAssistantMessage, setModel, onEditMessage, onDeleteMessage } = props const { message, index, model, isLastMessage, isAssistantMessage, setModel, onEditMessage, onDeleteMessage } = props
const { t } = useTranslation() const { t } = useTranslation()
const [copied, setCopied] = useState(false) const [copied, setCopied] = useState(false)
const { translateModel } = useDefaultModel()
const [isTranslating, setIsTranslating] = useState(false)
const isUserMessage = message.role === 'user' const isUserMessage = message.role === 'user'
const canRegenerate = isLastMessage && isAssistantMessage const canRegenerate = isLastMessage && isAssistantMessage
@ -66,6 +71,28 @@ const MessageMenubar: FC<Props> = (props) => {
editedText && onEditMessage?.({ ...message, content: editedText }) editedText && onEditMessage?.({ ...message, content: editedText })
}, [message, onEditMessage]) }, [message, onEditMessage])
const handleTranslate = async (language: string) => {
if (isTranslating) return
onEditMessage?.({ ...message, translatedContent: t('translate.processing') })
setIsTranslating(true)
try {
const translatedText = await translateText(message.content, language)
onEditMessage?.({ ...message, translatedContent: translatedText })
} catch (error) {
console.error('Translation failed:', error)
window.message.error({
content: t('translate.error.failed'),
key: 'translate-message'
})
onEditMessage?.({ ...message, translatedContent: undefined })
} finally {
setIsTranslating(false)
}
}
const dropdownItems = useMemo( const dropdownItems = useMemo(
() => [ () => [
{ {
@ -82,9 +109,51 @@ const MessageMenubar: FC<Props> = (props) => {
key: 'edit', key: 'edit',
icon: <EditOutlined />, icon: <EditOutlined />,
onClick: onEdit onClick: onEdit
},
{
label: t('chat.translate'),
key: 'translate',
icon: isTranslating ? <SyncOutlined spin /> : <TranslationOutlined />,
children: [
{
label: '🇨🇳 ' + t('languages.chinese'),
key: 'translate-chinese',
onClick: () => handleTranslate('chinese')
},
{
label: '🇹🇼 ' + t('languages.chinese-traditional'),
key: 'translate-chinese-traditional',
onClick: () => handleTranslate('chinese-traditional')
},
{
label: '🇬🇧 ' + t('languages.english'),
key: 'translate-english',
onClick: () => handleTranslate('english')
},
{
label: '🇯🇵 ' + t('languages.japanese'),
key: 'translate-japanese',
onClick: () => handleTranslate('japanese')
},
{
label: '🇰🇷 ' + t('languages.korean'),
key: 'translate-korean',
onClick: () => handleTranslate('korean')
},
{
label: '🇷🇺 ' + t('languages.russian'),
key: 'translate-russian',
onClick: () => handleTranslate('russian')
},
{
label: '✖ ' + t('translate.close'),
key: 'translate-close',
onClick: () => onEditMessage?.({ ...message, translatedContent: undefined })
}
]
} }
], ],
[message.content, message.createdAt, onEdit, t] [handleTranslate, isTranslating, message, onEdit, onEditMessage, t]
) )
const onSelectModel = async () => { const onSelectModel = async () => {

View File

@ -1,15 +1,30 @@
import i18n from '@renderer/i18n'
import store from '@renderer/store'
import { fetchTranslate } from './ApiService' import { fetchTranslate } from './ApiService'
import { getDefaultTopic } from './AssistantService' import { getDefaultTopic } from './AssistantService'
import { getDefaultTranslateAssistant } from './AssistantService' import { getDefaultTranslateAssistant } from './AssistantService'
import { getUserMessage } from './MessagesService' import { getUserMessage } from './MessagesService'
export const translateText = async (text: string, targetLanguage: string) => { export const translateText = async (text: string, targetLanguage: string) => {
const translateModel = store.getState().llm.translateModel
if (!translateModel) {
window.message.error({
content: i18n.t('translate.error.not_configured'),
key: 'translate-message'
})
return Promise.reject(new Error(i18n.t('translate.error.not_configured')))
}
const assistant = getDefaultTranslateAssistant(targetLanguage, text) const assistant = getDefaultTranslateAssistant(targetLanguage, text)
const message = getUserMessage({ const message = getUserMessage({
assistant, assistant,
topic: getDefaultTopic('default'), topic: getDefaultTopic('default'),
type: 'text' type: 'text'
}) })
const translatedText = await fetchTranslate({ message, assistant }) const translatedText = await fetchTranslate({ message, assistant })
return translatedText return translatedText
} }

View File

@ -37,6 +37,7 @@ export type Message = {
assistantId: string assistantId: string
role: 'user' | 'assistant' role: 'user' | 'assistant'
content: string content: string
translatedContent?: string
topicId: string topicId: string
createdAt: string createdAt: string
status: 'sending' | 'pending' | 'success' | 'paused' | 'error' status: 'sending' | 'pending' | 'success' | 'paused' | 'error'