feat: i18n 11 languages + website update + fix #139 #140 #141

i18n:
- Add 9 new locale files (ja/ko/de/es/fr/pt/ru/vi/zh-TW)
- Add multilingual README files for all 11 languages
- Add locale helper, index, and modular translation system
- Add translation generation scripts

Website (docs/index.html):
- Replace 公益AI接口 branding with 晴辰云AI接口
- Remove OpenClaw 独立安装包 promotion block
- Update SEO meta tags (description, keywords, OG, Twitter, JSON-LD)
- Add 11-language README links to footer
- Update 元宝派 link to new URL

Bug fixes:
- fix(cron): delivery format mode:'push' → mode:'announce', remove invalid 'to' field (fixes #141)
- fix(cron): allow single-channel users to select delivery channel
- fix(cron): preserve delivery field in job state for editing
- fix(models): add 'ollama' as recognized API type, prevent overwriting native ollama config (fixes #140)
- fix(models): skip /v1 append for ollama native API baseUrl
- fix(assistant): normalize 'google-generative-ai' consistently, add ollama hints
- fix(version): use CLI path classification for source detection on Windows (fixes #139)
- fix(version): default to 'official' instead of 'chinese' when source unknown
- fix(version): reorder npm global package check based on active CLI
This commit is contained in:
晴天
2026-03-24 22:31:11 +08:00
parent f8af3bea4a
commit 985d263dc6
261 changed files with 26760 additions and 175 deletions

View File

@@ -0,0 +1,24 @@
{
"title": "Über",
"desc": "ClawPanel-Version und Projektinformationen",
"subtitle": "OpenClaw Visuelles Verwaltungspanel",
"sectionCommunity": "Community",
"sectionContribute": "Mitwirken",
"sectionLinks": "Links",
"checkingUpdate": "Suche nach Updates...",
"official": "Offiziell",
"notInstalled": "Nicht installiert",
"versionLabel": "Version",
"recommended": "Empfohlen",
"current": "Aktuell",
"upToDate": "Aktuell",
"checkUpdateFailed": "Update-Prüfung fehlgeschlagen",
"joinDiscord": "Discord beitreten",
"discordDesc": "Internationale Community",
"communityWelcome": "Willkommen in der OpenClaw-Community! Melden Sie Probleme jederzeit, lassen Sie uns gemeinsam AI-Agenten verbessern.",
"communityWelcomeIntl": "Welcome to the OpenClaw community! Share ideas, get help, and build amazing AI agents together.",
"submitIssue": "Issue einreichen",
"submitPR": "PR einreichen",
"officialWebsite": "Offizielle Website",
"openSourceRepo": "Open-Source-Repository"
}

View File

@@ -0,0 +1,23 @@
{
"title": "Agenten-Verwaltung",
"desc": "OpenClaw-Agenten erstellen und verwalten",
"addAgent": "+ Neuer Agent",
"noAgents": "Keine Agenten",
"loadFailed": "Laden fehlgeschlagen",
"default": "Standard",
"backup": "Backup",
"edit": "Bearbeiten",
"delete": "Löschen",
"notSet": "Nicht gesetzt",
"addTitle": "Neuer Agent",
"agentId": "Agent-ID",
"agentName": "Name",
"agentModel": "Modell",
"created": "Agent erstellt",
"createFailed": "Erstellen fehlgeschlagen",
"editTitle": "Agent bearbeiten — {id}",
"updated": "Aktualisiert",
"updateFailed": "Aktualisierung fehlgeschlagen",
"deleted": "Gelöscht",
"deleteFailed": "Löschen fehlgeschlagen"
}

View File

@@ -0,0 +1,27 @@
{
"defaultName": "KI-Assistent",
"welcomeText": "Hallo! Ich bin der KI-Assistent. Wie kann ich Ihnen helfen?",
"loading": "Laden...",
"settings": "Einstellungen",
"settingsTitle": "Assistenten-Einstellungen",
"settingsSaved": "Einstellungen gespeichert",
"model": "Modell",
"temperature": "Temperatur",
"testSuccess": "Verbindung erfolgreich",
"testFailed": "Verbindung fehlgeschlagen",
"testing": "Wird getestet...",
"testBtn": "Verbindung testen",
"send": "Senden",
"inputPlaceholder": "Problem beschreiben...",
"stopped": "Gestoppt",
"retry": "Wiederholen",
"copyText": "Text kopieren",
"newSession": "Neue Sitzung",
"deleteSession": "Sitzung löschen",
"noSessions": "Keine Sitzungen",
"sessionList": "Sitzungsliste",
"aiThinking": "Denkt nach...",
"confirmAllow": "Ausführung erlauben",
"toolExecuting": "Wird ausgeführt...",
"toolDone": "Ausführung abgeschlossen"
}

View File

@@ -0,0 +1,32 @@
{
"title": "Kanäle",
"desc": "Nachrichtenkanäle und Plattformverbindungen verwalten",
"addChannel": "+ Kanal hinzufügen",
"noChannels": "Keine Kanäle",
"channelName": "Kanalname",
"platform": "Plattform",
"status": "Status",
"connected": "Verbunden",
"disconnected": "Getrennt",
"edit": "Bearbeiten",
"delete": "Löschen",
"save": "Speichern",
"saved": "Gespeichert",
"saveFailed": "Speichern fehlgeschlagen",
"deleted": "Gelöscht",
"loadFailed": "Laden fehlgeschlagen",
"testConnection": "Verbindung testen",
"testing": "Wird getestet...",
"testSuccess": "Verbindung erfolgreich",
"testFailed": "Verbindung fehlgeschlagen",
"bindAgent": "Agent verknüpfen",
"selectAgent": "Agent auswählen",
"pairingTitle": "Kopplung",
"approve": "Genehmigen",
"configTitle": "Kanalkonfiguration",
"restartRequired": "Gateway-Neustart erforderlich",
"installPlugin": "Plugin installieren",
"installing": "Wird installiert...",
"installSuccess": "Installiert",
"installFailed": "Installation fehlgeschlagen"
}

View File

@@ -0,0 +1,22 @@
{
"title": "Live-Chat",
"desc": "Mit dem Agenten in Echtzeit chatten",
"selectAgent": "Agent auswählen",
"connecting": "Verbindung wird hergestellt...",
"connected": "Verbunden",
"disconnected": "Getrennt",
"send": "Senden",
"inputPlaceholder": "Nachricht eingeben...",
"noMessages": "Keine Nachrichten",
"clearChat": "Verlauf löschen",
"newSession": "Neue Sitzung",
"noSessions": "Keine Sitzungen",
"copyMessage": "Kopieren",
"thinking": "Denkt nach...",
"generating": "Wird generiert...",
"stop": "Stoppen",
"regenerate": "Neu generieren",
"modelSelect": "Modell auswählen",
"gatewayNotRunning": "Gateway läuft nicht",
"startGateway": "Gateway starten"
}

View File

@@ -0,0 +1,16 @@
{
"title": "Systemdiagnose",
"desc": "WebSocket-Verbindungsdiagnose und Netzwerk-Debugging",
"wsStatus": "WebSocket-Status",
"wsConnect": "Verbinden",
"wsDisconnect": "Trennen",
"wsConnected": "Verbunden",
"wsDisconnected": "Nicht verbunden",
"wsConnecting": "Verbindung wird hergestellt...",
"wsError": "WebSocket-Fehler",
"networkLogTitle": "Netzwerkanfrage-Protokoll",
"noRequests": "Keine Anfragen",
"totalRequests": "Gesamte Anfragen",
"fixStarting": "Reparatur wird gestartet...",
"fixFailed": "Reparatur fehlgeschlagen"
}

View File

@@ -0,0 +1,42 @@
{
"save": "Speichern",
"cancel": "Abbrechen",
"confirm": "Bestätigen",
"delete": "Löschen",
"edit": "Bearbeiten",
"add": "Hinzufügen",
"close": "Schließen",
"loading": "Laden...",
"retry": "Wiederholen",
"copy": "Kopieren",
"copied": "Kopiert",
"search": "Suchen",
"refresh": "Aktualisieren",
"back": "Zurück",
"submit": "Absenden",
"reset": "Zurücksetzen",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"unknown": "Unbekannt",
"none": "Keine",
"yes": "Ja",
"no": "Nein",
"online": "Online",
"offline": "Offline",
"running": "Läuft",
"stopped": "Gestoppt",
"error": "Fehler",
"success": "Erfolg",
"warning": "Warnung",
"info": "Info",
"loadFailed": "Laden fehlgeschlagen",
"saveFailed": "Speichern fehlgeschlagen",
"saveSuccess": "Erfolgreich gespeichert",
"operationFailed": "Vorgang fehlgeschlagen",
"operationSuccess": "Vorgang erfolgreich",
"noData": "Keine Daten",
"unit": "",
"survivalRate": "Verfügbarkeit",
"settings": "Einstellungen",
"update": "Aktualisieren"
}

View File

@@ -0,0 +1,28 @@
{
"title": "Kommunikation & Automatisierung",
"desc": "Benachrichtigungskanäle und Automatisierungsregeln konfigurieren",
"notifyTitle": "Benachrichtigungskanäle",
"automationTitle": "Automatisierungsregeln",
"addChannel": "+ Kanal hinzufügen",
"addRule": "+ Regel hinzufügen",
"noChannels": "Keine Kanäle",
"noRules": "Keine Regeln",
"channelName": "Kanalname",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"test": "Test senden",
"testing": "Wird getestet...",
"testSuccess": "Test erfolgreich",
"testFailed": "Test fehlgeschlagen",
"save": "Speichern",
"saved": "Gespeichert",
"saveFailed": "Speichern fehlgeschlagen",
"delete": "Löschen",
"deleted": "Gelöscht",
"deleteFailed": "Löschen fehlgeschlagen",
"loadFailed": "Laden fehlgeschlagen",
"trigger": "Auslöser",
"action": "Aktion",
"selectAgent": "Agent auswählen",
"approve": "Genehmigen"
}

View File

@@ -0,0 +1,19 @@
{
"title": "Geplante Aufgaben",
"desc": "OpenClaw-Aufgaben verwalten",
"addTask": "+ Aufgabe hinzufügen",
"noTasks": "Keine Aufgaben",
"taskName": "Aufgabenname",
"schedule": "Zeitplan",
"status": "Status",
"active": "Aktiv",
"inactive": "Inaktiv",
"edit": "Bearbeiten",
"delete": "Löschen",
"enable": "Aktivieren",
"disable": "Deaktivieren",
"runNow": "Jetzt ausführen",
"created": "Aufgabe erstellt",
"deleted": "Aufgabe gelöscht",
"loadFailed": "Laden fehlgeschlagen"
}

View File

@@ -0,0 +1,32 @@
{
"title": "Dashboard",
"desc": "OpenClaw-Statusübersicht",
"gateway": "Gateway",
"notStarted": "Nicht gestartet",
"versionLabel": "Version",
"agentFleet": "Agent-Flotte",
"defaultAgent": "Standard",
"modelPool": "Modell-Pool",
"baseServices": "Basisdienste",
"controlUI": "Control UI",
"restartGw": "Gateway neustarten",
"checkUpdate": "Updates prüfen",
"createBackup": "Backup erstellen",
"recentLogs": "Aktuelle Protokolle",
"cliPath": "CLI-Pfad",
"retry": "Wiederholen",
"notSet": "Nicht gesetzt",
"port": "Port",
"startBtn": "Starten",
"stopBtn": "Stoppen",
"restartBtn": "Neustarten",
"primaryModel": "Primäres Modell",
"noLogs": "Keine Protokolle",
"starting": "Wird gestartet...",
"stopping": "Wird gestoppt...",
"restarting": "Wird neugestartet...",
"checking": "Wird geprüft...",
"upToDate": "Aktuell",
"backingUp": "Backup wird erstellt...",
"backupFail": "Backup fehlgeschlagen"
}

View File

@@ -0,0 +1,18 @@
{
"title": "Erweiterungstools",
"desc": "cftunnel und ClawApp verwalten",
"cftunnelTitle": "cftunnel",
"clawappTitle": "ClawApp",
"installBtn": "Schnellinstallation",
"status": "Status",
"running": "Läuft",
"stopped": "Gestoppt",
"version": "Version",
"startTunnel": "Tunnel starten",
"stopTunnel": "Tunnel stoppen",
"start": "Starten",
"stop": "Stoppen",
"installing": "Wird installiert...",
"installDone": "Installation abgeschlossen",
"installFailed": "Installation fehlgeschlagen"
}

View File

@@ -0,0 +1,17 @@
{
"title": "Gateway",
"desc": "Gateway konfigurieren und verwalten",
"status": "Status",
"running": "Läuft",
"stopped": "Gestoppt",
"port": "Port",
"saveConfig": "Konfiguration speichern",
"saved": "Gateway-Konfiguration gespeichert",
"saveFailed": "Speichern fehlgeschlagen",
"restartRequired": "Gateway-Neustart erforderlich",
"restartNow": "Jetzt neustarten",
"configLoadFail": "Konfiguration laden fehlgeschlagen",
"pairingTitle": "Gerätekopplung",
"pairedDevices": "Gekoppelte Geräte",
"noPairedDevices": "Keine gekoppelten Geräte"
}

View File

@@ -0,0 +1,11 @@
{
"local": "Lokal",
"remote": "Remote",
"docker": "Docker",
"addInstance": "Instanz hinzufügen",
"addRemote": "Remote-Instanz hinzufügen",
"nameLabel": "Name",
"endpointLabel": "Panel-Adresse",
"adding": "Wird hinzugefügt...",
"current": "Aktuell"
}

View File

@@ -0,0 +1,17 @@
{
"title": "Protokolle",
"desc": "OpenClaw-Protokolle anzeigen",
"tabGateway": "Gateway",
"tabGatewayErr": "Gateway-Fehler",
"tabGuardian": "Guardian",
"tabBackup": "Backup",
"tabAudit": "Audit",
"searchPlaceholder": "Suchen...",
"refresh": "Aktualisieren",
"autoScroll": "Auto-Scrollen",
"loading": "Laden...",
"empty": "Keine Protokolle",
"loadFailed": "Laden fehlgeschlagen",
"noResults": "Keine Ergebnisse",
"searchFailed": "Suche fehlgeschlagen"
}

View File

@@ -0,0 +1,17 @@
{
"title": "Speicher",
"desc": "Agent-Speicherdateien verwalten",
"noFiles": "Keine Dateien",
"view": "Ansehen",
"download": "Herunterladen",
"delete": "Löschen",
"upload": "Hochladen",
"uploading": "Wird hochgeladen...",
"uploaded": "Hochgeladen",
"uploadFailed": "Hochladen fehlgeschlagen",
"deleted": "Gelöscht",
"deleteFailed": "Löschen fehlgeschlagen",
"loadFailed": "Laden fehlgeschlagen",
"selectAgent": "Agent auswählen",
"searchPlaceholder": "Suchen..."
}

View File

@@ -0,0 +1,5 @@
{
"confirmTitle": "Bestätigen",
"confirmOk": "OK",
"confirmCancel": "Abbrechen"
}

View File

@@ -0,0 +1,21 @@
{
"title": "Modell-Konfiguration",
"desc": "KI-Anbieter und Modelle verwalten",
"addProvider": "+ Anbieter hinzufügen",
"noProviders": "Keine Anbieter",
"providerName": "Anbietername",
"baseUrl": "Base URL",
"apiKey": "API Key",
"models": "Modelle",
"addModel": "Modell hinzufügen",
"saveProvider": "Speichern",
"testConnection": "Verbindung testen",
"testing": "Test läuft...",
"testSuccess": "Verbindung erfolgreich",
"testFailed": "Verbindung fehlgeschlagen",
"fetchModels": "Modellliste abrufen",
"primaryModel": "Primäres Modell",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"loadFailed": "Konfiguration laden fehlgeschlagen"
}

View File

@@ -0,0 +1,8 @@
{
"title": "Sicherheit",
"desc": "OpenClaw-Sicherheitseinstellungen verwalten",
"toolPermissions": "Werkzeug-Berechtigungen",
"savePermissions": "Berechtigungen speichern",
"permSaved": "Berechtigungen gespeichert",
"loadFailed": "Einstellungen laden fehlgeschlagen"
}

View File

@@ -0,0 +1,23 @@
{
"title": "Dienstverwaltung",
"desc": "OpenClaw-Dienste starten, stoppen und überwachen",
"gatewayTitle": "Gateway-Dienst",
"guardianTitle": "Guardian-Dienst",
"status": "Status",
"pid": "PID",
"uptime": "Betriebszeit",
"port": "Port",
"host": "Host",
"start": "Starten",
"stop": "Stoppen",
"restart": "Neustarten",
"forceKill": "Erzwungen beenden",
"viewLogs": "Protokolle ansehen",
"starting": "Wird gestartet...",
"stopping": "Wird gestoppt...",
"restarting": "Wird neugestartet...",
"loadFail": "Status laden fehlgeschlagen",
"healthCheck": "Zustandsprüfung",
"healthOk": "Läuft normal",
"healthFail": "Keine Antwort"
}

View File

@@ -0,0 +1,13 @@
{
"title": "Panel-Einstellungen",
"desc": "Netzwerk-, Proxy- und Download-Einstellungen verwalten",
"networkProxy": "Netzwerk-Proxy",
"modelProxy": "Modell-Anfrage-Proxy",
"npmRegistry": "npm Registry",
"language": "Anzeigesprache",
"languageHint": "Sprache der Benutzeroberfläche wechseln.",
"testProxy": "Verbindung testen",
"clearProxy": "Proxy deaktivieren",
"resetDefault": "Standard wiederherstellen",
"restarting": "Wird neugestartet..."
}

View File

@@ -0,0 +1,23 @@
{
"title": "Ersteinrichtung",
"desc": "OpenClaw installieren und konfigurieren",
"headerTitle": "Willkommen bei ClawPanel",
"recheck": "Erneut prüfen",
"stepNode": "Node.js-Umgebung",
"installed": "Installiert",
"downloadNode": "Node.js herunterladen",
"stepGit": "Git",
"stepConfig": "Konfigurationsdatei",
"saveBtn": "Speichern",
"resetDefaultBtn": "Standard wiederherstellen",
"aiAssistant": "KI-Assistent",
"openAiAssistant": "KI-Assistent öffnen",
"nextStepsTitle": "Nächste Schritte",
"configModels": "Modelle konfigurieren",
"gatewaySetup": "Gateway konfigurieren",
"messageChannels": "Kanäle",
"enterPanel": "Panel betreten",
"installBtn": "Schnellinstallation",
"installOpenclaw": "OpenClaw installieren",
"installComplete": "Installation abgeschlossen"
}

View File

@@ -0,0 +1,29 @@
{
"collapse": "Einklappen",
"closeMenu": "Menü schließen",
"themeLight": "Hell",
"themeDark": "Dunkel",
"sectionMonitor": "Überwachung",
"sectionConfig": "Konfiguration",
"sectionData": "Daten",
"sectionExtension": "Erweiterungen",
"dashboard": "Dashboard",
"assistant": "Assistent",
"chat": "Live-Chat",
"services": "Dienste",
"logs": "Protokolle",
"models": "Modelle",
"agents": "Agenten",
"gateway": "Gateway",
"channels": "Kanäle",
"communication": "Kommunikation",
"security": "Sicherheit",
"memory": "Speicher",
"cron": "Geplante Aufgaben",
"usage": "Nutzung",
"skills": "Skills",
"settings": "Einstellungen",
"chatDebug": "Diagnose",
"about": "Über",
"setup": "Ersteinrichtung"
}

View File

@@ -0,0 +1,19 @@
{
"title": "Skills",
"desc": "OpenClaw Skills verwalten und installieren",
"installed": "Installiert",
"available": "Verfügbar",
"noSkills": "Keine Skills",
"install": "Installieren",
"uninstall": "Deinstallieren",
"update": "Aktualisieren",
"search": "Skills suchen...",
"installing": "Wird installiert...",
"installSuccess": "Installiert",
"installFailed": "Installation fehlgeschlagen",
"loadFailed": "Laden fehlgeschlagen",
"noResults": "Keine Ergebnisse",
"refreshList": "Liste aktualisieren",
"checkUpdates": "Nach Updates suchen",
"noUpdates": "Alles aktuell"
}

View File

@@ -0,0 +1,4 @@
{
"copySuccess": "Kopiert",
"copyFailed": "Kopieren fehlgeschlagen"
}

View File

@@ -0,0 +1,17 @@
{
"title": "Nutzung",
"desc": "Modell- und Token-Nutzungsstatistiken anzeigen",
"totalTokens": "Gesamte Tokens",
"totalRequests": "Gesamte Anfragen",
"totalCost": "Gesamtkosten",
"today": "Heute",
"week": "Diese Woche",
"month": "Dieser Monat",
"all": "Alle",
"noData": "Keine Daten",
"model": "Modell",
"tokens": "Tokens",
"loadFailed": "Laden fehlgeschlagen",
"chart": "Diagramm",
"table": "Tabelle"
}