157af4399f
- 恢复 IPC 类型声明 (src/electron-api.d.ts),修复 31 个 TS2339 错误 - 修复构建断裂:vite.config.ts 改回 electron.vite.config.ts - 修复 2 个 verbatimModuleSyntax type-import 报错 - 修正 .gitignore 构建产物路径 (electron-dist/ -> dist-electron/ + release/) - 清理 55+ 处过时路径注释 - 更新 AGENTS.md 架构文档与 IPC 通道表 - 修正 docs/ROADMAP.md 过时引用
305 lines
9.1 KiB
TypeScript
305 lines
9.1 KiB
TypeScript
export default {
|
|
common: {
|
|
ok: 'OK',
|
|
cancel: 'Abbrechen',
|
|
save: 'Speichern',
|
|
delete: 'Löschen',
|
|
edit: 'Bearbeiten',
|
|
add: 'Hinzufügen',
|
|
refresh: 'Aktualisieren',
|
|
search: 'Suchen',
|
|
confirm: 'Bestätigen',
|
|
success: 'Erfolg',
|
|
error: 'Fehler',
|
|
loading: 'Laden...',
|
|
noData: 'Keine Daten',
|
|
},
|
|
app: {
|
|
title: 'JRedisDesktop',
|
|
subtitle: 'Ein moderner Redis-Desktop-Manager',
|
|
placeholder: 'Wählen oder erstellen Sie eine Verbindung',
|
|
},
|
|
tab: {
|
|
close: 'Schließen',
|
|
closeOthers: 'Andere schließen',
|
|
closeRight: 'Rechts schließen',
|
|
closeLeft: 'Links schließen',
|
|
},
|
|
connection: {
|
|
title: 'Verbindungen',
|
|
new: 'Neue Verbindung',
|
|
edit: 'Verbindung bearbeiten',
|
|
name: 'Name',
|
|
host: 'Host',
|
|
port: 'Port',
|
|
password: 'Passwort',
|
|
username: 'Benutzername',
|
|
tls: 'TLS aktivieren',
|
|
tlsCaPath: 'CA-Zertifikat',
|
|
tlsCertPath: 'Client-Zertifikat',
|
|
tlsKeyPath: 'Client-privater Schlüssel',
|
|
tlsRejectUnauthorized: 'Serverzertifikat überprüfen',
|
|
sentinel: 'Sentinel-Modus',
|
|
sentinelHost: 'Sentinel-Host',
|
|
sentinelPort: 'Sentinel-Port',
|
|
sentinelMasterName: 'Master-Name',
|
|
sentinelNodePassword: 'Sentinel-Passwort',
|
|
cluster: 'Cluster-Modus',
|
|
ssh: 'SSH-Tunnel',
|
|
sshHost: 'SSH-Host',
|
|
sshPort: 'SSH-Port',
|
|
sshUsername: 'SSH-Benutzername',
|
|
sshPassword: 'SSH-Passwort',
|
|
sshPrivateKey: 'Privater Schlüsselpfad',
|
|
sshPassphrase: 'Passphrase',
|
|
selectFile: 'Datei auswählen',
|
|
connect: 'Verbinden',
|
|
disconnect: 'Trennen',
|
|
deleteConfirm: 'Diese Verbindung löschen?',
|
|
testSuccess: 'Erfolgreich verbunden',
|
|
testFailed: 'Verbindung fehlgeschlagen',
|
|
connected: 'Verbunden',
|
|
disconnected: 'Getrennt',
|
|
search: 'Verbindungen durchsuchen...',
|
|
noMatch: 'Keine passenden Verbindungen',
|
|
noConnections: 'Noch keine Verbindungen',
|
|
import: 'Importieren',
|
|
export: 'Exportieren',
|
|
testConnection: 'Verbindung testen',
|
|
create: 'Erstellen',
|
|
save: 'Speichern',
|
|
duplicate: 'Duplizieren',
|
|
setColor: 'Farbe festlegen',
|
|
duplicated: 'Verbindung dupliziert',
|
|
},
|
|
key: {
|
|
title: 'Schlüssel',
|
|
filter: 'Schlüssel filtern...',
|
|
loadMore: 'Mehr laden...',
|
|
count: '{n} Schlüssel',
|
|
deleteConfirm: 'Schlüssel "{key}" löschen?',
|
|
deleted: 'Schlüssel gelöscht',
|
|
rename: 'Umbenennen',
|
|
renameTitle: 'Schlüssel umbenennen',
|
|
newName: 'Neuer Name',
|
|
renamed: 'Schlüssel umbenannt',
|
|
copyName: 'Schlüsselname kopieren',
|
|
copied: 'Kopiert',
|
|
ttl: 'TTL',
|
|
ttlTitle: 'TTL festlegen',
|
|
ttlHint: '-1 = kein Ablauf, 0 = sofort ablaufen',
|
|
ttlUpdated: 'TTL aktualisiert',
|
|
exists: 'Schlüssel existiert bereits',
|
|
batchDelete: 'Ausgewählte löschen',
|
|
batchConfirm: '{n} Schlüssel löschen?',
|
|
batchDeleted: '{n} Schlüssel gelöscht',
|
|
batchPreview: 'Löschvorschau',
|
|
batchPreviewHint: '{n} Schlüssel werden gelöscht',
|
|
andMore: '...und {n} weitere',
|
|
selected: '{n} ausgewählt',
|
|
selectKey: 'Wählen Sie einen Schlüssel für Details',
|
|
unsupported: 'Typ "{type}"-Anzeige noch nicht implementiert',
|
|
patternPlaceholder: 'Schlüsselmuster (z.B. user:*)',
|
|
searchHistory: 'Suchverlauf',
|
|
clearHistory: 'Verlauf löschen',
|
|
noHistory: 'Kein Verlauf',
|
|
cancelScan: 'Scan abbrechen',
|
|
scanCancelled: 'Scan abgebrochen',
|
|
switchTree: 'Zur Baumansicht wechseln',
|
|
switchList: 'Zur Listenansicht wechseln',
|
|
exportKeys: 'Schlüssel exportieren',
|
|
importKeys: 'Schlüssel importieren',
|
|
exportDone: '{n} Schlüssel exportiert',
|
|
importDone: '{n} Schlüssel importiert',
|
|
importFailed: 'Import fehlgeschlagen: {error}',
|
|
binaryKey: 'Binärschlüssel',
|
|
copyHex: 'Hex kopieren',
|
|
copyKeyName: 'Schlüsselname kopieren',
|
|
copyValue: 'Wert kopieren',
|
|
memoryUsage: 'Speichernutzung',
|
|
memoryUsageResult: 'Speichernutzung: {size} Bytes',
|
|
selectAll: 'Alle auswählen',
|
|
},
|
|
types: {
|
|
string: 'STRING',
|
|
hash: 'HASH',
|
|
list: 'LIST',
|
|
set: 'SET',
|
|
zset: 'ZSET',
|
|
stream: 'STREAM',
|
|
},
|
|
editor: {
|
|
save: 'Speichern',
|
|
cancel: 'Abbrechen',
|
|
edit: 'Bearbeiten',
|
|
saved: 'Gespeichert',
|
|
push: 'Hinzufügen',
|
|
addField: 'Feld hinzufügen',
|
|
addMember: 'Mitglied hinzufügen',
|
|
addEntry: 'Eintrag hinzufügen',
|
|
filter: 'Filtern...',
|
|
refresh: 'Aktualisieren',
|
|
elements: '{n} Elemente',
|
|
members: '{n} Mitglieder',
|
|
empty: 'Leer',
|
|
field: 'Feld',
|
|
value: 'Wert',
|
|
score: 'Punktzahl',
|
|
member: 'Mitglied',
|
|
remove: 'Entfernen',
|
|
removed: 'Entfernt',
|
|
added: 'Hinzugefügt',
|
|
trim: 'Kürzen',
|
|
trimConfirm: 'Stream kürzen?',
|
|
entryId: 'ID (* für automatisch)',
|
|
fields: 'Felder',
|
|
maxLength: 'Maximale Länge',
|
|
format: 'Format',
|
|
formatAuto: 'Automatisch',
|
|
formatText: 'Text',
|
|
formatHex: 'Hex',
|
|
formatJson: 'JSON',
|
|
formatBinary: 'Binär',
|
|
formatGzip: 'Gzip',
|
|
formatDeflate: 'Deflate',
|
|
formatBrotli: 'Brotli',
|
|
formatCustom: 'Benutzerdefiniert',
|
|
customCommand: 'Benutzerdefinierter Befehl',
|
|
customCommandHint: 'Vorlagen: {KEY} {VALUE} {HEX_FILE}',
|
|
consumerGroups: 'Verbrauchergruppen',
|
|
group: 'Gruppe',
|
|
consumers: 'Verbraucher',
|
|
pending: 'Ausstehend',
|
|
createGroup: 'Gruppe erstellen',
|
|
destroyGroup: 'Gruppe löschen',
|
|
groupName: 'Gruppenname',
|
|
startId: 'Start-ID',
|
|
mkstream: 'Stream automatisch erstellen',
|
|
ack: 'ACK',
|
|
ackConfirm: 'Ausgewählte Einträge bestätigen?',
|
|
noGroups: 'Keine Verbrauchergruppen',
|
|
valueTooLarge: 'Wert zu groß für Anzeige (>20MB)',
|
|
download: 'Herunterladen',
|
|
setFieldTtl: 'Feld-TTL festlegen',
|
|
fieldTtl: 'Feld-TTL',
|
|
sortAsc: 'Aufsteigend',
|
|
sortDesc: 'Absteigend',
|
|
filteredCount: '{n} gefiltert',
|
|
fieldCount: '{n} Felder',
|
|
},
|
|
cli: {
|
|
title: 'CLI',
|
|
welcome: 'Redis CLI - Befehle unten eingeben',
|
|
placeholder: 'Redis-Befehl eingeben...',
|
|
stopSubscribe: 'Abonnement beenden',
|
|
stopMonitor: 'Monitor beenden',
|
|
subscribed: 'Abonniert, warte auf Nachrichten...',
|
|
monitoring: 'Überwachung läuft, warte auf Befehle...',
|
|
subscribedTo: 'Abonniert: {channels}',
|
|
txStarted: 'Transaktion gestartet, Befehle werden in die Warteschlange gestellt...',
|
|
txQueued: 'EINGEREIHT',
|
|
txExecuted: 'Transaktion ausgeführt',
|
|
txDiscarded: 'Transaktion verworfen',
|
|
txQueue: 'Warteschlange ({n})',
|
|
txPrompt: 'tx>',
|
|
importCommands: 'Befehle importieren',
|
|
importCmdDone: '{n} Befehle ausgeführt',
|
|
hotkeys: 'Tastenkombinationen',
|
|
hotkeysTitle: 'Tastaturkürzel',
|
|
},
|
|
slowlog: {
|
|
title: 'Langsames Log',
|
|
time: 'Zeit',
|
|
duration: 'Dauer',
|
|
command: 'Befehl',
|
|
threshold: 'Schwellenwert',
|
|
maxLen: 'Maximale Länge',
|
|
},
|
|
memory: {
|
|
title: 'Speicheranalyse',
|
|
scan: 'Scan starten',
|
|
pause: 'Pause',
|
|
resume: 'Fortsetzen',
|
|
stop: 'Stopp',
|
|
scanning: 'Scanne...',
|
|
paused: 'Pausiert',
|
|
noData: 'Keine Daten',
|
|
key: 'Schlüssel',
|
|
size: 'Größe',
|
|
type: 'Typ',
|
|
totalSize: 'Gesamtgröße',
|
|
minSize: 'Mindestgröße (KB)',
|
|
sortAsc: 'Aufsteigend',
|
|
sortDesc: 'Absteigend',
|
|
scanned: '{n} Schlüssel gescannt',
|
|
},
|
|
commandLog: {
|
|
title: 'Befehlslog',
|
|
time: 'Zeit',
|
|
command: 'Befehl',
|
|
duration: 'Dauer',
|
|
connection: 'Verbindung',
|
|
onlyWrite: 'Nur Schreiben',
|
|
clear: 'Löschen',
|
|
empty: 'Keine Befehle aufgezeichnet',
|
|
},
|
|
updater: {
|
|
checking: 'Suche nach Updates...',
|
|
available: 'Neue Version {version} verfügbar',
|
|
notAvailable: 'Sie sind auf dem neuesten Stand',
|
|
downloading: 'Lade herunter... {percent}%',
|
|
downloaded: 'Update heruntergeladen. Jetzt neu starten?',
|
|
install: 'Jetzt neu starten',
|
|
later: 'Später',
|
|
error: 'Update fehlgeschlagen: {message}',
|
|
},
|
|
status: {
|
|
title: 'Status',
|
|
database: 'Datenbank',
|
|
keys: 'Schlüssel',
|
|
refresh: 'Aktualisieren',
|
|
flushDb: 'DB leeren',
|
|
flushDbConfirm: 'Dies löscht ALLE Schlüssel in der aktuellen Datenbank! Geben Sie FLUSHDB zur Bestätigung ein:',
|
|
flushDbDone: 'Datenbank geleert',
|
|
connecting: 'Verbinde...',
|
|
error: 'Fehler: {error}',
|
|
noConnection: 'Keine Verbindung',
|
|
autoRefresh: 'Automatisch aktualisieren',
|
|
searchInfo: 'INFO durchsuchen...',
|
|
noResults: 'Keine Ergebnisse',
|
|
keyStats: 'Schlüsselstatistik',
|
|
dbColumn: 'Datenbank',
|
|
keysColumn: 'Schlüssel',
|
|
expiresColumn: 'Abläufe',
|
|
avgTtlColumn: 'Durchschn. TTL',
|
|
sectionServer: 'Server',
|
|
sectionClients: 'Clients',
|
|
sectionMemory: 'Speicher',
|
|
sectionPersistence: 'Persistenz',
|
|
sectionStats: 'Statistiken',
|
|
sectionReplication: 'Replikation',
|
|
sectionCpu: 'CPU',
|
|
sectionModules: 'Module',
|
|
sectionErrorstats: 'Fehlerstatistiken',
|
|
sectionCluster: 'Cluster',
|
|
sectionKeyspace: 'Keyspace',
|
|
},
|
|
db: {
|
|
label: 'DB',
|
|
keyCount: '{n} Schlüssel',
|
|
noKeys: 'leer',
|
|
},
|
|
settings: {
|
|
title: 'Einstellungen',
|
|
theme: 'Design',
|
|
themeDark: 'Dunkel',
|
|
themeLight: 'Hell',
|
|
themeSystem: 'System',
|
|
language: 'Sprache',
|
|
scanCount: 'Schlüssel pro SCAN',
|
|
fontSize: 'Schriftgröße',
|
|
zoom: 'Seitenzoom',
|
|
fontFamily: 'Monospace-Schriftart',
|
|
},
|
|
}
|