Files
JRedisDesktop/src/i18n/locales/de.ts
T
Jokul 157af4399f fix: 修复文件层级重构后的架构问题
- 恢复 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 过时引用
2026-07-10 23:22:53 +08:00

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',
},
}