mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 14:41:24 +08:00
feat: redirect macOS About menu to settings About page (#10902)
* ci: add GitHub issue tracker workflow with Feishu notifications (#10895) * feat: add GitHub issue tracker workflow with Feishu notifications * fix: add missing environment variable for Claude translator in GitHub issue tracker workflow * fix: update environment variable for Claude translator in GitHub issue tracker workflow * Add quiet hours handling and scheduled processing for GitHub issue notifications - Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications - Add scheduled workflow to process pending issues daily at 08:30 Beijing Time - Create new script to batch process and summarize multiple pending issues with Claude * Replace custom Node.js script with Claude Code Action for issue processing - Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing - Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities - Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels - Update Claude action reference from version pin to main branch for latest features * Remove GitHub issue comment functionality - Delete automated AI summary comments on issues after processing - Remove documentation for manual issue commenting workflow - Keep Feishu notification system intact while streamlining issue interactions * feat: redirect macOS About menu to settings About page Add functionality to navigate to the About page in settings when clicking the About menu item in macOS menu bar. Changes: - Add Windows_NavigateToAbout IPC channel for communication between main and renderer processes - Create AppMenuService to setup macOS application menu with custom About handler - Add IPC handler in main process to show main window and trigger navigation - Add IPC listener in renderer NavigationHandler to navigate to /settings/about - Initialize AppMenuService on app startup for macOS platform 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * * feat: add GitHub issue tracker workflow with Feishu notifications * feat: add GitHub issue tracker workflow with Feishu notifications * fix: add missing environment variable for Claude translator in GitHub issue tracker workflow * fix: update environment variable for Claude translator in GitHub issue tracker workflow * Add quiet hours handling and scheduled processing for GitHub issue notifications - Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications - Add scheduled workflow to process pending issues daily at 08:30 Beijing Time - Create new script to batch process and summarize multiple pending issues with Claude * Replace custom Node.js script with Claude Code Action for issue processing - Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing - Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities - Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels - Update Claude action reference from version pin to main branch for latest features * Remove GitHub issue comment functionality - Delete automated AI summary comments on issues after processing - Remove documentation for manual issue commenting workflow - Keep Feishu notification system intact while streamlining issue interactions * Add OIDC token permissions and GitHub token to Claude workflow - Add `id-token: write` permission for OIDC authentication in both jobs - Pass `github_token` to Claude action for proper GitHub API access - Maintain existing issue write and contents read permissions * fix: add GitHub issue tracker workflow with Feishu notifications * feat: add GitHub issue tracker workflow with Feishu notifications * fix: add missing environment variable for Claude translator in GitHub issue tracker workflow * fix: update environment variable for Claude translator in GitHub issue tracker workflow * Add quiet hours handling and scheduled processing for GitHub issue notifications - Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications - Add scheduled workflow to process pending issues daily at 08:30 Beijing Time - Create new script to batch process and summarize multiple pending issues with Claude * Replace custom Node.js script with Claude Code Action for issue processing - Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing - Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities - Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels - Update Claude action reference from version pin to main branch for latest features * Remove GitHub issue comment functionality - Delete automated AI summary comments on issues after processing - Remove documentation for manual issue commenting workflow - Keep Feishu notification system intact while streamlining issue interactions * Add OIDC token permissions and GitHub token to Claude workflow - Add `id-token: write` permission for OIDC authentication in both jobs - Pass `github_token` to Claude action for proper GitHub API access - Maintain existing issue write and contents read permissions * Enhance GitHub issue automation workflow with Claude integration - Refactor Claude action to handle issue analysis, Feishu notification, and comment creation in single step - Add tool permissions for Bash commands and custom notification script execution - Update prompt with detailed task instructions including summary generation and automated actions - Remove separate notification step by integrating all operations into Claude action workflow * fix * 删除AI总结评论的添加步骤和注意事项 * fix comments * refactor(AppMenuService): streamline WindowService usage Updated the AppMenuService to directly import and use the windowService for retrieving the main window and showing it, enhancing code clarity and maintainability. * add i18n * fix(AppMenuService): handle macOS application menu setup conditionally Updated the AppMenuService to only instantiate when running on macOS, preventing potential null reference errors. Additionally, added optional chaining in the main index file for safer menu setup. * fix(i18n): Auto update translations for PR #10902 --------- Co-authored-by: SuYao <sy20010504@gmail.com> Co-authored-by: Payne Fu <payne@Paynes-MacBook-Pro.local> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
parent
53881c5824
commit
d187adb0d3
@ -138,6 +138,7 @@ export enum IpcChannel {
|
|||||||
Windows_Close = 'window:close',
|
Windows_Close = 'window:close',
|
||||||
Windows_IsMaximized = 'window:is-maximized',
|
Windows_IsMaximized = 'window:is-maximized',
|
||||||
Windows_MaximizedChanged = 'window:maximized-changed',
|
Windows_MaximizedChanged = 'window:maximized-changed',
|
||||||
|
Windows_NavigateToAbout = 'window:navigate-to-about',
|
||||||
|
|
||||||
KnowledgeBase_Create = 'knowledge-base:create',
|
KnowledgeBase_Create = 'knowledge-base:create',
|
||||||
KnowledgeBase_Reset = 'knowledge-base:reset',
|
KnowledgeBase_Reset = 'knowledge-base:reset',
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import process from 'node:process'
|
|||||||
import { registerIpc } from './ipc'
|
import { registerIpc } from './ipc'
|
||||||
import { agentService } from './services/agents'
|
import { agentService } from './services/agents'
|
||||||
import { apiServerService } from './services/ApiServerService'
|
import { apiServerService } from './services/ApiServerService'
|
||||||
|
import { appMenuService } from './services/AppMenuService'
|
||||||
import { configManager } from './services/ConfigManager'
|
import { configManager } from './services/ConfigManager'
|
||||||
import mcpService from './services/MCPService'
|
import mcpService from './services/MCPService'
|
||||||
import { nodeTraceService } from './services/NodeTraceService'
|
import { nodeTraceService } from './services/NodeTraceService'
|
||||||
@ -122,6 +123,9 @@ if (!app.requestSingleInstanceLock()) {
|
|||||||
const mainWindow = windowService.createMainWindow()
|
const mainWindow = windowService.createMainWindow()
|
||||||
new TrayService()
|
new TrayService()
|
||||||
|
|
||||||
|
// Setup macOS application menu
|
||||||
|
appMenuService?.setupApplicationMenu()
|
||||||
|
|
||||||
nodeTraceService.init()
|
nodeTraceService.init()
|
||||||
|
|
||||||
app.on('activate', function () {
|
app.on('activate', function () {
|
||||||
|
|||||||
51
src/main/services/AppMenuService.ts
Normal file
51
src/main/services/AppMenuService.ts
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
import { isMac } from '@main/constant'
|
||||||
|
import { windowService } from '@main/services/WindowService'
|
||||||
|
import { locales } from '@main/utils/locales'
|
||||||
|
import { IpcChannel } from '@shared/IpcChannel'
|
||||||
|
import { app, Menu, MenuItemConstructorOptions } from 'electron'
|
||||||
|
|
||||||
|
import { configManager } from './ConfigManager'
|
||||||
|
export class AppMenuService {
|
||||||
|
public setupApplicationMenu(): void {
|
||||||
|
const locale = locales[configManager.getLanguage()]
|
||||||
|
const { common } = locale.translation
|
||||||
|
|
||||||
|
const template: MenuItemConstructorOptions[] = [
|
||||||
|
{
|
||||||
|
label: app.name,
|
||||||
|
submenu: [
|
||||||
|
{
|
||||||
|
label: common.about + ' ' + app.name,
|
||||||
|
click: () => {
|
||||||
|
// Emit event to navigate to About page
|
||||||
|
const mainWindow = windowService.getMainWindow()
|
||||||
|
if (mainWindow && !mainWindow.isDestroyed()) {
|
||||||
|
mainWindow.webContents.send(IpcChannel.Windows_NavigateToAbout)
|
||||||
|
windowService.showMainWindow()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ role: 'services' },
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ role: 'hide' },
|
||||||
|
{ role: 'hideOthers' },
|
||||||
|
{ role: 'unhide' },
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ role: 'quit' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
role: 'editMenu'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
role: 'windowMenu'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
const menu = Menu.buildFromTemplate(template)
|
||||||
|
Menu.setApplicationMenu(menu)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const appMenuService = isMac ? new AppMenuService() : null
|
||||||
@ -1,4 +1,6 @@
|
|||||||
import { useAppSelector } from '@renderer/store'
|
import { useAppSelector } from '@renderer/store'
|
||||||
|
import { IpcChannel } from '@shared/IpcChannel'
|
||||||
|
import { useEffect } from 'react'
|
||||||
import { useHotkeys } from 'react-hotkeys-hook'
|
import { useHotkeys } from 'react-hotkeys-hook'
|
||||||
import { useLocation, useNavigate } from 'react-router-dom'
|
import { useLocation, useNavigate } from 'react-router-dom'
|
||||||
|
|
||||||
@ -25,6 +27,19 @@ const NavigationHandler: React.FC = () => {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Listen for navigate to About page event from macOS menu
|
||||||
|
useEffect(() => {
|
||||||
|
const handleNavigateToAbout = () => {
|
||||||
|
navigate('/settings/about')
|
||||||
|
}
|
||||||
|
|
||||||
|
const removeListener = window.electron.ipcRenderer.on(IpcChannel.Windows_NavigateToAbout, handleNavigateToAbout)
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
removeListener()
|
||||||
|
}
|
||||||
|
}, [navigate])
|
||||||
|
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "About",
|
||||||
"add": "Add",
|
"add": "Add",
|
||||||
"add_success": "Added successfully",
|
"add_success": "Added successfully",
|
||||||
"advanced_settings": "Advanced Settings",
|
"advanced_settings": "Advanced Settings",
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "System Proxy",
|
"system": "System Proxy",
|
||||||
"title": "Proxy Mode"
|
"title": "Proxy Mode"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "Supports wildcard matching (*.test.com, 192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Click the tray icon to start",
|
"click_tray_to_show": "Click the tray icon to start",
|
||||||
|
|||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "关于",
|
||||||
"add": "添加",
|
"add": "添加",
|
||||||
"add_success": "添加成功",
|
"add_success": "添加成功",
|
||||||
"advanced_settings": "高级设置",
|
"advanced_settings": "高级设置",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "清除上下文 {{Command}}"
|
"context": "清除上下文 {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "新話題 {{Command}}",
|
"new_topic": "新話題 {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "貼到輸入框?",
|
||||||
"pause": "暫停",
|
"pause": "暫停",
|
||||||
"placeholder": "在此輸入您的訊息,按 {{key}} 傳送 - @ 選擇模型,/ 包含工具",
|
"placeholder": "在此輸入您的訊息,按 {{key}} 傳送 - @ 選擇模型,/ 包含工具",
|
||||||
"placeholder_without_triggers": "在此輸入您的訊息,按 {{key}} 傳送",
|
"placeholder_without_triggers": "在此輸入您的訊息,按 {{key}} 傳送",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "關於",
|
||||||
"add": "新增",
|
"add": "新增",
|
||||||
"add_success": "新增成功",
|
"add_success": "新增成功",
|
||||||
"advanced_settings": "進階設定",
|
"advanced_settings": "進階設定",
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "系統代理伺服器",
|
"system": "系統代理伺服器",
|
||||||
"title": "代理伺服器模式"
|
"title": "代理伺服器模式"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "支援模糊匹配(*.test.com,192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "點選工具列圖示啟動",
|
"click_tray_to_show": "點選工具列圖示啟動",
|
||||||
|
|||||||
@ -22,7 +22,8 @@
|
|||||||
},
|
},
|
||||||
"get": {
|
"get": {
|
||||||
"error": {
|
"error": {
|
||||||
"failed": "Agent abrufen fehlgeschlagen"
|
"failed": "Agent abrufen fehlgeschlagen",
|
||||||
|
"null_id": "智能体 ID 为空。"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"list": {
|
"list": {
|
||||||
@ -30,6 +31,11 @@
|
|||||||
"failed": "Agent-Liste abrufen fehlgeschlagen"
|
"failed": "Agent-Liste abrufen fehlgeschlagen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"server": {
|
||||||
|
"error": {
|
||||||
|
"not_running": "API server is enabled but not running properly."
|
||||||
|
}
|
||||||
|
},
|
||||||
"session": {
|
"session": {
|
||||||
"accessible_paths": {
|
"accessible_paths": {
|
||||||
"add": "Verzeichnis hinzufügen",
|
"add": "Verzeichnis hinzufügen",
|
||||||
@ -68,7 +74,8 @@
|
|||||||
},
|
},
|
||||||
"get": {
|
"get": {
|
||||||
"error": {
|
"error": {
|
||||||
"failed": "Sitzung abrufen fehlgeschlagen"
|
"failed": "Sitzung abrufen fehlgeschlagen",
|
||||||
|
"null_id": "会话 ID 为空"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"label_one": "Sitzung",
|
"label_one": "Sitzung",
|
||||||
@ -237,6 +244,7 @@
|
|||||||
"messages": {
|
"messages": {
|
||||||
"apiKeyCopied": "API-Schlüssel in die Zwischenablage kopiert",
|
"apiKeyCopied": "API-Schlüssel in die Zwischenablage kopiert",
|
||||||
"apiKeyRegenerated": "API-Schlüssel wurde neu generiert",
|
"apiKeyRegenerated": "API-Schlüssel wurde neu generiert",
|
||||||
|
"notEnabled": "API server is not enabled.",
|
||||||
"operationFailed": "API-Server-Operation fehlgeschlagen:",
|
"operationFailed": "API-Server-Operation fehlgeschlagen:",
|
||||||
"restartError": "API-Server-Neustart fehlgeschlagen:",
|
"restartError": "API-Server-Neustart fehlgeschlagen:",
|
||||||
"restartFailed": "API-Server-Neustart fehlgeschlagen:",
|
"restartFailed": "API-Server-Neustart fehlgeschlagen:",
|
||||||
@ -530,6 +538,7 @@
|
|||||||
"context": "Kontext löschen {{Command}}"
|
"context": "Kontext löschen {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "Neues Thema {{Command}}",
|
"new_topic": "Neues Thema {{Command}}",
|
||||||
|
"paste_text_file_confirm": "粘贴到输入框?",
|
||||||
"pause": "Pause",
|
"pause": "Pause",
|
||||||
"placeholder": "Geben Sie hier eine Nachricht ein, drücken Sie {{key}} zum Senden - @ für Modellauswahl, / für Tools",
|
"placeholder": "Geben Sie hier eine Nachricht ein, drücken Sie {{key}} zum Senden - @ für Modellauswahl, / für Tools",
|
||||||
"placeholder_without_triggers": "Geben Sie hier eine Nachricht ein, drücken Sie {{key}} zum Senden",
|
"placeholder_without_triggers": "Geben Sie hier eine Nachricht ein, drücken Sie {{key}} zum Senden",
|
||||||
@ -943,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "About",
|
||||||
"add": "Hinzufügen",
|
"add": "Hinzufügen",
|
||||||
"add_success": "Erfolgreich hinzugefügt",
|
"add_success": "Erfolgreich hinzugefügt",
|
||||||
"advanced_settings": "Erweiterte Einstellungen",
|
"advanced_settings": "Erweiterte Einstellungen",
|
||||||
@ -1795,6 +1805,7 @@
|
|||||||
"title": "Mini-Apps"
|
"title": "Mini-Apps"
|
||||||
},
|
},
|
||||||
"minapps": {
|
"minapps": {
|
||||||
|
"ant-ling": "Ant Ling",
|
||||||
"baichuan": "Baixiaoying",
|
"baichuan": "Baixiaoying",
|
||||||
"baidu-ai-search": "Baidu AI Suche",
|
"baidu-ai-search": "Baidu AI Suche",
|
||||||
"chatglm": "ChatGLM",
|
"chatglm": "ChatGLM",
|
||||||
@ -1951,6 +1962,14 @@
|
|||||||
"rename": "Umbenennen",
|
"rename": "Umbenennen",
|
||||||
"rename_changed": "Aus Sicherheitsgründen wurde der Dateiname von {{original}} zu {{final}} geändert",
|
"rename_changed": "Aus Sicherheitsgründen wurde der Dateiname von {{original}} zu {{final}} geändert",
|
||||||
"save": "In Notizen speichern",
|
"save": "In Notizen speichern",
|
||||||
|
"search": {
|
||||||
|
"both": "名称+内容",
|
||||||
|
"content": "内容",
|
||||||
|
"found_results": "找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
||||||
|
"more_matches": "个匹配",
|
||||||
|
"searching": "Searching...",
|
||||||
|
"show_less": "收起"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
"apply": "Anwenden",
|
"apply": "Anwenden",
|
||||||
@ -2035,6 +2054,7 @@
|
|||||||
"provider": {
|
"provider": {
|
||||||
"cannot_remove_builtin": "Eingebauter Anbieter kann nicht entfernt werden",
|
"cannot_remove_builtin": "Eingebauter Anbieter kann nicht entfernt werden",
|
||||||
"existing": "Anbieter existiert bereits",
|
"existing": "Anbieter existiert bereits",
|
||||||
|
"get_providers": "Failed to obtain available providers",
|
||||||
"not_found": "OCR-Anbieter nicht gefunden",
|
"not_found": "OCR-Anbieter nicht gefunden",
|
||||||
"update_failed": "Konfiguration aktualisieren fehlgeschlagen"
|
"update_failed": "Konfiguration aktualisieren fehlgeschlagen"
|
||||||
},
|
},
|
||||||
@ -2098,6 +2118,8 @@
|
|||||||
"install_code_103": "OVMS Runtime herunterladen fehlgeschlagen",
|
"install_code_103": "OVMS Runtime herunterladen fehlgeschlagen",
|
||||||
"install_code_104": "OVMS Runtime entpacken fehlgeschlagen",
|
"install_code_104": "OVMS Runtime entpacken fehlgeschlagen",
|
||||||
"install_code_105": "OVMS Runtime bereinigen fehlgeschlagen",
|
"install_code_105": "OVMS Runtime bereinigen fehlgeschlagen",
|
||||||
|
"install_code_106": "Failed to create run.bat",
|
||||||
|
"install_code_110": "Failed to clean up old OVMS runtime",
|
||||||
"run": "OVMS ausführen fehlgeschlagen:",
|
"run": "OVMS ausführen fehlgeschlagen:",
|
||||||
"stop": "OVMS stoppen fehlgeschlagen:"
|
"stop": "OVMS stoppen fehlgeschlagen:"
|
||||||
},
|
},
|
||||||
@ -2656,11 +2678,11 @@
|
|||||||
"go_to_settings": "Zu Einstellungen",
|
"go_to_settings": "Zu Einstellungen",
|
||||||
"open_accessibility_settings": "Bedienungshilfen-Einstellungen öffnen"
|
"open_accessibility_settings": "Bedienungshilfen-Einstellungen öffnen"
|
||||||
},
|
},
|
||||||
"description": [
|
"description": {
|
||||||
"Der Textauswahl-Assistent benötigt <strong>Bedienungshilfen-Berechtigungen</strong>, um ordnungsgemäß zu funktionieren.",
|
"0": "Der Textauswahl-Assistent benötigt <strong>Bedienungshilfen-Berechtigungen</strong>, um ordnungsgemäß zu funktionieren.",
|
||||||
"Klicken Sie auf <strong>Zu Einstellungen</strong> und anschließend im Berechtigungsdialog auf <strong>Systemeinstellungen öffnen</strong>. Suchen Sie danach in der App-Liste <strong>Cherry Studio</strong> und aktivieren Sie den Schalter.",
|
"1": "Klicken Sie auf <strong>Zu Einstellungen</strong> und anschließend im Berechtigungsdialog auf <strong>Systemeinstellungen öffnen</strong>. Suchen Sie danach in der App-Liste <strong>Cherry Studio</strong> und aktivieren Sie den Schalter.",
|
||||||
"Nach Abschluss der Einrichtung Textauswahl-Assistent erneut aktivieren."
|
"2": "Nach Abschluss der Einrichtung Textauswahl-Assistent erneut aktivieren."
|
||||||
],
|
},
|
||||||
"title": "Bedienungshilfen-Berechtigung"
|
"title": "Bedienungshilfen-Berechtigung"
|
||||||
},
|
},
|
||||||
"title": "Aktivieren"
|
"title": "Aktivieren"
|
||||||
@ -3568,6 +3590,7 @@
|
|||||||
"builtinServers": "Integrierter Server",
|
"builtinServers": "Integrierter Server",
|
||||||
"builtinServersDescriptions": {
|
"builtinServersDescriptions": {
|
||||||
"brave_search": "MCP-Server-Implementierung mit Brave-Search-API, die sowohl Web- als auch lokale Suchfunktionen bietet. BRAVE_API_KEY-Umgebungsvariable muss konfiguriert werden",
|
"brave_search": "MCP-Server-Implementierung mit Brave-Search-API, die sowohl Web- als auch lokale Suchfunktionen bietet. BRAVE_API_KEY-Umgebungsvariable muss konfiguriert werden",
|
||||||
|
"didi_mcp": "An integrated Didi MCP server implementation that provides ride-hailing services including map search, price estimation, order management, and driver tracking. Only available in mainland China. Requires the DIDI_API_KEY environment variable to be configured.",
|
||||||
"dify_knowledge": "MCP-Server-Implementierung von Dify, die einen einfachen API-Zugriff auf Dify bietet. Dify Key muss konfiguriert werden",
|
"dify_knowledge": "MCP-Server-Implementierung von Dify, die einen einfachen API-Zugriff auf Dify bietet. Dify Key muss konfiguriert werden",
|
||||||
"fetch": "MCP-Server zum Abrufen von Webseiteninhalten",
|
"fetch": "MCP-Server zum Abrufen von Webseiteninhalten",
|
||||||
"filesystem": "MCP-Server für Dateisystemoperationen (Node.js), der den Zugriff auf bestimmte Verzeichnisse ermöglicht",
|
"filesystem": "MCP-Server für Dateisystemoperationen (Node.js), der den Zugriff auf bestimmte Verzeichnisse ermöglicht",
|
||||||
@ -4207,7 +4230,8 @@
|
|||||||
"none": "Keinen Proxy verwenden",
|
"none": "Keinen Proxy verwenden",
|
||||||
"system": "System-Proxy",
|
"system": "System-Proxy",
|
||||||
"title": "Proxy-Modus"
|
"title": "Proxy-Modus"
|
||||||
}
|
},
|
||||||
|
"tip": "支持模糊匹配(*.test.com,192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Klicken auf Tray-Symbol zum Starten",
|
"click_tray_to_show": "Klicken auf Tray-Symbol zum Starten",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "Καθαρισμός ενδιάμεσων {{Command}}"
|
"context": "Καθαρισμός ενδιάμεσων {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "Νέο θέμα {{Command}}",
|
"new_topic": "Νέο θέμα {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "Επικόλληση στο πλαίσιο εισαγωγής;",
|
||||||
"pause": "Παύση",
|
"pause": "Παύση",
|
||||||
"placeholder": "Εισάγετε μήνυμα εδώ...",
|
"placeholder": "Εισάγετε μήνυμα εδώ...",
|
||||||
"placeholder_without_triggers": "Γράψτε το μήνυμά σας εδώ, πατήστε {{key}} για αποστολή",
|
"placeholder_without_triggers": "Γράψτε το μήνυμά σας εδώ, πατήστε {{key}} για αποστολή",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "σχετικά με",
|
||||||
"add": "Προσθέστε",
|
"add": "Προσθέστε",
|
||||||
"add_success": "Η προσθήκη ήταν επιτυχής",
|
"add_success": "Η προσθήκη ήταν επιτυχής",
|
||||||
"advanced_settings": "Προχωρημένες ρυθμίσεις",
|
"advanced_settings": "Προχωρημένες ρυθμίσεις",
|
||||||
@ -1962,12 +1963,12 @@
|
|||||||
"rename_changed": "Λόγω πολιτικής ασφάλειας, το όνομα του αρχείου έχει αλλάξει από {{original}} σε {{final}}",
|
"rename_changed": "Λόγω πολιτικής ασφάλειας, το όνομα του αρχείου έχει αλλάξει από {{original}} σε {{final}}",
|
||||||
"save": "αποθήκευση στις σημειώσεις",
|
"save": "αποθήκευση στις σημειώσεις",
|
||||||
"search": {
|
"search": {
|
||||||
"both": "[to be translated]:名称+内容",
|
"both": "όνομα + περιεχόμενο",
|
||||||
"content": "[to be translated]:内容",
|
"content": "περιεχόμενο",
|
||||||
"found_results": "[to be translated]:找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
"found_results": "Βρέθηκαν {{count}} αποτελέσματα (όνομα: {{nameCount}}, περιεχόμενο: {{contentCount}})",
|
||||||
"more_matches": "[to be translated]:个匹配",
|
"more_matches": "ένας αγώνας",
|
||||||
"searching": "[to be translated]:搜索中...",
|
"searching": "Αναζήτηση...",
|
||||||
"show_less": "[to be translated]:收起"
|
"show_less": "κλείσιμο"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
@ -2117,8 +2118,8 @@
|
|||||||
"install_code_103": "Η λήψη του OVMS runtime απέτυχε",
|
"install_code_103": "Η λήψη του OVMS runtime απέτυχε",
|
||||||
"install_code_104": "Η αποσυμπίεση του OVMS runtime απέτυχε",
|
"install_code_104": "Η αποσυμπίεση του OVMS runtime απέτυχε",
|
||||||
"install_code_105": "Ο καθαρισμός του OVMS runtime απέτυχε",
|
"install_code_105": "Ο καθαρισμός του OVMS runtime απέτυχε",
|
||||||
"install_code_106": "[to be translated]:创建 run.bat 失败",
|
"install_code_106": "Η δημιουργία του run.bat απέτυχε",
|
||||||
"install_code_110": "[to be translated]:清理旧 OVMS runtime 失败",
|
"install_code_110": "Η διαγραφή του παλιού χρόνου εκτέλεσης OVMS απέτυχε",
|
||||||
"run": "Η εκτέλεση του OVMS απέτυχε:",
|
"run": "Η εκτέλεση του OVMS απέτυχε:",
|
||||||
"stop": "Η διακοπή του OVMS απέτυχε:"
|
"stop": "Η διακοπή του OVMS απέτυχε:"
|
||||||
},
|
},
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "συστηματική προξενική",
|
"system": "συστηματική προξενική",
|
||||||
"title": "κλίμακα προξενικής"
|
"title": "κλίμακα προξενικής"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "υποστηρίζει ασαφή αντιστοίχιση (*.test.com,192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Επιλέξτε την εικόνα στο πίνακα για να ενεργοποιήσετε",
|
"click_tray_to_show": "Επιλέξτε την εικόνα στο πίνακα για να ενεργοποιήσετε",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "Limpiar contexto {{Command}}"
|
"context": "Limpiar contexto {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "Nuevo tema {{Command}}",
|
"new_topic": "Nuevo tema {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "¿Pegar en el cuadro de entrada?",
|
||||||
"pause": "Pausar",
|
"pause": "Pausar",
|
||||||
"placeholder": "Escribe aquí tu mensaje...",
|
"placeholder": "Escribe aquí tu mensaje...",
|
||||||
"placeholder_without_triggers": "Escribe tu mensaje aquí, presiona {{key}} para enviar",
|
"placeholder_without_triggers": "Escribe tu mensaje aquí, presiona {{key}} para enviar",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "Acerca de",
|
||||||
"add": "Agregar",
|
"add": "Agregar",
|
||||||
"add_success": "Añadido con éxito",
|
"add_success": "Añadido con éxito",
|
||||||
"advanced_settings": "Configuración avanzada",
|
"advanced_settings": "Configuración avanzada",
|
||||||
@ -1962,12 +1963,12 @@
|
|||||||
"rename_changed": "Debido a políticas de seguridad, el nombre del archivo ha cambiado de {{original}} a {{final}}",
|
"rename_changed": "Debido a políticas de seguridad, el nombre del archivo ha cambiado de {{original}} a {{final}}",
|
||||||
"save": "Guardar en notas",
|
"save": "Guardar en notas",
|
||||||
"search": {
|
"search": {
|
||||||
"both": "[to be translated]:名称+内容",
|
"both": "Nombre + contenido",
|
||||||
"content": "[to be translated]:内容",
|
"content": "contenido",
|
||||||
"found_results": "[to be translated]:找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
"found_results": "Encontrados {{count}} resultados (nombre: {{nameCount}}, contenido: {{contentCount}})",
|
||||||
"more_matches": "[to be translated]:个匹配",
|
"more_matches": "una coincidencia",
|
||||||
"searching": "[to be translated]:搜索中...",
|
"searching": "Buscando...",
|
||||||
"show_less": "[to be translated]:收起"
|
"show_less": "Recoger"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
@ -2117,8 +2118,8 @@
|
|||||||
"install_code_103": "Error al descargar el tiempo de ejecución de OVMS",
|
"install_code_103": "Error al descargar el tiempo de ejecución de OVMS",
|
||||||
"install_code_104": "Error al descomprimir el tiempo de ejecución de OVMS",
|
"install_code_104": "Error al descomprimir el tiempo de ejecución de OVMS",
|
||||||
"install_code_105": "Error al limpiar el tiempo de ejecución de OVMS",
|
"install_code_105": "Error al limpiar el tiempo de ejecución de OVMS",
|
||||||
"install_code_106": "[to be translated]:创建 run.bat 失败",
|
"install_code_106": "Error al crear run.bat",
|
||||||
"install_code_110": "[to be translated]:清理旧 OVMS runtime 失败",
|
"install_code_110": "Error al limpiar el antiguo runtime de OVMS",
|
||||||
"run": "Error al ejecutar OVMS:",
|
"run": "Error al ejecutar OVMS:",
|
||||||
"stop": "Error al detener OVMS:"
|
"stop": "Error al detener OVMS:"
|
||||||
},
|
},
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "Proxy del sistema",
|
"system": "Proxy del sistema",
|
||||||
"title": "Modo de proxy"
|
"title": "Modo de proxy"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "Soporta coincidencia difusa (*.test.com, 192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Haz clic en el icono de la bandeja para iniciar",
|
"click_tray_to_show": "Haz clic en el icono de la bandeja para iniciar",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "Effacer le contexte {{Command}}"
|
"context": "Effacer le contexte {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "Nouveau sujet {{Command}}",
|
"new_topic": "Nouveau sujet {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "Coller dans la zone de saisie ?",
|
||||||
"pause": "Pause",
|
"pause": "Pause",
|
||||||
"placeholder": "Entrez votre message ici...",
|
"placeholder": "Entrez votre message ici...",
|
||||||
"placeholder_without_triggers": "Tapez votre message ici, appuyez sur {{key}} pour envoyer",
|
"placeholder_without_triggers": "Tapez votre message ici, appuyez sur {{key}} pour envoyer",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "à propos",
|
||||||
"add": "Ajouter",
|
"add": "Ajouter",
|
||||||
"add_success": "Ajout réussi",
|
"add_success": "Ajout réussi",
|
||||||
"advanced_settings": "Paramètres avancés",
|
"advanced_settings": "Paramètres avancés",
|
||||||
@ -1962,12 +1963,12 @@
|
|||||||
"rename_changed": "En raison de la politique de sécurité, le nom du fichier a été changé de {{original}} à {{final}}",
|
"rename_changed": "En raison de la politique de sécurité, le nom du fichier a été changé de {{original}} à {{final}}",
|
||||||
"save": "sauvegarder dans les notes",
|
"save": "sauvegarder dans les notes",
|
||||||
"search": {
|
"search": {
|
||||||
"both": "[to be translated]:名称+内容",
|
"both": "Nom+contenu",
|
||||||
"content": "[to be translated]:内容",
|
"content": "suivre l’instruction du système",
|
||||||
"found_results": "[to be translated]:找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
"found_results": "{{count}} résultats trouvés (nom : {{nameCount}}, contenu : {{contentCount}})",
|
||||||
"more_matches": "[to be translated]:个匹配",
|
"more_matches": "une correspondance",
|
||||||
"searching": "[to be translated]:搜索中...",
|
"searching": "Recherche en cours...",
|
||||||
"show_less": "[to be translated]:收起"
|
"show_less": "Replier"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
@ -2117,8 +2118,8 @@
|
|||||||
"install_code_103": "Échec du téléchargement du runtime OVMS",
|
"install_code_103": "Échec du téléchargement du runtime OVMS",
|
||||||
"install_code_104": "Échec de la décompression du runtime OVMS",
|
"install_code_104": "Échec de la décompression du runtime OVMS",
|
||||||
"install_code_105": "Échec du nettoyage du runtime OVMS",
|
"install_code_105": "Échec du nettoyage du runtime OVMS",
|
||||||
"install_code_106": "[to be translated]:创建 run.bat 失败",
|
"install_code_106": "Échec de la création de run.bat",
|
||||||
"install_code_110": "[to be translated]:清理旧 OVMS runtime 失败",
|
"install_code_110": "Échec du nettoyage de l'ancien runtime OVMS",
|
||||||
"run": "Échec de l'exécution d'OVMS :",
|
"run": "Échec de l'exécution d'OVMS :",
|
||||||
"stop": "Échec de l'arrêt d'OVMS :"
|
"stop": "Échec de l'arrêt d'OVMS :"
|
||||||
},
|
},
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "Proxy système",
|
"system": "Proxy système",
|
||||||
"title": "Mode de proxy"
|
"title": "Mode de proxy"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "Prise en charge de la correspondance floue (*.test.com, 192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Cliquez sur l'icône dans la barre d'état système pour démarrer",
|
"click_tray_to_show": "Cliquez sur l'icône dans la barre d'état système pour démarrer",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "コンテキストをクリア {{Command}}"
|
"context": "コンテキストをクリア {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "新しいトピック {{Command}}",
|
"new_topic": "新しいトピック {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "入力ボックスに貼り付けますか?",
|
||||||
"pause": "一時停止",
|
"pause": "一時停止",
|
||||||
"placeholder": "ここにメッセージを入力し、{{key}} を押して送信...",
|
"placeholder": "ここにメッセージを入力し、{{key}} を押して送信...",
|
||||||
"placeholder_without_triggers": "ここにメッセージを入力し、{{key}} を押して送信...",
|
"placeholder_without_triggers": "ここにメッセージを入力し、{{key}} を押して送信...",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "について",
|
||||||
"add": "追加",
|
"add": "追加",
|
||||||
"add_success": "追加成功",
|
"add_success": "追加成功",
|
||||||
"advanced_settings": "詳細設定",
|
"advanced_settings": "詳細設定",
|
||||||
@ -1962,12 +1963,12 @@
|
|||||||
"rename_changed": "セキュリティポリシーにより、ファイル名は{{original}}から{{final}}に変更されました",
|
"rename_changed": "セキュリティポリシーにより、ファイル名は{{original}}から{{final}}に変更されました",
|
||||||
"save": "メモに保存する",
|
"save": "メモに保存する",
|
||||||
"search": {
|
"search": {
|
||||||
"both": "[to be translated]:名称+内容",
|
"both": "名称+内容",
|
||||||
"content": "[to be translated]:内容",
|
"content": "内容",
|
||||||
"found_results": "[to be translated]:找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
"found_results": "{{count}} 件の結果が見つかりました(名称: {{nameCount}}、内容: {{contentCount}})",
|
||||||
"more_matches": "[to be translated]:个匹配",
|
"more_matches": "個マッチ",
|
||||||
"searching": "[to be translated]:搜索中...",
|
"searching": "検索中...",
|
||||||
"show_less": "[to be translated]:收起"
|
"show_less": "<translate_input>\n折りたたむ\n</translate_input>"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
@ -2117,8 +2118,8 @@
|
|||||||
"install_code_103": "OVMSランタイムのダウンロードに失敗しました",
|
"install_code_103": "OVMSランタイムのダウンロードに失敗しました",
|
||||||
"install_code_104": "OVMSランタイムの解凍に失敗しました",
|
"install_code_104": "OVMSランタイムの解凍に失敗しました",
|
||||||
"install_code_105": "OVMSランタイムのクリーンアップに失敗しました",
|
"install_code_105": "OVMSランタイムのクリーンアップに失敗しました",
|
||||||
"install_code_106": "[to be translated]:创建 run.bat 失败",
|
"install_code_106": "run.bat の作成に失敗しました",
|
||||||
"install_code_110": "[to be translated]:清理旧 OVMS runtime 失败",
|
"install_code_110": "古いOVMSランタイムのクリーンアップに失敗しました",
|
||||||
"run": "OVMSの実行に失敗しました:",
|
"run": "OVMSの実行に失敗しました:",
|
||||||
"stop": "OVMSの停止に失敗しました:"
|
"stop": "OVMSの停止に失敗しました:"
|
||||||
},
|
},
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "システムプロキシ",
|
"system": "システムプロキシ",
|
||||||
"title": "プロキシモード"
|
"title": "プロキシモード"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "ワイルドカード一致をサポート (*.test.com, 192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "トレイアイコンをクリックして起動",
|
"click_tray_to_show": "トレイアイコンをクリックして起動",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "Limpar contexto {{Command}}"
|
"context": "Limpar contexto {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "Novo tópico {{Command}}",
|
"new_topic": "Novo tópico {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "Colar na caixa de entrada?",
|
||||||
"pause": "Pausar",
|
"pause": "Pausar",
|
||||||
"placeholder": "Digite sua mensagem aqui...",
|
"placeholder": "Digite sua mensagem aqui...",
|
||||||
"placeholder_without_triggers": "Escreve a tua mensagem aqui, pressiona {{key}} para enviar",
|
"placeholder_without_triggers": "Escreve a tua mensagem aqui, pressiona {{key}} para enviar",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "Sobre",
|
||||||
"add": "Adicionar",
|
"add": "Adicionar",
|
||||||
"add_success": "Adicionado com sucesso",
|
"add_success": "Adicionado com sucesso",
|
||||||
"advanced_settings": "Configurações Avançadas",
|
"advanced_settings": "Configurações Avançadas",
|
||||||
@ -1962,12 +1963,12 @@
|
|||||||
"rename_changed": "Devido às políticas de segurança, o nome do arquivo foi alterado de {{original}} para {{final}}",
|
"rename_changed": "Devido às políticas de segurança, o nome do arquivo foi alterado de {{original}} para {{final}}",
|
||||||
"save": "salvar em notas",
|
"save": "salvar em notas",
|
||||||
"search": {
|
"search": {
|
||||||
"both": "[to be translated]:名称+内容",
|
"both": "nome+conteúdo",
|
||||||
"content": "[to be translated]:内容",
|
"content": "<translate_input>\n[to be translated]:内容\n</translate_input>\nconteúdo",
|
||||||
"found_results": "[to be translated]:找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
"found_results": "找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
||||||
"more_matches": "[to be translated]:个匹配",
|
"more_matches": "uma correspondência",
|
||||||
"searching": "[to be translated]:搜索中...",
|
"searching": "Procurando...",
|
||||||
"show_less": "[to be translated]:收起"
|
"show_less": "Recolher"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
@ -2117,8 +2118,8 @@
|
|||||||
"install_code_103": "Falha ao baixar o tempo de execução do OVMS",
|
"install_code_103": "Falha ao baixar o tempo de execução do OVMS",
|
||||||
"install_code_104": "Falha ao descompactar o tempo de execução do OVMS",
|
"install_code_104": "Falha ao descompactar o tempo de execução do OVMS",
|
||||||
"install_code_105": "Falha ao limpar o tempo de execução do OVMS",
|
"install_code_105": "Falha ao limpar o tempo de execução do OVMS",
|
||||||
"install_code_106": "[to be translated]:创建 run.bat 失败",
|
"install_code_106": "Falha ao criar run.bat",
|
||||||
"install_code_110": "[to be translated]:清理旧 OVMS runtime 失败",
|
"install_code_110": "Falha ao limpar o runtime antigo do OVMS",
|
||||||
"run": "Falha ao executar o OVMS:",
|
"run": "Falha ao executar o OVMS:",
|
||||||
"stop": "Falha ao parar o OVMS:"
|
"stop": "Falha ao parar o OVMS:"
|
||||||
},
|
},
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "Proxy do Sistema",
|
"system": "Proxy do Sistema",
|
||||||
"title": "Modo de Proxy"
|
"title": "Modo de Proxy"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "Suporta correspondência difusa (*.test.com,192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Clique no ícone da bandeja para iniciar",
|
"click_tray_to_show": "Clique no ícone da bandeja para iniciar",
|
||||||
|
|||||||
@ -538,7 +538,7 @@
|
|||||||
"context": "Очистить контекст {{Command}}"
|
"context": "Очистить контекст {{Command}}"
|
||||||
},
|
},
|
||||||
"new_topic": "Новый топик {{Command}}",
|
"new_topic": "Новый топик {{Command}}",
|
||||||
"paste_text_file_confirm": "[to be translated]:粘贴到输入框?",
|
"paste_text_file_confirm": "Вставить в поле ввода?",
|
||||||
"pause": "Остановить",
|
"pause": "Остановить",
|
||||||
"placeholder": "Введите ваше сообщение здесь, нажмите {{key}} для отправки...",
|
"placeholder": "Введите ваше сообщение здесь, нажмите {{key}} для отправки...",
|
||||||
"placeholder_without_triggers": "Напишите сообщение здесь, нажмите {{key}} для отправки",
|
"placeholder_without_triggers": "Напишите сообщение здесь, нажмите {{key}} для отправки",
|
||||||
@ -952,6 +952,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
|
"about": "о",
|
||||||
"add": "Добавить",
|
"add": "Добавить",
|
||||||
"add_success": "Успешно добавлено",
|
"add_success": "Успешно добавлено",
|
||||||
"advanced_settings": "Дополнительные настройки",
|
"advanced_settings": "Дополнительные настройки",
|
||||||
@ -1962,12 +1963,12 @@
|
|||||||
"rename_changed": "В связи с политикой безопасности имя файла было изменено с {{Original}} на {{final}}",
|
"rename_changed": "В связи с политикой безопасности имя файла было изменено с {{Original}} на {{final}}",
|
||||||
"save": "Сохранить в заметки",
|
"save": "Сохранить в заметки",
|
||||||
"search": {
|
"search": {
|
||||||
"both": "[to be translated]:名称+内容",
|
"both": "Название+содержание",
|
||||||
"content": "[to be translated]:内容",
|
"content": "содержание",
|
||||||
"found_results": "[to be translated]:找到 {{count}} 个结果 (名称: {{nameCount}}, 内容: {{contentCount}})",
|
"found_results": "Найдено результатов: {{count}} (название: {{nameCount}}, содержание: {{contentCount}})",
|
||||||
"more_matches": "[to be translated]:个匹配",
|
"more_matches": "совпадение",
|
||||||
"searching": "[to be translated]:搜索中...",
|
"searching": "Поиск...",
|
||||||
"show_less": "[to be translated]:收起"
|
"show_less": "Свернуть"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"data": {
|
"data": {
|
||||||
@ -2117,8 +2118,8 @@
|
|||||||
"install_code_103": "Ошибка загрузки среды выполнения OVMS",
|
"install_code_103": "Ошибка загрузки среды выполнения OVMS",
|
||||||
"install_code_104": "Ошибка распаковки среды выполнения OVMS",
|
"install_code_104": "Ошибка распаковки среды выполнения OVMS",
|
||||||
"install_code_105": "Ошибка очистки среды выполнения OVMS",
|
"install_code_105": "Ошибка очистки среды выполнения OVMS",
|
||||||
"install_code_106": "[to be translated]:创建 run.bat 失败",
|
"install_code_106": "Не удалось создать run.bat",
|
||||||
"install_code_110": "[to be translated]:清理旧 OVMS runtime 失败",
|
"install_code_110": "Ошибка очистки старой среды выполнения OVMS",
|
||||||
"run": "Ошибка запуска OVMS:",
|
"run": "Ошибка запуска OVMS:",
|
||||||
"stop": "Ошибка остановки OVMS:"
|
"stop": "Ошибка остановки OVMS:"
|
||||||
},
|
},
|
||||||
@ -4230,7 +4231,7 @@
|
|||||||
"system": "Системный прокси",
|
"system": "Системный прокси",
|
||||||
"title": "Режим прокси"
|
"title": "Режим прокси"
|
||||||
},
|
},
|
||||||
"tip": "[to be translated]:支持模糊匹配(*.test.com,192.168.0.0/16)"
|
"tip": "Поддержка нечеткого соответствия (*.test.com, 192.168.0.0/16)"
|
||||||
},
|
},
|
||||||
"quickAssistant": {
|
"quickAssistant": {
|
||||||
"click_tray_to_show": "Нажмите на иконку трея для запуска",
|
"click_tray_to_show": "Нажмите на иконку трея для запуска",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user