agentvibes 5.5.0 → 5.6.1
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 -30
- 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 +23 -7
- package/.claude/piper-voices-dir.txt +1 -1
- package/.clawdbot/skill/README.md +326 -0
- package/.mcp.json +17 -27
- package/README.md +73 -82
- package/RELEASE_NOTES.md +61 -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
package/src/i18n/pt.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: "Idioma aplicado",
|
|
4
|
-
welcomeTitle: "Bem-vindo ao AgentVibes!",
|
|
5
|
-
installDetails: "Detalhes da instalação",
|
|
6
|
-
installLocation: "Local de instalação",
|
|
7
|
-
packageVersion: "Versão do pacote",
|
|
8
|
-
readyToConfigure: "Pronto para configurar o AgentVibes?",
|
|
9
|
-
installationCancelled: "Instalação cancelada.",
|
|
10
|
-
startInstall: "Iniciar instalação",
|
|
11
|
-
installationCancelledMsg: "A instalação foi cancelada pelo usuário.",
|
|
12
|
-
installedSuccess: "AgentVibes instalado com sucesso!",
|
|
13
|
-
installComplete: "Instalação concluída",
|
|
14
|
-
installationFailed: "Falha na instalação",
|
|
15
|
-
installing: "Instalando AgentVibes...",
|
|
16
|
-
providerLabel: "Provedor",
|
|
17
|
-
voiceLabel: "Voz",
|
|
18
|
-
locationLabel: "Local",
|
|
19
|
-
versionLabel: "Versão",
|
|
20
|
-
configurationSetup: "Configuração",
|
|
21
|
-
configurationIntro: "Por favor, configure sua instalação do AgentVibes.",
|
|
22
|
-
navigationHint: "Use as teclas de seta para navegar entre as páginas.",
|
|
23
|
-
nonInteractiveDetected: "Modo não interativo detectado",
|
|
24
|
-
installError: "Falha na instalação",
|
|
25
|
-
continuePrompt: "Continuar",
|
|
26
|
-
cancelPrompt: "Cancelar",
|
|
27
|
-
setupWizard: "Assistente de Configuração",
|
|
28
|
-
setupWizardSubtitle: "TTS para assistentes de IA com personalidade.",
|
|
29
|
-
dependencyCheck: "Verificação de Dependências",
|
|
30
|
-
checkingDependencies: "Verificando dependências...",
|
|
31
|
-
depColumn: "Dependência",
|
|
32
|
-
statusColumn: "Status",
|
|
33
|
-
installed: "Instalado",
|
|
34
|
-
notFound: "Não encontrado",
|
|
35
|
-
ffmpegMissing: "Não encontrado (necessário para música de fundo)",
|
|
36
|
-
ttsDetected: "Provedores TTS Detectados",
|
|
37
|
-
noTtsFound: "Nenhum provedor TTS encontrado. Instale o Piper ou Soprano primeiro.",
|
|
38
|
-
providerSelection: "Seleção de Provedor",
|
|
39
|
-
availableProviders: "Provedores TTS disponíveis:",
|
|
40
|
-
providerAndVoice: "Provedor e Voz",
|
|
41
|
-
voiceChangeHint: "(após instalação, pode alterar em Configurações)",
|
|
42
|
-
introText: "Texto de Introdução",
|
|
43
|
-
introTextLabel: "Texto intro",
|
|
44
|
-
none: "nenhum",
|
|
45
|
-
example: "Exemplo",
|
|
46
|
-
screen1Hint: "Tela 1/5: Boas-vindas | [←/→] Navegar | [Enter] Começar | [Esc] Sair",
|
|
47
|
-
screen2Hint: "Tela 2/5: Dependências | [←] Voltar | [Enter] Próximo",
|
|
48
|
-
screen3Hint: "Tela 3/5: Provedor | [←] Voltar | [↑↓] Escolher | [Enter/→] Confirmar",
|
|
49
|
-
screen4Hint: "Tela 4/5: Configurar | [Esc] Voltar | [E] Editar | [↓] Aceitar e Instalar",
|
|
50
|
-
screen5HintDone: "Tela 5/5: Completo | [Enter] OK — Concluído",
|
|
51
|
-
screen5HintWait: "Tela 5/5: Instalando... | Aguarde",
|
|
52
|
-
languageSettings: "Idioma",
|
|
53
|
-
languageSettingsSubtitle: "Selecionar idioma da interface",
|
|
54
|
-
currentLanguage: "Idioma atual",
|
|
55
|
-
changeLanguage: "Alterar idioma",
|
|
56
|
-
beginBtn: "▶ Começar",
|
|
57
|
-
exitBtn: "✗ Sair",
|
|
58
|
-
footerText: "[Enter] Continuar/Concluir [Esc] Voltar/Sair [C] Console [S/V/M/A/R] Tab [Q] Sair",
|
|
59
|
-
customizationTool: "Ferramenta de Personalização",
|
|
60
|
-
quitLabel: "[Q] Sair",
|
|
61
|
-
tabInstall: "Instalar",
|
|
62
|
-
tabSettings: "Configurações",
|
|
63
|
-
tabVoices: "Vozes",
|
|
64
|
-
tabMusic: "Música",
|
|
65
|
-
tabBmad: "BMad",
|
|
66
|
-
tabReceiver: "Receptor",
|
|
67
|
-
tabReadme: "Leiame",
|
|
68
|
-
tabHelp: "Ajuda",
|
|
69
|
-
subTabVoice: " [V] Voz ",
|
|
70
|
-
subTabEffects: " [E] Efeitos ",
|
|
71
|
-
subTabPersonality: " [P] Personalidade ",
|
|
72
|
-
subTabOutput: " [O] Saída ",
|
|
73
|
-
subTabLanguage: " [L] Idioma ",
|
|
74
|
-
sectionProviderVoice: " 🎤 Provedor e Voz ",
|
|
75
|
-
sectionAudioEffects: " ⚡ Efeitos de Áudio ",
|
|
76
|
-
sectionBgMusic: " 🎸 Música de Fundo ",
|
|
77
|
-
sectionStyle: " 🎭 Estilo ",
|
|
78
|
-
sectionIntroText: " ✍️ Texto de Intro ",
|
|
79
|
-
sectionAudioDest: " 📡 Destino de Áudio ",
|
|
80
|
-
sectionConfigStorage: " 💾 Armazenamento de Config ",
|
|
81
|
-
sectionLanguage: " 🌐 Idioma ",
|
|
82
|
-
providerRowLabel: "Provedor:",
|
|
83
|
-
currentVoiceLabel: "Voz Atual:",
|
|
84
|
-
reverbLabel: "Reverb:",
|
|
85
|
-
trackLabel: "Faixa:",
|
|
86
|
-
volumeLabel: "Volume:",
|
|
87
|
-
verbosityLabel: "Verbosidade:",
|
|
88
|
-
personalityLabel: "Personalidade:",
|
|
89
|
-
introTextRowLabel: "Texto Intro:",
|
|
90
|
-
destinationLabel: "Destino:",
|
|
91
|
-
sshAliasLabel: "Alias SSH:",
|
|
92
|
-
globalLabel: "Global:",
|
|
93
|
-
localLabel: "Local:",
|
|
94
|
-
languageLabel: "Idioma:",
|
|
95
|
-
switchBtn: "Trocar",
|
|
96
|
-
changeBtn: "Alterar",
|
|
97
|
-
playBtn: "▶ Reproduzir",
|
|
98
|
-
stopBtn: "■ Parar",
|
|
99
|
-
previewBtn: "▶ Visualizar",
|
|
100
|
-
fullPreviewBtn: "▶ Visualização Completa",
|
|
101
|
-
saveGloballyBtn: "Salvar Global",
|
|
102
|
-
saveLocallyBtn: "Salvar Local",
|
|
103
|
-
cancelChangesBtn: "Cancelar Alterações",
|
|
104
|
-
editBtn: "Editar",
|
|
105
|
-
clearBtn: "Limpar",
|
|
106
|
-
applyLanguageBtn: "✓ Aplicar Idioma",
|
|
107
|
-
enabledBtn: "Ativado",
|
|
108
|
-
disabledBtn: "Desativado",
|
|
109
|
-
okSaveBtn: "OK — Salvar",
|
|
110
|
-
enableBtn: "Ativar",
|
|
111
|
-
streamingTextBtn: "Apenas Texto Streaming ✓",
|
|
112
|
-
streamingPulseBtn: "Streaming Áudio Pulse",
|
|
113
|
-
continueArrowBtn: "Continuar →",
|
|
114
|
-
acceptInstallBtn: "✓ Aceitar e Instalar",
|
|
115
|
-
okDoneBtn: "✓ OK — Concluído",
|
|
116
|
-
doneCustomizeBtn: "✓ Concluído - Personalizar mais",
|
|
117
|
-
doneQuitBtn: "✕ Concluído - Sair",
|
|
118
|
-
editInstallBtn: "Editar",
|
|
119
|
-
musicDisabledMsg: "Música desativada. Ativar agora?",
|
|
120
|
-
settingsFooter: "[↑↓] Grupo [←→] Irmão/Sub-tab [Enter/Space] Ativar [Tab] Trocar Tab [Q] Sair",
|
|
121
|
-
voicesFooter: "[↑↓/jk] Navegar [Space] Visualizar [Enter] Selecionar [F] Favorito [/] Buscar",
|
|
122
|
-
musicFooter: "[↑↓/jk] Navegar [Space] Visualizar [Enter] Selecionar [M] Alternar [*] Favorito [F] Filtrar [Q] Sair",
|
|
123
|
-
helpFooter: "[↑↓/jk] Rolar [/] Buscar [PgUp/PgDn] Página [S/V/M/A/R] Tab [Q] Sair",
|
|
124
|
-
readmeFooter: "[↑↓/jk] Rolar [PgUp/PgDn] Página [/] Buscar [S/V/M/A/R] Tab [Q] Sair",
|
|
125
|
-
receiverFooter: "Receptor SSH [Q] Sair",
|
|
126
|
-
searchLabel: "Buscar:",
|
|
127
|
-
settingsSavedMsg: "Configurações Salvas",
|
|
128
|
-
changesRevertedMsg: "Alterações revertidas",
|
|
129
|
-
musicBuiltInHeader: "── Faixas Integradas ",
|
|
130
|
-
musicStatusHeader: "── Status da Música ",
|
|
131
|
-
musicStatusLabel: "Música:",
|
|
132
|
-
musicActiveTrack: "Faixa Ativa:",
|
|
133
|
-
musicFilterLabel: "Filtro:",
|
|
134
|
-
musicFilterAll: "Todos",
|
|
135
|
-
musicFilterFavs: "Favoritos",
|
|
136
|
-
musicToggleBtn: "[Ativar/Desativar Música]",
|
|
137
|
-
musicAddCustomBtn: "[Adicionar Faixa]",
|
|
138
|
-
voicesHeader: "── Vozes ",
|
|
139
|
-
voicesColName: "Nome",
|
|
140
|
-
voicesColGender: "Gênero",
|
|
141
|
-
voicesColProvider: "Provedor",
|
|
142
|
-
voicesInfoHeader: "── Info da Voz ",
|
|
143
|
-
voicesSwitchBtn: "[Trocar Voz]",
|
|
144
|
-
voicesFavoriteBtn: "[★ Favorito]",
|
|
145
|
-
voicesDownloadBtn: "[Baixar Voz]",
|
|
146
|
-
voicesRowHintInstalled: "[Space] Visualizar [Enter] Selecionar [*] Favorito",
|
|
147
|
-
voicesRowHintUninstalled: "[Enter] Baixar e instalar",
|
|
148
|
-
musicRowHint: "[Space] Reproduzir [Enter] Selecionar [*] Favorito",
|
|
149
|
-
musicHintText: "[Space] visualizar [Enter] definir faixa [*] favorito",
|
|
150
|
-
genderFemale: "Feminino",
|
|
151
|
-
genderMale: "Masculino",
|
|
152
|
-
voiceInfoVoice: "Voz:",
|
|
153
|
-
voiceInfoGender: "Gênero:",
|
|
154
|
-
voiceInfoLanguage: "Idioma:",
|
|
155
|
-
voiceInfoQuality: "Qualidade:",
|
|
156
|
-
voiceInfoProvider: "Provedor:",
|
|
157
|
-
voiceInfoId: "ID:",
|
|
158
|
-
voiceInfoSpeaker: "Locutor:",
|
|
159
|
-
voiceInfoModel: "Modelo:",
|
|
160
|
-
voiceInfoSpeakerId: "ID do Locutor:",
|
|
161
|
-
voiceInfoDownload: "⬇ Pressionar [Enter] para baixar e instalar",
|
|
162
|
-
voicePlaying: "(reproduzindo)",
|
|
163
|
-
bmadTitle: "🧙 Agentes BMAD",
|
|
164
|
-
bmadWhatIsHeader: "O que é BMAD?",
|
|
165
|
-
bmadDesc: "O Método BMad (Build More Architect Dreams) é um módulo de framework\nde desenvolvimento orientado por IA que ajuda você a construir software\nde ponta a ponta, da ideação à implementação agêntica. Fornece agentes IA\nespecializados, fluxos de trabalho guiados e planejamento inteligente.\n\nSe você está confortável trabalhando com assistentes de codificação IA\ncomo Claude, Cursor ou GitHub Copilot, você está pronto para começar.",
|
|
166
|
-
bmadInstallHeader: "Instalar BMAD no seu projeto:",
|
|
167
|
-
bmadLearnMoreHeader: "Saiba mais:",
|
|
168
|
-
bmadInstalledNote: "Uma vez que o BMAD estiver instalado, esta aba mostrará todos os seus\nagentes e permitirá personalizar a voz, pretexto, reverb, personalidade\ne música de fundo de cada agente independentemente.",
|
|
169
|
-
receiverWhatIsTitle: "O que é o Receptor SSH?",
|
|
170
|
-
receiverDesc: "O Receptor SSH permite que seus servidores remotos falem através desta\nmáquina. Quando um assistente de IA em um servidor remoto precisa\nreproduzir áudio TTS, ele envia o texto via SSH para esta máquina, que\ngera e reproduz o áudio pelos seus alto-falantes localmente.\n\nIA Remota ──[SSH]──► Esta Máquina ──[piper+sox+ffmpeg]──► Seus Alto-falantes",
|
|
171
|
-
helpSectionGlobal: "Atalhos Globais",
|
|
172
|
-
helpSectionNavigation: "Atalhos de Navegação",
|
|
173
|
-
helpSectionColors: "Guia de Cores das Abas",
|
|
174
|
-
helpQuit: "Sair do console",
|
|
175
|
-
helpForceQuit: "Forçar saída",
|
|
176
|
-
helpSwitchSettings: "Ir para aba Configurações",
|
|
177
|
-
helpSwitchVoices: "Ir para aba Vozes",
|
|
178
|
-
helpSwitchMusic: "Ir para aba Música",
|
|
179
|
-
helpSwitchReadme: "Ir para aba Readme",
|
|
180
|
-
helpSwitchHelp: "Ir para aba Ajuda",
|
|
181
|
-
helpSwitchInstall: "Ir para aba Instalar",
|
|
182
|
-
helpCloseModal: "Fechar modal / voltar",
|
|
183
|
-
helpNavigateLists: "Navegar listas",
|
|
184
|
-
helpSelectActivate: "Selecionar / ativar",
|
|
185
|
-
helpTogglePreview: "Alternar / visualizar",
|
|
186
|
-
helpNextButton: "Próximo botão",
|
|
187
|
-
helpPrevButton: "Botão anterior",
|
|
188
|
-
helpOpenSearch: "Abrir busca/filtro",
|
|
189
|
-
helpToggleFavFilter: "Alternar filtro de favoritos (Vozes/Música)",
|
|
190
|
-
helpToggleFav: "Alternar favorito (aba Música)",
|
|
191
|
-
helpToggleMusic: "Ativar/desativar música (aba Música)",
|
|
192
|
-
helpColorSettings: "Rodapé da aba Configurações",
|
|
193
|
-
helpColorVoices: "Rodapé da aba Vozes",
|
|
194
|
-
helpColorMusic: "Rodapé da aba Música",
|
|
195
|
-
helpColorReadme: "Rodapé da aba Readme",
|
|
196
|
-
helpColorHelp: "Rodapé da aba Ajuda",
|
|
197
|
-
helpColorInstall: "Rodapé da aba Instalar",
|
|
198
|
-
helpSearchLabel: "Buscar:",
|
|
199
|
-
readmeScrollMore: "↓ Role para mais conteúdo ↓",
|
|
200
|
-
readmeNotFound: "*(Nenhum README.md encontrado no diretório atual)*",
|
|
201
|
-
bmadFooterNobmad: "[Tab] Mudar Aba [Q] Sair",
|
|
202
|
-
bmadFooterBmad: "[↑↓/jk] Navegar [Space] Visualizar [Enter] Configurar [A] Auto-atribuir [B] Lote [X] Redefinir [Q] Sair",
|
|
1
|
+
export default {
|
|
2
|
+
languageSelectTitle: "🌐 Select Language / Seleccionar Idioma / Choisir la langue / Sprache wählen / Selecionar Idioma / 言語を選択 / भाषा चुनें / 选择语言 / 언어 선택",
|
|
3
|
+
languageApplied: "Idioma aplicado",
|
|
4
|
+
welcomeTitle: "Bem-vindo ao AgentVibes!",
|
|
5
|
+
installDetails: "Detalhes da instalação",
|
|
6
|
+
installLocation: "Local de instalação",
|
|
7
|
+
packageVersion: "Versão do pacote",
|
|
8
|
+
readyToConfigure: "Pronto para configurar o AgentVibes?",
|
|
9
|
+
installationCancelled: "Instalação cancelada.",
|
|
10
|
+
startInstall: "Iniciar instalação",
|
|
11
|
+
installationCancelledMsg: "A instalação foi cancelada pelo usuário.",
|
|
12
|
+
installedSuccess: "AgentVibes instalado com sucesso!",
|
|
13
|
+
installComplete: "Instalação concluída",
|
|
14
|
+
installationFailed: "Falha na instalação",
|
|
15
|
+
installing: "Instalando AgentVibes...",
|
|
16
|
+
providerLabel: "Provedor",
|
|
17
|
+
voiceLabel: "Voz",
|
|
18
|
+
locationLabel: "Local",
|
|
19
|
+
versionLabel: "Versão",
|
|
20
|
+
configurationSetup: "Configuração",
|
|
21
|
+
configurationIntro: "Por favor, configure sua instalação do AgentVibes.",
|
|
22
|
+
navigationHint: "Use as teclas de seta para navegar entre as páginas.",
|
|
23
|
+
nonInteractiveDetected: "Modo não interativo detectado",
|
|
24
|
+
installError: "Falha na instalação",
|
|
25
|
+
continuePrompt: "Continuar",
|
|
26
|
+
cancelPrompt: "Cancelar",
|
|
27
|
+
setupWizard: "Assistente de Configuração",
|
|
28
|
+
setupWizardSubtitle: "TTS para assistentes de IA com personalidade.",
|
|
29
|
+
dependencyCheck: "Verificação de Dependências",
|
|
30
|
+
checkingDependencies: "Verificando dependências...",
|
|
31
|
+
depColumn: "Dependência",
|
|
32
|
+
statusColumn: "Status",
|
|
33
|
+
installed: "Instalado",
|
|
34
|
+
notFound: "Não encontrado",
|
|
35
|
+
ffmpegMissing: "Não encontrado (necessário para música de fundo)",
|
|
36
|
+
ttsDetected: "Provedores TTS Detectados",
|
|
37
|
+
noTtsFound: "Nenhum provedor TTS encontrado. Instale o Piper ou Soprano primeiro.",
|
|
38
|
+
providerSelection: "Seleção de Provedor",
|
|
39
|
+
availableProviders: "Provedores TTS disponíveis:",
|
|
40
|
+
providerAndVoice: "Provedor e Voz",
|
|
41
|
+
voiceChangeHint: "(após instalação, pode alterar em Configurações)",
|
|
42
|
+
introText: "Texto de Introdução",
|
|
43
|
+
introTextLabel: "Texto intro",
|
|
44
|
+
none: "nenhum",
|
|
45
|
+
example: "Exemplo",
|
|
46
|
+
screen1Hint: "Tela 1/5: Boas-vindas | [←/→] Navegar | [Enter] Começar | [Esc] Sair",
|
|
47
|
+
screen2Hint: "Tela 2/5: Dependências | [←] Voltar | [Enter] Próximo",
|
|
48
|
+
screen3Hint: "Tela 3/5: Provedor | [←] Voltar | [↑↓] Escolher | [Enter/→] Confirmar",
|
|
49
|
+
screen4Hint: "Tela 4/5: Configurar | [Esc] Voltar | [E] Editar | [↓] Aceitar e Instalar",
|
|
50
|
+
screen5HintDone: "Tela 5/5: Completo | [Enter] OK — Concluído",
|
|
51
|
+
screen5HintWait: "Tela 5/5: Instalando... | Aguarde",
|
|
52
|
+
languageSettings: "Idioma",
|
|
53
|
+
languageSettingsSubtitle: "Selecionar idioma da interface",
|
|
54
|
+
currentLanguage: "Idioma atual",
|
|
55
|
+
changeLanguage: "Alterar idioma",
|
|
56
|
+
beginBtn: "▶ Começar",
|
|
57
|
+
exitBtn: "✗ Sair",
|
|
58
|
+
footerText: "[Enter] Continuar/Concluir [Esc] Voltar/Sair [C] Console [S/V/M/A/R] Tab [Q] Sair",
|
|
59
|
+
customizationTool: "Ferramenta de Personalização",
|
|
60
|
+
quitLabel: "[Q] Sair",
|
|
61
|
+
tabInstall: "Instalar",
|
|
62
|
+
tabSettings: "Configurações",
|
|
63
|
+
tabVoices: "Vozes",
|
|
64
|
+
tabMusic: "Música",
|
|
65
|
+
tabBmad: "BMad",
|
|
66
|
+
tabReceiver: "Receptor",
|
|
67
|
+
tabReadme: "Leiame",
|
|
68
|
+
tabHelp: "Ajuda",
|
|
69
|
+
subTabVoice: " [V] Voz ",
|
|
70
|
+
subTabEffects: " [E] Efeitos ",
|
|
71
|
+
subTabPersonality: " [P] Personalidade ",
|
|
72
|
+
subTabOutput: " [O] Saída ",
|
|
73
|
+
subTabLanguage: " [L] Idioma ",
|
|
74
|
+
sectionProviderVoice: " 🎤 Provedor e Voz ",
|
|
75
|
+
sectionAudioEffects: " ⚡ Efeitos de Áudio ",
|
|
76
|
+
sectionBgMusic: " 🎸 Música de Fundo ",
|
|
77
|
+
sectionStyle: " 🎭 Estilo ",
|
|
78
|
+
sectionIntroText: " ✍️ Texto de Intro ",
|
|
79
|
+
sectionAudioDest: " 📡 Destino de Áudio ",
|
|
80
|
+
sectionConfigStorage: " 💾 Armazenamento de Config ",
|
|
81
|
+
sectionLanguage: " 🌐 Idioma ",
|
|
82
|
+
providerRowLabel: "Provedor:",
|
|
83
|
+
currentVoiceLabel: "Voz Atual:",
|
|
84
|
+
reverbLabel: "Reverb:",
|
|
85
|
+
trackLabel: "Faixa:",
|
|
86
|
+
volumeLabel: "Volume:",
|
|
87
|
+
verbosityLabel: "Verbosidade:",
|
|
88
|
+
personalityLabel: "Personalidade:",
|
|
89
|
+
introTextRowLabel: "Texto Intro:",
|
|
90
|
+
destinationLabel: "Destino:",
|
|
91
|
+
sshAliasLabel: "Alias SSH:",
|
|
92
|
+
globalLabel: "Global:",
|
|
93
|
+
localLabel: "Local:",
|
|
94
|
+
languageLabel: "Idioma:",
|
|
95
|
+
switchBtn: "Trocar",
|
|
96
|
+
changeBtn: "Alterar",
|
|
97
|
+
playBtn: "▶ Reproduzir",
|
|
98
|
+
stopBtn: "■ Parar",
|
|
99
|
+
previewBtn: "▶ Visualizar",
|
|
100
|
+
fullPreviewBtn: "▶ Visualização Completa",
|
|
101
|
+
saveGloballyBtn: "Salvar Global",
|
|
102
|
+
saveLocallyBtn: "Salvar Local",
|
|
103
|
+
cancelChangesBtn: "Cancelar Alterações",
|
|
104
|
+
editBtn: "Editar",
|
|
105
|
+
clearBtn: "Limpar",
|
|
106
|
+
applyLanguageBtn: "✓ Aplicar Idioma",
|
|
107
|
+
enabledBtn: "Ativado",
|
|
108
|
+
disabledBtn: "Desativado",
|
|
109
|
+
okSaveBtn: "OK — Salvar",
|
|
110
|
+
enableBtn: "Ativar",
|
|
111
|
+
streamingTextBtn: "Apenas Texto Streaming ✓",
|
|
112
|
+
streamingPulseBtn: "Streaming Áudio Pulse",
|
|
113
|
+
continueArrowBtn: "Continuar →",
|
|
114
|
+
acceptInstallBtn: "✓ Aceitar e Instalar",
|
|
115
|
+
okDoneBtn: "✓ OK — Concluído",
|
|
116
|
+
doneCustomizeBtn: "✓ Concluído - Personalizar mais",
|
|
117
|
+
doneQuitBtn: "✕ Concluído - Sair",
|
|
118
|
+
editInstallBtn: "Editar",
|
|
119
|
+
musicDisabledMsg: "Música desativada. Ativar agora?",
|
|
120
|
+
settingsFooter: "[↑↓] Grupo [←→] Irmão/Sub-tab [Enter/Space] Ativar [Tab] Trocar Tab [Q] Sair",
|
|
121
|
+
voicesFooter: "[↑↓/jk] Navegar [Space] Visualizar [Enter] Selecionar [F] Favorito [/] Buscar",
|
|
122
|
+
musicFooter: "[↑↓/jk] Navegar [Space] Visualizar [Enter] Selecionar [M] Alternar [*] Favorito [F] Filtrar [Q] Sair",
|
|
123
|
+
helpFooter: "[↑↓/jk] Rolar [/] Buscar [PgUp/PgDn] Página [S/V/M/A/R] Tab [Q] Sair",
|
|
124
|
+
readmeFooter: "[↑↓/jk] Rolar [PgUp/PgDn] Página [/] Buscar [S/V/M/A/R] Tab [Q] Sair",
|
|
125
|
+
receiverFooter: "Receptor SSH [Q] Sair",
|
|
126
|
+
searchLabel: "Buscar:",
|
|
127
|
+
settingsSavedMsg: "Configurações Salvas",
|
|
128
|
+
changesRevertedMsg: "Alterações revertidas",
|
|
129
|
+
musicBuiltInHeader: "── Faixas Integradas ",
|
|
130
|
+
musicStatusHeader: "── Status da Música ",
|
|
131
|
+
musicStatusLabel: "Música:",
|
|
132
|
+
musicActiveTrack: "Faixa Ativa:",
|
|
133
|
+
musicFilterLabel: "Filtro:",
|
|
134
|
+
musicFilterAll: "Todos",
|
|
135
|
+
musicFilterFavs: "Favoritos",
|
|
136
|
+
musicToggleBtn: "[Ativar/Desativar Música]",
|
|
137
|
+
musicAddCustomBtn: "[Adicionar Faixa]",
|
|
138
|
+
voicesHeader: "── Vozes ",
|
|
139
|
+
voicesColName: "Nome",
|
|
140
|
+
voicesColGender: "Gênero",
|
|
141
|
+
voicesColProvider: "Provedor",
|
|
142
|
+
voicesInfoHeader: "── Info da Voz ",
|
|
143
|
+
voicesSwitchBtn: "[Trocar Voz]",
|
|
144
|
+
voicesFavoriteBtn: "[★ Favorito]",
|
|
145
|
+
voicesDownloadBtn: "[Baixar Voz]",
|
|
146
|
+
voicesRowHintInstalled: "[Space] Visualizar [Enter] Selecionar [*] Favorito",
|
|
147
|
+
voicesRowHintUninstalled: "[Enter] Baixar e instalar",
|
|
148
|
+
musicRowHint: "[Space] Reproduzir [Enter] Selecionar [*] Favorito",
|
|
149
|
+
musicHintText: "[Space] visualizar [Enter] definir faixa [*] favorito",
|
|
150
|
+
genderFemale: "Feminino",
|
|
151
|
+
genderMale: "Masculino",
|
|
152
|
+
voiceInfoVoice: "Voz:",
|
|
153
|
+
voiceInfoGender: "Gênero:",
|
|
154
|
+
voiceInfoLanguage: "Idioma:",
|
|
155
|
+
voiceInfoQuality: "Qualidade:",
|
|
156
|
+
voiceInfoProvider: "Provedor:",
|
|
157
|
+
voiceInfoId: "ID:",
|
|
158
|
+
voiceInfoSpeaker: "Locutor:",
|
|
159
|
+
voiceInfoModel: "Modelo:",
|
|
160
|
+
voiceInfoSpeakerId: "ID do Locutor:",
|
|
161
|
+
voiceInfoDownload: "⬇ Pressionar [Enter] para baixar e instalar",
|
|
162
|
+
voicePlaying: "(reproduzindo)",
|
|
163
|
+
bmadTitle: "🧙 Agentes BMAD",
|
|
164
|
+
bmadWhatIsHeader: "O que é BMAD?",
|
|
165
|
+
bmadDesc: "O Método BMad (Build More Architect Dreams) é um módulo de framework\nde desenvolvimento orientado por IA que ajuda você a construir software\nde ponta a ponta, da ideação à implementação agêntica. Fornece agentes IA\nespecializados, fluxos de trabalho guiados e planejamento inteligente.\n\nSe você está confortável trabalhando com assistentes de codificação IA\ncomo Claude, Cursor ou GitHub Copilot, você está pronto para começar.",
|
|
166
|
+
bmadInstallHeader: "Instalar BMAD no seu projeto:",
|
|
167
|
+
bmadLearnMoreHeader: "Saiba mais:",
|
|
168
|
+
bmadInstalledNote: "Uma vez que o BMAD estiver instalado, esta aba mostrará todos os seus\nagentes e permitirá personalizar a voz, pretexto, reverb, personalidade\ne música de fundo de cada agente independentemente.",
|
|
169
|
+
receiverWhatIsTitle: "O que é o Receptor SSH?",
|
|
170
|
+
receiverDesc: "O Receptor SSH permite que seus servidores remotos falem através desta\nmáquina. Quando um assistente de IA em um servidor remoto precisa\nreproduzir áudio TTS, ele envia o texto via SSH para esta máquina, que\ngera e reproduz o áudio pelos seus alto-falantes localmente.\n\nIA Remota ──[SSH]──► Esta Máquina ──[piper+sox+ffmpeg]──► Seus Alto-falantes",
|
|
171
|
+
helpSectionGlobal: "Atalhos Globais",
|
|
172
|
+
helpSectionNavigation: "Atalhos de Navegação",
|
|
173
|
+
helpSectionColors: "Guia de Cores das Abas",
|
|
174
|
+
helpQuit: "Sair do console",
|
|
175
|
+
helpForceQuit: "Forçar saída",
|
|
176
|
+
helpSwitchSettings: "Ir para aba Configurações",
|
|
177
|
+
helpSwitchVoices: "Ir para aba Vozes",
|
|
178
|
+
helpSwitchMusic: "Ir para aba Música",
|
|
179
|
+
helpSwitchReadme: "Ir para aba Readme",
|
|
180
|
+
helpSwitchHelp: "Ir para aba Ajuda",
|
|
181
|
+
helpSwitchInstall: "Ir para aba Instalar",
|
|
182
|
+
helpCloseModal: "Fechar modal / voltar",
|
|
183
|
+
helpNavigateLists: "Navegar listas",
|
|
184
|
+
helpSelectActivate: "Selecionar / ativar",
|
|
185
|
+
helpTogglePreview: "Alternar / visualizar",
|
|
186
|
+
helpNextButton: "Próximo botão",
|
|
187
|
+
helpPrevButton: "Botão anterior",
|
|
188
|
+
helpOpenSearch: "Abrir busca/filtro",
|
|
189
|
+
helpToggleFavFilter: "Alternar filtro de favoritos (Vozes/Música)",
|
|
190
|
+
helpToggleFav: "Alternar favorito (aba Música)",
|
|
191
|
+
helpToggleMusic: "Ativar/desativar música (aba Música)",
|
|
192
|
+
helpColorSettings: "Rodapé da aba Configurações",
|
|
193
|
+
helpColorVoices: "Rodapé da aba Vozes",
|
|
194
|
+
helpColorMusic: "Rodapé da aba Música",
|
|
195
|
+
helpColorReadme: "Rodapé da aba Readme",
|
|
196
|
+
helpColorHelp: "Rodapé da aba Ajuda",
|
|
197
|
+
helpColorInstall: "Rodapé da aba Instalar",
|
|
198
|
+
helpSearchLabel: "Buscar:",
|
|
199
|
+
readmeScrollMore: "↓ Role para mais conteúdo ↓",
|
|
200
|
+
readmeNotFound: "*(Nenhum README.md encontrado no diretório atual)*",
|
|
201
|
+
bmadFooterNobmad: "[Tab] Mudar Aba [Q] Sair",
|
|
202
|
+
bmadFooterBmad: "[↑↓/jk] Navegar [Space] Visualizar [Enter] Configurar [A] Auto-atribuir [B] Lote [X] Redefinir [Q] Sair",
|
|
203
203
|
};
|
package/src/i18n/strings.js
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File: src/i18n/strings.js
|
|
3
|
-
*
|
|
4
|
-
* Internationalization strings for the AgentVibes installer TUI.
|
|
5
|
-
* Supports: en, es, fr, de, pt, ja, hi, zh-CN, ko
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* import { t, SUPPORTED_LANGUAGES, strings } from './i18n/strings.js';
|
|
9
|
-
* t('es', 'welcomeTitle') // => Spanish welcome title
|
|
10
|
-
* t('xx', 'welcomeTitle') // => falls back to English
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import en from './en.js';
|
|
14
|
-
import es from './es.js';
|
|
15
|
-
import fr from './fr.js';
|
|
16
|
-
import de from './de.js';
|
|
17
|
-
import pt from './pt.js';
|
|
18
|
-
import ja from './ja.js';
|
|
19
|
-
import hi from './hi.js';
|
|
20
|
-
import zhCN from './zh-CN.js';
|
|
21
|
-
import ko from './ko.js';
|
|
22
|
-
|
|
23
|
-
export const strings = { en, es, fr, de, pt, ja, hi, 'zh-CN': zhCN, ko };
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Translate a key for a given language, falling back to English.
|
|
27
|
-
* @param {string} lang - Language code (e.g. 'es', 'zh-CN')
|
|
28
|
-
* @param {string} key - String key to look up
|
|
29
|
-
* @returns {string} Translated string, or English fallback, or the key itself
|
|
30
|
-
*/
|
|
31
|
-
export function t(lang, key) {
|
|
32
|
-
const langStrings = strings[lang];
|
|
33
|
-
if (langStrings && langStrings[key] !== undefined) {
|
|
34
|
-
return langStrings[key];
|
|
35
|
-
}
|
|
36
|
-
// Fall back to English
|
|
37
|
-
return strings.en[key] !== undefined ? strings.en[key] : key;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Supported languages for the language chooser UI.
|
|
42
|
-
* Each entry has: value (language code), name (display label for inquirer)
|
|
43
|
-
*/
|
|
44
|
-
export const SUPPORTED_LANGUAGES = [
|
|
45
|
-
{ value: 'en', name: '🇺🇸 English' },
|
|
46
|
-
{ value: 'es', name: '🇪🇸 Español (Spanish)' },
|
|
47
|
-
{ value: 'fr', name: '🇫🇷 Français (French)' },
|
|
48
|
-
{ value: 'de', name: '🇩🇪 Deutsch (German)' },
|
|
49
|
-
{ value: 'pt', name: '🇧🇷 Português (Portuguese)' },
|
|
50
|
-
{ value: 'ja', name: '🇯🇵 日本語 (Japanese)' },
|
|
51
|
-
{ value: 'hi', name: '🇮🇳 हिन्दी (Hindi)' },
|
|
52
|
-
{ value: 'zh-CN', name: '🇨🇳 中文 (Chinese Simplified)' },
|
|
53
|
-
{ value: 'ko', name: '🇰🇷 한국어 (Korean)' },
|
|
54
|
-
];
|
|
1
|
+
/**
|
|
2
|
+
* File: src/i18n/strings.js
|
|
3
|
+
*
|
|
4
|
+
* Internationalization strings for the AgentVibes installer TUI.
|
|
5
|
+
* Supports: en, es, fr, de, pt, ja, hi, zh-CN, ko
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { t, SUPPORTED_LANGUAGES, strings } from './i18n/strings.js';
|
|
9
|
+
* t('es', 'welcomeTitle') // => Spanish welcome title
|
|
10
|
+
* t('xx', 'welcomeTitle') // => falls back to English
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import en from './en.js';
|
|
14
|
+
import es from './es.js';
|
|
15
|
+
import fr from './fr.js';
|
|
16
|
+
import de from './de.js';
|
|
17
|
+
import pt from './pt.js';
|
|
18
|
+
import ja from './ja.js';
|
|
19
|
+
import hi from './hi.js';
|
|
20
|
+
import zhCN from './zh-CN.js';
|
|
21
|
+
import ko from './ko.js';
|
|
22
|
+
|
|
23
|
+
export const strings = { en, es, fr, de, pt, ja, hi, 'zh-CN': zhCN, ko };
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Translate a key for a given language, falling back to English.
|
|
27
|
+
* @param {string} lang - Language code (e.g. 'es', 'zh-CN')
|
|
28
|
+
* @param {string} key - String key to look up
|
|
29
|
+
* @returns {string} Translated string, or English fallback, or the key itself
|
|
30
|
+
*/
|
|
31
|
+
export function t(lang, key) {
|
|
32
|
+
const langStrings = strings[lang];
|
|
33
|
+
if (langStrings && langStrings[key] !== undefined) {
|
|
34
|
+
return langStrings[key];
|
|
35
|
+
}
|
|
36
|
+
// Fall back to English
|
|
37
|
+
return strings.en[key] !== undefined ? strings.en[key] : key;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Supported languages for the language chooser UI.
|
|
42
|
+
* Each entry has: value (language code), name (display label for inquirer)
|
|
43
|
+
*/
|
|
44
|
+
export const SUPPORTED_LANGUAGES = [
|
|
45
|
+
{ value: 'en', name: '🇺🇸 English' },
|
|
46
|
+
{ value: 'es', name: '🇪🇸 Español (Spanish)' },
|
|
47
|
+
{ value: 'fr', name: '🇫🇷 Français (French)' },
|
|
48
|
+
{ value: 'de', name: '🇩🇪 Deutsch (German)' },
|
|
49
|
+
{ value: 'pt', name: '🇧🇷 Português (Portuguese)' },
|
|
50
|
+
{ value: 'ja', name: '🇯🇵 日本語 (Japanese)' },
|
|
51
|
+
{ value: 'hi', name: '🇮🇳 हिन्दी (Hindi)' },
|
|
52
|
+
{ value: 'zh-CN', name: '🇨🇳 中文 (Chinese Simplified)' },
|
|
53
|
+
{ value: 'ko', name: '🇰🇷 한국어 (Korean)' },
|
|
54
|
+
];
|