agentvibes 5.6.0 → 5.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agentvibes/config.json +3 -38
- package/.claude/config/audio-effects.cfg +1 -1
- package/.claude/config/background-music-enabled.txt +1 -1
- package/.claude/config/background-music-position.txt +6 -6
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/play-tts-ssh-remote.sh +119 -42
- package/.claude/hooks/play-tts-windows-receiver.sh +31 -0
- package/.claude/hooks/stop.sh +2 -27
- package/.claude/hooks-windows/play-tts-windows-sapi.ps1 +108 -108
- package/.claude/hooks-windows/play-tts.ps1 +58 -8
- package/.claude/piper-voices-dir.txt +1 -1
- package/.clawdbot/skill/README.md +326 -0
- package/.mcp.json +17 -27
- package/README.md +15 -2
- package/RELEASE_NOTES.md +64 -0
- package/bin/agent-vibes +39 -39
- package/package.json +1 -1
- package/src/bmad-detector.js +71 -71
- package/src/cli/list-personalities.js +110 -110
- package/src/cli/list-voices.js +114 -114
- package/src/commands/bmad-voices.js +394 -394
- package/src/commands/install-mcp.js +476 -476
- package/src/console/brand-colors.js +13 -13
- package/src/console/constants/personalities.js +44 -44
- package/src/console/modals/modal-overlay.js +247 -247
- package/src/console/navigation.js +5 -1
- package/src/console/tabs/agents-tab.js +5 -5
- package/src/console/tabs/help-tab.js +314 -314
- package/src/console/tabs/readme-tab.js +272 -272
- package/src/console/tabs/setup-tab.js +32 -17
- package/src/console/tabs/voices-tab.js +2 -2
- package/src/console/widgets/destroy-list.js +25 -25
- package/src/console/widgets/notice.js +55 -55
- package/src/console/widgets/personality-picker.js +213 -213
- package/src/console/widgets/reverb-picker.js +97 -97
- package/src/console/widgets/track-picker.js +1 -1
- package/src/i18n/de.js +202 -202
- package/src/i18n/es.js +202 -202
- package/src/i18n/fr.js +202 -202
- package/src/i18n/hi.js +202 -202
- package/src/i18n/ja.js +202 -202
- package/src/i18n/ko.js +202 -202
- package/src/i18n/pt.js +202 -202
- package/src/i18n/strings.js +54 -54
- package/src/i18n/zh-CN.js +202 -202
- package/src/installer/language-screen.js +31 -31
- package/src/installer/music-file-input.js +304 -304
- package/src/services/agent-voice-store.js +420 -423
- package/src/services/config-service.js +264 -264
- package/src/services/language-service.js +47 -47
- package/src/services/llm-provider-service.js +11 -4
- package/src/services/navigation-service.js +34 -10
- package/src/services/provider-service.js +143 -143
- package/src/utils/audio-duration-validator.js +298 -298
- package/src/utils/audio-format-validator.js +277 -277
- package/src/utils/dependency-checker.js +469 -469
- package/src/utils/file-ownership-verifier.js +358 -358
- package/src/utils/list-formatter.js +194 -194
- package/src/utils/music-file-validator.js +285 -285
- package/src/utils/preview-list-prompt.js +136 -136
- package/src/utils/secure-music-storage.js +412 -412
- package/.agentvibes/LITE-MODE.md +0 -236
- package/.agentvibes/README.md +0 -136
- package/.agentvibes/backup/session-start-tts.sh.20251210_212814 +0 -141
- package/.agentvibes/backups/agents/analyst_20260204_144958.md +0 -78
- package/.agentvibes/backups/agents/architect_20260204_144958.md +0 -72
- package/.agentvibes/backups/agents/dev_20260204_144958.md +0 -74
- package/.agentvibes/backups/agents/pm_20260204_144958.md +0 -72
- package/.agentvibes/backups/agents/quick-flow-solo-dev_20260204_144958.md +0 -64
- package/.agentvibes/backups/agents/sm_20260204_144958.md +0 -87
- package/.agentvibes/backups/agents/tea_20260204_144958.md +0 -79
- package/.agentvibes/backups/agents/tech-writer_20260204_144958.md +0 -82
- package/.agentvibes/backups/agents/ux-designer_20260204_144958.md +0 -80
- package/.agentvibes/config/README-personality-defaults.md +0 -162
- package/.agentvibes/config/agentvibes.json +0 -1
- package/.agentvibes/config/mode.txt +0 -1
- package/.agentvibes/config/personality-voice-defaults.default.json +0 -21
- package/.agentvibes/config/save-audio.txt +0 -1
- package/.agentvibes/config/voice-metadata.json +0 -160
- package/.agentvibes/hooks/help.sh +0 -191
- package/.agentvibes/hooks/post-tool-use-lite.sh +0 -111
- package/.agentvibes/hooks/save-audio-manager.sh +0 -162
- package/.agentvibes/hooks/session-start-full-optimized.sh +0 -102
- package/.agentvibes/hooks/session-start-full.sh +0 -142
- package/.agentvibes/hooks/session-start-lite-v2.sh +0 -34
- package/.agentvibes/hooks/session-start-lite.sh +0 -29
- package/.agentvibes/hooks/stop-lite.sh +0 -115
- package/.agentvibes/hooks/switch-mode.sh +0 -215
- package/.agentvibes/output-styles/audio-summary.md +0 -30
- package/.claude/audio/voice-samples/piper/alan.wav +0 -0
- package/.claude/audio/voice-samples/piper/amy.wav +0 -0
- package/.claude/audio/voice-samples/piper/charlotte.wav +0 -0
- package/.claude/audio/voice-samples/piper/joe.wav +0 -0
- package/.claude/audio/voice-samples/piper/john.wav +0 -0
- package/.claude/audio/voice-samples/piper/katherine.wav +0 -0
- package/.claude/audio/voice-samples/piper/kristin.wav +0 -0
- package/.claude/audio/voice-samples/piper/linda.wav +0 -0
- package/.claude/audio/voice-samples/piper/marcus.wav +0 -0
- package/.claude/audio/voice-samples/piper/ryan.wav +0 -0
- package/.claude/hooks/post-response.sh +0 -41
- package/bin/ensure-soprano-running.sh +0 -43
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentVibes TUI — Shared Widget: Reverb Preset Picker
|
|
3
|
-
*
|
|
4
|
-
* Inline modal list for selecting reverb presets.
|
|
5
|
-
* Extracted from settings-tab.js for reuse across tabs.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import path from 'node:path';
|
|
9
|
-
import { spawnSync } from 'node:child_process';
|
|
10
|
-
import { destroyList } from './destroy-list.js';
|
|
11
|
-
import { BRAND_PINK } from '../brand-colors.js';
|
|
12
|
-
|
|
13
|
-
const IS_TEST = process.env.AGENTVIBES_TEST_MODE === 'true';
|
|
14
|
-
let blessed;
|
|
15
|
-
if (!IS_TEST) {
|
|
16
|
-
const { default: b } = await import('blessed');
|
|
17
|
-
blessed = b;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const _modalTitle = (text) => ` {${BRAND_PINK}-fg}${text}{/${BRAND_PINK}-fg} `;
|
|
21
|
-
|
|
22
|
-
export const REVERB_PRESETS = Object.freeze([
|
|
23
|
-
{ label: 'Off (Dry, no reverb)', value: 'off' },
|
|
24
|
-
{ label: 'Light (Small room)', value: 'light' },
|
|
25
|
-
{ label: 'Medium (Conference room)', value: 'medium' },
|
|
26
|
-
{ label: 'Heavy (Large hall)', value: 'heavy' },
|
|
27
|
-
{ label: 'Cathedral (Epic space)', value: 'cathedral' },
|
|
28
|
-
]);
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Open the reverb preset picker modal.
|
|
32
|
-
*
|
|
33
|
-
* @param {object} screen - blessed screen
|
|
34
|
-
* @param {string} currentPreset - current reverb preset value
|
|
35
|
-
* @param {Function} onSelect - called with selected preset value
|
|
36
|
-
* @param {Function} [onClose] - called after modal closes
|
|
37
|
-
* @param {object} [opts] - options
|
|
38
|
-
* @param {boolean} [opts.applyToEffectsManager=true] - whether to apply via effects-manager.sh
|
|
39
|
-
*/
|
|
40
|
-
export function openReverbPicker(screen, currentPreset, onSelect, onClose, opts = {}) {
|
|
41
|
-
const applyToEffectsManager = opts.applyToEffectsManager !== false;
|
|
42
|
-
const currentIdx = Math.max(0, REVERB_PRESETS.findIndex(p => p.value === currentPreset));
|
|
43
|
-
|
|
44
|
-
const COLORS = {
|
|
45
|
-
btnFocus: '#2e7d32',
|
|
46
|
-
btnFocusFg: '#ffffff',
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const list = blessed.list({
|
|
50
|
-
parent: screen,
|
|
51
|
-
top: 'center',
|
|
52
|
-
left: 'center',
|
|
53
|
-
width: 40,
|
|
54
|
-
height: REVERB_PRESETS.length + 4,
|
|
55
|
-
border: { type: 'line' },
|
|
56
|
-
tags: true,
|
|
57
|
-
label: _modalTitle('Select Reverb Preset'),
|
|
58
|
-
items: REVERB_PRESETS.map((p, i) => (i === currentIdx ? `● ${p.label}` : ` ${p.label}`)),
|
|
59
|
-
keys: true,
|
|
60
|
-
vi: false,
|
|
61
|
-
mouse: true,
|
|
62
|
-
style: {
|
|
63
|
-
border: { fg: COLORS.btnFocus },
|
|
64
|
-
selected: { bg: COLORS.btnFocus, fg: COLORS.btnFocusFg, bold: true },
|
|
65
|
-
item: { fg: '#e3f2fd' },
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
list.select(currentIdx);
|
|
70
|
-
list.focus();
|
|
71
|
-
screen.render();
|
|
72
|
-
|
|
73
|
-
list.key(['enter', 'space'], () => {
|
|
74
|
-
const selected = REVERB_PRESETS[list.selected];
|
|
75
|
-
if (!selected) return;
|
|
76
|
-
|
|
77
|
-
if (applyToEffectsManager) {
|
|
78
|
-
const _isWin = process.platform === 'win32' && !process.env.WSL_DISTRO_NAME;
|
|
79
|
-
if (!_isWin) {
|
|
80
|
-
const effectsScript = path.join(process.cwd(), '.claude', 'hooks', 'effects-manager.sh');
|
|
81
|
-
spawnSync('bash', [effectsScript, 'set-reverb', selected.value, 'default'], {
|
|
82
|
-
stdio: 'ignore',
|
|
83
|
-
timeout: 5000,
|
|
84
|
-
env: { ...process.env },
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Call onSelect before destroying to avoid stale-state re-renders
|
|
90
|
-
onSelect(selected.value);
|
|
91
|
-
destroyList(list, screen, onClose);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
list.key(['escape', 'q'], () => {
|
|
95
|
-
destroyList(list, screen, onClose);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* AgentVibes TUI — Shared Widget: Reverb Preset Picker
|
|
3
|
+
*
|
|
4
|
+
* Inline modal list for selecting reverb presets.
|
|
5
|
+
* Extracted from settings-tab.js for reuse across tabs.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import { spawnSync } from 'node:child_process';
|
|
10
|
+
import { destroyList } from './destroy-list.js';
|
|
11
|
+
import { BRAND_PINK } from '../brand-colors.js';
|
|
12
|
+
|
|
13
|
+
const IS_TEST = process.env.AGENTVIBES_TEST_MODE === 'true';
|
|
14
|
+
let blessed;
|
|
15
|
+
if (!IS_TEST) {
|
|
16
|
+
const { default: b } = await import('blessed');
|
|
17
|
+
blessed = b;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const _modalTitle = (text) => ` {${BRAND_PINK}-fg}${text}{/${BRAND_PINK}-fg} `;
|
|
21
|
+
|
|
22
|
+
export const REVERB_PRESETS = Object.freeze([
|
|
23
|
+
{ label: 'Off (Dry, no reverb)', value: 'off' },
|
|
24
|
+
{ label: 'Light (Small room)', value: 'light' },
|
|
25
|
+
{ label: 'Medium (Conference room)', value: 'medium' },
|
|
26
|
+
{ label: 'Heavy (Large hall)', value: 'heavy' },
|
|
27
|
+
{ label: 'Cathedral (Epic space)', value: 'cathedral' },
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Open the reverb preset picker modal.
|
|
32
|
+
*
|
|
33
|
+
* @param {object} screen - blessed screen
|
|
34
|
+
* @param {string} currentPreset - current reverb preset value
|
|
35
|
+
* @param {Function} onSelect - called with selected preset value
|
|
36
|
+
* @param {Function} [onClose] - called after modal closes
|
|
37
|
+
* @param {object} [opts] - options
|
|
38
|
+
* @param {boolean} [opts.applyToEffectsManager=true] - whether to apply via effects-manager.sh
|
|
39
|
+
*/
|
|
40
|
+
export function openReverbPicker(screen, currentPreset, onSelect, onClose, opts = {}) {
|
|
41
|
+
const applyToEffectsManager = opts.applyToEffectsManager !== false;
|
|
42
|
+
const currentIdx = Math.max(0, REVERB_PRESETS.findIndex(p => p.value === currentPreset));
|
|
43
|
+
|
|
44
|
+
const COLORS = {
|
|
45
|
+
btnFocus: '#2e7d32',
|
|
46
|
+
btnFocusFg: '#ffffff',
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const list = blessed.list({
|
|
50
|
+
parent: screen,
|
|
51
|
+
top: 'center',
|
|
52
|
+
left: 'center',
|
|
53
|
+
width: 40,
|
|
54
|
+
height: REVERB_PRESETS.length + 4,
|
|
55
|
+
border: { type: 'line' },
|
|
56
|
+
tags: true,
|
|
57
|
+
label: _modalTitle('Select Reverb Preset'),
|
|
58
|
+
items: REVERB_PRESETS.map((p, i) => (i === currentIdx ? `● ${p.label}` : ` ${p.label}`)),
|
|
59
|
+
keys: true,
|
|
60
|
+
vi: false,
|
|
61
|
+
mouse: true,
|
|
62
|
+
style: {
|
|
63
|
+
border: { fg: COLORS.btnFocus },
|
|
64
|
+
selected: { bg: COLORS.btnFocus, fg: COLORS.btnFocusFg, bold: true },
|
|
65
|
+
item: { fg: '#e3f2fd' },
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
list.select(currentIdx);
|
|
70
|
+
list.focus();
|
|
71
|
+
screen.render();
|
|
72
|
+
|
|
73
|
+
list.key(['enter', 'space'], () => {
|
|
74
|
+
const selected = REVERB_PRESETS[list.selected];
|
|
75
|
+
if (!selected) return;
|
|
76
|
+
|
|
77
|
+
if (applyToEffectsManager) {
|
|
78
|
+
const _isWin = process.platform === 'win32' && !process.env.WSL_DISTRO_NAME;
|
|
79
|
+
if (!_isWin) {
|
|
80
|
+
const effectsScript = path.join(process.cwd(), '.claude', 'hooks', 'effects-manager.sh');
|
|
81
|
+
spawnSync('bash', [effectsScript, 'set-reverb', selected.value, 'default'], {
|
|
82
|
+
stdio: 'ignore',
|
|
83
|
+
timeout: 5000,
|
|
84
|
+
env: { ...process.env },
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Call onSelect before destroying to avoid stale-state re-renders
|
|
90
|
+
onSelect(selected.value);
|
|
91
|
+
destroyList(list, screen, onClose);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
list.key(['escape', 'q', 'Q'], () => {
|
|
95
|
+
destroyList(list, screen, onClose);
|
|
96
|
+
});
|
|
97
|
+
}
|
package/src/i18n/de.js
CHANGED
|
@@ -1,203 +1,203 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
languageSelectTitle: "🌐 Select Language / Seleccionar Idioma / Choisir la langue / Sprache wählen / Selecionar Idioma / 言語を選択 / भाषा चुनें / 选择语言 / 언어 선택",
|
|
3
|
-
languageApplied: "Sprache angewendet",
|
|
4
|
-
welcomeTitle: "Willkommen bei AgentVibes!",
|
|
5
|
-
installDetails: "Installationsdetails",
|
|
6
|
-
installLocation: "Installationsort",
|
|
7
|
-
packageVersion: "Paketversion",
|
|
8
|
-
readyToConfigure: "Bereit zum Konfigurieren von AgentVibes?",
|
|
9
|
-
installationCancelled: "Installation abgebrochen.",
|
|
10
|
-
startInstall: "Installation starten",
|
|
11
|
-
installationCancelledMsg: "Die Installation wurde vom Benutzer abgebrochen.",
|
|
12
|
-
installedSuccess: "AgentVibes erfolgreich installiert!",
|
|
13
|
-
installComplete: "Installation abgeschlossen",
|
|
14
|
-
installationFailed: "Installation fehlgeschlagen",
|
|
15
|
-
installing: "AgentVibes wird installiert...",
|
|
16
|
-
providerLabel: "Anbieter",
|
|
17
|
-
voiceLabel: "Stimme",
|
|
18
|
-
locationLabel: "Ort",
|
|
19
|
-
versionLabel: "Version",
|
|
20
|
-
configurationSetup: "Konfiguration",
|
|
21
|
-
configurationIntro: "Bitte konfigurieren Sie Ihre AgentVibes-Installation.",
|
|
22
|
-
navigationHint: "Verwenden Sie die Pfeiltasten, um zwischen Seiten zu navigieren.",
|
|
23
|
-
nonInteractiveDetected: "Nicht-interaktiver Modus erkannt",
|
|
24
|
-
installError: "Installation fehlgeschlagen",
|
|
25
|
-
continuePrompt: "Weiter",
|
|
26
|
-
cancelPrompt: "Abbrechen",
|
|
27
|
-
setupWizard: "Einrichtungsassistent",
|
|
28
|
-
setupWizardSubtitle: "TTS für KI-Assistenten mit Persönlichkeit.",
|
|
29
|
-
dependencyCheck: "Abhängigkeitsprüfung",
|
|
30
|
-
checkingDependencies: "Abhängigkeiten werden überprüft...",
|
|
31
|
-
depColumn: "Abhängigkeit",
|
|
32
|
-
statusColumn: "Status",
|
|
33
|
-
installed: "Installiert",
|
|
34
|
-
notFound: "Nicht gefunden",
|
|
35
|
-
ffmpegMissing: "Nicht gefunden (für Hintergrundmusik benötigt)",
|
|
36
|
-
ttsDetected: "TTS-Anbieter erkannt",
|
|
37
|
-
noTtsFound: "Kein TTS-Anbieter gefunden. Installieren Sie zuerst Piper oder Soprano.",
|
|
38
|
-
providerSelection: "Anbieterauswahl",
|
|
39
|
-
availableProviders: "Verfügbare TTS-Anbieter:",
|
|
40
|
-
providerAndVoice: "Anbieter & Stimme",
|
|
41
|
-
voiceChangeHint: "(nach der Installation in Einstellungen änderbar)",
|
|
42
|
-
introText: "Einleitungstext",
|
|
43
|
-
introTextLabel: "Einleitungstext",
|
|
44
|
-
none: "keiner",
|
|
45
|
-
example: "Beispiel",
|
|
46
|
-
screen1Hint: "Bildschirm 1/5: Willkommen | [←/→] Navigieren | [Enter] Beginnen | [Esc] Beenden",
|
|
47
|
-
screen2Hint: "Bildschirm 2/5: Abhängigkeiten | [←] Zurück | [Enter] Weiter",
|
|
48
|
-
screen3Hint: "Bildschirm 3/5: Anbieter | [←] Zurück | [↑↓] Wählen | [Enter/→] Bestätigen",
|
|
49
|
-
screen4Hint: "Bildschirm 4/5: Konfiguration | [Esc] Zurück | [E] Bearbeiten | [↓] Akzeptieren & Installieren",
|
|
50
|
-
screen5HintDone: "Bildschirm 5/5: Abgeschlossen | [Enter] OK — Fertig",
|
|
51
|
-
screen5HintWait: "Bildschirm 5/5: Installieren... | Bitte warten",
|
|
52
|
-
languageSettings: "Sprache",
|
|
53
|
-
languageSettingsSubtitle: "Oberflächensprache auswählen",
|
|
54
|
-
currentLanguage: "Aktuelle Sprache",
|
|
55
|
-
changeLanguage: "Sprache ändern",
|
|
56
|
-
beginBtn: "▶ Beginnen",
|
|
57
|
-
exitBtn: "✗ Beenden",
|
|
58
|
-
footerText: "[Enter] Weiter/Fertig [Esc] Zurück/Beenden [C] Konsole [S/V/M/A/R] Tab [Q] Beenden",
|
|
59
|
-
customizationTool: "Anpassungswerkzeug",
|
|
60
|
-
quitLabel: "[Q] Beenden",
|
|
61
|
-
tabInstall: "Installieren",
|
|
62
|
-
tabSettings: "Einstellungen",
|
|
63
|
-
tabVoices: "Stimmen",
|
|
64
|
-
tabMusic: "Musik",
|
|
65
|
-
tabBmad: "BMad",
|
|
66
|
-
tabReceiver: "Empfänger",
|
|
67
|
-
tabReadme: "Liesmich",
|
|
68
|
-
tabHelp: "Hilfe",
|
|
69
|
-
subTabVoice: " [V] Stimme ",
|
|
70
|
-
subTabEffects: " [E] Effekte ",
|
|
71
|
-
subTabPersonality: " [P] Persönlichkeit ",
|
|
72
|
-
subTabOutput: " [O] Ausgabe ",
|
|
73
|
-
subTabLanguage: " [L] Sprache ",
|
|
74
|
-
sectionProviderVoice: " 🎤 Anbieter & Stimme ",
|
|
75
|
-
sectionAudioEffects: " ⚡ Audioeffekte ",
|
|
76
|
-
sectionBgMusic: " 🎸 Hintergrundmusik ",
|
|
77
|
-
sectionStyle: " 🎭 Stil ",
|
|
78
|
-
sectionIntroText: " ✍️ Einleitungstext ",
|
|
79
|
-
sectionAudioDest: " 📡 Audioziel ",
|
|
80
|
-
sectionConfigStorage: " 💾 Konfigurationsspeicher ",
|
|
81
|
-
sectionLanguage: " 🌐 Sprache ",
|
|
82
|
-
providerRowLabel: "Anbieter:",
|
|
83
|
-
currentVoiceLabel: "Aktuelle Stimme:",
|
|
84
|
-
reverbLabel: "Hall:",
|
|
85
|
-
trackLabel: "Titel:",
|
|
86
|
-
volumeLabel: "Lautstärke:",
|
|
87
|
-
verbosityLabel: "Ausführlichkeit:",
|
|
88
|
-
personalityLabel: "Persönlichkeit:",
|
|
89
|
-
introTextRowLabel: "Einleitungstext:",
|
|
90
|
-
destinationLabel: "Ziel:",
|
|
91
|
-
sshAliasLabel: "SSH-Alias:",
|
|
92
|
-
globalLabel: "Global:",
|
|
93
|
-
localLabel: "Lokal:",
|
|
94
|
-
languageLabel: "Sprache:",
|
|
95
|
-
switchBtn: "Wechseln",
|
|
96
|
-
changeBtn: "Ändern",
|
|
97
|
-
playBtn: "▶ Abspielen",
|
|
98
|
-
stopBtn: "■ Stop",
|
|
99
|
-
previewBtn: "▶ Vorschau",
|
|
100
|
-
fullPreviewBtn: "▶ Vollvorschau",
|
|
101
|
-
saveGloballyBtn: "Global Speichern",
|
|
102
|
-
saveLocallyBtn: "Lokal Speichern",
|
|
103
|
-
cancelChangesBtn: "Änderungen Verwerfen",
|
|
104
|
-
editBtn: "Bearbeiten",
|
|
105
|
-
clearBtn: "Löschen",
|
|
106
|
-
applyLanguageBtn: "✓ Sprache Anwenden",
|
|
107
|
-
enabledBtn: "Aktiviert",
|
|
108
|
-
disabledBtn: "Deaktiviert",
|
|
109
|
-
okSaveBtn: "OK — Speichern",
|
|
110
|
-
enableBtn: "Aktivieren",
|
|
111
|
-
streamingTextBtn: "Nur Text Streaming ✓",
|
|
112
|
-
streamingPulseBtn: "Pulse-Audio Streaming",
|
|
113
|
-
continueArrowBtn: "Weiter →",
|
|
114
|
-
acceptInstallBtn: "✓ Akzeptieren & Installieren",
|
|
115
|
-
okDoneBtn: "✓ OK — Fertig",
|
|
116
|
-
doneCustomizeBtn: "✓ Fertig - Mehr anpassen",
|
|
117
|
-
doneQuitBtn: "✕ Fertig - Beenden",
|
|
118
|
-
editInstallBtn: "Bearbeiten",
|
|
119
|
-
musicDisabledMsg: "Musik deaktiviert. Jetzt aktivieren?",
|
|
120
|
-
settingsFooter: "[↑↓] Gruppe [←→] Geschwister/Sub-Tab [Enter/Space] Aktivieren [Tab] Tab Wechseln [Q] Beenden",
|
|
121
|
-
voicesFooter: "[↑↓/jk] Navigieren [Space] Vorschau [Enter] Auswählen [F] Favorit [/] Suchen",
|
|
122
|
-
musicFooter: "[↑↓/jk] Navigieren [Space] Vorschau [Enter] Auswählen [M] Umschalten [*] Favorit [F] Filtern [Q] Beenden",
|
|
123
|
-
helpFooter: "[↑↓/jk] Scrollen [/] Suchen [PgUp/PgDn] Seite [S/V/M/A/R] Tab [Q] Beenden",
|
|
124
|
-
readmeFooter: "[↑↓/jk] Scrollen [PgUp/PgDn] Seite [/] Suchen [S/V/M/A/R] Tab [Q] Beenden",
|
|
125
|
-
receiverFooter: "SSH-Empfänger [Q] Beenden",
|
|
126
|
-
searchLabel: "Suchen:",
|
|
127
|
-
settingsSavedMsg: "Einstellungen Gespeichert",
|
|
128
|
-
changesRevertedMsg: "Änderungen zurückgesetzt",
|
|
129
|
-
musicBuiltInHeader: "── Eingebaute Tracks ",
|
|
130
|
-
musicStatusHeader: "── Musikstatus ",
|
|
131
|
-
musicStatusLabel: "Musik:",
|
|
132
|
-
musicActiveTrack: "Aktiver Track:",
|
|
133
|
-
musicFilterLabel: "Filter:",
|
|
134
|
-
musicFilterAll: "Alle",
|
|
135
|
-
musicFilterFavs: "Favoriten",
|
|
136
|
-
musicToggleBtn: "[Musik umschalten]",
|
|
137
|
-
musicAddCustomBtn: "[Eigenen Track hinzufügen]",
|
|
138
|
-
voicesHeader: "── Stimmen ",
|
|
139
|
-
voicesColName: "Name",
|
|
140
|
-
voicesColGender: "Geschlecht",
|
|
141
|
-
voicesColProvider: "Anbieter",
|
|
142
|
-
voicesInfoHeader: "── Stimmeninfo ",
|
|
143
|
-
voicesSwitchBtn: "[Stimme wechseln]",
|
|
144
|
-
voicesFavoriteBtn: "[★ Favorit]",
|
|
145
|
-
voicesDownloadBtn: "[Stimme herunterladen]",
|
|
146
|
-
voicesRowHintInstalled: "[Space] Vorschau [Enter] Auswählen [*] Favorit",
|
|
147
|
-
voicesRowHintUninstalled: "[Enter] Herunterladen und installieren",
|
|
148
|
-
musicRowHint: "[Space] Abspielen [Enter] Auswählen [*] Favorit",
|
|
149
|
-
musicHintText: "[Space] Vorschau [Enter] Track festlegen [*] Favorit",
|
|
150
|
-
genderFemale: "Weiblich",
|
|
151
|
-
genderMale: "Männlich",
|
|
152
|
-
voiceInfoVoice: "Stimme:",
|
|
153
|
-
voiceInfoGender: "Geschlecht:",
|
|
154
|
-
voiceInfoLanguage: "Sprache:",
|
|
155
|
-
voiceInfoQuality: "Qualität:",
|
|
156
|
-
voiceInfoProvider: "Anbieter:",
|
|
157
|
-
voiceInfoId: "ID:",
|
|
158
|
-
voiceInfoSpeaker: "Sprecher:",
|
|
159
|
-
voiceInfoModel: "Modell:",
|
|
160
|
-
voiceInfoSpeakerId: "Sprecher-ID:",
|
|
161
|
-
voiceInfoDownload: "⬇ [Enter] drücken zum Herunterladen und Installieren",
|
|
162
|
-
voicePlaying: "(wird abgespielt)",
|
|
163
|
-
bmadTitle: "🧙 BMAD-Agenten",
|
|
164
|
-
bmadWhatIsHeader: "Was ist BMAD?",
|
|
165
|
-
bmadDesc: "Die BMad-Methode (Build More Architect Dreams) ist ein KI-gesteuertes\nEntwicklungs-Framework-Modul, das Ihnen hilft, Software von der Ideenfindung\nbis zur agentischen Implementierung zu entwickeln. Es bietet spezialisierte\nKI-Agenten, geführte Workflows und intelligente Planung.\n\nWenn Sie mit KI-Codierassistenten wie Claude, Cursor oder GitHub Copilot\nvertraut sind, können Sie sofort loslegen.",
|
|
166
|
-
bmadInstallHeader: "BMAD in Ihrem Projekt installieren:",
|
|
167
|
-
bmadLearnMoreHeader: "Mehr erfahren:",
|
|
168
|
-
bmadInstalledNote: "Sobald BMAD installiert ist, zeigt dieser Tab alle Ihre Agenten an und\nermöglicht es Ihnen, Stimme, Prätext, Nachhall, Persönlichkeit und\nHintergrundmusik jedes Agenten unabhängig anzupassen.",
|
|
169
|
-
receiverWhatIsTitle: "Was ist SSH-Empfänger?",
|
|
170
|
-
receiverDesc: "Der SSH-Empfänger ermöglicht es Ihren Remote-Servern, über diese Maschine\nzu sprechen. Wenn ein KI-Assistent auf einem Remote-Server TTS-Audio\nabspielen muss, sendet er den Text per SSH an diese Maschine, die das\nAudio generiert und über Ihre Lautsprecher abspielt.\n\nEntfernter KI ──[SSH]──► Diese Maschine ──[piper+sox+ffmpeg]──► Ihre Lautsprecher",
|
|
171
|
-
helpSectionGlobal: "Globale Tastenkürzel",
|
|
172
|
-
helpSectionNavigation: "Navigationstastenkürzel",
|
|
173
|
-
helpSectionColors: "Tab-Farbführer",
|
|
174
|
-
helpQuit: "Konsole beenden",
|
|
175
|
-
helpForceQuit: "Erzwungenes Beenden",
|
|
176
|
-
helpSwitchSettings: "Zum Tab Einstellungen wechseln",
|
|
177
|
-
helpSwitchVoices: "Zum Tab Stimmen wechseln",
|
|
178
|
-
helpSwitchMusic: "Zum Tab Musik wechseln",
|
|
179
|
-
helpSwitchReadme: "Zum Tab Readme wechseln",
|
|
180
|
-
helpSwitchHelp: "Zum Tab Hilfe wechseln",
|
|
181
|
-
helpSwitchInstall: "Zum Tab Installieren wechseln",
|
|
182
|
-
helpCloseModal: "Modal schließen / zurück",
|
|
183
|
-
helpNavigateLists: "Listen navigieren",
|
|
184
|
-
helpSelectActivate: "Auswählen / aktivieren",
|
|
185
|
-
helpTogglePreview: "Umschalten / Vorschau",
|
|
186
|
-
helpNextButton: "Nächste Schaltfläche",
|
|
187
|
-
helpPrevButton: "Vorherige Schaltfläche",
|
|
188
|
-
helpOpenSearch: "Suche/Filter öffnen",
|
|
189
|
-
helpToggleFavFilter: "Favoritenfilter umschalten (Stimmen/Musik)",
|
|
190
|
-
helpToggleFav: "Favorit umschalten (Musik-Tab)",
|
|
191
|
-
helpToggleMusic: "Musik ein-/ausschalten (Musik-Tab)",
|
|
192
|
-
helpColorSettings: "Einstellungen-Tab-Fußzeile",
|
|
193
|
-
helpColorVoices: "Stimmen-Tab-Fußzeile",
|
|
194
|
-
helpColorMusic: "Musik-Tab-Fußzeile",
|
|
195
|
-
helpColorReadme: "Readme-Tab-Fußzeile",
|
|
196
|
-
helpColorHelp: "Hilfe-Tab-Fußzeile",
|
|
197
|
-
helpColorInstall: "Installieren-Tab-Fußzeile",
|
|
198
|
-
helpSearchLabel: "Suche:",
|
|
199
|
-
readmeScrollMore: "↓ Scrollen für mehr Inhalt ↓",
|
|
200
|
-
readmeNotFound: "*(Keine README.md im aktuellen Verzeichnis gefunden)*",
|
|
201
|
-
bmadFooterNobmad: "[Tab] Tab wechseln [Q] Beenden",
|
|
202
|
-
bmadFooterBmad: "[↑↓/jk] Navigieren [Space] Vorschau [Enter] Konfigurieren [A] Auto-zuweisen [B] Stapel [X] Zurücksetzen [Q] Beenden",
|
|
1
|
+
export default {
|
|
2
|
+
languageSelectTitle: "🌐 Select Language / Seleccionar Idioma / Choisir la langue / Sprache wählen / Selecionar Idioma / 言語を選択 / भाषा चुनें / 选择语言 / 언어 선택",
|
|
3
|
+
languageApplied: "Sprache angewendet",
|
|
4
|
+
welcomeTitle: "Willkommen bei AgentVibes!",
|
|
5
|
+
installDetails: "Installationsdetails",
|
|
6
|
+
installLocation: "Installationsort",
|
|
7
|
+
packageVersion: "Paketversion",
|
|
8
|
+
readyToConfigure: "Bereit zum Konfigurieren von AgentVibes?",
|
|
9
|
+
installationCancelled: "Installation abgebrochen.",
|
|
10
|
+
startInstall: "Installation starten",
|
|
11
|
+
installationCancelledMsg: "Die Installation wurde vom Benutzer abgebrochen.",
|
|
12
|
+
installedSuccess: "AgentVibes erfolgreich installiert!",
|
|
13
|
+
installComplete: "Installation abgeschlossen",
|
|
14
|
+
installationFailed: "Installation fehlgeschlagen",
|
|
15
|
+
installing: "AgentVibes wird installiert...",
|
|
16
|
+
providerLabel: "Anbieter",
|
|
17
|
+
voiceLabel: "Stimme",
|
|
18
|
+
locationLabel: "Ort",
|
|
19
|
+
versionLabel: "Version",
|
|
20
|
+
configurationSetup: "Konfiguration",
|
|
21
|
+
configurationIntro: "Bitte konfigurieren Sie Ihre AgentVibes-Installation.",
|
|
22
|
+
navigationHint: "Verwenden Sie die Pfeiltasten, um zwischen Seiten zu navigieren.",
|
|
23
|
+
nonInteractiveDetected: "Nicht-interaktiver Modus erkannt",
|
|
24
|
+
installError: "Installation fehlgeschlagen",
|
|
25
|
+
continuePrompt: "Weiter",
|
|
26
|
+
cancelPrompt: "Abbrechen",
|
|
27
|
+
setupWizard: "Einrichtungsassistent",
|
|
28
|
+
setupWizardSubtitle: "TTS für KI-Assistenten mit Persönlichkeit.",
|
|
29
|
+
dependencyCheck: "Abhängigkeitsprüfung",
|
|
30
|
+
checkingDependencies: "Abhängigkeiten werden überprüft...",
|
|
31
|
+
depColumn: "Abhängigkeit",
|
|
32
|
+
statusColumn: "Status",
|
|
33
|
+
installed: "Installiert",
|
|
34
|
+
notFound: "Nicht gefunden",
|
|
35
|
+
ffmpegMissing: "Nicht gefunden (für Hintergrundmusik benötigt)",
|
|
36
|
+
ttsDetected: "TTS-Anbieter erkannt",
|
|
37
|
+
noTtsFound: "Kein TTS-Anbieter gefunden. Installieren Sie zuerst Piper oder Soprano.",
|
|
38
|
+
providerSelection: "Anbieterauswahl",
|
|
39
|
+
availableProviders: "Verfügbare TTS-Anbieter:",
|
|
40
|
+
providerAndVoice: "Anbieter & Stimme",
|
|
41
|
+
voiceChangeHint: "(nach der Installation in Einstellungen änderbar)",
|
|
42
|
+
introText: "Einleitungstext",
|
|
43
|
+
introTextLabel: "Einleitungstext",
|
|
44
|
+
none: "keiner",
|
|
45
|
+
example: "Beispiel",
|
|
46
|
+
screen1Hint: "Bildschirm 1/5: Willkommen | [←/→] Navigieren | [Enter] Beginnen | [Esc] Beenden",
|
|
47
|
+
screen2Hint: "Bildschirm 2/5: Abhängigkeiten | [←] Zurück | [Enter] Weiter",
|
|
48
|
+
screen3Hint: "Bildschirm 3/5: Anbieter | [←] Zurück | [↑↓] Wählen | [Enter/→] Bestätigen",
|
|
49
|
+
screen4Hint: "Bildschirm 4/5: Konfiguration | [Esc] Zurück | [E] Bearbeiten | [↓] Akzeptieren & Installieren",
|
|
50
|
+
screen5HintDone: "Bildschirm 5/5: Abgeschlossen | [Enter] OK — Fertig",
|
|
51
|
+
screen5HintWait: "Bildschirm 5/5: Installieren... | Bitte warten",
|
|
52
|
+
languageSettings: "Sprache",
|
|
53
|
+
languageSettingsSubtitle: "Oberflächensprache auswählen",
|
|
54
|
+
currentLanguage: "Aktuelle Sprache",
|
|
55
|
+
changeLanguage: "Sprache ändern",
|
|
56
|
+
beginBtn: "▶ Beginnen",
|
|
57
|
+
exitBtn: "✗ Beenden",
|
|
58
|
+
footerText: "[Enter] Weiter/Fertig [Esc] Zurück/Beenden [C] Konsole [S/V/M/A/R] Tab [Q] Beenden",
|
|
59
|
+
customizationTool: "Anpassungswerkzeug",
|
|
60
|
+
quitLabel: "[Q] Beenden",
|
|
61
|
+
tabInstall: "Installieren",
|
|
62
|
+
tabSettings: "Einstellungen",
|
|
63
|
+
tabVoices: "Stimmen",
|
|
64
|
+
tabMusic: "Musik",
|
|
65
|
+
tabBmad: "BMad",
|
|
66
|
+
tabReceiver: "Empfänger",
|
|
67
|
+
tabReadme: "Liesmich",
|
|
68
|
+
tabHelp: "Hilfe",
|
|
69
|
+
subTabVoice: " [V] Stimme ",
|
|
70
|
+
subTabEffects: " [E] Effekte ",
|
|
71
|
+
subTabPersonality: " [P] Persönlichkeit ",
|
|
72
|
+
subTabOutput: " [O] Ausgabe ",
|
|
73
|
+
subTabLanguage: " [L] Sprache ",
|
|
74
|
+
sectionProviderVoice: " 🎤 Anbieter & Stimme ",
|
|
75
|
+
sectionAudioEffects: " ⚡ Audioeffekte ",
|
|
76
|
+
sectionBgMusic: " 🎸 Hintergrundmusik ",
|
|
77
|
+
sectionStyle: " 🎭 Stil ",
|
|
78
|
+
sectionIntroText: " ✍️ Einleitungstext ",
|
|
79
|
+
sectionAudioDest: " 📡 Audioziel ",
|
|
80
|
+
sectionConfigStorage: " 💾 Konfigurationsspeicher ",
|
|
81
|
+
sectionLanguage: " 🌐 Sprache ",
|
|
82
|
+
providerRowLabel: "Anbieter:",
|
|
83
|
+
currentVoiceLabel: "Aktuelle Stimme:",
|
|
84
|
+
reverbLabel: "Hall:",
|
|
85
|
+
trackLabel: "Titel:",
|
|
86
|
+
volumeLabel: "Lautstärke:",
|
|
87
|
+
verbosityLabel: "Ausführlichkeit:",
|
|
88
|
+
personalityLabel: "Persönlichkeit:",
|
|
89
|
+
introTextRowLabel: "Einleitungstext:",
|
|
90
|
+
destinationLabel: "Ziel:",
|
|
91
|
+
sshAliasLabel: "SSH-Alias:",
|
|
92
|
+
globalLabel: "Global:",
|
|
93
|
+
localLabel: "Lokal:",
|
|
94
|
+
languageLabel: "Sprache:",
|
|
95
|
+
switchBtn: "Wechseln",
|
|
96
|
+
changeBtn: "Ändern",
|
|
97
|
+
playBtn: "▶ Abspielen",
|
|
98
|
+
stopBtn: "■ Stop",
|
|
99
|
+
previewBtn: "▶ Vorschau",
|
|
100
|
+
fullPreviewBtn: "▶ Vollvorschau",
|
|
101
|
+
saveGloballyBtn: "Global Speichern",
|
|
102
|
+
saveLocallyBtn: "Lokal Speichern",
|
|
103
|
+
cancelChangesBtn: "Änderungen Verwerfen",
|
|
104
|
+
editBtn: "Bearbeiten",
|
|
105
|
+
clearBtn: "Löschen",
|
|
106
|
+
applyLanguageBtn: "✓ Sprache Anwenden",
|
|
107
|
+
enabledBtn: "Aktiviert",
|
|
108
|
+
disabledBtn: "Deaktiviert",
|
|
109
|
+
okSaveBtn: "OK — Speichern",
|
|
110
|
+
enableBtn: "Aktivieren",
|
|
111
|
+
streamingTextBtn: "Nur Text Streaming ✓",
|
|
112
|
+
streamingPulseBtn: "Pulse-Audio Streaming",
|
|
113
|
+
continueArrowBtn: "Weiter →",
|
|
114
|
+
acceptInstallBtn: "✓ Akzeptieren & Installieren",
|
|
115
|
+
okDoneBtn: "✓ OK — Fertig",
|
|
116
|
+
doneCustomizeBtn: "✓ Fertig - Mehr anpassen",
|
|
117
|
+
doneQuitBtn: "✕ Fertig - Beenden",
|
|
118
|
+
editInstallBtn: "Bearbeiten",
|
|
119
|
+
musicDisabledMsg: "Musik deaktiviert. Jetzt aktivieren?",
|
|
120
|
+
settingsFooter: "[↑↓] Gruppe [←→] Geschwister/Sub-Tab [Enter/Space] Aktivieren [Tab] Tab Wechseln [Q] Beenden",
|
|
121
|
+
voicesFooter: "[↑↓/jk] Navigieren [Space] Vorschau [Enter] Auswählen [F] Favorit [/] Suchen",
|
|
122
|
+
musicFooter: "[↑↓/jk] Navigieren [Space] Vorschau [Enter] Auswählen [M] Umschalten [*] Favorit [F] Filtern [Q] Beenden",
|
|
123
|
+
helpFooter: "[↑↓/jk] Scrollen [/] Suchen [PgUp/PgDn] Seite [S/V/M/A/R] Tab [Q] Beenden",
|
|
124
|
+
readmeFooter: "[↑↓/jk] Scrollen [PgUp/PgDn] Seite [/] Suchen [S/V/M/A/R] Tab [Q] Beenden",
|
|
125
|
+
receiverFooter: "SSH-Empfänger [Q] Beenden",
|
|
126
|
+
searchLabel: "Suchen:",
|
|
127
|
+
settingsSavedMsg: "Einstellungen Gespeichert",
|
|
128
|
+
changesRevertedMsg: "Änderungen zurückgesetzt",
|
|
129
|
+
musicBuiltInHeader: "── Eingebaute Tracks ",
|
|
130
|
+
musicStatusHeader: "── Musikstatus ",
|
|
131
|
+
musicStatusLabel: "Musik:",
|
|
132
|
+
musicActiveTrack: "Aktiver Track:",
|
|
133
|
+
musicFilterLabel: "Filter:",
|
|
134
|
+
musicFilterAll: "Alle",
|
|
135
|
+
musicFilterFavs: "Favoriten",
|
|
136
|
+
musicToggleBtn: "[Musik umschalten]",
|
|
137
|
+
musicAddCustomBtn: "[Eigenen Track hinzufügen]",
|
|
138
|
+
voicesHeader: "── Stimmen ",
|
|
139
|
+
voicesColName: "Name",
|
|
140
|
+
voicesColGender: "Geschlecht",
|
|
141
|
+
voicesColProvider: "Anbieter",
|
|
142
|
+
voicesInfoHeader: "── Stimmeninfo ",
|
|
143
|
+
voicesSwitchBtn: "[Stimme wechseln]",
|
|
144
|
+
voicesFavoriteBtn: "[★ Favorit]",
|
|
145
|
+
voicesDownloadBtn: "[Stimme herunterladen]",
|
|
146
|
+
voicesRowHintInstalled: "[Space] Vorschau [Enter] Auswählen [*] Favorit",
|
|
147
|
+
voicesRowHintUninstalled: "[Enter] Herunterladen und installieren",
|
|
148
|
+
musicRowHint: "[Space] Abspielen [Enter] Auswählen [*] Favorit",
|
|
149
|
+
musicHintText: "[Space] Vorschau [Enter] Track festlegen [*] Favorit",
|
|
150
|
+
genderFemale: "Weiblich",
|
|
151
|
+
genderMale: "Männlich",
|
|
152
|
+
voiceInfoVoice: "Stimme:",
|
|
153
|
+
voiceInfoGender: "Geschlecht:",
|
|
154
|
+
voiceInfoLanguage: "Sprache:",
|
|
155
|
+
voiceInfoQuality: "Qualität:",
|
|
156
|
+
voiceInfoProvider: "Anbieter:",
|
|
157
|
+
voiceInfoId: "ID:",
|
|
158
|
+
voiceInfoSpeaker: "Sprecher:",
|
|
159
|
+
voiceInfoModel: "Modell:",
|
|
160
|
+
voiceInfoSpeakerId: "Sprecher-ID:",
|
|
161
|
+
voiceInfoDownload: "⬇ [Enter] drücken zum Herunterladen und Installieren",
|
|
162
|
+
voicePlaying: "(wird abgespielt)",
|
|
163
|
+
bmadTitle: "🧙 BMAD-Agenten",
|
|
164
|
+
bmadWhatIsHeader: "Was ist BMAD?",
|
|
165
|
+
bmadDesc: "Die BMad-Methode (Build More Architect Dreams) ist ein KI-gesteuertes\nEntwicklungs-Framework-Modul, das Ihnen hilft, Software von der Ideenfindung\nbis zur agentischen Implementierung zu entwickeln. Es bietet spezialisierte\nKI-Agenten, geführte Workflows und intelligente Planung.\n\nWenn Sie mit KI-Codierassistenten wie Claude, Cursor oder GitHub Copilot\nvertraut sind, können Sie sofort loslegen.",
|
|
166
|
+
bmadInstallHeader: "BMAD in Ihrem Projekt installieren:",
|
|
167
|
+
bmadLearnMoreHeader: "Mehr erfahren:",
|
|
168
|
+
bmadInstalledNote: "Sobald BMAD installiert ist, zeigt dieser Tab alle Ihre Agenten an und\nermöglicht es Ihnen, Stimme, Prätext, Nachhall, Persönlichkeit und\nHintergrundmusik jedes Agenten unabhängig anzupassen.",
|
|
169
|
+
receiverWhatIsTitle: "Was ist SSH-Empfänger?",
|
|
170
|
+
receiverDesc: "Der SSH-Empfänger ermöglicht es Ihren Remote-Servern, über diese Maschine\nzu sprechen. Wenn ein KI-Assistent auf einem Remote-Server TTS-Audio\nabspielen muss, sendet er den Text per SSH an diese Maschine, die das\nAudio generiert und über Ihre Lautsprecher abspielt.\n\nEntfernter KI ──[SSH]──► Diese Maschine ──[piper+sox+ffmpeg]──► Ihre Lautsprecher",
|
|
171
|
+
helpSectionGlobal: "Globale Tastenkürzel",
|
|
172
|
+
helpSectionNavigation: "Navigationstastenkürzel",
|
|
173
|
+
helpSectionColors: "Tab-Farbführer",
|
|
174
|
+
helpQuit: "Konsole beenden",
|
|
175
|
+
helpForceQuit: "Erzwungenes Beenden",
|
|
176
|
+
helpSwitchSettings: "Zum Tab Einstellungen wechseln",
|
|
177
|
+
helpSwitchVoices: "Zum Tab Stimmen wechseln",
|
|
178
|
+
helpSwitchMusic: "Zum Tab Musik wechseln",
|
|
179
|
+
helpSwitchReadme: "Zum Tab Readme wechseln",
|
|
180
|
+
helpSwitchHelp: "Zum Tab Hilfe wechseln",
|
|
181
|
+
helpSwitchInstall: "Zum Tab Installieren wechseln",
|
|
182
|
+
helpCloseModal: "Modal schließen / zurück",
|
|
183
|
+
helpNavigateLists: "Listen navigieren",
|
|
184
|
+
helpSelectActivate: "Auswählen / aktivieren",
|
|
185
|
+
helpTogglePreview: "Umschalten / Vorschau",
|
|
186
|
+
helpNextButton: "Nächste Schaltfläche",
|
|
187
|
+
helpPrevButton: "Vorherige Schaltfläche",
|
|
188
|
+
helpOpenSearch: "Suche/Filter öffnen",
|
|
189
|
+
helpToggleFavFilter: "Favoritenfilter umschalten (Stimmen/Musik)",
|
|
190
|
+
helpToggleFav: "Favorit umschalten (Musik-Tab)",
|
|
191
|
+
helpToggleMusic: "Musik ein-/ausschalten (Musik-Tab)",
|
|
192
|
+
helpColorSettings: "Einstellungen-Tab-Fußzeile",
|
|
193
|
+
helpColorVoices: "Stimmen-Tab-Fußzeile",
|
|
194
|
+
helpColorMusic: "Musik-Tab-Fußzeile",
|
|
195
|
+
helpColorReadme: "Readme-Tab-Fußzeile",
|
|
196
|
+
helpColorHelp: "Hilfe-Tab-Fußzeile",
|
|
197
|
+
helpColorInstall: "Installieren-Tab-Fußzeile",
|
|
198
|
+
helpSearchLabel: "Suche:",
|
|
199
|
+
readmeScrollMore: "↓ Scrollen für mehr Inhalt ↓",
|
|
200
|
+
readmeNotFound: "*(Keine README.md im aktuellen Verzeichnis gefunden)*",
|
|
201
|
+
bmadFooterNobmad: "[Tab] Tab wechseln [Q] Beenden",
|
|
202
|
+
bmadFooterBmad: "[↑↓/jk] Navigieren [Space] Vorschau [Enter] Konfigurieren [A] Auto-zuweisen [B] Stapel [X] Zurücksetzen [Q] Beenden",
|
|
203
203
|
};
|