From 0603274ef61bdd24a534de12d3030e67a98374a2 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 15:09:23 +0800 Subject: [PATCH 1/9] chore: en-us i18n --- src/renderer/src/i18n/en-US/chat.json | 6 +- src/renderer/src/i18n/en-US/components.json | 12 ++-- src/renderer/src/i18n/en-US/contextMenu.json | 2 +- src/renderer/src/i18n/en-US/dialog.json | 4 +- src/renderer/src/i18n/en-US/mcp.json | 56 +++++++++---------- .../src/i18n/en-US/promptSetting.json | 2 +- src/renderer/src/i18n/en-US/settings.json | 47 ++++++++-------- src/renderer/src/i18n/en-US/thread.json | 12 ++-- src/renderer/src/i18n/en-US/update.json | 2 +- 9 files changed, 71 insertions(+), 72 deletions(-) diff --git a/src/renderer/src/i18n/en-US/chat.json b/src/renderer/src/i18n/en-US/chat.json index 346ba2ab8..d647a1773 100644 --- a/src/renderer/src/i18n/en-US/chat.json +++ b/src/renderer/src/i18n/en-US/chat.json @@ -4,14 +4,14 @@ "fileArea": "File Area", "inputArea": "Input Area", "functionSwitch": "Function Switch", - "fileSelect": "File Select", - "pasteFiles": "Support copy and paste files", + "fileSelect": "Select File", + "pasteFiles": "Paste files from clipboard", "dropFiles": "Drop files here", "promptFilesAdded": "Prompt Files Added", "promptFilesAddedDesc": "Successfully added {count} files", "promptFilesError": "File Processing Error", "promptFilesErrorDesc": "{count} files failed to process", - "historyPlaceholder": "(Press Tab to fill)", + "historyPlaceholder": "(Press Tab to autocomplete)", "rateLimitQueue": "Queue {count}", "rateLimitWait": "Wait {seconds}s", "rateLimitQueueTooltip": "{count} requests in queue, {interval}s interval", diff --git a/src/renderer/src/i18n/en-US/components.json b/src/renderer/src/i18n/en-US/components.json index d0754b7fd..19c5b84c7 100644 --- a/src/renderer/src/i18n/en-US/components.json +++ b/src/renderer/src/i18n/en-US/components.json @@ -23,14 +23,14 @@ "granted": "Permission granted", "denied": "Permission denied", "type": { - "read": "Read permissions", - "write": "Write permissions", - "all": "Full permissions" + "read": "Read Access", + "write": "Write Access", + "all": "Full Access" }, "description": { - "read": "Allow '{toolName}' of '{serverName}' to perform read operations?", - "write": "Allow '{toolName}' of '{serverName}' to perform write operations?", - "all": "Allow '{toolName}' of '{serverName}' to perform read and write operations?" + "read": "Allow '{toolName}' from '{serverName}' to perform read operations?", + "write": "Allow '{toolName}' from '{serverName}' to perform write operations?", + "all": "Allow '{toolName}' from '{serverName}' to perform read and write operations?" } } } diff --git a/src/renderer/src/i18n/en-US/contextMenu.json b/src/renderer/src/i18n/en-US/contextMenu.json index 58caa7ea6..7b418f2ef 100644 --- a/src/renderer/src/i18n/en-US/contextMenu.json +++ b/src/renderer/src/i18n/en-US/contextMenu.json @@ -9,7 +9,7 @@ "title": "Ask AI", "question": "Question", "answer": "Answer", - "error": "AI answer failed" + "error": "AI response failed" }, "copy": "Copy", "paste": "Paste", diff --git a/src/renderer/src/i18n/en-US/dialog.json b/src/renderer/src/i18n/en-US/dialog.json index c65da5c18..90e6623fe 100644 --- a/src/renderer/src/i18n/en-US/dialog.json +++ b/src/renderer/src/i18n/en-US/dialog.json @@ -18,10 +18,10 @@ "confirm": "Clear" }, "fork": { - "title": "Create Branch Conversation", + "title": "Create Branch", "description": "This will copy all messages from the first message to the current message into a new conversation where you can continue the dialogue.", "confirm": "Create Branch", - "tag": "Branches" + "tag": "Branch" }, "error": { "title": "Error" diff --git a/src/renderer/src/i18n/en-US/mcp.json b/src/renderer/src/i18n/en-US/mcp.json index eb8dd8572..2e328d3e2 100644 --- a/src/renderer/src/i18n/en-US/mcp.json +++ b/src/renderer/src/i18n/en-US/mcp.json @@ -4,7 +4,7 @@ "noToolsAvailable": "No tools available", "selectToolToDebug": "Select a tool to debug", "dialogDescription": "Debug and test tools provided by MCP servers", - "toolsCount": "tools", + "toolsCount": "{count} tools", "availableTools": "Available Tools", "toolList": "Tool List", "functionDescription": "Function Description", @@ -41,25 +41,25 @@ "annotations": "Annotations", "invalidJsonFormat": "JSON format is incorrect" }, - "addServer": "Add a server", + "addServer": "Add Server", "addServerDialog": { "description": "Configure a new MCP server", - "title": "Add a server" + "title": "Add Server" }, "confirmDelete": { "cancel": "Cancel", - "confirm": "delete", + "confirm": "Delete", "description": "Are you sure you want to delete the server {name}? \nThis operation cannot be cancelled.", "title": "Confirm deletion" }, "confirmRemoveServer": "Are you sure you want to delete the server {name}? \nThis operation cannot be cancelled.", "default": "default", - "deleteServer": "Delete the server", + "deleteServer": "Delete Server", "description": "Manage and configure MCP (Model Context Protocol) servers and tools", - "editServer": "Edit the server", + "editServer": "Edit Server", "editServerDialog": { "description": "Edit MCP server configuration", - "title": "Edit the server" + "title": "Edit Server" }, "enableToAccess": "Please enable MCP to access configuration options.", "enabledDescription": "Enable or disable MCP functionality and tools.", @@ -67,17 +67,17 @@ "isDefault": "Default server", "noServersFound": "Server not found", "removeDefault": "Remove default", - "removeServer": "Delete the server", + "removeServer": "Remove Server", "removeServerDialog": { - "title": "Delete the server" + "title": "Delete Server" }, - "resetConfirm": "recover", + "resetConfirm": "Restore", "resetConfirmDescription": "This action restores all default servers while retaining your customized servers. \nAny modifications to the default server will be lost.", "resetConfirmTitle": "Restore default service", "resetToDefault": "Restore default service", "running": "Running", "serverForm": { - "add": "Add to", + "add": "Add", "args": "Arguments", "argsPlaceholder": "Enter parameters, separated by spaces", "argsRequired": "Parameters cannot be empty", @@ -102,8 +102,8 @@ "envPlaceholder": "Enter environment variables in JSON format", "icon": "Icon", "iconPlaceholder": "Enter icon", - "icons": "Icon", - "iconsPlaceholder": "Enter icon", + "icons": "Icons", + "iconsPlaceholder": "Enter icons", "jsonConfig": "JSON configuration", "jsonConfigExample": "JSON configuration example", "jsonConfigIntro": "You can directly paste the JSON configuration or choose to configure the server manually.", @@ -115,7 +115,7 @@ "parseError": "Parsing error", "parseSuccess": "Configuration parsed successfully", "skipToManual": "Skip to manual configuration", - "submit": "submit", + "submit": "Submit", "folders": "Folder List", "addFolder": "Add Folder", "selectFolder": "Select Folder", @@ -141,7 +141,7 @@ "title": "MCP Settings", "inmemory": { "Artifacts": { - "desc": "Make your DeepChat output diversified Artifacts content", + "desc": "Produce richer Artifacts in DeepChat", "name": "Artifacts" }, "bochaSearch": { @@ -149,11 +149,11 @@ "name": "Bocha Search" }, "buildInFileSystem": { - "desc": "Allows DeepChat to interact with the local file system.", + "desc": "Allow DeepChat to interact with the local file system.", "name": "File System" }, "imageServer": { - "desc": "Enables any model in DeepChat to understand and generate images.", + "desc": "Enable any model in DeepChat to understand and generate images.", "name": "Image Service" }, "braveSearch": { @@ -161,7 +161,7 @@ "name": "Brave Search" }, "powerpack": { - "desc": "Provides any large model with enhanced capabilities like time queries, web scraping, and secure code execution.", + "desc": "Provide models with time queries, web browsing, and secure code execution.", "name": "Power Pack" }, "difyKnowledge": { @@ -177,36 +177,36 @@ "desc": "FastGPT knowledge base search service, can search FastGPT knowledge base content" }, "deepchat-inmemory/custom-prompts-server": { - "desc": "DeepChat built-in custom prompt word service", + "desc": "DeepChat built-in custom prompts service", "name": "Custom Prompts" }, "deepchat-inmemory/deep-research-server": { - "desc": "DeepChat built-in in-depth research service based on Bocha Search (note that long context models are required to be used, and models with insufficient context may fail)", + "desc": "DeepChat built-in deep research powered by Bocha Search. Long-context models are recommended.", "name": "DeepResearch" }, "deepchat-inmemory/auto-prompting-server": { "name": "Auto Template Prompting", - "desc": "Automatically selects the most suitable custom prompt based on user input and intelligently fills the prompt template." + "desc": "Automatically select the best custom prompt based on input and fill the template intelligently." }, "deepchat-inmemory/conversation-search-server": { "name": "Conversation History Search", - "desc": "DeepChat built-in conversation history search service, can search historical conversation records and message contents" + "desc": "DeepChat built-in conversation history search for past chats and messages." }, "builtinKnowledge": { - "desc": "DeepChat built-in knowledge base search service, which can search the content of DeepChat built-in knowledge base", + "desc": "DeepChat built-in knowledge base search for DeepChat docs and guides.", "name": "Built-in knowledge base search" }, "deepchat-inmemory/meeting-server": { "name": "Multi-Agent Meetings", - "desc": "DeepChat's built-in meeting service enables hosting and facilitating multi-agent discussions." + "desc": "DeepChat built-in meetings to host multi-agent discussions." }, "deepchat/apple-server": { - "desc": "Let the model operate macOS's system functions such as calendar, contacts, emails, maps, memos, reminders and other systems", - "name": "macOS system assistant" + "desc": "Let models operate macOS apps like Calendar, Contacts, Mail, Maps, Notes, and Reminders.", + "name": "macOS System Assistant" } }, "prompts": { - "noPromptsAvailable": "No Prompts available", + "noPromptsAvailable": "No Prompts Available", "noDescription": "No description yet", "selectPrompt": "Details for the selected prompt will be shown here.", "parameters": "Parameters", @@ -223,7 +223,7 @@ "noResourcesAvailable": "No Resources Available", "selectResource": "Select a resource to view its content.", "loading": "Loading...", - "loadContent": "View Content", + "loadContent": "Load Content", "pleaseSelect": "Click to view resource details.", "dialogDescription": "Browse and view resources provided by MCP servers" }, diff --git a/src/renderer/src/i18n/en-US/promptSetting.json b/src/renderer/src/i18n/en-US/promptSetting.json index ddf4c556f..a7969fb1b 100644 --- a/src/renderer/src/i18n/en-US/promptSetting.json +++ b/src/renderer/src/i18n/en-US/promptSetting.json @@ -37,7 +37,7 @@ "required": "Required", "characters": "Characters", "fileManagement": "File Management", - "uploadFromDevice": "Upload from Your Device", + "uploadFromDevice": "Upload from device", "uploadFromDeviceDesc": "Supports text, documents, CSV, and more.", "uploadedFiles": "Uploaded Files", "noFiles": "No files", diff --git a/src/renderer/src/i18n/en-US/settings.json b/src/renderer/src/i18n/en-US/settings.json index 6c3e8cb1a..c5afebb1a 100644 --- a/src/renderer/src/i18n/en-US/settings.json +++ b/src/renderer/src/i18n/en-US/settings.json @@ -33,13 +33,12 @@ "theme": "Theme", "themeSelect": "Select theme", "closeToQuit": "Exit app when closing window", - "contentProtection": "Screen Protection", "contentProtectionDialogTitle": "Confirm Screen Protection Change", - "contentProtectionEnableDesc": "Enabling screen protection prevents screen sharing software from capturing the DeepChat window, protecting your content privacy. Note that this feature will not completely hide all interfaces. Please use this feature responsibly and in compliance with regulations. Additionally, not all screen sharing software supports this feature. Additionally, some environments may leave a black window.", - "contentProtectionDisableDesc": "Disabling screen protection will allow screen sharing software to capture the DeepChat window.", + "contentProtectionEnableDesc": "Prevent screen sharing apps from capturing the DeepChat window to help protect your privacy. Not all apps honor this setting; in some environments a black window may remain.", + "contentProtectionDisableDesc": "Allow screen sharing apps to capture the DeepChat window.", "contentProtectionRestartNotice": "Changing this setting will restart the application. Do you want to continue?", - "soundEnabled": "Enable Sound effects", - "copyWithCotEnabled": "Copy including COT details", + "soundEnabled": "Enable Sound Effects", + "copyWithCotEnabled": "Copy COT Details", "loggingEnabled": "Enable Logging", "loggingDialogTitle": "Confirm Logging Setting Change", "loggingEnableDesc": "Enabling logging will help us diagnose issues and improve the application. Log files may contain sensitive information.", @@ -50,7 +49,7 @@ "newChat": "Create a new chat", "title": "Shortcut key settings" }, - "notifications": "System Notification", + "notifications": "System Notifications", "notificationsDesc": "When DeepChat is not in the foreground, if a session is generated, a system notification will be sent" }, "data": { @@ -108,10 +107,10 @@ }, "artifacts": { "description": "Enabling the Artifacts feature allows the AI to generate richer content", - "title": "Artifacts effects" + "title": "Artifacts" }, - "addModel": "Add a model", - "configureModel": "Configuration model", + "addModel": "Add Model", + "configureModel": "Configure Model", "modelList": "Model List", "provider": "Service provider", "providerSetting": "Service provider settings", @@ -120,7 +119,7 @@ "cancel": "Cancel", "contextLength": { "description": "Set the context length that the model can handle", - "label": "Context length" + "label": "Context Length" }, "description": "Please note that this configuration is only valid for the current model and will not affect other models. Please modify it with caution. Incorrect parameters may cause the model to not work properly.", "functionCall": { @@ -172,8 +171,8 @@ "useModelDefault": "Use model default configuration", "currentUsingModelDefault": "Currently using model default configuration", "temperature": { - "description": "Control the randomness of the output. Most models are 0-1, and some support between 0-2. The higher the higher the randomness.", - "label": "temperature" + "description": "Control the randomness of the output. Most models are 0-1, and some support between 0-2. Higher values increase randomness.", + "label": "Temperature" }, "title": "Custom model parameters", "type": { @@ -181,9 +180,9 @@ "label": "Model Type", "options": { "chat": "Language Model", - "embedding": "Embed Model", - "imageGeneration": "Image generation model", - "rerank": "Reorder the model" + "embedding": "Embedding Model", + "imageGeneration": "Image Generation Model", + "rerank": "Rerank Model" } }, "validation": { @@ -303,7 +302,7 @@ "serverList": "Server List", "totalServers": "Total Servers", "addServer": "Add Server", - "autoStart": "Self-start", + "autoStart": "Auto Start", "githubCopilotAuth": "GitHub Copilot Auth", "githubCopilotConnected": "GitHub Copilot Connected", "githubCopilotNotConnected": "GitHub Copilot Not Connected", @@ -318,7 +317,7 @@ "disconnected": "Disconnected successfully", "disconnectFailed": "Disconnect failed", "keyStatus": { - "remaining": "Remaining amount", + "remaining": "Remaining Quota", "usage": "Used" }, "refreshingModels": "Refreshing...", @@ -328,10 +327,10 @@ }, "anthropicApiKeyTip": "Please go to Anthropic Console to get your API Key", "anthropicConnected": "Anthropic connected", - "anthropicNotConnected": "Anthropic Not connected", - "anthropicOAuthTip": "Click Authorize DeepChat to access your Anthropic account", + "anthropicNotConnected": "Anthropic not connected", + "anthropicOAuthTip": "Click to authorize DeepChat to access your Anthropic account", "oauthLogin": "OAuth Login", - "authMethod": "Certification method", + "authMethod": "Authentication Method", "authMethodPlaceholder": "Select authentication method", "apiKeyLabel": "API Key", "apiUrlLabel": "API URL", @@ -493,7 +492,7 @@ "type": "Server Type", "typePlaceholder": "Select server type", "typeStdio": "Standard input and output (Stdio)", - "typeSse": "Server Send Events (SSE)", + "typeSse": "Server-Sent Events (SSE)", "typeInMemory": "In-Memory", "typeHttp": "Streaming HTTP Requests (HTTP)", "baseUrl": "Base URL", @@ -537,14 +536,14 @@ "browseMarketplace": "Browse MCP Marketplace", "imageModel": "Choose a vision model", "customHeadersParseError": "Custom Header parsing failed", - "customHeaders": "Custom request header", + "customHeaders": "Custom Request Headers", "invalidKeyValueFormat": "Incorrect request header format, please check whether the input is correct.", "npmRegistry": "Custom NPM Registry", "npmRegistryPlaceholder": "Set up a custom NPM Registry, leave the system to automatically select the fastest one", "browseHigress": "View Higress MCP Marketplace", "selectFolderError": "Folder selection error", - "folders": "Folders allowed to access", - "addFolder": "Add folder", + "folders": "Allowed Folders", + "addFolder": "Add Folder", "noFoldersSelected": "No folders were selected", "useE2B": "Enable E2B Sandbox", "e2bDescription": "Execute Python code using E2B sandbox", diff --git a/src/renderer/src/i18n/en-US/thread.json b/src/renderer/src/i18n/en-US/thread.json index f429d8531..92a170bf6 100644 --- a/src/renderer/src/i18n/en-US/thread.json +++ b/src/renderer/src/i18n/en-US/thread.json @@ -11,21 +11,21 @@ "toolbar": { "save": "Save", "cancel": "Cancel", - "previousVariant": "Previous Response", - "nextVariant": "Next Response", - "copy": "Copy Response as Markdown", + "previousVariant": "Previous Variant", + "nextVariant": "Next Variant", + "copy": "Copy as Markdown", "copyImage": "Copy as Image", - "copyImageWithLongPress": "Copy as image (long press to capture from top)", + "copyImageWithLongPress": "Copy as Image (long-press to capture from top)", "copyFromTopSuccess": "Full conversation image copied", "capturing": "Capturing...", "retry": "Regenerate", - "fork": "Fork Conversation", + "fork": "Branch to New Chat", "edit": "Edit message", "delete": "Delete message" }, "message": { "toolbar": { - "save": "save" + "save": "Save" } }, "export": { diff --git a/src/renderer/src/i18n/en-US/update.json b/src/renderer/src/i18n/en-US/update.json index aaeb60f66..ab8b5b475 100644 --- a/src/renderer/src/i18n/en-US/update.json +++ b/src/renderer/src/i18n/en-US/update.json @@ -4,7 +4,7 @@ "releaseDate": "Release Date", "releaseNotes": "Release Notes", "later": "Later", - "githubDownload": "Github Download", + "githubDownload": "GitHub Download", "netdiskDownload": "Cloud Download", "checkUpdate": "Check for Updates", "downloading": "Downloading", From adbc9986776bd089a73ec7a2abda5c807e0fff06 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 16:11:27 +0800 Subject: [PATCH 2/9] chore(i18n): polish ja-JP translations across UI; keep chat.input.placeholder unchanged --- src/renderer/src/i18n/ja-JP/about.json | 8 +-- src/renderer/src/i18n/ja-JP/artifacts.json | 6 +- src/renderer/src/i18n/ja-JP/chat.json | 6 +- src/renderer/src/i18n/ja-JP/common.json | 6 +- src/renderer/src/i18n/ja-JP/components.json | 16 +++--- src/renderer/src/i18n/ja-JP/contextMenu.json | 4 +- src/renderer/src/i18n/ja-JP/dialog.json | 16 +++--- src/renderer/src/i18n/ja-JP/mcp.json | 58 ++++++++++---------- src/renderer/src/i18n/ja-JP/routes.json | 2 +- src/renderer/src/i18n/ja-JP/settings.json | 18 +++--- src/renderer/src/i18n/ja-JP/thread.json | 20 +++---- src/renderer/src/i18n/ja-JP/toolCall.json | 2 +- src/renderer/src/i18n/ja-JP/update.json | 4 +- 13 files changed, 83 insertions(+), 83 deletions(-) diff --git a/src/renderer/src/i18n/ja-JP/about.json b/src/renderer/src/i18n/ja-JP/about.json index 53dfb3b13..3838e1ef2 100644 --- a/src/renderer/src/i18n/ja-JP/about.json +++ b/src/renderer/src/i18n/ja-JP/about.json @@ -1,10 +1,10 @@ { "title": "DeepChat", "description": "DeepChatはクロスプラットフォームのAIクライアントで、より多くの人々にAIを便利に使用できるよう努めています。", - "website": "ウェブサイトを訪問", - "disclaimerButton": "免責条項", - "disclaimerTitle": "利用規約声明", - "checkUpdateButton": "アップデートを確認する", + "website": "Webサイトを開く", + "disclaimerButton": "免責事項", + "disclaimerTitle": "利用規約", + "checkUpdateButton": "アップデートを確認", "deviceInfo": { "title": "デバイス情報", "platform": "プラットフォーム", diff --git a/src/renderer/src/i18n/ja-JP/artifacts.json b/src/renderer/src/i18n/ja-JP/artifacts.json index cdd19a1fb..776f80995 100644 --- a/src/renderer/src/i18n/ja-JP/artifacts.json +++ b/src/renderer/src/i18n/ja-JP/artifacts.json @@ -30,11 +30,11 @@ "htmlPreviewTitle": "HTMLプレビュー", "svgPreviewTitle": "SVGプレビュー", "copy": "コピー", - "copySuccess": "コピー成功", + "copySuccess": "コピーしました", "copySuccessDesc": "クリップボードにコピーしました", - "copyFailed": "コピー失敗", + "copyFailed": "コピーできませんでした", "copyFailedDesc": "クリップボードへのコピーに失敗しました", "copyAsImage": "画像としてコピー", "copyImageSuccessDesc": "画像をクリップボードにコピーしました", - "copyImageFailedDesc": "画像のコピーに失敗しました" + "copyImageFailedDesc": "画像をコピーできませんでした" } diff --git a/src/renderer/src/i18n/ja-JP/chat.json b/src/renderer/src/i18n/ja-JP/chat.json index 88af57757..ac16dd5c1 100644 --- a/src/renderer/src/i18n/ja-JP/chat.json +++ b/src/renderer/src/i18n/ja-JP/chat.json @@ -4,14 +4,14 @@ "fileArea": "ファイルエリア", "inputArea": "入力エリア", "functionSwitch": "機能スイッチ", - "fileSelect": "ファイル選択", - "pasteFiles": "ファイルのコピー&ペーストをサポート", + "fileSelect": "ファイルを選択", + "pasteFiles": "クリップボードから貼り付けに対応", "dropFiles": "ファイルをここにドラッグ", "promptFilesAdded": "プロンプトファイルが追加されました", "promptFilesAddedDesc": "{count}個のファイルが正常に追加されました", "promptFilesError": "ファイル処理エラー", "promptFilesErrorDesc": "{count}個のファイルの処理に失敗しました", - "historyPlaceholder": "(タブを押して入力)", + "historyPlaceholder": "(Tabで補完)", "rateLimitQueue": "キュー {count}", "rateLimitWait": "待機 {seconds}秒", "rateLimitQueueTooltip": "キューに{count}個のリクエスト、間隔{interval}秒", diff --git a/src/renderer/src/i18n/ja-JP/common.json b/src/renderer/src/i18n/ja-JP/common.json index b281164d2..1f16d561c 100644 --- a/src/renderer/src/i18n/ja-JP/common.json +++ b/src/renderer/src/i18n/ja-JP/common.json @@ -2,11 +2,11 @@ "enabled": "有効", "disabled": "無効", "loading": "読み込み中...", - "copySuccess": "コピー成功", + "copySuccess": "コピーしました", "copySuccessDesc": "クリップボードにコピーしました", - "copyImageSuccess": "コピー成功", + "copyImageSuccess": "コピーしました", "copyImageSuccessDesc": "画像をクリップボードにコピーしました", - "copyFailed": "コピー失敗", + "copyFailed": "コピーできませんでした", "copyFailedDesc": "クリップボードへのコピーに失敗しました", "copyCode": "コードをコピー", "copy": "コピー", diff --git a/src/renderer/src/i18n/ja-JP/components.json b/src/renderer/src/i18n/ja-JP/components.json index 29c22c9d8..22b8a9dde 100644 --- a/src/renderer/src/i18n/ja-JP/components.json +++ b/src/renderer/src/i18n/ja-JP/components.json @@ -12,8 +12,8 @@ "flags": "旗" }, "messageBlockAction": { - "continue": "続く", - "continued": "続く" + "continue": "続行", + "continued": "続行済み" }, "messageBlockPermissionRequest": { "title": "権限が必要", @@ -23,14 +23,14 @@ "granted": "権限が許可されました", "denied": "権限が拒否されました", "type": { - "read": "読み取り権限", - "write": "書き込み権限", - "all": "全ての権限" + "read": "読み取りアクセス", + "write": "書き込みアクセス", + "all": "フルアクセス" }, "description": { - "all": "'{servername}'の '{toolname}'を読み取り操作を実行することを許可しますか?", - "read": "'{servername}'の '{toolname}'を読み取り操作を実行することを許可しますか?", - "write": "'{servername}'の '{toolname}'を許可しますか?" + "read": "'{serverName}' の '{toolName}' が読み取り操作を行うことを許可しますか?", + "write": "'{serverName}' の '{toolName}' が書き込み操作を行うことを許可しますか?", + "all": "'{serverName}' の '{toolName}' が読み取り・書き込みを行うことを許可しますか?" } } } diff --git a/src/renderer/src/i18n/ja-JP/contextMenu.json b/src/renderer/src/i18n/ja-JP/contextMenu.json index 1b83cbaf8..b66a19b4b 100644 --- a/src/renderer/src/i18n/ja-JP/contextMenu.json +++ b/src/renderer/src/i18n/ja-JP/contextMenu.json @@ -6,10 +6,10 @@ "error": "翻訳に失敗しました" }, "askAI": { - "title": "AI 質問", + "title": "AIに聞く", "question": "質問", "answer": "回答", - "error": "AI の回答に失敗しました" + "error": "AIの応答に失敗しました" }, "copy": "コピー", "paste": "貼り付け", diff --git a/src/renderer/src/i18n/ja-JP/dialog.json b/src/renderer/src/i18n/ja-JP/dialog.json index 6bfbd2581..346f8b14b 100644 --- a/src/renderer/src/i18n/ja-JP/dialog.json +++ b/src/renderer/src/i18n/ja-JP/dialog.json @@ -4,8 +4,8 @@ "close": "閉じる", "ok": "OK", "delete": { - "title": "このチャットを削除してもよろしいですか?", - "description": "この操作は元に戻せませんので、慎重に行ってください。", + "title": "この会話を削除しますか?", + "description": "この操作は元に戻せません。", "confirm": "削除" }, "rename": { @@ -17,13 +17,13 @@ }, "cleanMessages": { "confirm": "クリア", - "description": "メッセージをクリアすると、セッション内のすべてのメッセージとファイルが削除されます。続行しますか?", - "title": "セッションメッセージをクリアします" + "description": "この会話のすべてのメッセージとファイルを削除します。続行しますか?", + "title": "メッセージをクリア" }, "fork": { - "tag": "枝", - "confirm": "分岐作成", - "description": "最初のメッセージから現在選択されているメッセージにメッセージをコピーして、会話を続けることができます。", - "title": "会話を分岐" + "tag": "ブランチ", + "confirm": "ブランチ作成", + "description": "最初のメッセージから現在のメッセージまでを新しい会話にコピーします。", + "title": "ブランチを作成" } } diff --git a/src/renderer/src/i18n/ja-JP/mcp.json b/src/renderer/src/i18n/ja-JP/mcp.json index 5cbc9c52c..4fe0c8b63 100644 --- a/src/renderer/src/i18n/ja-JP/mcp.json +++ b/src/renderer/src/i18n/ja-JP/mcp.json @@ -34,50 +34,50 @@ "annotations": "注釈", "selectToolToDebug": "デバッグするツールを選択", "dialogDescription": "MCPサーバーが提供するツールのデバッグとテスト", - "toolsCount": "ツール", + "toolsCount": "{count} 個のツール", "availableTools": "利用可能なツール", "invalidJson": "無効なJSON形式", "inputHint": "JSON形式でパラメータを入力してください", "required": "必須", "noDescription": "説明なし" }, - "addServer": "サーバーを追加します", + "addServer": "サーバーを追加", "addServerDialog": { "description": "新しいMCPサーバーを構成します", - "title": "サーバーを追加します" + "title": "サーバーを追加" }, "confirmDelete": { "cancel": "キャンセル", - "confirm": "消去", + "confirm": "削除", "description": "サーバー{name}を削除したいですか?この操作はキャンセルできません。", - "title": "削除を確認します" + "title": "削除の確認" }, - "confirmRemoveServer": "サーバー{name}を削除したいですか?この操作はキャンセルできません。", + "confirmRemoveServer": "サーバー{name}を削除してもよろしいですか?この操作は取り消せません。", "default": "デフォルト", - "deleteServer": "サーバーを削除します", + "deleteServer": "サーバーを削除", "description": "MCP(Model Context Protocol)サーバーとツールの管理と設定", - "editServer": "サーバーを編集します", + "editServer": "サーバーを編集", "editServerDialog": { "description": "MCPサーバーの構成を編集します", - "title": "サーバーを編集します" + "title": "サーバーを編集" }, "enableToAccess": "設定オプションにアクセスするには、まずMCPを有効にしてください", "enabledDescription": "MCP機能とツールの有効化または無効化", "enabledTitle": "MCPを有効化", "isDefault": "デフォルトサーバー", "noServersFound": "サーバーが見つかりません", - "removeDefault": "デフォルトを削除します", - "removeServer": "サーバーを削除します", + "removeDefault": "デフォルトを削除", + "removeServer": "サーバーを削除", "removeServerDialog": { - "title": "サーバーを削除します" + "title": "サーバーを削除" }, - "resetConfirm": "回復する", + "resetConfirm": "復元", "resetConfirmDescription": "このアクションは、カスタマイズされたサーバーを保持しながら、すべてのデフォルトサーバーを復元します。デフォルトのサーバーの変更は失われます。", - "resetConfirmTitle": "デフォルトサービスを復元します", - "resetToDefault": "デフォルトサービスを復元します", + "resetConfirmTitle": "デフォルトサービスを復元", + "resetToDefault": "デフォルトサービスを復元", "running": "ランニング", "serverForm": { - "add": "に追加", + "add": "追加", "args": "パラメーター", "argsPlaceholder": "スペースで区切られたパラメーターを入力します", "argsRequired": "パラメーターを空にすることはできません", @@ -93,10 +93,10 @@ "commandPlaceholder": "コマンドを入力します", "commandRequired": "コマンドを空にすることはできません", "configImported": "構成インポートが成功しました", - "description": "説明する", - "descriptionPlaceholder": "サーバーの説明を入力します", - "descriptions": "説明する", - "descriptionsPlaceholder": "サーバーの説明を入力します", + "description": "説明", + "descriptionPlaceholder": "サーバーの説明を入力", + "descriptions": "説明", + "descriptionsPlaceholder": "サーバーの説明を入力", "env": "環境変数", "envInvalid": "環境変数は有効なJSON形式でなければなりません", "envPlaceholder": "JSON形式で環境変数を入力します", @@ -113,26 +113,26 @@ "nameRequired": "サーバー名を空にすることはできません", "parseAndContinue": "分析して続行します", "parseError": "解析エラー", - "parseSuccess": "構成解析に正常に", + "parseSuccess": "設定の解析に成功しました", "skipToManual": "手動構成までスキップします", - "submit": "提出する", + "submit": "送信", "type": "サーバータイプ", "typeInMemory": "メモリ", "typePlaceholder": "サーバータイプを選択します", - "typeSse": "サーバーはイベントを送信します", + "typeSse": "サーバー送信イベント(SSE)", "typeStdio": "標準入力と出力", "update": "更新します", "addFolder": "フォルダーを追加します", - "folders": "フォルダーリスト", + "folders": "フォルダー一覧", "noFoldersSelected": "フォルダーは選択されていません", "selectFolder": "フォルダーを選択します", "selectFolderError": "フォルダーの選択に失敗しました" }, - "serverList": "サーバーリスト", - "setAsDefault": "デフォルトのサーバーとして設定します", - "setDefault": "デフォルトとして設定します", - "startServer": "サーバーを起動します", - "stopServer": "サーバーを停止します", + "serverList": "サーバー一覧", + "setAsDefault": "デフォルトサーバーに設定", + "setDefault": "デフォルトに設定", + "startServer": "サーバーを起動", + "stopServer": "サーバーを停止", "stopped": "停止", "tabs": { "servers": "サーバ", diff --git a/src/renderer/src/i18n/ja-JP/routes.json b/src/renderer/src/i18n/ja-JP/routes.json index caa2ebc90..a69506efc 100644 --- a/src/renderer/src/i18n/ja-JP/routes.json +++ b/src/renderer/src/i18n/ja-JP/routes.json @@ -8,7 +8,7 @@ "settings-database": "データ設定", "settings-mcp": "MCP設定", "settings-shortcut": "ショートカット", - "settings-display": "設定を表示します", + "settings-display": "表示設定", "settings-knowledge-base": "ナレッジベース", "settings-prompt": "プロンプト管理" } diff --git a/src/renderer/src/i18n/ja-JP/settings.json b/src/renderer/src/i18n/ja-JP/settings.json index 9d26517a5..0bd4bc743 100644 --- a/src/renderer/src/i18n/ja-JP/settings.json +++ b/src/renderer/src/i18n/ja-JP/settings.json @@ -20,8 +20,8 @@ "invalidProxyUrl": "無効なプロキシURL、有効なhttp/https URLを入力してください", "contentProtection": "画面キャプチャ保護", "contentProtectionDialogTitle": "画面保護の切り替え確認", - "contentProtectionEnableDesc": "画面保護を有効にすると、画面共有ソフトウェアがDeepChatウィンドウをキャプチャするのを防ぎ、コンテンツのプライバシーを保護します。この機能はすべてのインターフェイスを完全に隠すわけではありません。責任を持って規制に準拠して使用してください。また、画面共有ソフトウェアがこの機能をサポートしない場合があります。また、一部の環境では黒いウィンドウが残る可能性があります。", - "contentProtectionDisableDesc": "画面保護を無効にすると、画面共有ソフトウェアがDeepChatウィンドウをキャプチャできるようになります。", + "contentProtectionEnableDesc": "DeepChatウィンドウの画面共有によるキャプチャを防止し、プライバシー保護に役立ちます。すべてのアプリがこの設定に対応するわけではなく、環境によっては黒いウィンドウが残る場合があります。", + "contentProtectionDisableDesc": "画面共有アプリによるDeepChatウィンドウのキャプチャを許可します。", "contentProtectionRestartNotice": "この設定を変更するとアプリケーションが再起動します。続行しますか?", "soundEnabled": "サウンドを有効にする", "copyWithCotEnabled": "COT情報をコピー", @@ -51,7 +51,7 @@ "title": "ショートカットキー設定" }, "notifications": "システム通知", - "notificationsDesc": "Deepchatが前景にない場合、セッションが生成された場合、システム通知が送信されます" + "notificationsDesc": "DeepChatがバックグラウンドのとき、応答が完了すると通知を送信します" }, "data": { "title": "データ設定", @@ -108,10 +108,10 @@ }, "artifacts": { "description": "Artifacts機能を有効にすると、AIはより豊かなコンテンツを生成できます", - "title": "アーティファクト効果" + "title": "Artifacts" }, - "addModel": "モデルを追加します", - "configureModel": "構成モデル", + "addModel": "モデルを追加", + "configureModel": "モデルを構成", "modelList": "モデルリスト", "provider": "サービスプロバイダー", "providerSetting": "サービスプロバイダーの設定", @@ -120,7 +120,7 @@ "cancel": "キャンセル", "contextLength": { "description": "モデルが処理できるコンテキスト長を設定します", - "label": "コンテキストの長さ" + "label": "コンテキスト長" }, "description": "この構成は現在のモデルに対してのみ有効であり、他のモデルには影響しないことに注意してください。注意して変更してください。パラメーターが誤っていると、モデルが適切に機能しない場合があります。", "functionCall": { @@ -172,7 +172,7 @@ "useModelDefault": "モデルのデフォルト設定を使用", "currentUsingModelDefault": "現在モデルのデフォルト設定を使用中", "temperature": { - "description": "出力のランダム性を制御します。ほとんどのモデルは0-1で、0〜2の間のサポートがあります。ランダム性が高くなるほど。", + "description": "出力のランダム性を制御します。値が高いほどランダム性が増します。", "label": "温度" }, "title": "カスタムモデルパラメーター", @@ -183,7 +183,7 @@ "chat": "言語モデル", "embedding": "埋め込みモデル", "imageGeneration": "画像生成モデル", - "rerank": "モデルを並べ替えます" + "rerank": "リランクモデル" } }, "validation": { diff --git a/src/renderer/src/i18n/ja-JP/thread.json b/src/renderer/src/i18n/ja-JP/thread.json index 33958b01a..3b426bc1a 100644 --- a/src/renderer/src/i18n/ja-JP/thread.json +++ b/src/renderer/src/i18n/ja-JP/thread.json @@ -2,26 +2,26 @@ "actions": { "rename": "名前を変更", "delete": "削除", - "cleanMessages": "メッセージをクリアします", + "cleanMessages": "メッセージをクリア", "pin": "ピン留めする", "unpin": "ピン留めを外す", - "export": "輸出", + "export": "エクスポート", "exportText": "プレーンテキスト" }, "toolbar": { "save": "保存", "cancel": "キャンセル", - "previousVariant": "前のバージョンに切り替えます", - "nextVariant": "次のバージョンに切り替えます", - "copy": "答えをマークダウンにコピーします", - "copyImage": "画像としてコピーします", + "previousVariant": "前のバリアント", + "nextVariant": "次のバリアント", + "copy": "Markdownとしてコピー", + "copyImage": "画像としてコピー", "retry": "再生成", "fork": "新会話に分岐", - "edit": "メッセージを編集します", - "delete": "メッセージを削除します", - "capturing": "スクリーンショット...", + "edit": "メッセージを編集", + "delete": "メッセージを削除", + "capturing": "キャプチャ中...", "copyFromTopSuccess": "完全なセッション画像がコピーされました", - "copyImageWithLongPress": "画像としてコピー(長押しで上部から取得)" + "copyImageWithLongPress": "画像としてコピー(長押しで上部からキャプチャ)" }, "message": { "toolbar": { diff --git a/src/renderer/src/i18n/ja-JP/toolCall.json b/src/renderer/src/i18n/ja-JP/toolCall.json index c6faa63a9..10285dbca 100644 --- a/src/renderer/src/i18n/ja-JP/toolCall.json +++ b/src/renderer/src/i18n/ja-JP/toolCall.json @@ -4,7 +4,7 @@ "end": "完了", "error": "エラー", "title": "ツール呼び出し", - "clickToView": "詳細を表示するにはクリック", + "clickToView": "クリックして詳細を表示", "functionName": "関数名", "permission": "権限リクエスト中", "params": "関数パラメータ", diff --git a/src/renderer/src/i18n/ja-JP/update.json b/src/renderer/src/i18n/ja-JP/update.json index 983317114..bad3121ce 100644 --- a/src/renderer/src/i18n/ja-JP/update.json +++ b/src/renderer/src/i18n/ja-JP/update.json @@ -4,12 +4,12 @@ "releaseDate": "リリース日", "releaseNotes": "リリースノート", "later": "後で", - "githubDownload": "Github ダウンロード", + "githubDownload": "GitHub ダウンロード", "netdiskDownload": "クラウドダウンロード", "checkUpdate": "アップデートを確認する", "autoUpdate": "自動更新", "downloading": "ダウンロード", - "installNow": "今すぐインストールしてください", + "installNow": "今すぐインストール", "restarting": "再起動", "alreadyUpToDate": "すでに最新です", "alreadyUpToDateDesc": "現在、DeepChatは最新バージョンに更新されており、更新は必要ありません。" From 94d9c320105da9b6d34f029f98eca694307543fe Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 18:54:49 +0800 Subject: [PATCH 3/9] chore(i18n): polish fr-FR translations; keep chat.input.placeholder unchanged --- src/renderer/src/i18n/fr-FR/about.json | 2 +- src/renderer/src/i18n/fr-FR/artifacts.json | 6 +++--- src/renderer/src/i18n/fr-FR/chat.json | 6 +++--- src/renderer/src/i18n/fr-FR/common.json | 6 +++--- src/renderer/src/i18n/fr-FR/components.json | 14 +++++++------- src/renderer/src/i18n/fr-FR/contextMenu.json | 4 ++-- src/renderer/src/i18n/fr-FR/dialog.json | 16 ++++++++-------- src/renderer/src/i18n/fr-FR/routes.json | 2 +- src/renderer/src/i18n/fr-FR/thread.json | 16 ++++++++-------- src/renderer/src/i18n/fr-FR/toolCall.json | 2 +- src/renderer/src/i18n/fr-FR/update.json | 2 +- 11 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/renderer/src/i18n/fr-FR/about.json b/src/renderer/src/i18n/fr-FR/about.json index 2dd3d3cf4..a0338f3a7 100644 --- a/src/renderer/src/i18n/fr-FR/about.json +++ b/src/renderer/src/i18n/fr-FR/about.json @@ -1,7 +1,7 @@ { "title": "DeepChat", "description": "DeepChat est un client IA multiplateforme, dédié à rendre l'IA accessible à plus de personnes.", - "website": "Visitez notre site web", + "website": "Ouvrir le site web", "deviceInfo": { "title": "Informations sur l'appareil", "platform": "Plateforme", diff --git a/src/renderer/src/i18n/fr-FR/artifacts.json b/src/renderer/src/i18n/fr-FR/artifacts.json index c2304264d..1074df564 100644 --- a/src/renderer/src/i18n/fr-FR/artifacts.json +++ b/src/renderer/src/i18n/fr-FR/artifacts.json @@ -30,11 +30,11 @@ "htmlPreviewTitle": "Aperçu HTML", "svgPreviewTitle": "Aperçu SVG", "copy": "Copier", - "copySuccess": "Copie réussie", + "copySuccess": "Copié", "copySuccessDesc": "Contenu copié dans le presse-papiers", - "copyFailed": "Échec de la copie", + "copyFailed": "Impossible de copier", "copyFailedDesc": "Impossible de copier le contenu dans le presse-papiers", "copyAsImage": "Copier en tant qu'image", "copyImageSuccessDesc": "Image copiée dans le presse-papiers", - "copyImageFailedDesc": "Impossible de copier des images dans le presse-papiers" + "copyImageFailedDesc": "Impossible de copier l'image dans le presse-papiers" } diff --git a/src/renderer/src/i18n/fr-FR/chat.json b/src/renderer/src/i18n/fr-FR/chat.json index 8da88981d..d4862eb53 100644 --- a/src/renderer/src/i18n/fr-FR/chat.json +++ b/src/renderer/src/i18n/fr-FR/chat.json @@ -4,14 +4,14 @@ "fileArea": "Zone de fichiers", "inputArea": "Zone de saisie", "functionSwitch": "Commutateur de fonction", - "fileSelect": "Sélection de fichier", - "pasteFiles": "Support du copier-coller de fichiers", + "fileSelect": "Sélectionner un fichier", + "pasteFiles": "Coller des fichiers depuis le presse-papiers", "dropFiles": "Déposez les fichiers ici", "promptFilesAdded": "Fichiers de prompt ajoutés", "promptFilesAddedDesc": "{count} fichiers ajoutés avec succès", "promptFilesError": "Erreur de traitement des fichiers", "promptFilesErrorDesc": "Échec du traitement de {count} fichiers", - "historyPlaceholder": "(Appuyez sur l'onglet pour remplir)", + "historyPlaceholder": "(Appuyez sur Tab pour compléter)", "rateLimitQueue": "File {count}", "rateLimitWait": "Attendre {seconds}s", "rateLimitQueueTooltip": "{count} requêtes en file, intervalle {interval} secondes", diff --git a/src/renderer/src/i18n/fr-FR/common.json b/src/renderer/src/i18n/fr-FR/common.json index 708c9a11a..90a35bdee 100644 --- a/src/renderer/src/i18n/fr-FR/common.json +++ b/src/renderer/src/i18n/fr-FR/common.json @@ -2,11 +2,11 @@ "enabled": "Activé", "disabled": "Désactivé", "loading": "Chargement...", - "copySuccess": "Copie réussie", + "copySuccess": "Copié", "copySuccessDesc": "Contenu copié dans le presse-papiers", - "copyImageSuccess": "Copie réussie", + "copyImageSuccess": "Copié", "copyImageSuccessDesc": "Image copiée dans le presse-papiers", - "copyFailed": "Échec de la copie", + "copyFailed": "Impossible de copier", "copyFailedDesc": "Impossible de copier le contenu dans le presse-papiers", "copyCode": "Copier le code", "copy": "Copier", diff --git a/src/renderer/src/i18n/fr-FR/components.json b/src/renderer/src/i18n/fr-FR/components.json index a1aa7134a..081560f65 100644 --- a/src/renderer/src/i18n/fr-FR/components.json +++ b/src/renderer/src/i18n/fr-FR/components.json @@ -13,7 +13,7 @@ }, "messageBlockAction": { "continue": "Continuer", - "continued": "Suite" + "continued": "Poursuivi" }, "messageBlockPermissionRequest": { "title": "Autorisation requise", @@ -23,14 +23,14 @@ "granted": "Autorisation accordée", "denied": "Autorisation refusée", "type": { - "read": "Autorisations de lecture", - "write": "Autorisations d'écriture", - "all": "Toutes les autorisations" + "read": "Accès en lecture", + "write": "Accès en écriture", + "all": "Accès complet" }, "description": { - "all": "Autoriser '{ToolName}' de '{servername}' pour effectuer des opérations de lecture et d'écriture?", - "read": "Autoriser '{ToolName}' de '{servername}' pour effectuer des opérations de lecture?", - "write": "Autoriser '{ToolName}' de '{servername}' pour effectuer des opérations d'écriture?" + "read": "Autoriser '{toolName}' de '{serverName}' à effectuer des opérations de lecture ?", + "write": "Autoriser '{toolName}' de '{serverName}' à effectuer des opérations d'écriture ?", + "all": "Autoriser '{toolName}' de '{serverName}' à lire et écrire ?" } } } diff --git a/src/renderer/src/i18n/fr-FR/contextMenu.json b/src/renderer/src/i18n/fr-FR/contextMenu.json index 04a645b4b..2ba55412f 100644 --- a/src/renderer/src/i18n/fr-FR/contextMenu.json +++ b/src/renderer/src/i18n/fr-FR/contextMenu.json @@ -6,10 +6,10 @@ "error": "Échec de la traduction" }, "askAI": { - "title": "Demander à l'IA", + "title": "Demander à l’IA", "question": "Question", "answer": "Réponse", - "error": "Échec de la réponse de l'IA" + "error": "Échec de la réponse de l’IA" }, "copy": "Copier", "paste": "Coller", diff --git a/src/renderer/src/i18n/fr-FR/dialog.json b/src/renderer/src/i18n/fr-FR/dialog.json index f34c2c4b4..f16846b77 100644 --- a/src/renderer/src/i18n/fr-FR/dialog.json +++ b/src/renderer/src/i18n/fr-FR/dialog.json @@ -4,8 +4,8 @@ "close": "Fermer", "ok": "OK", "delete": { - "title": "Êtes-vous sûr de vouloir supprimer cette conversation ?", - "description": "Cette action ne peut pas être annulée, veuillez procéder avec prudence.", + "title": "Supprimer cette conversation ?", + "description": "Cette action est irréversible.", "confirm": "Supprimer" }, "rename": { @@ -16,14 +16,14 @@ "title": "Erreur" }, "cleanMessages": { - "title": "Nettoyer les messages de la conversation", - "description": "Le nettoyage supprimera tous les messages et fichiers de cette conversation. Êtes-vous sûr de vouloir continuer ?", - "confirm": "Nettoyer" + "title": "Effacer les messages", + "description": "Cela supprimera tous les messages et fichiers de cette conversation. Continuer ?", + "confirm": "Effacer" }, "fork": { - "tag": "Branches", + "tag": "Branche", "confirm": "Créer une branche", - "description": "Copiez le message du premier message au message actuellement sélectionné dans une nouvelle session où vous pouvez continuer la conversation.", - "title": "Créer une branche de session" + "description": "Copier les messages du début jusqu’au message actuel dans une nouvelle conversation.", + "title": "Créer une branche" } } diff --git a/src/renderer/src/i18n/fr-FR/routes.json b/src/renderer/src/i18n/fr-FR/routes.json index 244cf4eef..b38a9f6fe 100644 --- a/src/renderer/src/i18n/fr-FR/routes.json +++ b/src/renderer/src/i18n/fr-FR/routes.json @@ -8,7 +8,7 @@ "settings-database": "Paramètres des données", "settings-about": "À propos", "settings-shortcut": "Raccourcis", - "settings-display": "Paramètres d'affichage", + "settings-display": "Affichage", "settings-knowledge-base": "Base de connaissances", "settings-prompt": "Gestion des Prompts" } diff --git a/src/renderer/src/i18n/fr-FR/thread.json b/src/renderer/src/i18n/fr-FR/thread.json index 4f4d9f999..fba5a66e4 100644 --- a/src/renderer/src/i18n/fr-FR/thread.json +++ b/src/renderer/src/i18n/fr-FR/thread.json @@ -9,23 +9,23 @@ "exportText": "Texte brut" }, "toolbar": { - "save": "sauvegarder", + "save": "Enregistrer", "cancel": "Annuler", - "previousVariant": "Passez à la version précédente", - "nextVariant": "Passez à la version suivante", - "copy": "Copiez la réponse à Markdown", + "previousVariant": "Variante précédente", + "nextVariant": "Variante suivante", + "copy": "Copier en Markdown", "copyImage": "Copier en tant qu'image", "retry": "Régénérer", - "fork": "Fourche à une nouvelle session", + "fork": "Créer une branche", "edit": "Modifier le message", "delete": "Supprimer le message", - "capturing": "Capture d'écran ...", + "capturing": "Capture en cours...", "copyFromTopSuccess": "Image de session complète copiée", - "copyImageWithLongPress": "Copier en tant qu'image (appuyez sur longue pour commencer à intercepter du haut)" + "copyImageWithLongPress": "Copier en image (appui long pour capturer depuis le haut)" }, "message": { "toolbar": { - "save": "sauvegarder" + "save": "Enregistrer" } }, "export": { diff --git a/src/renderer/src/i18n/fr-FR/toolCall.json b/src/renderer/src/i18n/fr-FR/toolCall.json index 659b90601..00c7a4fd4 100644 --- a/src/renderer/src/i18n/fr-FR/toolCall.json +++ b/src/renderer/src/i18n/fr-FR/toolCall.json @@ -4,7 +4,7 @@ "end": "Terminé", "error": "Erreur", "title": "Appel d'outil", - "clickToView": "Cliquez pour voir les détails", + "clickToView": "Cliquer pour afficher les détails", "functionName": "Nom de la fonction", "permission": "Demande d'autorisation", "params": "Paramètres de la fonction", diff --git a/src/renderer/src/i18n/fr-FR/update.json b/src/renderer/src/i18n/fr-FR/update.json index 3f800fef7..4c448809f 100644 --- a/src/renderer/src/i18n/fr-FR/update.json +++ b/src/renderer/src/i18n/fr-FR/update.json @@ -4,7 +4,7 @@ "releaseDate": "Date de sortie", "releaseNotes": "Notes de version", "later": "Plus tard", - "githubDownload": "Téléchargement Github", + "githubDownload": "Téléchargement GitHub", "netdiskDownload": "Téléchargement Cloud", "checkUpdate": "Vérifier les mises à jour", "autoUpdate": "Mise à jour automatique", From 7dc5e92e34c4d9112b613416b0c6f8186457808c Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 19:07:10 +0800 Subject: [PATCH 4/9] chore(i18n): refine fr-FR MCP & Settings copy; idiomatic, concise, brand-consistent --- src/renderer/src/i18n/fr-FR/mcp.json | 72 +++++++++++------------ src/renderer/src/i18n/fr-FR/settings.json | 18 +++--- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/renderer/src/i18n/fr-FR/mcp.json b/src/renderer/src/i18n/fr-FR/mcp.json index 18e16c623..f6372dddb 100644 --- a/src/renderer/src/i18n/fr-FR/mcp.json +++ b/src/renderer/src/i18n/fr-FR/mcp.json @@ -34,7 +34,7 @@ "annotations": "Annotations", "selectToolToDebug": "Sélectionnez un outil à déboguer", "dialogDescription": "Déboguer et tester les outils fournis par les serveurs MCP", - "toolsCount": "outils", + "toolsCount": "{count} outils", "availableTools": "Outils disponibles", "invalidJson": "Format JSON invalide", "inputHint": "Veuillez entrer les paramètres au format JSON", @@ -48,12 +48,12 @@ }, "confirmDelete": { "cancel": "Annuler", - "confirm": "supprimer", + "confirm": "Supprimer", "description": "Êtes-vous sûr de vouloir supprimer le serveur {name} ? \nCette opération ne peut pas être annulée.", "title": "Confirmer la suppression" }, "confirmRemoveServer": "Êtes-vous sûr de vouloir supprimer le serveur {name} ? \nCette opération ne peut pas être annulée.", - "default": "par défaut", + "default": "Par défaut", "deleteServer": "Supprimer le serveur", "description": "Gérer et configurer les serveurs et outils MCP (Modèle de Contrôle de Protocole)", "editServer": "Modifier le serveur", @@ -66,26 +66,26 @@ "enabledTitle": "Activer MCP", "isDefault": "Serveur par défaut", "noServersFound": "Serveur non trouvé", - "removeDefault": "Supprimer par défaut", + "removeDefault": "Retirer le statut par défaut", "removeServer": "Supprimer le serveur", "removeServerDialog": { "title": "Supprimer le serveur" }, - "resetConfirm": "récupérer", + "resetConfirm": "Restaurer", "resetConfirmDescription": "Cette action restaure tous les serveurs par défaut tout en conservant vos serveurs personnalisés. \nToute modification du serveur par défaut sera perdue.", "resetConfirmTitle": "Restaurer le service par défaut", "resetToDefault": "Restaurer le service par défaut", "running": "En cours d'exécution", "serverForm": { - "add": "Ajouter à", - "args": "paramètre", + "add": "Ajouter", + "args": "Arguments", "argsPlaceholder": "Entrez les paramètres, séparés par des espaces", "argsRequired": "Les paramètres ne peuvent pas être vides", "autoApprove": "Autorisation automatique", - "autoApproveAll": "tout", + "autoApproveAll": "Tout", "autoApproveHelp": "Sélectionnez le type d'opération nécessitant une autorisation automatique et exécutez sans confirmation de l'utilisateur", - "autoApproveRead": "Lire", - "autoApproveWrite": "Écrire", + "autoApproveRead": "Lecture", + "autoApproveWrite": "Écriture", "baseUrl": "URL de base", "baseUrlPlaceholder": "Entrez l'URL de base du serveur (par exemple : http://localhost:3000)", "cancel": "Annuler", @@ -93,17 +93,17 @@ "commandPlaceholder": "Entrez une commande", "commandRequired": "La commande ne peut pas être vide", "configImported": "Importation de la configuration réussie", - "description": "décrire", + "description": "Description", "descriptionPlaceholder": "Entrez la description du serveur", - "descriptions": "décrire", + "descriptions": "Description", "descriptionsPlaceholder": "Entrez la description du serveur", "env": "Variables d'environnement", "envInvalid": "Les variables d'environnement doivent être au format JSON valide", "envPlaceholder": "Entrez les variables d'environnement au format JSON", - "icon": "icône", + "icon": "Icône", "iconPlaceholder": "Entrez l'icône", - "icons": "icône", - "iconsPlaceholder": "Entrez l'icône", + "icons": "Icônes", + "iconsPlaceholder": "Entrez les icônes", "jsonConfig": "Configuration JSON", "jsonConfigExample": "Exemple de configuration JSON", "jsonConfigIntro": "Vous pouvez coller directement la configuration JSON ou choisir de configurer le serveur manuellement.", @@ -113,17 +113,17 @@ "nameRequired": "Le nom du serveur ne peut pas être vide", "parseAndContinue": "Analyser et continuer", "parseError": "Erreur d'analyse", - "parseSuccess": "Analyse de la configuration réussie", + "parseSuccess": "Configuration analysée avec succès", "skipToManual": "Passer à la configuration manuelle", - "submit": "soumettre", + "submit": "Soumettre", "type": "Type de serveur", "typeInMemory": "Mémoire", "typePlaceholder": "Sélectionnez un type de serveur", - "typeSse": "Le serveur envoie des événements", + "typeSse": "Server‑Sent Events (SSE)", "typeStdio": "Entrée et sortie standard", - "update": "renouveler", + "update": "Mettre à jour", "addFolder": "Ajouter un dossier", - "folders": "Liste de dossiers", + "folders": "Dossiers autorisés", "noFoldersSelected": "Aucun dossier n'a été sélectionné", "selectFolder": "Sélectionnez un dossier", "selectFolderError": "Échec de la sélection d'un dossier" @@ -157,8 +157,8 @@ "name": "Service d'images" }, "braveSearch": { - "desc": "Brave Search API https://brave.com/search/API/", - "name": "Recherche courageuse" + "desc": "Brave Search API https://brave.com/search/api/", + "name": "Brave Search" }, "powerpack": { "desc": "Fournissez des capacités améliorées telles que la requête temporelle, l'acquisition d'informations Web et l'exécution de code sécurisé pour tout grand modèle, afin que le modèle ait des capacités d'acquisition d'informations plus puissantes et précises.", @@ -177,28 +177,28 @@ "desc": "Service de recherche dans la base de connaissances FastGPT, peut rechercher le contenu de la base de connaissances FastGPT" }, "deepchat-inmemory/custom-prompts-server": { - "desc": "Service de mot invite personnalisé intégré Deepchat intégré", - "name": "Mots rapides personnalisés" + "desc": "Service de prompts personnalisés intégré à DeepChat", + "name": "Prompts personnalisés" }, "deepchat-inmemory/deep-research-server": { - "desc": "Un service de recherche approfondi de Deepchat basé sur la recherche de bocha (notez que des modèles de contexte longs doivent être utilisés, et les modèles avec un contexte insuffisant peuvent échouer)", - "name": "Recherche en profondeur" + "desc": "Fonction de recherche approfondie intégrée, basée sur Bocha Search. Modèles à long contexte recommandés.", + "name": "DeepResearch" }, "deepchat-inmemory/auto-prompting-server": { - "name": "Génération Automatique de Prompt par Modèle", - "desc": "Sélectionne automatiquement le prompt personnalisé le plus adapté en fonction de l'entrée de l'utilisateur et remplit intelligemment le modèle de prompt." + "name": "Auto‑prompt par modèle", + "desc": "Sélection automatique du prompt le plus adapté selon l’entrée, et remplissage intelligent du gabarit." }, "deepchat-inmemory/conversation-search-server": { - "name": "Recherche d'Historique de Conversation", - "desc": "Service de recherche d'historique de conversation intégré DeepChat, peut rechercher les enregistrements de conversation historiques et le contenu des messages" + "name": "Recherche d’historique", + "desc": "Rechercher les conversations et messages passés (intégré à DeepChat)" }, "deepchat-inmemory/meeting-server": { "name": "Réunion Multi-Agent", "desc": "Le service de réunion intégré de DeepChat permet d’organiser et d’animer des discussions multi-agents." }, "builtinKnowledge": { - "desc": "Service de recherche de base de connaissances intégré Deepchat, qui peut rechercher le contenu de la base de connaissances intégrée Deepchat", - "name": "Recherche de base de connaissances intégrée" + "desc": "Recherche dans la base de connaissances intégrée de DeepChat (docs, contenus intégrés).", + "name": "Base de connaissances intégrée" }, "deepchat/apple-server": { "desc": "Laissez le modèle d'exploitation des fonctions du système de MacOS telles que le calendrier, les contacts, les e-mails, les cartes, les mémos, les rappels et autres systèmes", @@ -221,10 +221,10 @@ }, "resources": { "noResourcesAvailable": "Aucune ressource", - "selectResource": "Afficher le contenu des ressources ici", - "loading": "chargement", - "loadContent": "Obtenez du contenu de ressources", - "pleaseSelect": "Cliquez pour obtenir des détails sur les ressources d'affichage", + "selectResource": "Sélectionnez une ressource pour afficher le contenu", + "loading": "Chargement...", + "loadContent": "Charger le contenu", + "pleaseSelect": "Cliquer pour afficher les détails de la ressource", "dialogDescription": "Parcourir et afficher les ressources fournies par les serveurs MCP" }, "errors": { diff --git a/src/renderer/src/i18n/fr-FR/settings.json b/src/renderer/src/i18n/fr-FR/settings.json index 6e019f4eb..52f1301e9 100644 --- a/src/renderer/src/i18n/fr-FR/settings.json +++ b/src/renderer/src/i18n/fr-FR/settings.json @@ -50,8 +50,8 @@ "newChat": "Créer une nouvelle conversation", "title": "Paramètres des raccourcis clavier" }, - "notifications": "Notification système", - "notificationsDesc": "Lorsque Deepchat n'est pas au premier plan, si une session est générée, une notification système sera envoyée" + "notifications": "Notifications système", + "notificationsDesc": "Quand DeepChat est en arrière‑plan, envoyer une notification à la fin d’une réponse" }, "data": { "title": "Paramètres des données", @@ -107,11 +107,11 @@ "description": "Définir la longueur maximale de la réponse de l'IA" }, "artifacts": { - "description": "L'activation de la fonction Artifacts permet à l'IA de générer un contenu plus riche", - "title": "Effets des artefacts" + "description": "Activer Artifacts pour permettre à l’IA de générer un contenu plus riche", + "title": "Artifacts" }, "addModel": "Ajouter un modèle", - "configureModel": "Configuration du modèle", + "configureModel": "Configurer le modèle", "modelList": "Liste des modèles", "provider": "Fournisseur de service", "providerSetting": "Paramètres du fournisseur", @@ -120,7 +120,7 @@ "cancel": "Annuler", "contextLength": { "description": "Définir la longueur de contexte que le modèle peut gérer", - "label": "Durée du contexte" + "label": "Longueur du contexte" }, "description": "Veuillez noter que cette configuration n'est valable que pour le modèle actuel et n'affectera pas d'autres modèles. Veuillez le modifier avec prudence. Des paramètres incorrects peuvent faire en sorte que le modèle ne fonctionne pas correctement.", "functionCall": { @@ -172,8 +172,8 @@ "useModelDefault": "Utiliser la configuration par défaut du modèle", "currentUsingModelDefault": "Utilise actuellement la configuration par défaut du modèle", "temperature": { - "description": "Contrôlez le caractère aléatoire de la sortie. La plupart des modèles sont de 0-1 et certains soutiennent entre 0-2. Plus l'aléatoire est élevé.", - "label": "température" + "description": "Contrôle l’aléatoire de la sortie. Valeur plus élevée = plus aléatoire.", + "label": "Température" }, "title": "Paramètres du modèle personnalisé", "type": { @@ -183,7 +183,7 @@ "chat": "Modèle de langue", "embedding": "Modèle d'intégration", "imageGeneration": "Modèle de génération d'images", - "rerank": "Réorganiser le modèle" + "rerank": "Modèle de rerank" } }, "validation": { From f80fee8ad1b6ce5a1a0e8e3129f2118bc54364a9 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 19:16:35 +0800 Subject: [PATCH 5/9] chore(i18n): polish ru-RU translations across UI; keep chat.input.placeholder unchanged --- src/renderer/src/i18n/ru-RU/about.json | 4 ++-- src/renderer/src/i18n/ru-RU/artifacts.json | 6 +++--- src/renderer/src/i18n/ru-RU/chat.json | 6 +++--- src/renderer/src/i18n/ru-RU/common.json | 6 +++--- src/renderer/src/i18n/ru-RU/components.json | 16 +++++++------- src/renderer/src/i18n/ru-RU/contextMenu.json | 22 ++++++++++---------- src/renderer/src/i18n/ru-RU/dialog.json | 18 ++++++++-------- src/renderer/src/i18n/ru-RU/routes.json | 2 +- src/renderer/src/i18n/ru-RU/thread.json | 18 ++++++++-------- src/renderer/src/i18n/ru-RU/toolCall.json | 2 +- src/renderer/src/i18n/ru-RU/update.json | 4 ++-- 11 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/renderer/src/i18n/ru-RU/about.json b/src/renderer/src/i18n/ru-RU/about.json index 5f8ba7f34..43c99ef6e 100644 --- a/src/renderer/src/i18n/ru-RU/about.json +++ b/src/renderer/src/i18n/ru-RU/about.json @@ -1,12 +1,12 @@ { "title": "DeepChat", "description": "DeepChat - это кросс-платформенный AI клиент. Мы стремимся сделать AI доступным для большего числа людей.", - "website": "Посетить наш сайт", + "website": "Открыть сайт", "disclaimerButton": "Отказ от ответственности", "disclaimerTitle": "Условия использования", "checkUpdateButton": "Проверить обновления", "deviceInfo": { - "title": "Информация о устройстве", + "title": "Сведения об устройстве", "platform": "Платформа", "arch": "Архитектура", "cpuModel": "Модель процессора", diff --git a/src/renderer/src/i18n/ru-RU/artifacts.json b/src/renderer/src/i18n/ru-RU/artifacts.json index 35fd3ade8..423f3faa1 100644 --- a/src/renderer/src/i18n/ru-RU/artifacts.json +++ b/src/renderer/src/i18n/ru-RU/artifacts.json @@ -30,11 +30,11 @@ "htmlPreviewTitle": "HTML Предварительный просмотр", "svgPreviewTitle": "Предварительный просмотр SVG", "copy": "Копировать", - "copySuccess": "Копирование успешно", + "copySuccess": "Скопировано", "copySuccessDesc": "Содержимое скопировано в буфер обмена", - "copyFailed": "Ошибка копирования", + "copyFailed": "Не удалось скопировать", "copyFailedDesc": "Не удалось скопировать содержимое в буфер обмена", "copyAsImage": "Копировать как изображение", "copyImageSuccessDesc": "Изображение скопировано в буфер обмена", - "copyImageFailedDesc": "Невозможно скопировать картинки в буфер обмена" + "copyImageFailedDesc": "Не удалось скопировать изображение в буфер обмена" } diff --git a/src/renderer/src/i18n/ru-RU/chat.json b/src/renderer/src/i18n/ru-RU/chat.json index 902437a30..8160f9f91 100644 --- a/src/renderer/src/i18n/ru-RU/chat.json +++ b/src/renderer/src/i18n/ru-RU/chat.json @@ -4,14 +4,14 @@ "fileArea": "Область файлов", "inputArea": "Область ввода", "functionSwitch": "Переключатель функций", - "fileSelect": "Выбрать файл", - "pasteFiles": "Поддержка копирования и вставки файлов", + "fileSelect": "Выберите файл", + "pasteFiles": "Вставить файлы из буфера обмена", "dropFiles": "Перетащите файлы сюда", "promptFilesAdded": "Файлы промпта добавлены", "promptFilesAddedDesc": "Успешно добавлено {count} файлов", "promptFilesError": "Ошибка обработки файлов", "promptFilesErrorDesc": "Не удалось обработать {count} файлов", - "historyPlaceholder": "(Нажмите вкладку, чтобы заполнить)", + "historyPlaceholder": "(Нажмите Tab для автозаполнения)", "rateLimitQueue": "Очередь {count}", "rateLimitWait": "Ожидание {seconds}с", "rateLimitQueueTooltip": "{count} запросов в очереди, интервал {interval} секунд", diff --git a/src/renderer/src/i18n/ru-RU/common.json b/src/renderer/src/i18n/ru-RU/common.json index 0a8b90ab4..bb5461a64 100644 --- a/src/renderer/src/i18n/ru-RU/common.json +++ b/src/renderer/src/i18n/ru-RU/common.json @@ -2,7 +2,7 @@ "enabled": "Включено", "disabled": "Выключено", "loading": "Загрузка...", - "copySuccess": "Копирование успешно", + "copySuccess": "Скопировано", "copySuccessDesc": "Содержимое скопировано в буфер обмена", "copyCode": "Скопировать код", "copy": "Копировать", @@ -62,9 +62,9 @@ "collapse": "Свернуть", "expand": "Развернуть", "image": "картина", - "copyImageSuccess": "Копирование успешно", + "copyImageSuccess": "Скопировано", "copyImageSuccessDesc": "Изображение скопировано в буфер обмена", - "copyFailed": "Ошибка копирования", + "copyFailed": "Не удалось скопировать", "copyFailedDesc": "Не удалось скопировать содержимое в буфер обмена", "add": "Добавить", "reset": "Сброс", diff --git a/src/renderer/src/i18n/ru-RU/components.json b/src/renderer/src/i18n/ru-RU/components.json index 30d260a7d..e9a0afeec 100644 --- a/src/renderer/src/i18n/ru-RU/components.json +++ b/src/renderer/src/i18n/ru-RU/components.json @@ -12,8 +12,8 @@ "flags": "Флаги" }, "messageBlockAction": { - "continue": "продолжать", - "continued": "Продолжать" + "continue": "Продолжить", + "continued": "Продолжено" }, "messageBlockPermissionRequest": { "title": "Требуется разрешение", @@ -23,14 +23,14 @@ "granted": "Разрешение предоставлено", "denied": "Разрешение отклонено", "type": { - "read": "Разрешения на чтение", - "write": "Разрешения на запись", - "all": "Полные разрешения" + "read": "Доступ на чтение", + "write": "Доступ на запись", + "all": "Полный доступ" }, "description": { - "all": "Разрешить '{ToolName}' of '{ServerName}' для выполнения операций чтения и записи?", - "read": "Разрешить '{ToolName}' of '{ServerName}' для выполнения операций чтения?", - "write": "Разрешить '{ToolName}' of '{ServerName}' для выполнения операций записи?" + "read": "Разрешить '{toolName}' от '{serverName}' выполнять операции чтения?", + "write": "Разрешить '{toolName}' от '{serverName}' выполнять операции записи?", + "all": "Разрешить '{toolName}' от '{serverName}' читать и записывать?" } } } diff --git a/src/renderer/src/i18n/ru-RU/contextMenu.json b/src/renderer/src/i18n/ru-RU/contextMenu.json index 645f8beef..14fe55c36 100644 --- a/src/renderer/src/i18n/ru-RU/contextMenu.json +++ b/src/renderer/src/i18n/ru-RU/contextMenu.json @@ -1,17 +1,17 @@ { "askAI": { - "answer": "отвечать", - "error": "AI Ответ не удался", - "question": "вопрос", - "title": "Ai wask" + "title": "Спросить ИИ", + "question": "Вопрос", + "answer": "Ответ", + "error": "Не удалось получить ответ ИИ" }, - "copy": "копия", - "cut": "Резать", - "paste": "Вставка", + "copy": "Копировать", + "paste": "Вставить", + "cut": "Вырезать", "translate": { - "error": "Перевод не удался", - "original": "оригинал", - "title": "переводить", - "translated": "Результаты перевода" + "title": "Перевести", + "original": "Оригинал", + "translated": "Перевод", + "error": "Не удалось перевести" } } diff --git a/src/renderer/src/i18n/ru-RU/dialog.json b/src/renderer/src/i18n/ru-RU/dialog.json index 51df335f0..39cac5070 100644 --- a/src/renderer/src/i18n/ru-RU/dialog.json +++ b/src/renderer/src/i18n/ru-RU/dialog.json @@ -4,8 +4,8 @@ "close": "Закрыть", "ok": "OK", "delete": { - "title": "Вы уверены, что хотите удалить этот чат?", - "description": "Это действие нельзя отменить, будьте осторожны.", + "title": "Удалить этот разговор?", + "description": "Это действие необратимо.", "confirm": "Удалить" }, "rename": { @@ -16,14 +16,14 @@ "title": "Ошибка" }, "cleanMessages": { - "confirm": "Прозрачный", - "description": "Очистка сообщения удалит все сообщения и файлы под сеансом. Вы уверены, что хотите продолжить?", - "title": "Очистить сообщения сеанса" + "title": "Очистить сообщения", + "description": "Будут удалены все сообщения и файлы в этом разговоре. Продолжить?", + "confirm": "Очистить" }, "fork": { - "tag": "Ветви", - "confirm": "Создать ветвь", - "description": "Скопируйте сообщение из первого сообщения в выбранное в настоящее время сообщение в новом сеансе, где вы можете продолжить разговор.", - "title": "Создать филиал сеанса" + "tag": "Ветка", + "confirm": "Создать ветку", + "description": "Скопировать сообщения с начала до текущего в новый разговор.", + "title": "Создать ветку" } } diff --git a/src/renderer/src/i18n/ru-RU/routes.json b/src/renderer/src/i18n/ru-RU/routes.json index ba7924334..9157b9943 100644 --- a/src/renderer/src/i18n/ru-RU/routes.json +++ b/src/renderer/src/i18n/ru-RU/routes.json @@ -10,5 +10,5 @@ "settings-mcp": "Настройки MCP", "settings-display": "Настройки отображения", "settings-knowledge-base": "База знаний", - "settings-prompt": "Управление Prompt" + "settings-prompt": "Управление промптами" } diff --git a/src/renderer/src/i18n/ru-RU/thread.json b/src/renderer/src/i18n/ru-RU/thread.json index bd73e6770..f5d3e5691 100644 --- a/src/renderer/src/i18n/ru-RU/thread.json +++ b/src/renderer/src/i18n/ru-RU/thread.json @@ -2,30 +2,30 @@ "actions": { "rename": "Переименовать", "delete": "Удалить", - "cleanMessages": "Очистить сообщение", + "cleanMessages": "Очистить сообщения", "pin": "Закрепить", "unpin": "Открепить", "export": "Экспорт", "exportText": "Простой текст" }, "toolbar": { - "save": "сохранять", + "save": "Сохранить", "cancel": "Отмена", - "previousVariant": "Переключиться на предыдущую версию", - "nextVariant": "Переключиться на следующую версию", - "copy": "Скопируйте ответ на Markdown", + "previousVariant": "Предыдущая вариация", + "nextVariant": "Следующая вариация", + "copy": "Копировать в Markdown", "copyImage": "Копировать как изображение", "retry": "Регенерация", - "fork": "Вилка на новую сессию", + "fork": "Создать ветку", "edit": "Редактировать сообщение", "delete": "Удалить сообщение", - "capturing": "Скриншот ...", + "capturing": "Захват...", "copyFromTopSuccess": "Полное сессионное изображение скопировано", - "copyImageWithLongPress": "Скопируйте как изображение (длинное нажмите, чтобы начать перехватывать сверху)" + "copyImageWithLongPress": "Копировать как изображение (долгое нажатие — для захвата сверху)" }, "message": { "toolbar": { - "save": "сохранять" + "save": "Сохранить" } }, "export": { diff --git a/src/renderer/src/i18n/ru-RU/toolCall.json b/src/renderer/src/i18n/ru-RU/toolCall.json index c4fad0fb0..e6e34ee55 100644 --- a/src/renderer/src/i18n/ru-RU/toolCall.json +++ b/src/renderer/src/i18n/ru-RU/toolCall.json @@ -4,7 +4,7 @@ "end": "Вызов завершен", "error": "Ошибка", "title": "Вызов инструмента", - "clickToView": "Нажмите, чтобы просмотреть детали", + "clickToView": "Нажмите, чтобы посмотреть детали", "functionName": "Имя функции", "permission": "Запрос разрешения", "params": "Параметры функции", diff --git a/src/renderer/src/i18n/ru-RU/update.json b/src/renderer/src/i18n/ru-RU/update.json index 05356100b..e0cf2ac08 100644 --- a/src/renderer/src/i18n/ru-RU/update.json +++ b/src/renderer/src/i18n/ru-RU/update.json @@ -4,12 +4,12 @@ "releaseDate": "Дата выпуска", "releaseNotes": "Примечания к выпуску", "later": "Позже", - "githubDownload": "Скачать с Github", + "githubDownload": "Скачать с GitHub", "netdiskDownload": "Скачать с облака", "checkUpdate": "Проверить обновления", "autoUpdate": "Автоматическое обновление", "downloading": "Загрузка", - "installNow": "Установить сейчас", + "installNow": "Установить", "restarting": "Перезапуск", "alreadyUpToDate": "Уже обновлено", "alreadyUpToDateDesc": "Ваш DeepChat уже обновлен до последней версии, обновление не требуется." From e4e5bc978f38b5da95fabacf2592a006a4682350 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 19:24:08 +0800 Subject: [PATCH 6/9] chore(i18n): polish fa-IR translations across UI; keep chat.input.placeholder unchanged --- src/renderer/src/i18n/fa-IR/about.json | 2 +- src/renderer/src/i18n/fa-IR/artifacts.json | 6 +++--- src/renderer/src/i18n/fa-IR/chat.json | 6 +++--- src/renderer/src/i18n/fa-IR/common.json | 6 +++--- src/renderer/src/i18n/fa-IR/components.json | 14 +++++++------- src/renderer/src/i18n/fa-IR/contextMenu.json | 4 ++-- src/renderer/src/i18n/fa-IR/dialog.json | 18 +++++++++--------- src/renderer/src/i18n/fa-IR/routes.json | 2 +- src/renderer/src/i18n/fa-IR/thread.json | 14 +++++++------- src/renderer/src/i18n/fa-IR/toolCall.json | 2 +- src/renderer/src/i18n/fa-IR/update.json | 2 +- 11 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/renderer/src/i18n/fa-IR/about.json b/src/renderer/src/i18n/fa-IR/about.json index 1b965e7e2..1c6138e0b 100644 --- a/src/renderer/src/i18n/fa-IR/about.json +++ b/src/renderer/src/i18n/fa-IR/about.json @@ -1,7 +1,7 @@ { "title": "دیپ‌چت", "description": "دیپ‌چت یک کارخواه هوش مصنوعی چندسکویی است که به دسترسی آسان‌تر مردم به هوش مصنوعی اختصاص دارد.", - "website": "بازدید از وبگاه ما", + "website": "باز کردن وب‌سایت", "deviceInfo": { "title": "اطلاعات دستگاه", "platform": "سکو", diff --git a/src/renderer/src/i18n/fa-IR/artifacts.json b/src/renderer/src/i18n/fa-IR/artifacts.json index f75226889..b80b0010a 100644 --- a/src/renderer/src/i18n/fa-IR/artifacts.json +++ b/src/renderer/src/i18n/fa-IR/artifacts.json @@ -30,11 +30,11 @@ "htmlPreviewTitle": "پیش‌نمایش اچ‌تی‌ام‌ال", "svgPreviewTitle": "پیش‌نمایش اس‌وی‌جی", "copy": "رونوشت", - "copySuccess": "رونوشت موفق", + "copySuccess": "رونوشت شد", "copySuccessDesc": "محتوا به بریده‌دان رونویسی شد", - "copyFailed": "رونوشت ناموفق", + "copyFailed": "رونوشت نشد", "copyFailedDesc": "رونویسی محتوا به بریده‌دان انجام نشد", "copyAsImage": "رونوشت به‌صورت تصویر", "copyImageSuccessDesc": "تصویر به بریده‌دان رونویسی شد", - "copyImageFailedDesc": "رونویسی تصویر به بریده‌‌‌‌دان انجام نشد" + "copyImageFailedDesc": "رونویسی تصویر به بریده‌دان انجام نشد" } diff --git a/src/renderer/src/i18n/fa-IR/chat.json b/src/renderer/src/i18n/fa-IR/chat.json index 508897b54..a409eb803 100644 --- a/src/renderer/src/i18n/fa-IR/chat.json +++ b/src/renderer/src/i18n/fa-IR/chat.json @@ -4,14 +4,14 @@ "fileArea": "ناحیه پرونده", "inputArea": "ناحیه ورودی", "functionSwitch": "کلید کارکرد", - "fileSelect": "انتخاب پرونده", - "pasteFiles": "پشتیبانی از رونوشت و چسباندن پرونده‌ها", + "fileSelect": "انتخاب فایل", + "pasteFiles": "چسباندن فایل‌ها از بریده‌دان", "dropFiles": "پرونده‌ها را اینجا رها کنید", "promptFilesAdded": "پرونده‌ها افزوده شد", "promptFilesAddedDesc": "{count} پرونده با موفقیت افزوده شد", "promptFilesError": "خطا در پردازش پرونده", "promptFilesErrorDesc": "پردازش {count} پرونده ناموفق بود", - "historyPlaceholder": "(برای پر کردن برگه را فشار دهید)", + "historyPlaceholder": "(برای تکمیل، Tab را فشار دهید)", "rateLimitQueue": "صف {count}", "rateLimitWait": "انتظار {seconds}ث", "rateLimitQueueTooltip": "{count} درخواست در صف، فاصله {interval} ثانیه", diff --git a/src/renderer/src/i18n/fa-IR/common.json b/src/renderer/src/i18n/fa-IR/common.json index 350c51318..1c587ab57 100644 --- a/src/renderer/src/i18n/fa-IR/common.json +++ b/src/renderer/src/i18n/fa-IR/common.json @@ -2,11 +2,11 @@ "enabled": "روشن", "disabled": "خاموش", "loading": "در حال بارگذاری...", - "copySuccess": "رونوشت موفق", + "copySuccess": "رونوشت شد", "copySuccessDesc": "محتوا در بریده‌دان رونویسی شد", - "copyImageSuccess": "رونوشت موفق", + "copyImageSuccess": "رونوشت شد", "copyImageSuccessDesc": "تصویر در بریده‌دان رونویسی شد", - "copyFailed": "رونوشت ناموفق", + "copyFailed": "رونوشت نشد", "copyFailedDesc": "رونویسی محتوا در بریده‌دان انجام نشد", "copyCode": "رونوشت کد", "copy": "رونوشت", diff --git a/src/renderer/src/i18n/fa-IR/components.json b/src/renderer/src/i18n/fa-IR/components.json index c2831ee41..1566148ff 100644 --- a/src/renderer/src/i18n/fa-IR/components.json +++ b/src/renderer/src/i18n/fa-IR/components.json @@ -13,7 +13,7 @@ }, "messageBlockAction": { "continue": "ادامه", - "continued": "ادامه یافت" + "continued": "ادامه شد" }, "messageBlockPermissionRequest": { "title": "مجوز مورد نیاز", @@ -23,14 +23,14 @@ "granted": "مجوز داده شد", "denied": "مجوز رد شد", "type": { - "read": "مجوزهای خواندن", - "write": "مجوزهای نوشتن", - "all": "تمام مجوزها" + "read": "دسترسی خواندن", + "write": "دسترسی نوشتن", + "all": "دسترسی کامل" }, "description": { - "all": "اجازه دهید \"{نام ابزار\" از \"{servername}\" عملیات خواندن و نوشتن را انجام دهد؟", - "read": "اجازه دهید \"{نام ابزار\" از \"{servername}\" انجام عملیات خواندن را انجام دهد؟", - "write": "اجازه می دهد \"{ابزار\" از \"{servername}\" انجام عملیات نوشتن؟" + "read": "به '{toolName}' از '{serverName}' اجازه می‌دهید عملیات خواندن انجام دهد؟", + "write": "به '{toolName}' از '{serverName}' اجازه می‌دهید عملیات نوشتن انجام دهد؟", + "all": "به '{toolName}' از '{serverName}' اجازه می‌دهید بخواند و بنویسد؟" } } } diff --git a/src/renderer/src/i18n/fa-IR/contextMenu.json b/src/renderer/src/i18n/fa-IR/contextMenu.json index 4eeae17a3..6a79eda01 100644 --- a/src/renderer/src/i18n/fa-IR/contextMenu.json +++ b/src/renderer/src/i18n/fa-IR/contextMenu.json @@ -1,8 +1,8 @@ { "translate": { "title": "ترجمه", - "original": "اصلی", - "translated": "ترجمه", + "original": "متن اصلی", + "translated": "ترجمه‌شده", "error": "ترجمه ناموفق بود" }, "askAI": { diff --git a/src/renderer/src/i18n/fa-IR/dialog.json b/src/renderer/src/i18n/fa-IR/dialog.json index df5765d9c..732797aae 100644 --- a/src/renderer/src/i18n/fa-IR/dialog.json +++ b/src/renderer/src/i18n/fa-IR/dialog.json @@ -4,8 +4,8 @@ "close": "بستن", "ok": "خوب", "delete": { - "title": "آیا مطمئن هستید که می‌خواهید این گفت‌وگو را پاک کنید؟", - "description": "این کنش بازگشت‌پذیر نیست.", + "title": "این گفت‌وگو پاک شود؟", + "description": "این کار برگشت‌ناپذیر است.", "confirm": "پاک کردن" }, "rename": { @@ -13,15 +13,15 @@ "description": "لطفاً نام جدیدی برای گفت‌وگو وارد کنید." }, "cleanMessages": { - "title": "تمیز کردن همه پیام‌ها", - "description": "این کار همه پیام‌ها و پرونده‌ها را در این گفت‌وگو پاک می‌کند. آیا مطمئن هستید که می‌خواهید ادامه دهید؟", - "confirm": "تمیز کردن" + "title": "پاک کردن پیام‌ها", + "description": "همه پیام‌ها و پرونده‌های این گفت‌وگو حذف می‌شوند. ادامه می‌دهید؟", + "confirm": "پاک کردن" }, "fork": { - "title": "ساختن گفت‌وگوی شاخه‌ای", - "description": "این کار همه پیام‌ها از پیام نخست تا پیام کنونی را در گفت‌وگویی جدید رونویسی می‌کند که می‌توانید گفت‌وگو را در آن ادامه دهید.", - "confirm": "ساختن شاخه", - "tag": "شاخه‌ها" + "title": "ساخت شاخه", + "description": "پیام‌ها از ابتدا تا پیام کنونی در گفت‌وگویی جدید کپی می‌شوند.", + "confirm": "ساخت شاخه", + "tag": "شاخه" }, "error": { "title": "خطا" diff --git a/src/renderer/src/i18n/fa-IR/routes.json b/src/renderer/src/i18n/fa-IR/routes.json index 6e146e87f..1754b6102 100644 --- a/src/renderer/src/i18n/fa-IR/routes.json +++ b/src/renderer/src/i18n/fa-IR/routes.json @@ -10,5 +10,5 @@ "settings-shortcut": "میان‌برها", "settings-display": "تنظیمات نمایش", "settings-knowledge-base": "پایگاه دانش", - "settings-prompt": "مدیریت پرامپت" + "settings-prompt": "مدیریت پرامپت‌ها" } diff --git a/src/renderer/src/i18n/fa-IR/thread.json b/src/renderer/src/i18n/fa-IR/thread.json index 8ce2530c9..04869ed5a 100644 --- a/src/renderer/src/i18n/fa-IR/thread.json +++ b/src/renderer/src/i18n/fa-IR/thread.json @@ -9,23 +9,23 @@ "exportText": "متن ساده" }, "toolbar": { - "save": "نگه‌داری", + "save": "ذخیره", "cancel": "رد کردن", - "previousVariant": "رفتن به نگارش پیشین", - "nextVariant": "رفتن به نگارش بعدی", - "copy": "رونوشت پاسخ به مارک‌داون", + "previousVariant": "گونه قبلی", + "nextVariant": "گونه بعدی", + "copy": "رونوشت به Markdown", "copyImage": "رونوشت در قالب تصویر", "copyImageWithLongPress": "رونوشت در قالب تصویر (فشار طولانی برای گرفتن از بالا)", "copyFromTopSuccess": "تصویر کامل گفتگو رونویسی شد", "capturing": "در حال گرفتن...", - "retry": "ساخت دوباره", - "fork": "شاخه‌سازی به نشست جدید", + "retry": "تولید دوباره", + "fork": "ساخت شاخه", "edit": "ویرایش پیام", "delete": "پاک کردن پیام" }, "message": { "toolbar": { - "save": "نگه‌داری" + "save": "ذخیره" } }, "export": { diff --git a/src/renderer/src/i18n/fa-IR/toolCall.json b/src/renderer/src/i18n/fa-IR/toolCall.json index 1aa678ece..4dac9f0f2 100644 --- a/src/renderer/src/i18n/fa-IR/toolCall.json +++ b/src/renderer/src/i18n/fa-IR/toolCall.json @@ -4,7 +4,7 @@ "end": "پایان یافت", "error": "خطا", "title": "فراخوانی ابزار", - "clickToView": "برای دیدن جزئیات اینجا بزنید", + "clickToView": "برای دیدن جزئیات بزنید", "functionName": "نام تابع", "permission": "درخواست دسترسی", "params": "ورودی‌های تابع", diff --git a/src/renderer/src/i18n/fa-IR/update.json b/src/renderer/src/i18n/fa-IR/update.json index b3e2656ef..d86f50cc7 100644 --- a/src/renderer/src/i18n/fa-IR/update.json +++ b/src/renderer/src/i18n/fa-IR/update.json @@ -4,7 +4,7 @@ "releaseDate": "تاریخ انتشار", "releaseNotes": "یادداشت‌های انتشار", "later": "زمانی دیگر", - "githubDownload": "بارگیری از گیت‌هاب", + "githubDownload": "بارگیری از GitHub", "netdiskDownload": "بارگیری از فضای ابری", "checkUpdate": "بررسی به‌روزرسانی‌ها", "downloading": "در حال بارگیری", From 663730f5399ce8c5eb410d1a020bd06690950b5d Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 21:56:47 +0800 Subject: [PATCH 7/9] chore: fix format --- src/renderer/src/i18n/en-US/settings.json | 16 ++++++++-------- src/renderer/src/i18n/fr-FR/mcp.json | 2 +- src/renderer/src/i18n/fr-FR/settings.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/i18n/en-US/settings.json b/src/renderer/src/i18n/en-US/settings.json index c5afebb1a..54f37916b 100644 --- a/src/renderer/src/i18n/en-US/settings.json +++ b/src/renderer/src/i18n/en-US/settings.json @@ -34,11 +34,11 @@ "themeSelect": "Select theme", "closeToQuit": "Exit app when closing window", "contentProtectionDialogTitle": "Confirm Screen Protection Change", - "contentProtectionEnableDesc": "Prevent screen sharing apps from capturing the DeepChat window to help protect your privacy. Not all apps honor this setting; in some environments a black window may remain.", - "contentProtectionDisableDesc": "Allow screen sharing apps to capture the DeepChat window.", + "contentProtectionEnableDesc": "Prevent screen sharing apps from capturing the DeepChat window to help protect your privacy. Not all apps honor this setting; in some environments a black window may remain.", + "contentProtectionDisableDesc": "Allow screen sharing apps to capture the DeepChat window.", "contentProtectionRestartNotice": "Changing this setting will restart the application. Do you want to continue?", - "soundEnabled": "Enable Sound Effects", - "copyWithCotEnabled": "Copy COT Details", + "soundEnabled": "Enable Sound Effects", + "copyWithCotEnabled": "Copy COT Details", "loggingEnabled": "Enable Logging", "loggingDialogTitle": "Confirm Logging Setting Change", "loggingEnableDesc": "Enabling logging will help us diagnose issues and improve the application. Log files may contain sensitive information.", @@ -492,7 +492,7 @@ "type": "Server Type", "typePlaceholder": "Select server type", "typeStdio": "Standard input and output (Stdio)", - "typeSse": "Server-Sent Events (SSE)", + "typeSse": "Server-Sent Events (SSE)", "typeInMemory": "In-Memory", "typeHttp": "Streaming HTTP Requests (HTTP)", "baseUrl": "Base URL", @@ -536,14 +536,14 @@ "browseMarketplace": "Browse MCP Marketplace", "imageModel": "Choose a vision model", "customHeadersParseError": "Custom Header parsing failed", - "customHeaders": "Custom Request Headers", + "customHeaders": "Custom Request Headers", "invalidKeyValueFormat": "Incorrect request header format, please check whether the input is correct.", "npmRegistry": "Custom NPM Registry", "npmRegistryPlaceholder": "Set up a custom NPM Registry, leave the system to automatically select the fastest one", "browseHigress": "View Higress MCP Marketplace", "selectFolderError": "Folder selection error", - "folders": "Allowed Folders", - "addFolder": "Add Folder", + "folders": "Allowed Folders", + "addFolder": "Add Folder", "noFoldersSelected": "No folders were selected", "useE2B": "Enable E2B Sandbox", "e2bDescription": "Execute Python code using E2B sandbox", diff --git a/src/renderer/src/i18n/fr-FR/mcp.json b/src/renderer/src/i18n/fr-FR/mcp.json index f6372dddb..09bbb0566 100644 --- a/src/renderer/src/i18n/fr-FR/mcp.json +++ b/src/renderer/src/i18n/fr-FR/mcp.json @@ -34,7 +34,7 @@ "annotations": "Annotations", "selectToolToDebug": "Sélectionnez un outil à déboguer", "dialogDescription": "Déboguer et tester les outils fournis par les serveurs MCP", - "toolsCount": "{count} outils", + "toolsCount": "{count} outils", "availableTools": "Outils disponibles", "invalidJson": "Format JSON invalide", "inputHint": "Veuillez entrer les paramètres au format JSON", diff --git a/src/renderer/src/i18n/fr-FR/settings.json b/src/renderer/src/i18n/fr-FR/settings.json index 52f1301e9..2d98f45b3 100644 --- a/src/renderer/src/i18n/fr-FR/settings.json +++ b/src/renderer/src/i18n/fr-FR/settings.json @@ -183,7 +183,7 @@ "chat": "Modèle de langue", "embedding": "Modèle d'intégration", "imageGeneration": "Modèle de génération d'images", - "rerank": "Modèle de rerank" + "rerank": "Modèle de rerank" } }, "validation": { From 7ae9e53e9c7c3c8026d27231fb387523909dc555 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 22:00:10 +0800 Subject: [PATCH 8/9] chore: fix i18n --- src/renderer/src/i18n/en-US/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/i18n/en-US/settings.json b/src/renderer/src/i18n/en-US/settings.json index 54f37916b..913be048f 100644 --- a/src/renderer/src/i18n/en-US/settings.json +++ b/src/renderer/src/i18n/en-US/settings.json @@ -50,7 +50,8 @@ "title": "Shortcut key settings" }, "notifications": "System Notifications", - "notificationsDesc": "When DeepChat is not in the foreground, if a session is generated, a system notification will be sent" + "notificationsDesc": "When DeepChat is not in the foreground, if a session is generated, a system notification will be sent", + "contentProtection": "Screen capture protection" }, "data": { "title": "Data Settings", From 10dd25bd7fd00dc57bae5c797fc19f6accc208f8 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Fri, 8 Aug 2025 22:06:00 +0800 Subject: [PATCH 9/9] chore: lock rolldown-vite version --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index dfc5d4f99..65e657daf 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,7 @@ "tailwindcss-animate": "^1.0.7", "tippy.js": "^6.3.7", "typescript": "^5.8.3", - "vite": "npm:rolldown-vite@latest", + "vite": "npm:rolldown-vite@7.0.12", "vite-plugin-monaco-editor-esm": "^2.0.2", "vite-plugin-vue-devtools": "^8.0.0", "vite-svg-loader": "^5.1.0", @@ -178,7 +178,7 @@ }, "pnpm": { "overrides": { - "vite": "npm:rolldown-vite@latest" + "vite": "npm:rolldown-vite@7.0.12" }, "onlyBuiltDependencies": [ "@tailwindcss/oxide",