mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-26 11:44:28 +08:00
feat(icons): add MCP logo and replace Hammer icon (#12061)
Replace the generic Hammer icon with the official MCP (Model Context Protocol) logo in settings sidebar, tab container, and MCP settings page. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
fc3e92e2f7
commit
e16413de76
@ -263,6 +263,23 @@ export function ZhipuLogo(props: SVGProps<SVGSVGElement>) {
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
export function McpLogo(props: SVGProps<SVGSVGElement>) {
|
||||
return (
|
||||
<svg
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
height="1em"
|
||||
width="1em"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...props}>
|
||||
<title>ModelContextProtocol</title>
|
||||
<path d="M15.688 2.343a2.588 2.588 0 00-3.61 0l-9.626 9.44a.863.863 0 01-1.203 0 .823.823 0 010-1.18l9.626-9.44a4.313 4.313 0 016.016 0 4.116 4.116 0 011.204 3.54 4.3 4.3 0 013.609 1.18l.05.05a4.115 4.115 0 010 5.9l-8.706 8.537a.274.274 0 000 .393l1.788 1.754a.823.823 0 010 1.18.863.863 0 01-1.203 0l-1.788-1.753a1.92 1.92 0 010-2.754l8.706-8.538a2.47 2.47 0 000-3.54l-.05-.049a2.588 2.588 0 00-3.607-.003l-7.172 7.034-.002.002-.098.097a.863.863 0 01-1.204 0 .823.823 0 010-1.18l7.273-7.133a2.47 2.47 0 00-.003-3.537z"></path>
|
||||
<path d="M14.485 4.703a.823.823 0 000-1.18.863.863 0 00-1.204 0l-7.119 6.982a4.115 4.115 0 000 5.9 4.314 4.314 0 006.016 0l7.12-6.982a.823.823 0 000-1.18.863.863 0 00-1.204 0l-7.119 6.982a2.588 2.588 0 01-3.61 0 2.47 2.47 0 010-3.54l7.12-6.982z"></path>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export function PoeLogo(props: SVGProps<SVGSVGElement>) {
|
||||
return (
|
||||
<svg
|
||||
|
||||
@ -21,7 +21,6 @@ import type { LRUCache } from 'lru-cache'
|
||||
import {
|
||||
FileSearch,
|
||||
Folder,
|
||||
Hammer,
|
||||
Home,
|
||||
Languages,
|
||||
LayoutGrid,
|
||||
@ -40,6 +39,7 @@ import { useTranslation } from 'react-i18next'
|
||||
import { useLocation, useNavigate } from 'react-router-dom'
|
||||
import styled from 'styled-components'
|
||||
|
||||
import { McpLogo } from '../Icons'
|
||||
import MinAppIcon from '../Icons/MinAppIcon'
|
||||
import MinAppTabsPool from '../MinApp/MinAppTabsPool'
|
||||
import WindowControls from '../WindowControls'
|
||||
@ -100,7 +100,7 @@ const getTabIcon = (
|
||||
case 'knowledge':
|
||||
return <FileSearch size={14} />
|
||||
case 'mcp':
|
||||
return <Hammer size={14} />
|
||||
return <McpLogo width={14} height={14} />
|
||||
case 'files':
|
||||
return <Folder size={14} />
|
||||
case 'settings':
|
||||
|
||||
@ -4122,7 +4122,7 @@
|
||||
"tagsPlaceholder": "Enter tags",
|
||||
"timeout": "Timeout",
|
||||
"timeoutTooltip": "Timeout in seconds for requests to this server, default is 60 seconds",
|
||||
"title": "MCP",
|
||||
"title": "MCP Servers",
|
||||
"tools": {
|
||||
"autoApprove": {
|
||||
"label": "Auto Approve",
|
||||
|
||||
@ -4122,7 +4122,7 @@
|
||||
"tagsPlaceholder": "输入标签",
|
||||
"timeout": "超时",
|
||||
"timeoutTooltip": "对该服务器请求的超时时间(秒),默认为 60 秒",
|
||||
"title": "MCP",
|
||||
"title": "MCP 服务器",
|
||||
"tools": {
|
||||
"autoApprove": {
|
||||
"label": "自动批准",
|
||||
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "藍耘",
|
||||
"lmstudio": "LM Studio",
|
||||
"longcat": "龍貓",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "小米 MiMo",
|
||||
"minimax": "MiniMax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope 魔搭",
|
||||
@ -4122,7 +4122,7 @@
|
||||
"tagsPlaceholder": "輸入標籤",
|
||||
"timeout": "逾時",
|
||||
"timeoutTooltip": "對該伺服器請求的逾時時間(秒),預設為 60 秒",
|
||||
"title": "MCP",
|
||||
"title": "MCP 伺服器",
|
||||
"tools": {
|
||||
"autoApprove": {
|
||||
"label": "自動核准",
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "Automatisch ermitteltes Git Bash wird verwendet",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "Automatisch erkannt",
|
||||
"clear": {
|
||||
"button": "Benutzerdefinierten Pfad löschen"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
"error": {
|
||||
"description": "Git Bash ist erforderlich, um Agents unter Windows auszuführen. Der Agent kann ohne es nicht funktionieren. Bitte installieren Sie Git für Windows von",
|
||||
"recheck": "Überprüfe die Git Bash-Installation erneut",
|
||||
"required": "[to be translated]:Git Bash path is required on Windows",
|
||||
"required": "Git Bash-Pfad ist unter Windows erforderlich",
|
||||
"title": "Git Bash erforderlich"
|
||||
},
|
||||
"found": {
|
||||
@ -53,9 +53,9 @@
|
||||
"invalidPath": "Die ausgewählte Datei ist keine gültige Git Bash ausführbare Datei (bash.exe).",
|
||||
"title": "Git Bash ausführbare Datei auswählen"
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"placeholder": "Wählen Sie den Pfad zu bash.exe",
|
||||
"success": "Git Bash erfolgreich erkannt!",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "Git Bash ist erforderlich, um Agenten unter Windows auszuführen. Installiere es von git-scm.com, falls es nicht verfügbar ist."
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Gib hier deine Nachricht ein, senden mit {{key}} – @ Pfad auswählen, / Befehl auswählen"
|
||||
@ -2198,7 +2198,7 @@
|
||||
"collapse": "Einklappen",
|
||||
"content_placeholder": "Bitte Notizinhalt eingeben...",
|
||||
"copyContent": "Inhalt kopieren",
|
||||
"crossPlatformRestoreWarning": "[to be translated]:Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
|
||||
"crossPlatformRestoreWarning": "Plattformübergreifende Konfiguration wiederhergestellt, aber das Notizenverzeichnis ist leer. Bitte kopieren Sie Ihre Notizdateien nach: {{path}}",
|
||||
"delete": "Löschen",
|
||||
"delete_confirm": "Möchten Sie diesen {{type}} wirklich löschen?",
|
||||
"delete_folder_confirm": "Möchten Sie Ordner \"{{name}}\" und alle seine Inhalte wirklich löschen?",
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "Lanyun Technologie",
|
||||
"lmstudio": "LM Studio",
|
||||
"longcat": "Meißner Riesenhamster",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "Xiaomi MiMo",
|
||||
"minimax": "MiniMax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "Verbunden",
|
||||
"connection_failed": "Verbindung fehlgeschlagen",
|
||||
"content": "Bitte stelle sicher, dass sich dein Computer und dein Telefon im selben Netzwerk befinden, um eine LAN-Übertragung durchzuführen. Öffne die Cherry Studio App, um diesen QR-Code zu scannen.",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "Lokale Netzwerkgeräte",
|
||||
"discovered_devices": "Entdeckte Geräte",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "Datei zu groß, maximal 500 MB unterstützt",
|
||||
"init_failed": "Initialisierung fehlgeschlagen",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "Nur ZIP-Dateien werden unterstützt",
|
||||
"no_file": "Keine Datei ausgewählt",
|
||||
"no_ip": "IP-Adresse kann nicht abgerufen werden",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "Bitte vervollständigen Sie zuerst das Handshake.",
|
||||
"send_failed": "Fehler beim Senden der Datei"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "Überweisung storniert",
|
||||
"failed": "Dateiübertragung fehlgeschlagen: {{message}}",
|
||||
"progress": "Senden... {{progress}}%",
|
||||
"success": "Datei erfolgreich gesendet"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "Handshake",
|
||||
"failed": "Handshake fehlgeschlagen: {{message}}",
|
||||
"in_progress": "Handshake läuft...",
|
||||
"success": "Handshake mit {{device}} abgeschlossen",
|
||||
"test_message_received": "Pong von {{device}} empfangen",
|
||||
"test_message_sent": "Hallo-Welt-Test-Payload gesendet"
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "Scanvorgang pausiert. Starten Sie das Scannen, um Cherry-Studio-Peers in Ihrem LAN zu finden.",
|
||||
"ip_addresses": "IP-Adressen",
|
||||
"last_seen": "Zuletzt gesehen um {{time}}",
|
||||
"metadata": "Metadaten",
|
||||
"no_connection_warning": "Bitte öffne LAN-Transfer in der Cherry Studio Mobile-App.",
|
||||
"no_devices": "Noch keine LAN-Peers gefunden",
|
||||
"scan_devices": "Geräte scannen",
|
||||
"scanning_hint": "Scanne dein lokales Netzwerk nach Cherry-Studio-Peers …",
|
||||
"send_file": "Datei senden",
|
||||
"status": {
|
||||
"completed": "Übertragung abgeschlossen",
|
||||
"connected": "Verbunden",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "Übertragung wird vorbereitet...",
|
||||
"sending": "Übertrage {{progress}}%"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "Leerlauf",
|
||||
"status_badge_scanning": "Scannen",
|
||||
"stop_scan": "Scanvorgang stoppen",
|
||||
"title": "LAN-Übertragung",
|
||||
"transfer_progress": "Übertragungsfortschritt"
|
||||
},
|
||||
@ -4122,7 +4122,7 @@
|
||||
"tagsPlaceholder": "Tag eingeben",
|
||||
"timeout": "Timeout",
|
||||
"timeoutTooltip": "Timeout für Anfragen an den Server in Sekunden. Standardmäßig 60 Sekunden.",
|
||||
"title": "MCP",
|
||||
"title": "MCP-Server",
|
||||
"tools": {
|
||||
"autoApprove": {
|
||||
"label": "Automatische Genehmigung",
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "Χρησιμοποιείται αυτόματα εντοπισμένο Git Bash",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "Αυτόματα ανακαλυφθέντα",
|
||||
"clear": {
|
||||
"button": "Διαγραφή προσαρμοσμένης διαδρομής"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
"error": {
|
||||
"description": "Το Git Bash απαιτείται για την εκτέλεση πρακτόρων στα Windows. Ο πράκτορας δεν μπορεί να λειτουργήσει χωρίς αυτό. Παρακαλούμε εγκαταστήστε το Git για Windows από",
|
||||
"recheck": "Επανέλεγχος Εγκατάστασης του Git Bash",
|
||||
"required": "[to be translated]:Git Bash path is required on Windows",
|
||||
"required": "Απαιτείται διαδρομή του Git Bash στα Windows",
|
||||
"title": "Απαιτείται Git Bash"
|
||||
},
|
||||
"found": {
|
||||
@ -53,9 +53,9 @@
|
||||
"invalidPath": "Το επιλεγμένο αρχείο δεν είναι έγκυρο εκτελέσιμο Git Bash (bash.exe).",
|
||||
"title": "Επιλογή εκτελέσιμου Git Bash"
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"placeholder": "Επιλέξτε τη διαδρομή του bash.exe",
|
||||
"success": "Το Git Bash εντοπίστηκε με επιτυχία!",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "Το Git Bash απαιτείται για την εκτέλεση πρακτόρων στα Windows. Εγκαταστήστε το από το git-scm.com εάν δεν είναι διαθέσιμο."
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Εισάγετε το μήνυμά σας εδώ, στείλτε με {{key}} - @ επιλέξτε διαδρομή, / επιλέξτε εντολή"
|
||||
@ -2198,7 +2198,7 @@
|
||||
"collapse": "σύμπτυξη",
|
||||
"content_placeholder": "Παρακαλώ εισαγάγετε το περιεχόμενο των σημειώσεων...",
|
||||
"copyContent": "αντιγραφή περιεχομένου",
|
||||
"crossPlatformRestoreWarning": "[to be translated]:Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
|
||||
"crossPlatformRestoreWarning": "Η διαμόρφωση πολλαπλών πλατφορμών έχει επαναφερθεί, αλλά ο κατάλογος σημειώσεων είναι κενός. Παρακαλώ αντιγράψτε τα αρχεία σημειώσεών σας στο: {{path}}",
|
||||
"delete": "διαγραφή",
|
||||
"delete_confirm": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το {{type}};",
|
||||
"delete_folder_confirm": "Θέλετε να διαγράψετε τον φάκελο «{{name}}» και όλο το περιεχόμενό του;",
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "Λανιούν Τεχνολογία",
|
||||
"lmstudio": "LM Studio",
|
||||
"longcat": "Τσίρο",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "Xiaomi MiMo",
|
||||
"minimax": "MiniMax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope Magpie",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "Συνδεδεμένος",
|
||||
"connection_failed": "Η σύνδεση απέτυχε",
|
||||
"content": "Βεβαιωθείτε ότι ο υπολογιστής και το κινητό βρίσκονται στο ίδιο δίκτυο για να χρησιμοποιήσετε τη μεταφορά LAN. Ανοίξτε την εφαρμογή Cherry Studio και σαρώστε αυτόν τον κωδικό QR.",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "Τοπικές συσκευές δικτύου",
|
||||
"discovered_devices": "Ανακαλυφθείσες συσκευές",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "Το αρχείο είναι πολύ μεγάλο, υποστηρίζεται μέγιστο μέγεθος 500 MB",
|
||||
"init_failed": "Η αρχικοποίηση απέτυχε",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "Μόνο αρχεία ZIP υποστηρίζονται",
|
||||
"no_file": "Κανένα αρχείο δεν επιλέχθηκε",
|
||||
"no_ip": "Αδυναμία λήψης διεύθυνσης IP",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "Παρακαλώ ολοκληρώστε πρώτα τη χειραψία",
|
||||
"send_failed": "Αποτυχία αποστολής αρχείου"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "Η μεταφορά ακυρώθηκε",
|
||||
"failed": "Η μεταφορά αρχείου απέτυχε: {{message}}",
|
||||
"progress": "Αποστολή... {{progress}}%",
|
||||
"success": "Το αρχείο εστάλη με επιτυχία"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "Χειραψία",
|
||||
"failed": "Η χειραψία απέτυχε: {{message}}",
|
||||
"in_progress": "Χειραψία...",
|
||||
"success": "Η χειραψία ολοκληρώθηκε με τη συσκευή {{device}}",
|
||||
"test_message_received": "Λήφθηκε pong από {{device}}",
|
||||
"test_message_sent": "Στάλθηκε δοκιμαστικό φορτίο hello world"
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "Η σάρωση διακόπηκε. Ξεκινήστε τη σάρωση για να βρείτε ομότιμους του Cherry Studio στο τοπικό σας δίκτυο.",
|
||||
"ip_addresses": "Διευθύνσεις IP",
|
||||
"last_seen": "Τελευταία φορά εθεάθηκε στις {{time}}",
|
||||
"metadata": "Μεταδεδομένα",
|
||||
"no_connection_warning": "Παρακαλώ ανοίξτε τη μεταφορά LAN στο Cherry Studio mobile",
|
||||
"no_devices": "Δεν βρέθηκαν ακόμα συσκευές LAN",
|
||||
"scan_devices": "Σάρωση συσκευών",
|
||||
"scanning_hint": "Σάρωση του τοπικού σας δικτύου για ομότιμους του Cherry Studio...",
|
||||
"send_file": "Αποστολή Αρχείου",
|
||||
"status": {
|
||||
"completed": "Η μεταφορά ολοκληρώθηκε",
|
||||
"connected": "Συνδεδεμένος",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "Προετοιμασία μεταφοράς...",
|
||||
"sending": "Μεταφορά {{progress}}%"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "Αδρανής",
|
||||
"status_badge_scanning": "Σάρωση",
|
||||
"stop_scan": "Διακοπή σάρωσης",
|
||||
"title": "Μεταφορά τοπικού δικτύου",
|
||||
"transfer_progress": "Πρόοδος μεταφοράς"
|
||||
},
|
||||
@ -3961,7 +3961,7 @@
|
||||
"mcp_auto_install": "Αυτόματη εγκατάσταση υπηρεσίας MCP (προβολή)",
|
||||
"memory": "Βασική υλοποίηση μόνιμης μνήμης με βάση τοπικό γράφημα γνώσης. Αυτό επιτρέπει στο μοντέλο να θυμάται πληροφορίες σχετικές με τον χρήστη ανάμεσα σε διαφορετικές συνομιλίες. Απαιτείται η ρύθμιση της μεταβλητής περιβάλλοντος MEMORY_FILE_PATH.",
|
||||
"no": "Χωρίς περιγραφή",
|
||||
"nowledge_mem": "[to be translated]:Requires Nowledge Mem app running locally. Keeps AI chats, tools, notes, agents, and files in private memory on your computer. Download from https://mem.nowledge.co/",
|
||||
"nowledge_mem": "Απαιτεί την εφαρμογή Nowledge Mem να εκτελείται τοπικά. Διατηρεί συνομιλίες με AI, εργαλεία, σημειώσεις, πράκτορες και αρχεία σε ιδιωτική μνήμη στον υπολογιστή σας. Κάντε λήψη από https://mem.nowledge.co/",
|
||||
"python": "Εκτελέστε κώδικα Python σε ένα ασφαλές περιβάλλον sandbox. Χρησιμοποιήστε το Pyodide για να εκτελέσετε Python, υποστηρίζοντας την πλειονότητα των βιβλιοθηκών της τυπικής βιβλιοθήκης και των πακέτων επιστημονικού υπολογισμού",
|
||||
"sequentialthinking": "ένας εξυπηρετητής MCP που υλοποιείται, παρέχοντας εργαλεία για δυναμική και αναστοχαστική επίλυση προβλημάτων μέσω δομημένων διαδικασιών σκέψης"
|
||||
},
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "Usando Git Bash detectado automáticamente",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "Auto-descubierto",
|
||||
"clear": {
|
||||
"button": "Borrar ruta personalizada"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
"error": {
|
||||
"description": "Se requiere Git Bash para ejecutar agentes en Windows. El agente no puede funcionar sin él. Instale Git para Windows desde",
|
||||
"recheck": "Volver a verificar la instalación de Git Bash",
|
||||
"required": "[to be translated]:Git Bash path is required on Windows",
|
||||
"required": "Se requiere la ruta de Git Bash en Windows",
|
||||
"title": "Git Bash Requerido"
|
||||
},
|
||||
"found": {
|
||||
@ -53,9 +53,9 @@
|
||||
"invalidPath": "El archivo seleccionado no es un ejecutable válido de Git Bash (bash.exe).",
|
||||
"title": "Seleccionar ejecutable de Git Bash"
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"placeholder": "Seleccionar la ruta de bash.exe",
|
||||
"success": "¡Git Bash detectado con éxito!",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "Se requiere Git Bash para ejecutar agentes en Windows. Instálalo desde git-scm.com si no está disponible."
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Introduce tu mensaje aquí, envía con {{key}} - @ seleccionar ruta, / seleccionar comando"
|
||||
@ -2198,7 +2198,7 @@
|
||||
"collapse": "ocultar",
|
||||
"content_placeholder": "Introduzca el contenido de la nota...",
|
||||
"copyContent": "copiar contenido",
|
||||
"crossPlatformRestoreWarning": "[to be translated]:Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
|
||||
"crossPlatformRestoreWarning": "Configuración multiplataforma restaurada, pero el directorio de notas está vacío. Por favor, copia tus archivos de notas en: {{path}}",
|
||||
"delete": "eliminar",
|
||||
"delete_confirm": "¿Estás seguro de que deseas eliminar este {{type}}?",
|
||||
"delete_folder_confirm": "¿Está seguro de que desea eliminar la carpeta \"{{name}}\" y todo su contenido?",
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "Tecnología Lanyun",
|
||||
"lmstudio": "Estudio LM",
|
||||
"longcat": "Totoro",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "Xiaomi MiMo",
|
||||
"minimax": "Minimax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope Módulo",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "Conectado",
|
||||
"connection_failed": "Conexión fallida",
|
||||
"content": "Asegúrate de que el ordenador y el móvil estén en la misma red para usar la transferencia por LAN. Abre la aplicación Cherry Studio y escanea este código QR.",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "Dispositivos de red local",
|
||||
"discovered_devices": "Dispositivos descubiertos",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "Archivo demasiado grande, se admite un máximo de 500 MB",
|
||||
"init_failed": "Falló la inicialización",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "Solo se admiten archivos ZIP",
|
||||
"no_file": "Ningún archivo seleccionado",
|
||||
"no_ip": "No se puede obtener la dirección IP",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "Por favor, completa primero el apretón de manos.",
|
||||
"send_failed": "Error al enviar el archivo"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "Transferencia cancelada",
|
||||
"failed": "Error en la transferencia del archivo: {{message}}",
|
||||
"progress": "Enviando... {{progress}}%",
|
||||
"success": "Archivo enviado con éxito"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "Apretón de manos",
|
||||
"failed": "Error de handshake: {{message}}",
|
||||
"in_progress": "Estrechando manos...",
|
||||
"success": "Handshake completado con {{device}}",
|
||||
"test_message_received": "Recibido pong de {{device}}",
|
||||
"test_message_sent": "Enviado payload de prueba hello world"
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "Escaneo pausado. Inicia el escaneo para encontrar pares de Cherry Studio en tu red local.",
|
||||
"ip_addresses": "Direcciones IP",
|
||||
"last_seen": "Visto por última vez a las {{time}}",
|
||||
"metadata": "Metadatos",
|
||||
"no_connection_warning": "Por favor, abre Transferencia LAN en la aplicación móvil Cherry Studio.",
|
||||
"no_devices": "Aún no se han encontrado pares en LAN",
|
||||
"scan_devices": "Escanear dispositivos",
|
||||
"scanning_hint": "Escaneando tu red local en busca de pares de Cherry Studio...",
|
||||
"send_file": "Enviar archivo",
|
||||
"status": {
|
||||
"completed": "Transferencia completada",
|
||||
"connected": "Conectado",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "Preparando transferencia...",
|
||||
"sending": "Transfiriendo {{progress}}%"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "Ocioso",
|
||||
"status_badge_scanning": "Escaneando",
|
||||
"stop_scan": "Detener escaneo",
|
||||
"title": "Transferencia de red local",
|
||||
"transfer_progress": "Progreso de transferencia"
|
||||
},
|
||||
@ -3961,7 +3961,7 @@
|
||||
"mcp_auto_install": "Instalación automática del servicio MCP (versión beta)",
|
||||
"memory": "Implementación básica de memoria persistente basada en un grafo de conocimiento local. Esto permite que el modelo recuerde información relevante del usuario entre diferentes conversaciones. Es necesario configurar la variable de entorno MEMORY_FILE_PATH.",
|
||||
"no": "sin descripción",
|
||||
"nowledge_mem": "[to be translated]:Requires Nowledge Mem app running locally. Keeps AI chats, tools, notes, agents, and files in private memory on your computer. Download from https://mem.nowledge.co/",
|
||||
"nowledge_mem": "Requiere que la aplicación Nowledge Mem se ejecute localmente. Mantiene chats de IA, herramientas, notas, agentes y archivos en memoria privada en tu computadora. Descárgala desde https://mem.nowledge.co/",
|
||||
"python": "Ejecuta código Python en un entorno sandbox seguro. Usa Pyodide para ejecutar Python, compatible con la mayoría de las bibliotecas estándar y paquetes de cálculo científico.",
|
||||
"sequentialthinking": "Una implementación de servidor MCP que proporciona herramientas para la resolución dinámica y reflexiva de problemas mediante un proceso de pensamiento estructurado"
|
||||
},
|
||||
@ -4122,7 +4122,7 @@
|
||||
"tagsPlaceholder": "Ingrese etiquetas",
|
||||
"timeout": "Tiempo de espera",
|
||||
"timeoutTooltip": "Tiempo de espera (en segundos) para las solicitudes a este servidor; el valor predeterminado es 60 segundos",
|
||||
"title": "Configuración del MCP",
|
||||
"title": "Servidores MCP",
|
||||
"tools": {
|
||||
"autoApprove": {
|
||||
"label": "Aprobación automática",
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "Utilisation de Git Bash détecté automatiquement",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "Auto-découvert",
|
||||
"clear": {
|
||||
"button": "Effacer le chemin personnalisé"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
"error": {
|
||||
"description": "Git Bash est requis pour exécuter des agents sur Windows. L'agent ne peut pas fonctionner sans. Veuillez installer Git pour Windows depuis",
|
||||
"recheck": "Revérifier l'installation de Git Bash",
|
||||
"required": "[to be translated]:Git Bash path is required on Windows",
|
||||
"required": "Le chemin Git Bash est requis sur Windows",
|
||||
"title": "Git Bash requis"
|
||||
},
|
||||
"found": {
|
||||
@ -53,9 +53,9 @@
|
||||
"invalidPath": "Le fichier sélectionné n'est pas un exécutable Git Bash valide (bash.exe).",
|
||||
"title": "Sélectionner l'exécutable Git Bash"
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"placeholder": "Sélectionner le chemin de bash.exe",
|
||||
"success": "Git Bash détecté avec succès !",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "Git Bash est nécessaire pour exécuter des agents sur Windows. Installez-le depuis git-scm.com s'il n'est pas disponible."
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Entrez votre message ici, envoyez avec {{key}} - @ sélectionner le chemin, / sélectionner la commande"
|
||||
@ -2198,7 +2198,7 @@
|
||||
"collapse": "réduire",
|
||||
"content_placeholder": "Veuillez saisir le contenu de la note...",
|
||||
"copyContent": "contenu copié",
|
||||
"crossPlatformRestoreWarning": "[to be translated]:Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
|
||||
"crossPlatformRestoreWarning": "Configuration multiplateforme restaurée, mais le répertoire des notes est vide. Veuillez copier vos fichiers de notes vers : {{path}}",
|
||||
"delete": "supprimer",
|
||||
"delete_confirm": "Êtes-vous sûr de vouloir supprimer ce {{type}} ?",
|
||||
"delete_folder_confirm": "Êtes-vous sûr de vouloir supprimer le dossier \"{{name}}\" et tout son contenu ?",
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "Technologie Lan Yun",
|
||||
"lmstudio": "Studio LM",
|
||||
"longcat": "Mon voisin Totoro",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "Xiaomi MiMo",
|
||||
"minimax": "MiniMax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope MoDa",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "Connecté",
|
||||
"connection_failed": "Échec de la connexion",
|
||||
"content": "Assurez-vous que l'ordinateur et le téléphone sont connectés au même réseau pour utiliser le transfert en réseau local. Ouvrez l'application Cherry Studio et scannez ce code QR.",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "Périphériques réseau locaux",
|
||||
"discovered_devices": "Appareils découverts",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "Fichier trop volumineux, taille maximale supportée : 500 Mo",
|
||||
"init_failed": "Échec de l'initialisation",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "Seuls les fichiers ZIP sont pris en charge",
|
||||
"no_file": "Aucun fichier sélectionné",
|
||||
"no_ip": "Impossible d'obtenir l'adresse IP",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "Veuillez d'abord terminer la poignée de main",
|
||||
"send_failed": "Échec de l'envoi du fichier"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "Transfert annulé",
|
||||
"failed": "Le transfert de fichier a échoué : {{message}}",
|
||||
"progress": "Envoi en cours... {{progress}}%",
|
||||
"success": "Fichier envoyé avec succès"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "Poignée de main",
|
||||
"failed": "Échec de la poignée de main : {{message}}",
|
||||
"in_progress": "Établissement de la connexion...",
|
||||
"success": "Poignée de main terminée avec {{device}}",
|
||||
"test_message_received": "Pong reçu de {{device}}",
|
||||
"test_message_sent": "Envoyé la charge utile de test hello world"
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "Analyse en pause. Lancez l’analyse pour détecter les pairs Cherry Studio sur votre réseau local.",
|
||||
"ip_addresses": "Adresses IP",
|
||||
"last_seen": "Vu pour la dernière fois à {{time}}",
|
||||
"metadata": "Métadonnées",
|
||||
"no_connection_warning": "Veuillez ouvrir le transfert LAN sur l'application mobile Cherry Studio.",
|
||||
"no_devices": "Aucun pair LAN trouvé pour l'instant",
|
||||
"scan_devices": "Analyser les appareils",
|
||||
"scanning_hint": "Analyse de votre réseau local à la recherche d’homologues Cherry Studio…",
|
||||
"send_file": "Envoyer le fichier",
|
||||
"status": {
|
||||
"completed": "Transfert terminé",
|
||||
"connected": "Connecté",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "Préparation du transfert...",
|
||||
"sending": "Transfert {{progress}} %"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "Inactif",
|
||||
"status_badge_scanning": "Numérisation",
|
||||
"stop_scan": "Arrêter le scan",
|
||||
"title": "Transmission en réseau local",
|
||||
"transfer_progress": "Progression du transfert"
|
||||
},
|
||||
@ -3961,7 +3961,7 @@
|
||||
"mcp_auto_install": "Installation automatique du service MCP (version bêta)",
|
||||
"memory": "Implémentation de base de mémoire persistante basée sur un graphe de connaissances local. Cela permet au modèle de se souvenir des informations relatives à l'utilisateur entre différentes conversations. Nécessite la configuration de la variable d'environnement MEMORY_FILE_PATH.",
|
||||
"no": "sans description",
|
||||
"nowledge_mem": "[to be translated]:Requires Nowledge Mem app running locally. Keeps AI chats, tools, notes, agents, and files in private memory on your computer. Download from https://mem.nowledge.co/",
|
||||
"nowledge_mem": "Nécessite l’application Nowledge Mem exécutée localement. Conserve les discussions IA, outils, notes, agents et fichiers dans une mémoire privée sur votre ordinateur. Téléchargez depuis https://mem.nowledge.co/",
|
||||
"python": "Exécutez du code Python dans un environnement bac à sable sécurisé. Utilisez Pyodide pour exécuter Python, prenant en charge la plupart des bibliothèques standard et des packages de calcul scientifique.",
|
||||
"sequentialthinking": "Un serveur MCP qui fournit des outils permettant une résolution dynamique et réflexive des problèmes à travers un processus de pensée structuré"
|
||||
},
|
||||
@ -4122,7 +4122,7 @@
|
||||
"tagsPlaceholder": "Введите теги",
|
||||
"timeout": "Таймаут",
|
||||
"timeoutTooltip": "Таймаут запроса к серверу (в секундах), по умолчанию 60 секунд",
|
||||
"title": "Paramètres MCP",
|
||||
"title": "Serveurs MCP",
|
||||
"tools": {
|
||||
"autoApprove": {
|
||||
"label": "Approbation automatique",
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "自動検出されたGit Bashを使用中",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "自動検出",
|
||||
"clear": {
|
||||
"button": "カスタムパスをクリア"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
"error": {
|
||||
"description": "Windowsでエージェントを実行するにはGit Bashが必要です。これがないとエージェントは動作しません。以下からGit for Windowsをインストールしてください。",
|
||||
"recheck": "Git Bashのインストールを再確認してください",
|
||||
"required": "[to be translated]:Git Bash path is required on Windows",
|
||||
"required": "WindowsではGit Bashのパスが必要です",
|
||||
"title": "Git Bashが必要です"
|
||||
},
|
||||
"found": {
|
||||
@ -53,9 +53,9 @@
|
||||
"invalidPath": "選択されたファイルは有効なGit Bash実行ファイル(bash.exe)ではありません。",
|
||||
"title": "Git Bash実行ファイルを選択"
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"placeholder": "bash.exeのパスを選択",
|
||||
"success": "Git Bashが正常に検出されました!",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "Windowsでエージェントを実行するにはGit Bashが必要です。まだインストールされていない場合は、git-scm.comからインストールしてください。"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "メッセージをここに入力し、{{key}}で送信 - @でパスを選択、/でコマンドを選択"
|
||||
@ -2198,7 +2198,7 @@
|
||||
"collapse": "閉じる",
|
||||
"content_placeholder": "メモの内容を入力してください...",
|
||||
"copyContent": "コンテンツをコピーします",
|
||||
"crossPlatformRestoreWarning": "[to be translated]:Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
|
||||
"crossPlatformRestoreWarning": "クロスプラットフォーム設定は復元されましたが、ノートディレクトリが空です。ノートファイルを次の場所にコピーしてください:{{path}}",
|
||||
"delete": "削除",
|
||||
"delete_confirm": "この{{type}}を本当に削除しますか?",
|
||||
"delete_folder_confirm": "「{{name}}」フォルダーとそのすべての内容を削除してもよろしいですか?",
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "LANYUN",
|
||||
"lmstudio": "LM Studio",
|
||||
"longcat": "トトロ",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "シャオミ・ミモ",
|
||||
"minimax": "MiniMax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "接続済み",
|
||||
"connection_failed": "接続に失敗しました",
|
||||
"content": "コンピューターとスマートフォンが同じネットワークに接続されていることを確認し、ローカルエリアネットワーク転送を使用してください。Cherry Studioアプリを開き、このQRコードをスキャンしてください。",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "ローカルネットワークデバイス",
|
||||
"discovered_devices": "発見されたデバイス",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "ファイルが大きすぎます。最大500MBまでサポートされています。",
|
||||
"init_failed": "初期化に失敗しました",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "ZIPファイルのみがサポートされています",
|
||||
"no_file": "ファイルが選択されていません",
|
||||
"no_ip": "IPアドレスを取得できません",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "まずハンドシェイクを完了してください",
|
||||
"send_failed": "ファイルの送信に失敗しました"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "転送がキャンセルされました",
|
||||
"failed": "ファイル転送に失敗しました: {{message}}",
|
||||
"progress": "送信中... {{progress}}%",
|
||||
"success": "ファイルは正常に送信されました"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "握手",
|
||||
"failed": "ハンドシェイクに失敗しました: {{message}}",
|
||||
"in_progress": "ハンドシェイク中...",
|
||||
"success": "{{device}}とのハンドシェイクが完了しました",
|
||||
"test_message_received": "{{device}}からpongを受信しました",
|
||||
"test_message_sent": "hello world テストペイロードを送信しました"
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "スキャンが一時停止されました。スキャンを開始して、LAN上のCherry Studioピアを検索してください。",
|
||||
"ip_addresses": "IPアドレス",
|
||||
"last_seen": "最後に見たのは{{time}}",
|
||||
"metadata": "メタデータ",
|
||||
"no_connection_warning": "Cherry StudioモバイルでLAN転送を開いてください",
|
||||
"no_devices": "まだLANピアが見つかっていません",
|
||||
"scan_devices": "デバイスをスキャン",
|
||||
"scanning_hint": "ローカルネットワークでCherry Studioのピアをスキャンしています...",
|
||||
"send_file": "ファイルを送信",
|
||||
"status": {
|
||||
"completed": "転送完了",
|
||||
"connected": "接続済み",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "転送準備中...",
|
||||
"sending": "転送中 {{progress}}%"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "アイドル",
|
||||
"status_badge_scanning": "スキャン",
|
||||
"stop_scan": "スキャンを停止",
|
||||
"title": "LAN転送",
|
||||
"transfer_progress": "転送進行"
|
||||
},
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "Usando Git Bash detectado automaticamente",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "Auto-descoberto",
|
||||
"clear": {
|
||||
"button": "Limpar caminho personalizado"
|
||||
},
|
||||
@ -55,7 +55,7 @@
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"success": "Git Bash detectado com sucesso!",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "O Git Bash é necessário para executar agentes no Windows. Instale-o a partir de git-scm.com, caso não esteja disponível."
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Digite sua mensagem aqui, envie com {{key}} - @ selecionar caminho, / selecionar comando"
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "Lanyun Tecnologia",
|
||||
"lmstudio": "Estúdio LM",
|
||||
"longcat": "Totoro",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "Xiaomi MiMo",
|
||||
"minimax": "Minimax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope MôDá",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "Conectado",
|
||||
"connection_failed": "Falha na conexão",
|
||||
"content": "Certifique-se de que o computador e o telefone estejam na mesma rede para usar a transferência via LAN. Abra o aplicativo Cherry Studio e escaneie este código QR.",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "Dispositivos de rede local",
|
||||
"discovered_devices": "Dispositivos descobertos",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "Arquivo muito grande, máximo de 500MB suportado",
|
||||
"init_failed": "Falha na inicialização",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "Apenas arquivos ZIP são suportados",
|
||||
"no_file": "Nenhum arquivo selecionado",
|
||||
"no_ip": "Incapaz de obter endereço IP",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "Por favor, complete primeiro o handshake",
|
||||
"send_failed": "Falha ao enviar arquivo"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "Transferência cancelada",
|
||||
"failed": "Falha na transferência de arquivo: {{message}}",
|
||||
"progress": "Enviando... {{progress}}%",
|
||||
"success": "Arquivo enviado com sucesso"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "Aperto de mão",
|
||||
"failed": "Falha no handshake: {{message}}",
|
||||
"in_progress": "Aperto de mãos...",
|
||||
"success": "Handshake concluído com {{device}}",
|
||||
"test_message_received": "Recebido pong de {{device}}",
|
||||
"test_message_sent": "Enviou payload de teste hello world"
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "Digitalização pausada. Inicie a digitalização para encontrar pares do Cherry Studio na sua rede local.",
|
||||
"ip_addresses": "Endereços IP",
|
||||
"last_seen": "Visto pela última vez às {{time}}",
|
||||
"metadata": "Metadados",
|
||||
"no_connection_warning": "Por favor, abra a Transferência LAN no Cherry Studio mobile",
|
||||
"no_devices": "Ainda não foram encontrados pares de LAN.",
|
||||
"scan_devices": "Escaneie dispositivos",
|
||||
"scanning_hint": "Escaneando sua rede local por pares do Cherry Studio...",
|
||||
"send_file": "Enviar Arquivo",
|
||||
"status": {
|
||||
"completed": "Transferência concluída",
|
||||
"connected": "Conectado",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "Preparando transferência...",
|
||||
"sending": "Transferindo {{progress}}%"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "Ocioso",
|
||||
"status_badge_scanning": "Digitalização",
|
||||
"stop_scan": "Parar digitalização",
|
||||
"title": "transmissão de rede local",
|
||||
"transfer_progress": "Progresso da transferência"
|
||||
},
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"gitBash": {
|
||||
"autoDetected": "Используется автоматически обнаруженный Git Bash",
|
||||
"autoDiscoveredHint": "[to be translated]:Auto-discovered",
|
||||
"autoDiscoveredHint": "Автоматически обнаруженный",
|
||||
"clear": {
|
||||
"button": "Очистить пользовательский путь"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
"error": {
|
||||
"description": "Для запуска агентов в Windows требуется Git Bash. Без него агент не может работать. Пожалуйста, установите Git для Windows с",
|
||||
"recheck": "Повторная проверка установки Git Bash",
|
||||
"required": "[to be translated]:Git Bash path is required on Windows",
|
||||
"required": "Требуется путь к Git Bash в Windows",
|
||||
"title": "Требуется Git Bash"
|
||||
},
|
||||
"found": {
|
||||
@ -53,9 +53,9 @@
|
||||
"invalidPath": "Выбранный файл не является допустимым исполняемым файлом Git Bash (bash.exe).",
|
||||
"title": "Выберите исполняемый файл Git Bash"
|
||||
},
|
||||
"placeholder": "[to be translated]:Select bash.exe path",
|
||||
"placeholder": "Выберите путь к bash.exe",
|
||||
"success": "Git Bash успешно обнаружен!",
|
||||
"tooltip": "[to be translated]:Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
|
||||
"tooltip": "Для запуска агентов в Windows требуется Git Bash. Установите его с сайта git-scm.com, если он отсутствует."
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Введите ваше сообщение здесь, отправьте с помощью {{key}} — @ выбрать путь, / выбрать команду"
|
||||
@ -2198,7 +2198,7 @@
|
||||
"collapse": "Свернуть",
|
||||
"content_placeholder": "Введите содержимое заметки...",
|
||||
"copyContent": "Копировать контент",
|
||||
"crossPlatformRestoreWarning": "[to be translated]:Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
|
||||
"crossPlatformRestoreWarning": "Кроссплатформенная конфигурация восстановлена, но каталог заметок пуст. Пожалуйста, скопируйте файлы заметок в: {{path}}",
|
||||
"delete": "удалить",
|
||||
"delete_confirm": "Вы уверены, что хотите удалить этот объект {{type}}?",
|
||||
"delete_folder_confirm": "Вы уверены, что хотите удалить папку \"{{name}}\" со всем ее содержимым?",
|
||||
@ -2643,7 +2643,7 @@
|
||||
"lanyun": "LANYUN",
|
||||
"lmstudio": "LM Studio",
|
||||
"longcat": "Тоторо",
|
||||
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||
"mimo": "Xiaomi MiMo",
|
||||
"minimax": "MiniMax",
|
||||
"mistral": "Mistral",
|
||||
"modelscope": "ModelScope",
|
||||
@ -3235,40 +3235,40 @@
|
||||
"connected": "Подключено",
|
||||
"connection_failed": "Соединение не удалось",
|
||||
"content": "Убедитесь, что компьютер и телефон подключены к одной сети, чтобы использовать локальную передачу. Откройте приложение Cherry Studio и отсканируйте этот QR-код.",
|
||||
"device_list_title": "[to be translated]:Local network devices",
|
||||
"discovered_devices": "[to be translated]:Discovered devices",
|
||||
"device_list_title": "Устройства локальной сети",
|
||||
"discovered_devices": "Обнаруженные устройства",
|
||||
"error": {
|
||||
"file_too_large": "[to be translated]:File too large, maximum 500MB supported",
|
||||
"file_too_large": "Файл слишком большой, поддерживается максимум 500 МБ.",
|
||||
"init_failed": "Инициализация не удалась",
|
||||
"invalid_file_type": "[to be translated]:Only ZIP files are supported",
|
||||
"invalid_file_type": "Поддерживаются только ZIP-файлы",
|
||||
"no_file": "Файл не выбран",
|
||||
"no_ip": "Не удалось получить IP-адрес",
|
||||
"not_connected": "[to be translated]:Please complete handshake first",
|
||||
"not_connected": "Пожалуйста, сначала завершите рукопожатие",
|
||||
"send_failed": "Не удалось отправить файл"
|
||||
},
|
||||
"file_transfer": {
|
||||
"cancelled": "[to be translated]:Transfer cancelled",
|
||||
"failed": "[to be translated]:File transfer failed: {{message}}",
|
||||
"progress": "[to be translated]:Sending... {{progress}}%",
|
||||
"success": "[to be translated]:File sent successfully"
|
||||
"cancelled": "Перевод отменён",
|
||||
"failed": "Передача файла не удалась: {{message}}",
|
||||
"progress": "Отправка... {{progress}}%",
|
||||
"success": "Файл успешно отправлен"
|
||||
},
|
||||
"handshake": {
|
||||
"button": "[to be translated]:Handshake",
|
||||
"failed": "[to be translated]:Handshake failed: {{message}}",
|
||||
"in_progress": "[to be translated]:Handshaking...",
|
||||
"success": "[to be translated]:Handshake completed with {{device}}",
|
||||
"test_message_received": "[to be translated]:Received pong from {{device}}",
|
||||
"test_message_sent": "[to be translated]:Sent hello world test payload"
|
||||
"button": "Рукопожатие",
|
||||
"failed": "Сбой рукопожатия: {{message}}",
|
||||
"in_progress": "Рукопожатие...",
|
||||
"success": "Рукопожатие завершено с {{device}}",
|
||||
"test_message_received": "Получен понг от {{device}}",
|
||||
"test_message_sent": "Отправлен тестовый полезный груз \"hello world\""
|
||||
},
|
||||
"idle_hint": "[to be translated]:Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
|
||||
"ip_addresses": "[to be translated]:IP addresses",
|
||||
"last_seen": "[to be translated]:Last seen at {{time}}",
|
||||
"metadata": "[to be translated]:Metadata",
|
||||
"no_connection_warning": "[to be translated]:Please open LAN Transfer on Cherry Studio mobile",
|
||||
"no_devices": "[to be translated]:No LAN peers found yet",
|
||||
"scan_devices": "[to be translated]:Scan devices",
|
||||
"scanning_hint": "[to be translated]:Scanning your local network for Cherry Studio peers...",
|
||||
"send_file": "[to be translated]:Send File",
|
||||
"idle_hint": "Сканирование приостановлено. Начните сканирование, чтобы найти пиры Cherry Studio в вашей локальной сети.",
|
||||
"ip_addresses": "IP-адреса",
|
||||
"last_seen": "В последний раз был(а) в сети в {{time}}",
|
||||
"metadata": "Метаданные",
|
||||
"no_connection_warning": "Пожалуйста, откройте LAN Transfer в мобильном приложении Cherry Studio",
|
||||
"no_devices": "Пока не найдено участников локальной сети",
|
||||
"scan_devices": "Сканировать устройства",
|
||||
"scanning_hint": "Сканирование локальной сети на наличие узлов Cherry Studio...",
|
||||
"send_file": "Отправить файл",
|
||||
"status": {
|
||||
"completed": "Перевод завершён",
|
||||
"connected": "Подключено",
|
||||
@ -3279,9 +3279,9 @@
|
||||
"preparing": "Подготовка передачи...",
|
||||
"sending": "Передача {{progress}}%"
|
||||
},
|
||||
"status_badge_idle": "[to be translated]:Idle",
|
||||
"status_badge_scanning": "[to be translated]:Scanning",
|
||||
"stop_scan": "[to be translated]:Stop scan",
|
||||
"status_badge_idle": "Бездействие",
|
||||
"status_badge_scanning": "Сканирование",
|
||||
"stop_scan": "Остановить сканирование",
|
||||
"title": "Передача по локальной сети",
|
||||
"transfer_progress": "Прогресс передачи"
|
||||
},
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
import { McpLogo } from '@renderer/components/Icons'
|
||||
import type { MCPServer, MCPTool } from '@renderer/types'
|
||||
import { isToolAutoApproved } from '@renderer/utils/mcp-tools'
|
||||
import { Badge, Descriptions, Empty, Flex, Switch, Table, Tag, Tooltip, Typography } from 'antd'
|
||||
import type { ColumnsType } from 'antd/es/table'
|
||||
import { Hammer, Info, Zap } from 'lucide-react'
|
||||
import { Info, Zap } from 'lucide-react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
interface MCPToolsSectionProps {
|
||||
@ -136,7 +137,7 @@ const MCPToolsSection = ({ tools, server, onToggleTool, onToggleAutoApprove }: M
|
||||
{
|
||||
title: (
|
||||
<Flex align="center" justify="center" gap={4}>
|
||||
<Hammer size={14} color="orange" />
|
||||
<McpLogo width={14} height={14} />
|
||||
<Typography.Text strong>{t('settings.mcp.tools.enable')}</Typography.Text>
|
||||
</Flex>
|
||||
),
|
||||
|
||||
@ -6,6 +6,7 @@ import MCPRouterProviderLogo from '@renderer/assets/images/providers/mcprouter.w
|
||||
import ModelScopeProviderLogo from '@renderer/assets/images/providers/modelscope.png'
|
||||
import TokenFluxProviderLogo from '@renderer/assets/images/providers/tokenflux.png'
|
||||
import DividerWithText from '@renderer/components/DividerWithText'
|
||||
import { McpLogo } from '@renderer/components/Icons'
|
||||
import ListItem from '@renderer/components/ListItem'
|
||||
import Scrollbar from '@renderer/components/Scrollbar'
|
||||
import { useTheme } from '@renderer/context/ThemeProvider'
|
||||
@ -85,7 +86,7 @@ const MCPSettings: FC = () => {
|
||||
title={t('settings.mcp.servers', 'MCP Servers')}
|
||||
active={activeView === 'servers'}
|
||||
onClick={() => navigate('/settings/mcp/servers')}
|
||||
icon={<FolderCog size={18} />}
|
||||
icon={<McpLogo width={18} height={18} />}
|
||||
titleStyle={{ fontWeight: 500 }}
|
||||
/>
|
||||
<DividerWithText text={t('settings.mcp.discover', 'Discover')} style={{ margin: '10px 0 8px 0' }} />
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { GlobalOutlined } from '@ant-design/icons'
|
||||
import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar'
|
||||
import { McpLogo } from '@renderer/components/Icons'
|
||||
import Scrollbar from '@renderer/components/Scrollbar'
|
||||
import ModelSettings from '@renderer/pages/settings/ModelSettings/ModelSettings'
|
||||
import { Divider as AntDivider } from 'antd'
|
||||
@ -8,7 +9,6 @@ import {
|
||||
Cloud,
|
||||
Command,
|
||||
FileCode,
|
||||
Hammer,
|
||||
HardDrive,
|
||||
Info,
|
||||
MonitorCog,
|
||||
@ -88,7 +88,7 @@ const SettingsPage: FC = () => {
|
||||
<Divider />
|
||||
<MenuItemLink to="/settings/mcp">
|
||||
<MenuItem className={isRoute('/settings/mcp')}>
|
||||
<Hammer size={18} />
|
||||
<McpLogo width={18} height={18} />
|
||||
{t('settings.mcp.title')}
|
||||
</MenuItem>
|
||||
</MenuItemLink>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user