@nac3/forge-cli 0.2.1-alpha.60 → 1.0.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/README.md +5 -1
- package/dist/agents/bridge.d.ts.map +1 -1
- package/dist/agents/bridge.js +27 -0
- package/dist/agents/bridge.js.map +1 -1
- package/dist/agents/config_resolver.d.ts.map +1 -1
- package/dist/agents/config_resolver.js +15 -15
- package/dist/agents/config_resolver.js.map +1 -1
- package/dist/agents/runner.d.ts +8 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +58 -11
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/system_prompt.d.ts.map +1 -1
- package/dist/agents/system_prompt.js +2 -1
- package/dist/agents/system_prompt.js.map +1 -1
- package/dist/bin/yf.d.ts.map +1 -1
- package/dist/bin/yf.js +18 -0
- package/dist/bin/yf.js.map +1 -1
- package/dist/chat/claude.d.ts +13 -0
- package/dist/chat/claude.d.ts.map +1 -1
- package/dist/chat/claude.js +95 -10
- package/dist/chat/claude.js.map +1 -1
- package/dist/chat/claude_cli.d.ts +10 -0
- package/dist/chat/claude_cli.d.ts.map +1 -1
- package/dist/chat/claude_cli.js +97 -16
- package/dist/chat/claude_cli.js.map +1 -1
- package/dist/chat/completion_hallucination_detector.d.ts +11 -0
- package/dist/chat/completion_hallucination_detector.d.ts.map +1 -1
- package/dist/chat/completion_hallucination_detector.js +37 -2
- package/dist/chat/completion_hallucination_detector.js.map +1 -1
- package/dist/chat/doctrine_digest.d.ts.map +1 -1
- package/dist/chat/doctrine_digest.js +10 -6
- package/dist/chat/doctrine_digest.js.map +1 -1
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +923 -50
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/refusal_detector.d.ts.map +1 -1
- package/dist/chat/refusal_detector.js +2 -1
- package/dist/chat/refusal_detector.js.map +1 -1
- package/dist/chat/server.d.ts +1 -0
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +960 -73
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/session_projects.d.ts +31 -0
- package/dist/chat/session_projects.d.ts.map +1 -0
- package/dist/chat/session_projects.js +36 -0
- package/dist/chat/session_projects.js.map +1 -0
- package/dist/chat/session_store.d.ts +32 -0
- package/dist/chat/session_store.d.ts.map +1 -0
- package/dist/chat/session_store.js +58 -0
- package/dist/chat/session_store.js.map +1 -0
- package/dist/chat/tooling_section.d.ts +11 -0
- package/dist/chat/tooling_section.d.ts.map +1 -0
- package/dist/chat/tooling_section.js +70 -0
- package/dist/chat/tooling_section.js.map +1 -0
- package/dist/chat/tools/app_backend_dispatch.d.ts.map +1 -1
- package/dist/chat/tools/app_backend_dispatch.js +44 -1
- package/dist/chat/tools/app_backend_dispatch.js.map +1 -1
- package/dist/chat/tools/fs_editor.d.ts.map +1 -1
- package/dist/chat/tools/fs_editor.js +53 -3
- package/dist/chat/tools/fs_editor.js.map +1 -1
- package/dist/chat/tools/graph.js +2 -2
- package/dist/chat/tools/graph.js.map +1 -1
- package/dist/chat/tools/keys.d.ts.map +1 -1
- package/dist/chat/tools/keys.js +5 -18
- package/dist/chat/tools/keys.js.map +1 -1
- package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
- package/dist/chat/tools/nac3_invoke.js +16 -7
- package/dist/chat/tools/nac3_invoke.js.map +1 -1
- package/dist/chat/tools/shell.d.ts +6 -0
- package/dist/chat/tools/shell.d.ts.map +1 -1
- package/dist/chat/tools/shell.js +39 -0
- package/dist/chat/tools/shell.js.map +1 -1
- package/dist/chat/tools/workflow.d.ts +20 -0
- package/dist/chat/tools/workflow.d.ts.map +1 -1
- package/dist/chat/tools/workflow.js +98 -0
- package/dist/chat/tools/workflow.js.map +1 -1
- package/dist/chat/tools.d.ts.map +1 -1
- package/dist/chat/tools.js +79 -1
- package/dist/chat/tools.js.map +1 -1
- package/dist/chat/turn_control.d.ts +42 -0
- package/dist/chat/turn_control.d.ts.map +1 -0
- package/dist/chat/turn_control.js +53 -0
- package/dist/chat/turn_control.js.map +1 -0
- package/dist/commands/brain.js +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +61 -10
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/graph.js +9 -9
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/keys_setup.d.ts +10 -28
- package/dist/commands/keys_setup.d.ts.map +1 -1
- package/dist/commands/keys_setup.js +54 -228
- package/dist/commands/keys_setup.js.map +1 -1
- package/dist/commands/license.d.ts.map +1 -1
- package/dist/commands/license.js +52 -28
- package/dist/commands/license.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +62 -6
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/mobile.d.ts +1 -1
- package/dist/commands/mobile.d.ts.map +1 -1
- package/dist/commands/mobile.js +32 -28
- package/dist/commands/mobile.js.map +1 -1
- package/dist/commands/onboard.d.ts +19 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +126 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/pending.d.ts.map +1 -1
- package/dist/commands/pending.js +25 -1
- package/dist/commands/pending.js.map +1 -1
- package/dist/commands/projects.js +25 -1
- package/dist/commands/projects.js.map +1 -1
- package/dist/commands/review-screens.js +28 -1
- package/dist/commands/review-screens.js.map +1 -1
- package/dist/commands/workflow.d.ts +18 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +253 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/core/brain_config.d.ts +2 -0
- package/dist/core/brain_config.d.ts.map +1 -1
- package/dist/core/brain_config.js +18 -3
- package/dist/core/brain_config.js.map +1 -1
- package/dist/core/cf_tunnel.d.ts.map +1 -1
- package/dist/core/cf_tunnel.js +8 -2
- package/dist/core/cf_tunnel.js.map +1 -1
- package/dist/core/cost_router.d.ts.map +1 -1
- package/dist/core/cost_router.js +11 -2
- package/dist/core/cost_router.js.map +1 -1
- package/dist/core/desktop_open.d.ts +16 -0
- package/dist/core/desktop_open.d.ts.map +1 -0
- package/dist/core/desktop_open.js +114 -0
- package/dist/core/desktop_open.js.map +1 -0
- package/dist/core/keys_envelope.d.ts.map +1 -1
- package/dist/core/keys_envelope.js +5 -1
- package/dist/core/keys_envelope.js.map +1 -1
- package/dist/core/limits_config.d.ts +5 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +5 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +3 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/pairing.d.ts +6 -0
- package/dist/core/pairing.d.ts.map +1 -1
- package/dist/core/pairing.js +41 -2
- package/dist/core/pairing.js.map +1 -1
- package/dist/core/provider_keys.d.ts.map +1 -1
- package/dist/core/provider_keys.js +25 -12
- package/dist/core/provider_keys.js.map +1 -1
- package/dist/core/provider_models.js +1 -1
- package/dist/deploy/cloudflare.d.ts.map +1 -1
- package/dist/deploy/cloudflare.js +13 -2
- package/dist/deploy/cloudflare.js.map +1 -1
- package/dist/design/yujin_design_resolver.d.ts +16 -0
- package/dist/design/yujin_design_resolver.d.ts.map +1 -1
- package/dist/design/yujin_design_resolver.js +103 -20
- package/dist/design/yujin_design_resolver.js.map +1 -1
- package/dist/docs/doctrine/default-design-system.md +32 -0
- package/dist/docs/doctrine/office-tools.md +20 -0
- package/dist/docs/doctrine/pizarron.md +40 -0
- package/dist/docs/doctrine/verb-composition.md +16 -0
- package/dist/docs/doctrine/workflow-kinds.md +39 -22
- package/dist/docs/doctrine/workflow.md +12 -4
- package/dist/license/auto_sync.d.ts +22 -0
- package/dist/license/auto_sync.d.ts.map +1 -0
- package/dist/license/auto_sync.js +91 -0
- package/dist/license/auto_sync.js.map +1 -0
- package/dist/license/handle_key.d.ts +32 -0
- package/dist/license/handle_key.d.ts.map +1 -0
- package/dist/license/handle_key.js +56 -0
- package/dist/license/handle_key.js.map +1 -0
- package/dist/license/hito4_client.d.ts.map +1 -1
- package/dist/license/hito4_client.js +63 -25
- package/dist/license/hito4_client.js.map +1 -1
- package/dist/llm/gemini_client.d.ts.map +1 -1
- package/dist/llm/gemini_client.js +5 -2
- package/dist/llm/gemini_client.js.map +1 -1
- package/dist/llm/managed_client.d.ts.map +1 -1
- package/dist/llm/managed_client.js +14 -9
- package/dist/llm/managed_client.js.map +1 -1
- package/dist/mcp/plan_bridges.d.ts +17 -0
- package/dist/mcp/plan_bridges.d.ts.map +1 -0
- package/dist/mcp/plan_bridges.js +119 -0
- package/dist/mcp/plan_bridges.js.map +1 -0
- package/dist/migrate/ai-apply.d.ts.map +1 -1
- package/dist/migrate/ai-apply.js +25 -2
- package/dist/migrate/ai-apply.js.map +1 -1
- package/dist/nac3/internal_manifest.d.ts.map +1 -1
- package/dist/nac3/internal_manifest.js +200 -10
- package/dist/nac3/internal_manifest.js.map +1 -1
- package/dist/nac3/verb_tier_map.d.ts.map +1 -1
- package/dist/nac3/verb_tier_map.js +3 -0
- package/dist/nac3/verb_tier_map.js.map +1 -1
- package/dist/onboarding/concierge_client.d.ts +34 -0
- package/dist/onboarding/concierge_client.d.ts.map +1 -0
- package/dist/onboarding/concierge_client.js +80 -0
- package/dist/onboarding/concierge_client.js.map +1 -0
- package/dist/onboarding/next_step.d.ts +32 -0
- package/dist/onboarding/next_step.d.ts.map +1 -0
- package/dist/onboarding/next_step.js +60 -0
- package/dist/onboarding/next_step.js.map +1 -0
- package/dist/pending/store.d.ts +7 -0
- package/dist/pending/store.d.ts.map +1 -1
- package/dist/pending/store.js +19 -0
- package/dist/pending/store.js.map +1 -1
- package/dist/pending/types.d.ts +20 -0
- package/dist/pending/types.d.ts.map +1 -1
- package/dist/pending/types.js.map +1 -1
- package/dist/reader/parsers/epub.d.ts.map +1 -1
- package/dist/reader/parsers/epub.js +6 -1
- package/dist/reader/parsers/epub.js.map +1 -1
- package/dist/relay/board_snapshot.d.ts +69 -0
- package/dist/relay/board_snapshot.d.ts.map +1 -0
- package/dist/relay/board_snapshot.js +149 -0
- package/dist/relay/board_snapshot.js.map +1 -0
- package/dist/relay/command_consumer.d.ts +97 -0
- package/dist/relay/command_consumer.d.ts.map +1 -0
- package/dist/relay/command_consumer.js +135 -0
- package/dist/relay/command_consumer.js.map +1 -0
- package/dist/relay/mock_relay.d.ts +34 -0
- package/dist/relay/mock_relay.d.ts.map +1 -0
- package/dist/relay/mock_relay.js +93 -0
- package/dist/relay/mock_relay.js.map +1 -0
- package/dist/relay/relay_client.d.ts +28 -0
- package/dist/relay/relay_client.d.ts.map +1 -0
- package/dist/relay/relay_client.js +80 -0
- package/dist/relay/relay_client.js.map +1 -0
- package/dist/relay/relay_publisher.d.ts +59 -0
- package/dist/relay/relay_publisher.d.ts.map +1 -0
- package/dist/relay/relay_publisher.js +101 -0
- package/dist/relay/relay_publisher.js.map +1 -0
- package/dist/relay/types.d.ts +54 -0
- package/dist/relay/types.d.ts.map +1 -0
- package/dist/relay/types.js +8 -0
- package/dist/relay/types.js.map +1 -0
- package/dist/semantic_graph/ast_extract.d.ts +5 -0
- package/dist/semantic_graph/ast_extract.d.ts.map +1 -1
- package/dist/semantic_graph/ast_extract.js +46 -0
- package/dist/semantic_graph/ast_extract.js.map +1 -1
- package/dist/semantic_graph/derive.d.ts +12 -0
- package/dist/semantic_graph/derive.d.ts.map +1 -1
- package/dist/semantic_graph/derive.js +325 -6
- package/dist/semantic_graph/derive.js.map +1 -1
- package/dist/semantic_graph/store.d.ts +9 -0
- package/dist/semantic_graph/store.d.ts.map +1 -1
- package/dist/semantic_graph/store.js +23 -1
- package/dist/semantic_graph/store.js.map +1 -1
- package/dist/semantic_graph/types.d.ts +1 -1
- package/dist/semantic_graph/types.d.ts.map +1 -1
- package/dist/support/github_dispatcher.d.ts.map +1 -1
- package/dist/support/github_dispatcher.js +30 -2
- package/dist/support/github_dispatcher.js.map +1 -1
- package/dist/tasks/supervisor.d.ts +88 -0
- package/dist/tasks/supervisor.d.ts.map +1 -0
- package/dist/tasks/supervisor.js +308 -0
- package/dist/tasks/supervisor.js.map +1 -0
- package/dist/tasks/task_type.d.ts +11 -0
- package/dist/tasks/task_type.d.ts.map +1 -0
- package/dist/tasks/task_type.js +21 -0
- package/dist/tasks/task_type.js.map +1 -0
- package/dist/vault/store.d.ts.map +1 -1
- package/dist/vault/store.js +6 -1
- package/dist/vault/store.js.map +1 -1
- package/dist/version.d.ts +3 -5
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -5
- package/dist/version.js.map +1 -1
- package/dist/voice/providers/google.d.ts.map +1 -1
- package/dist/voice/providers/google.js +6 -4
- package/dist/voice/providers/google.js.map +1 -1
- package/dist/workflow/config.d.ts +43 -0
- package/dist/workflow/config.d.ts.map +1 -0
- package/dist/workflow/config.js +199 -0
- package/dist/workflow/config.js.map +1 -0
- package/dist/workflow/instances.d.ts +40 -0
- package/dist/workflow/instances.d.ts.map +1 -0
- package/dist/workflow/instances.js +122 -0
- package/dist/workflow/instances.js.map +1 -0
- package/dist/workflow/multi_view.d.ts +27 -0
- package/dist/workflow/multi_view.d.ts.map +1 -0
- package/dist/workflow/multi_view.js +76 -0
- package/dist/workflow/multi_view.js.map +1 -0
- package/dist/workflow/orchestrator.d.ts +111 -0
- package/dist/workflow/orchestrator.d.ts.map +1 -0
- package/dist/workflow/orchestrator.js +241 -0
- package/dist/workflow/orchestrator.js.map +1 -0
- package/docs/doctrine/default-design-system.md +32 -0
- package/docs/doctrine/office-tools.md +20 -0
- package/docs/doctrine/pizarron.md +40 -0
- package/docs/doctrine/verb-composition.md +16 -0
- package/docs/doctrine/workflow-kinds.md +39 -22
- package/docs/doctrine/workflow.md +12 -4
- package/package.json +2 -1
- package/src/i18n/catalogs/ar.json +223 -210
- package/src/i18n/catalogs/de.json +223 -210
- package/src/i18n/catalogs/en.json +223 -210
- package/src/i18n/catalogs/es.json +223 -210
- package/src/i18n/catalogs/fr.json +223 -210
- package/src/i18n/catalogs/hi.json +223 -210
- package/src/i18n/catalogs/it.json +223 -210
- package/src/i18n/catalogs/ja.json +223 -210
- package/src/i18n/catalogs/pt.json +223 -210
- package/src/i18n/catalogs/zh.json +223 -210
|
@@ -1,210 +1,223 @@
|
|
|
1
|
-
{
|
|
2
|
-
"panel.brand": "Yujin Forge",
|
|
3
|
-
"panel.brand.kanji": "侑",
|
|
4
|
-
"panel.tagline": "Assistente de desenvolvimento por voz",
|
|
5
|
-
"panel.input.placeholder": "Pergunte ao Yujin",
|
|
6
|
-
"panel.button.send": "Enviar",
|
|
7
|
-
"panel.button.mic": "Falar (manter pressionado)",
|
|
8
|
-
"panel.button.mic.recording": "Pressione para parar a gravacao",
|
|
9
|
-
"panel.button.tts": "Voz ativada",
|
|
10
|
-
"panel.button.keys": "Chaves",
|
|
11
|
-
"panel.button.minimise": "Reduzir",
|
|
12
|
-
"panel.button.maximise": "Maximizar",
|
|
13
|
-
"panel.button.close": "Fechar",
|
|
14
|
-
"panel.button.language": "Idioma",
|
|
15
|
-
"panel.trace.title": "Registro de acoes",
|
|
16
|
-
"panel.trace.count.one": "{n} chamada de ferramenta",
|
|
17
|
-
"panel.trace.count.other": "{n} chamadas de ferramentas",
|
|
18
|
-
"panel.trace.empty.kanji": "空",
|
|
19
|
-
"panel.trace.empty.body": "O Yujin Forge mostra aqui cada ferramenta que invoca para responder a voce: leitura do manifest, busca no SPEC, edicao de componentes, leitura de documentos. Faca uma pergunta que precise consulta-los.",
|
|
20
|
-
"panel.trace.badge.tool": "FERRAMENTA",
|
|
21
|
-
"panel.trace.badge.voice": "VOZ",
|
|
22
|
-
"panel.trace.badge.error": "ERRO",
|
|
23
|
-
"panel.stream.empty.kanji": "侑仁",
|
|
24
|
-
"panel.stream.empty.body": "Yujin Forge online. Peca mudancas ao projeto.",
|
|
25
|
-
"panel.status.no_audio": "Nao foi capturado audio. O microfone provavelmente nao recebeu nada.",
|
|
26
|
-
"panel.status.did_not_catch": "Nao entendi. Vamos tentar de novo.",
|
|
27
|
-
"panel.status.mic_denied": "Permissao do microfone negada ou indisponivel: {error}",
|
|
28
|
-
"panel.status.voice_failed": "A voz falhou: {error}",
|
|
29
|
-
"panel.status.voice_reply_failed": "Nao consegui reproduzir a resposta: {error}",
|
|
30
|
-
"panel.status.audio_play_error": "Nao consegui reproduzir o audio: {error}",
|
|
31
|
-
"panel.status.reading": "Lendo {filename}...",
|
|
32
|
-
"panel.status.ingest_failed": "A ingestao falhou: {error}",
|
|
33
|
-
"panel.status.read_failed": "Nao consegui ler a especificacao: {error}",
|
|
34
|
-
"panel.drop.title": "Solte a especificacao aqui",
|
|
35
|
-
"panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
|
|
36
|
-
"panel.ingest.spec_attached": "Especificacao anexada: {filename}, {kb} KB",
|
|
37
|
-
"panel.ingest.read_label": "Lida.",
|
|
38
|
-
"panel.ingest.title_label": "Titulo: {title}",
|
|
39
|
-
"panel.ingest.no_title": "(sem titulo)",
|
|
40
|
-
"panel.ingest.format_label": "Formato: {format} / {sections} secao(oes) / {kb} KB",
|
|
41
|
-
"panel.ingest.first_lines": "Primeiras linhas:",
|
|
42
|
-
"panel.ingest.action_done": "Acao {tool} concluida.",
|
|
43
|
-
"vault.modal.title": "Credenciais (vault)",
|
|
44
|
-
"vault.modal.aria.close": "Fechar modal de credenciais",
|
|
45
|
-
"vault.tab.list": "Slots carregados",
|
|
46
|
-
"vault.tab.add": "Adicionar",
|
|
47
|
-
"vault.list.loading": "Carregando...",
|
|
48
|
-
"vault.list.empty": "Voce ainda nao carregou nenhuma chave. Clique em \"Adicionar\" para comecar.",
|
|
49
|
-
"vault.add.slot_label": "Nome do slot",
|
|
50
|
-
"vault.add.slot_hint": "Letras minusculas, digitos, sublinhado, hifen. Deve comecar com letra.",
|
|
51
|
-
"vault.add.value_label": "Valor em texto claro (oculto)",
|
|
52
|
-
"vault.add.value_hint": "Aparece uma so vez ao salvar. Depois pode ser substituido mas nao lido.",
|
|
53
|
-
"vault.add.button_save": "Salvar",
|
|
54
|
-
"vault.add.button_cancel": "Cancelar",
|
|
55
|
-
"vault.add.success": "Slot {slot} salvo.",
|
|
56
|
-
"vault.add.overwrite": "Slot {slot} sobrescrito.",
|
|
57
|
-
"manual.intro": "Yujin Forge -- manual do usuario",
|
|
58
|
-
"manual.section.welcome": "Boas-vindas",
|
|
59
|
-
"manual.section.install": "Instalacao",
|
|
60
|
-
"manual.section.first_run": "Primeira execucao",
|
|
61
|
-
"manual.section.voice": "Comandos por voz",
|
|
62
|
-
"manual.section.spec_ingest": "Ingestao de especificacoes",
|
|
63
|
-
"manual.section.troubleshooting": "Solucao de problemas",
|
|
64
|
-
"manual.section.support": "Suporte",
|
|
65
|
-
"lang.name.es": "Espanhol",
|
|
66
|
-
"lang.name.en": "Ingles",
|
|
67
|
-
"lang.name.pt": "Portugues",
|
|
68
|
-
"lang.name.fr": "Frances",
|
|
69
|
-
"lang.name.ja": "Japones",
|
|
70
|
-
"lang.name.zh": "Chines",
|
|
71
|
-
"lang.name.hi": "Hindi",
|
|
72
|
-
"lang.name.ar": "Arabe",
|
|
73
|
-
"lang.name.de": "Alemao",
|
|
74
|
-
"lang.name.it": "Italiano",
|
|
75
|
-
"recap.fallback_period": ".",
|
|
76
|
-
"recap.empty": "Ainda nao ha nada para resumir.",
|
|
77
|
-
"error_ui.severity.info": "INFO",
|
|
78
|
-
"error_ui.severity.warning": "ATENCAO",
|
|
79
|
-
"error_ui.severity.error": "ERRO",
|
|
80
|
-
"error_ui.severity.fatal": "FATAL",
|
|
81
|
-
"error_ui.label.what": "O que aconteceu",
|
|
82
|
-
"error_ui.label.why": "Por que",
|
|
83
|
-
"error_ui.label.fix": "Como resolver",
|
|
84
|
-
"error_ui.label.cmd": "Comando",
|
|
85
|
-
"error_ui.label.docs": "Docs locais",
|
|
86
|
-
"error_ui.label.retry": "Tentar novamente em",
|
|
87
|
-
"error_ui.copy_btn": "Copiar comando",
|
|
88
|
-
"error_ui.unknown.what": "Forge encontrou um erro interno (codigo desconhecido).",
|
|
89
|
-
"error_ui.unknown.why": "O codigo {code} nao esta no catalogo. E um bug.",
|
|
90
|
-
"error_ui.unknown.fix": "Abra um issue em https://github.com/yujinapp/yujin-forge/issues com o codigo + traceback.",
|
|
91
|
-
"error.cap_frontier_exhausted.what": "Cap mensal de tokens do tier frontier esgotado (modelo grande).",
|
|
92
|
-
"error.cap_frontier_exhausted.why": "Seu plano {plan} permite ate {cap} tokens/mes em frontier. Voce usou {used}. Reseta no inicio do proximo mes UTC.",
|
|
93
|
-
"error.cap_frontier_exhausted.fix": "Mude para BYOK Anthropic direto: ignora o cap mensal do worker. Seu custo passa a ser o que a Anthropic cobra.",
|
|
94
|
-
"error.cap_frontier_exhausted.cmd": "yf brain config --frontier-provider anthropic --frontier-model claude-opus-4-7",
|
|
95
|
-
"error.cap_eco_exhausted.what": "Cap mensal de tokens do tier eco esgotado (modelo pequeno).",
|
|
96
|
-
"error.cap_eco_exhausted.why": "Seu plano {plan} permite ate {cap} tokens/mes em eco. Voce usou {used}. Reseta no inicio do proximo mes UTC.",
|
|
97
|
-
"error.cap_eco_exhausted.fix": "Mude para BYOK direto ou suba de plano. BYOK ignora o cap do worker.",
|
|
98
|
-
"error.cap_eco_exhausted.cmd": "yf brain config --eco-provider google_ai --eco-model gemini-2.5-flash-lite",
|
|
99
|
-
"error.tier_not_in_plan.what": "O tier {tier} nao esta habilitado no seu plano.",
|
|
100
|
-
"error.tier_not_in_plan.why": "Seu plano {plan} nao inclui o tier {tier}. Provavelmente voce esta em free-public ou sua licenca expirou.",
|
|
101
|
-
"error.tier_not_in_plan.fix": "Ative uma licenca paga ou mude para BYOK direto (seu custo, sem cap do worker).",
|
|
102
|
-
"error.tier_not_in_plan.cmd": "yf license activate --key <jwt>",
|
|
103
|
-
"error.response_truncated.what": "A resposta do modelo foi cortada antes de terminar.",
|
|
104
|
-
"error.response_truncated.why": "Limite managed_max_tokens_per_turn = {limit} tokens atingido no meio do turno. O modelo parou de gerar.",
|
|
105
|
-
"error.response_truncated.fix": "Aumente o limite via yf limits. Aplica ao proximo turno sem reiniciar o chat.",
|
|
106
|
-
"error.response_truncated.cmd": "yf limits set managed_max_tokens_per_turn 16384",
|
|
107
|
-
"error.response_truncated.banner": "[Resposta truncada por max_tokens={max}. Aumente o limite com: yf limits set managed_max_tokens_per_turn {suggested}]",
|
|
108
|
-
"error.modal_trace_stale.what": "O modal de aprovacao expirou ou ficou orfao.",
|
|
109
|
-
"error.modal_trace_stale.why": "O trace_id {trace_id} nao tem approval pendente no dispatcher. Possivel race condition entre invoke e estado do panel, ou cancel anterior deixou o trace zumbi.",
|
|
110
|
-
"error.modal_trace_stale.fix": "Reinvoque o verb do chat: inicia um novo trace limpo. Se persistir, rode yf doctor para verificar o panel.",
|
|
111
|
-
"error.modal_trace_stale.cmd": "yf doctor",
|
|
112
|
-
"error.byok_key_missing.what": "API key faltando para o provider {provider}.",
|
|
113
|
-
"error.byok_key_missing.why": "Voce configurou {provider} como provider do tier {tier} mas o slot byok_{slot} nao esta no Vault encriptado.",
|
|
114
|
-
"error.byok_key_missing.fix": "Configure a key com yf keys set (atomico, mode 0600, nunca logado).",
|
|
115
|
-
"error.byok_key_missing.cmd": "yf keys set {slot}",
|
|
116
|
-
"error.worker_unreachable.what": "Nao consegui alcancar o worker yujin.app.",
|
|
117
|
-
"error.worker_unreachable.why": "Timeout de rede ou worker fora (HTTP {status}). Tentei {attempts} vezes.",
|
|
118
|
-
"error.worker_unreachable.fix": "Verifique sua internet. Se estiver OK, mude temporariamente para BYOK direto.",
|
|
119
|
-
"error.worker_unreachable.cmd": "yf brain config --frontier-provider anthropic",
|
|
120
|
-
"error.vault_decrypt_failed.what": "Nao consegui descriptar uma chave do Vault.",
|
|
121
|
-
"error.vault_decrypt_failed.why": "A master key esta incorreta ou o arquivo do Vault esta corrompido. Pode acontecer se voce moveu config entre maquinas sem migrar a master ou por disk error.",
|
|
122
|
-
"error.vault_decrypt_failed.fix": "Puxe a copia do server (re-encripta com sua master local) se voce tem server backup ativo.",
|
|
123
|
-
"error.vault_decrypt_failed.cmd": "yf keys setup --pull",
|
|
124
|
-
"error.shell_exec_rejected.what": "Voce rejeitou o modal R8 de yujin.shell.exec.",
|
|
125
|
-
"error.shell_exec_rejected.why": "O comando {command} foi classificado como {classification}. shell.exec sempre pede aprovacao por seguranca, mesmo sendo read-only.",
|
|
126
|
-
"error.shell_exec_rejected.fix": "Se o comando era read-only (yf projects active, git status, ls), use o verb nativo equivalente. Se era necessario e voce rejeitou por erro, reinvoque.",
|
|
127
|
-
"error.project_not_registered.what": "Nao ha projeto adopter registrado.",
|
|
128
|
-
"error.project_not_registered.why": "O verb invocado requer project root ativo mas ~/.yujin-forge/projects.json nao tem entradas.",
|
|
129
|
-
"error.project_not_registered.fix": "Crie um com yujin.project.init ou registre um existente com yf projects add.",
|
|
130
|
-
"error.project_not_registered.cmd": "yf projects scan",
|
|
131
|
-
"panel.button.agents": "Agentes",
|
|
132
|
-
"panel.agents.title": "Agentes",
|
|
133
|
-
"panel.agents.subtitle": "Director e sub-agentes registados neste projeto",
|
|
134
|
-
"panel.agents.empty.title": "Ainda nao ha agentes",
|
|
135
|
-
"panel.agents.empty.body": "Execute `yf agent install --defaults` para registar o Director e os 4 sub-agentes (Analista, Coder, Tester, Scaffolder).",
|
|
136
|
-
"panel.agents.legend.eco": "Eco",
|
|
137
|
-
"panel.agents.legend.managed": "Managed",
|
|
138
|
-
"panel.agents.legend.frontier": "Frontier",
|
|
139
|
-
"panel.agents.status.disabled": "Runtime de agentes nao iniciado",
|
|
140
|
-
"panel.agents.event.running": "A correr",
|
|
141
|
-
"panel.agents.event.idle": "Em espera",
|
|
142
|
-
"panel.agents.tick.live": "Ligado",
|
|
143
|
-
"panel.agents.tick.lost": "Ligacao perdida",
|
|
144
|
-
"workflow.phase.i": "Triagem e intencao",
|
|
145
|
-
"workflow.phase.ii": "Clarificacao (funcional + 4 NFR + blocos)",
|
|
146
|
-
"workflow.phase.iii": "Especificacoes (RFP + Arch + Design + aprovacoes)",
|
|
147
|
-
"workflow.phase.iv": "Bootstrap",
|
|
148
|
-
"workflow.phase.v": "Desenvolvimento por blocos",
|
|
149
|
-
"workflow.phase.vi": "Deploy + pos-lancamento",
|
|
150
|
-
"wizard.title": "Bem-vindo ao Yujin Forge",
|
|
151
|
-
"wizard.close": "Fechar",
|
|
152
|
-
"wizard.intro": "Para comecar, escolha como o Forge conecta ao seu modelo de IA. Voce pode mudar isso depois em Settings.",
|
|
153
|
-
"wizard.back": "Voltar",
|
|
154
|
-
"wizard.start": "Comecar",
|
|
155
|
-
"wizard.plan.badge": "Recomendado",
|
|
156
|
-
"wizard.plan.title": "Plano Claude",
|
|
157
|
-
"wizard.plan.desc": "Assinatura mensal Claude. Opcao mais economica para uso continuo. Forge usa sua sessao claude -p.",
|
|
158
|
-
"wizard.plan.price": "Taxa fixa mensal (Plano)",
|
|
159
|
-
"wizard.plan.step.title": "Conectar seu Plano Claude",
|
|
160
|
-
"wizard.plan.step.1": "Abra um novo terminal.",
|
|
161
|
-
"wizard.plan.step.2": "Execute o comando claude (sem argumentos) e complete o login no navegador.",
|
|
162
|
-
"wizard.plan.step.3": "Volte aqui e clique em Estou logado para verificar.",
|
|
163
|
-
"wizard.plan.done": "Estou logado",
|
|
164
|
-
"wizard.byok.title": "Chave Console API (BYOK)",
|
|
165
|
-
"wizard.byok.desc": "Sua propria chave Anthropic Console. Paga por uso. Mais flexivel mas o custo varia.",
|
|
166
|
-
"wizard.byok.price": "Pagamento por uso (Console)",
|
|
167
|
-
"wizard.byok.step.title": "Cole sua chave API Anthropic",
|
|
168
|
-
"wizard.byok.step.intro": "Sua chave comeca com sk-ant- e e obtida em console.anthropic.com. Forge armazena ela encriptada no Vault local; nunca sai da sua maquina.",
|
|
169
|
-
"wizard.byok.test": "Validar e salvar",
|
|
170
|
-
"wizard.skip.title": "Ja tenho tudo configurado",
|
|
171
|
-
"wizard.skip.desc": "Pular o wizard. Voce pode abri-lo depois em Settings.",
|
|
172
|
-
"wizard.done.kanji": "Pronto",
|
|
173
|
-
"wizard.done.title": "Pronto",
|
|
174
|
-
"wizard.done.msg": "Forge esta configurado. Comece a conversar.",
|
|
175
|
-
"pizarron.button.read": "Ler em voz alta",
|
|
176
|
-
"pizarron.button.copy": "Copiar",
|
|
177
|
-
"pizarron.button.edit": "Editar",
|
|
178
|
-
"pizarron.graph.refresh": "Atualizar",
|
|
179
|
-
"pizarron.graph.regenerating": "Regenerando...",
|
|
180
|
-
"pizarron.graph.detail.hint": "Toque num no para ver o detalhe.",
|
|
181
|
-
"pizarron.graph.detail.empty": "Sem detalhe para este no.",
|
|
182
|
-
"pizarron.graph.detail.weight": "peso",
|
|
183
|
-
"startup.tab.graph": "Grafo visual",
|
|
184
|
-
"startup.tab.graphSem": "Grafo semantico",
|
|
185
|
-
"startup.tab.pendings": "Pendencias",
|
|
186
|
-
"startup.tab.workflow": "Workflow",
|
|
187
|
-
"settings.startupTabs": "Abas ao abrir (grafo, pendencias, workflow)",
|
|
188
|
-
"graph.term.nodes": "nos",
|
|
189
|
-
"graph.term.edges": "arestas",
|
|
190
|
-
"coding.read": "Lendo {x}",
|
|
191
|
-
"coding.read_bare": "Lendo um arquivo",
|
|
192
|
-
"coding.edit": "Editando {x}",
|
|
193
|
-
"coding.edit_bare": "Editando um arquivo",
|
|
194
|
-
"coding.write": "Escrevendo {x}",
|
|
195
|
-
"coding.write_bare": "Escrevendo um arquivo",
|
|
196
|
-
"coding.notebook_bare": "Editando notebook",
|
|
197
|
-
"coding.bash": "Executando: {x}",
|
|
198
|
-
"coding.bash_bare": "Executando um comando",
|
|
199
|
-
"coding.grep": "Buscando \"{x}\"",
|
|
200
|
-
"coding.grep_bare": "Buscando no codigo",
|
|
201
|
-
"coding.glob": "Listando {x}",
|
|
202
|
-
"coding.glob_bare": "Listando arquivos",
|
|
203
|
-
"coding.web_bare": "Lendo a web",
|
|
204
|
-
"coding.websearch": "Buscando na web: {x}",
|
|
205
|
-
"coding.websearch_bare": "Buscando na web",
|
|
206
|
-
"coding.task": "Subagente: {x}",
|
|
207
|
-
"coding.task_bare": "Lancando um subagente",
|
|
208
|
-
"coding.todo": "Atualizando sua lista de tarefas",
|
|
209
|
-
"coding.verb_bare": "Executando um verbo yujin"
|
|
210
|
-
|
|
1
|
+
{
|
|
2
|
+
"panel.brand": "Yujin Forge",
|
|
3
|
+
"panel.brand.kanji": "侑",
|
|
4
|
+
"panel.tagline": "Assistente de desenvolvimento por voz",
|
|
5
|
+
"panel.input.placeholder": "Pergunte ao Yujin",
|
|
6
|
+
"panel.button.send": "Enviar",
|
|
7
|
+
"panel.button.mic": "Falar (manter pressionado)",
|
|
8
|
+
"panel.button.mic.recording": "Pressione para parar a gravacao",
|
|
9
|
+
"panel.button.tts": "Voz ativada",
|
|
10
|
+
"panel.button.keys": "Chaves",
|
|
11
|
+
"panel.button.minimise": "Reduzir",
|
|
12
|
+
"panel.button.maximise": "Maximizar",
|
|
13
|
+
"panel.button.close": "Fechar",
|
|
14
|
+
"panel.button.language": "Idioma",
|
|
15
|
+
"panel.trace.title": "Registro de acoes",
|
|
16
|
+
"panel.trace.count.one": "{n} chamada de ferramenta",
|
|
17
|
+
"panel.trace.count.other": "{n} chamadas de ferramentas",
|
|
18
|
+
"panel.trace.empty.kanji": "空",
|
|
19
|
+
"panel.trace.empty.body": "O Yujin Forge mostra aqui cada ferramenta que invoca para responder a voce: leitura do manifest, busca no SPEC, edicao de componentes, leitura de documentos. Faca uma pergunta que precise consulta-los.",
|
|
20
|
+
"panel.trace.badge.tool": "FERRAMENTA",
|
|
21
|
+
"panel.trace.badge.voice": "VOZ",
|
|
22
|
+
"panel.trace.badge.error": "ERRO",
|
|
23
|
+
"panel.stream.empty.kanji": "侑仁",
|
|
24
|
+
"panel.stream.empty.body": "Yujin Forge online. Peca mudancas ao projeto.",
|
|
25
|
+
"panel.status.no_audio": "Nao foi capturado audio. O microfone provavelmente nao recebeu nada.",
|
|
26
|
+
"panel.status.did_not_catch": "Nao entendi. Vamos tentar de novo.",
|
|
27
|
+
"panel.status.mic_denied": "Permissao do microfone negada ou indisponivel: {error}",
|
|
28
|
+
"panel.status.voice_failed": "A voz falhou: {error}",
|
|
29
|
+
"panel.status.voice_reply_failed": "Nao consegui reproduzir a resposta: {error}",
|
|
30
|
+
"panel.status.audio_play_error": "Nao consegui reproduzir o audio: {error}",
|
|
31
|
+
"panel.status.reading": "Lendo {filename}...",
|
|
32
|
+
"panel.status.ingest_failed": "A ingestao falhou: {error}",
|
|
33
|
+
"panel.status.read_failed": "Nao consegui ler a especificacao: {error}",
|
|
34
|
+
"panel.drop.title": "Solte a especificacao aqui",
|
|
35
|
+
"panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
|
|
36
|
+
"panel.ingest.spec_attached": "Especificacao anexada: {filename}, {kb} KB",
|
|
37
|
+
"panel.ingest.read_label": "Lida.",
|
|
38
|
+
"panel.ingest.title_label": "Titulo: {title}",
|
|
39
|
+
"panel.ingest.no_title": "(sem titulo)",
|
|
40
|
+
"panel.ingest.format_label": "Formato: {format} / {sections} secao(oes) / {kb} KB",
|
|
41
|
+
"panel.ingest.first_lines": "Primeiras linhas:",
|
|
42
|
+
"panel.ingest.action_done": "Acao {tool} concluida.",
|
|
43
|
+
"vault.modal.title": "Credenciais (vault)",
|
|
44
|
+
"vault.modal.aria.close": "Fechar modal de credenciais",
|
|
45
|
+
"vault.tab.list": "Slots carregados",
|
|
46
|
+
"vault.tab.add": "Adicionar",
|
|
47
|
+
"vault.list.loading": "Carregando...",
|
|
48
|
+
"vault.list.empty": "Voce ainda nao carregou nenhuma chave. Clique em \"Adicionar\" para comecar.",
|
|
49
|
+
"vault.add.slot_label": "Nome do slot",
|
|
50
|
+
"vault.add.slot_hint": "Letras minusculas, digitos, sublinhado, hifen. Deve comecar com letra.",
|
|
51
|
+
"vault.add.value_label": "Valor em texto claro (oculto)",
|
|
52
|
+
"vault.add.value_hint": "Aparece uma so vez ao salvar. Depois pode ser substituido mas nao lido.",
|
|
53
|
+
"vault.add.button_save": "Salvar",
|
|
54
|
+
"vault.add.button_cancel": "Cancelar",
|
|
55
|
+
"vault.add.success": "Slot {slot} salvo.",
|
|
56
|
+
"vault.add.overwrite": "Slot {slot} sobrescrito.",
|
|
57
|
+
"manual.intro": "Yujin Forge -- manual do usuario",
|
|
58
|
+
"manual.section.welcome": "Boas-vindas",
|
|
59
|
+
"manual.section.install": "Instalacao",
|
|
60
|
+
"manual.section.first_run": "Primeira execucao",
|
|
61
|
+
"manual.section.voice": "Comandos por voz",
|
|
62
|
+
"manual.section.spec_ingest": "Ingestao de especificacoes",
|
|
63
|
+
"manual.section.troubleshooting": "Solucao de problemas",
|
|
64
|
+
"manual.section.support": "Suporte",
|
|
65
|
+
"lang.name.es": "Espanhol",
|
|
66
|
+
"lang.name.en": "Ingles",
|
|
67
|
+
"lang.name.pt": "Portugues",
|
|
68
|
+
"lang.name.fr": "Frances",
|
|
69
|
+
"lang.name.ja": "Japones",
|
|
70
|
+
"lang.name.zh": "Chines",
|
|
71
|
+
"lang.name.hi": "Hindi",
|
|
72
|
+
"lang.name.ar": "Arabe",
|
|
73
|
+
"lang.name.de": "Alemao",
|
|
74
|
+
"lang.name.it": "Italiano",
|
|
75
|
+
"recap.fallback_period": ".",
|
|
76
|
+
"recap.empty": "Ainda nao ha nada para resumir.",
|
|
77
|
+
"error_ui.severity.info": "INFO",
|
|
78
|
+
"error_ui.severity.warning": "ATENCAO",
|
|
79
|
+
"error_ui.severity.error": "ERRO",
|
|
80
|
+
"error_ui.severity.fatal": "FATAL",
|
|
81
|
+
"error_ui.label.what": "O que aconteceu",
|
|
82
|
+
"error_ui.label.why": "Por que",
|
|
83
|
+
"error_ui.label.fix": "Como resolver",
|
|
84
|
+
"error_ui.label.cmd": "Comando",
|
|
85
|
+
"error_ui.label.docs": "Docs locais",
|
|
86
|
+
"error_ui.label.retry": "Tentar novamente em",
|
|
87
|
+
"error_ui.copy_btn": "Copiar comando",
|
|
88
|
+
"error_ui.unknown.what": "Forge encontrou um erro interno (codigo desconhecido).",
|
|
89
|
+
"error_ui.unknown.why": "O codigo {code} nao esta no catalogo. E um bug.",
|
|
90
|
+
"error_ui.unknown.fix": "Abra um issue em https://github.com/yujinapp/yujin-forge/issues com o codigo + traceback.",
|
|
91
|
+
"error.cap_frontier_exhausted.what": "Cap mensal de tokens do tier frontier esgotado (modelo grande).",
|
|
92
|
+
"error.cap_frontier_exhausted.why": "Seu plano {plan} permite ate {cap} tokens/mes em frontier. Voce usou {used}. Reseta no inicio do proximo mes UTC.",
|
|
93
|
+
"error.cap_frontier_exhausted.fix": "Mude para BYOK Anthropic direto: ignora o cap mensal do worker. Seu custo passa a ser o que a Anthropic cobra.",
|
|
94
|
+
"error.cap_frontier_exhausted.cmd": "yf brain config --frontier-provider anthropic --frontier-model claude-opus-4-7",
|
|
95
|
+
"error.cap_eco_exhausted.what": "Cap mensal de tokens do tier eco esgotado (modelo pequeno).",
|
|
96
|
+
"error.cap_eco_exhausted.why": "Seu plano {plan} permite ate {cap} tokens/mes em eco. Voce usou {used}. Reseta no inicio do proximo mes UTC.",
|
|
97
|
+
"error.cap_eco_exhausted.fix": "Mude para BYOK direto ou suba de plano. BYOK ignora o cap do worker.",
|
|
98
|
+
"error.cap_eco_exhausted.cmd": "yf brain config --eco-provider google_ai --eco-model gemini-2.5-flash-lite",
|
|
99
|
+
"error.tier_not_in_plan.what": "O tier {tier} nao esta habilitado no seu plano.",
|
|
100
|
+
"error.tier_not_in_plan.why": "Seu plano {plan} nao inclui o tier {tier}. Provavelmente voce esta em free-public ou sua licenca expirou.",
|
|
101
|
+
"error.tier_not_in_plan.fix": "Ative uma licenca paga ou mude para BYOK direto (seu custo, sem cap do worker).",
|
|
102
|
+
"error.tier_not_in_plan.cmd": "yf license activate --key <jwt>",
|
|
103
|
+
"error.response_truncated.what": "A resposta do modelo foi cortada antes de terminar.",
|
|
104
|
+
"error.response_truncated.why": "Limite managed_max_tokens_per_turn = {limit} tokens atingido no meio do turno. O modelo parou de gerar.",
|
|
105
|
+
"error.response_truncated.fix": "Aumente o limite via yf limits. Aplica ao proximo turno sem reiniciar o chat.",
|
|
106
|
+
"error.response_truncated.cmd": "yf limits set managed_max_tokens_per_turn 16384",
|
|
107
|
+
"error.response_truncated.banner": "[Resposta truncada por max_tokens={max}. Aumente o limite com: yf limits set managed_max_tokens_per_turn {suggested}]",
|
|
108
|
+
"error.modal_trace_stale.what": "O modal de aprovacao expirou ou ficou orfao.",
|
|
109
|
+
"error.modal_trace_stale.why": "O trace_id {trace_id} nao tem approval pendente no dispatcher. Possivel race condition entre invoke e estado do panel, ou cancel anterior deixou o trace zumbi.",
|
|
110
|
+
"error.modal_trace_stale.fix": "Reinvoque o verb do chat: inicia um novo trace limpo. Se persistir, rode yf doctor para verificar o panel.",
|
|
111
|
+
"error.modal_trace_stale.cmd": "yf doctor",
|
|
112
|
+
"error.byok_key_missing.what": "API key faltando para o provider {provider}.",
|
|
113
|
+
"error.byok_key_missing.why": "Voce configurou {provider} como provider do tier {tier} mas o slot byok_{slot} nao esta no Vault encriptado.",
|
|
114
|
+
"error.byok_key_missing.fix": "Configure a key com yf keys set (atomico, mode 0600, nunca logado).",
|
|
115
|
+
"error.byok_key_missing.cmd": "yf keys set {slot}",
|
|
116
|
+
"error.worker_unreachable.what": "Nao consegui alcancar o worker yujin.app.",
|
|
117
|
+
"error.worker_unreachable.why": "Timeout de rede ou worker fora (HTTP {status}). Tentei {attempts} vezes.",
|
|
118
|
+
"error.worker_unreachable.fix": "Verifique sua internet. Se estiver OK, mude temporariamente para BYOK direto.",
|
|
119
|
+
"error.worker_unreachable.cmd": "yf brain config --frontier-provider anthropic",
|
|
120
|
+
"error.vault_decrypt_failed.what": "Nao consegui descriptar uma chave do Vault.",
|
|
121
|
+
"error.vault_decrypt_failed.why": "A master key esta incorreta ou o arquivo do Vault esta corrompido. Pode acontecer se voce moveu config entre maquinas sem migrar a master ou por disk error.",
|
|
122
|
+
"error.vault_decrypt_failed.fix": "Puxe a copia do server (re-encripta com sua master local) se voce tem server backup ativo.",
|
|
123
|
+
"error.vault_decrypt_failed.cmd": "yf keys setup --pull",
|
|
124
|
+
"error.shell_exec_rejected.what": "Voce rejeitou o modal R8 de yujin.shell.exec.",
|
|
125
|
+
"error.shell_exec_rejected.why": "O comando {command} foi classificado como {classification}. shell.exec sempre pede aprovacao por seguranca, mesmo sendo read-only.",
|
|
126
|
+
"error.shell_exec_rejected.fix": "Se o comando era read-only (yf projects active, git status, ls), use o verb nativo equivalente. Se era necessario e voce rejeitou por erro, reinvoque.",
|
|
127
|
+
"error.project_not_registered.what": "Nao ha projeto adopter registrado.",
|
|
128
|
+
"error.project_not_registered.why": "O verb invocado requer project root ativo mas ~/.yujin-forge/projects.json nao tem entradas.",
|
|
129
|
+
"error.project_not_registered.fix": "Crie um com yujin.project.init ou registre um existente com yf projects add.",
|
|
130
|
+
"error.project_not_registered.cmd": "yf projects scan",
|
|
131
|
+
"panel.button.agents": "Agentes",
|
|
132
|
+
"panel.agents.title": "Agentes",
|
|
133
|
+
"panel.agents.subtitle": "Director e sub-agentes registados neste projeto",
|
|
134
|
+
"panel.agents.empty.title": "Ainda nao ha agentes",
|
|
135
|
+
"panel.agents.empty.body": "Execute `yf agent install --defaults` para registar o Director e os 4 sub-agentes (Analista, Coder, Tester, Scaffolder).",
|
|
136
|
+
"panel.agents.legend.eco": "Eco",
|
|
137
|
+
"panel.agents.legend.managed": "Managed",
|
|
138
|
+
"panel.agents.legend.frontier": "Frontier",
|
|
139
|
+
"panel.agents.status.disabled": "Runtime de agentes nao iniciado",
|
|
140
|
+
"panel.agents.event.running": "A correr",
|
|
141
|
+
"panel.agents.event.idle": "Em espera",
|
|
142
|
+
"panel.agents.tick.live": "Ligado",
|
|
143
|
+
"panel.agents.tick.lost": "Ligacao perdida",
|
|
144
|
+
"workflow.phase.i": "Triagem e intencao",
|
|
145
|
+
"workflow.phase.ii": "Clarificacao (funcional + 4 NFR + blocos)",
|
|
146
|
+
"workflow.phase.iii": "Especificacoes (RFP + Arch + Design + aprovacoes)",
|
|
147
|
+
"workflow.phase.iv": "Bootstrap",
|
|
148
|
+
"workflow.phase.v": "Desenvolvimento por blocos",
|
|
149
|
+
"workflow.phase.vi": "Deploy + pos-lancamento",
|
|
150
|
+
"wizard.title": "Bem-vindo ao Yujin Forge",
|
|
151
|
+
"wizard.close": "Fechar",
|
|
152
|
+
"wizard.intro": "Para comecar, escolha como o Forge conecta ao seu modelo de IA. Voce pode mudar isso depois em Settings.",
|
|
153
|
+
"wizard.back": "Voltar",
|
|
154
|
+
"wizard.start": "Comecar",
|
|
155
|
+
"wizard.plan.badge": "Recomendado",
|
|
156
|
+
"wizard.plan.title": "Plano Claude",
|
|
157
|
+
"wizard.plan.desc": "Assinatura mensal Claude. Opcao mais economica para uso continuo. Forge usa sua sessao claude -p.",
|
|
158
|
+
"wizard.plan.price": "Taxa fixa mensal (Plano)",
|
|
159
|
+
"wizard.plan.step.title": "Conectar seu Plano Claude",
|
|
160
|
+
"wizard.plan.step.1": "Abra um novo terminal.",
|
|
161
|
+
"wizard.plan.step.2": "Execute o comando claude (sem argumentos) e complete o login no navegador.",
|
|
162
|
+
"wizard.plan.step.3": "Volte aqui e clique em Estou logado para verificar.",
|
|
163
|
+
"wizard.plan.done": "Estou logado",
|
|
164
|
+
"wizard.byok.title": "Chave Console API (BYOK)",
|
|
165
|
+
"wizard.byok.desc": "Sua propria chave Anthropic Console. Paga por uso. Mais flexivel mas o custo varia.",
|
|
166
|
+
"wizard.byok.price": "Pagamento por uso (Console)",
|
|
167
|
+
"wizard.byok.step.title": "Cole sua chave API Anthropic",
|
|
168
|
+
"wizard.byok.step.intro": "Sua chave comeca com sk-ant- e e obtida em console.anthropic.com. Forge armazena ela encriptada no Vault local; nunca sai da sua maquina.",
|
|
169
|
+
"wizard.byok.test": "Validar e salvar",
|
|
170
|
+
"wizard.skip.title": "Ja tenho tudo configurado",
|
|
171
|
+
"wizard.skip.desc": "Pular o wizard. Voce pode abri-lo depois em Settings.",
|
|
172
|
+
"wizard.done.kanji": "Pronto",
|
|
173
|
+
"wizard.done.title": "Pronto",
|
|
174
|
+
"wizard.done.msg": "Forge esta configurado. Comece a conversar.",
|
|
175
|
+
"pizarron.button.read": "Ler em voz alta",
|
|
176
|
+
"pizarron.button.copy": "Copiar",
|
|
177
|
+
"pizarron.button.edit": "Editar",
|
|
178
|
+
"pizarron.graph.refresh": "Atualizar",
|
|
179
|
+
"pizarron.graph.regenerating": "Regenerando...",
|
|
180
|
+
"pizarron.graph.detail.hint": "Toque num no para ver o detalhe.",
|
|
181
|
+
"pizarron.graph.detail.empty": "Sem detalhe para este no.",
|
|
182
|
+
"pizarron.graph.detail.weight": "peso",
|
|
183
|
+
"startup.tab.graph": "Grafo visual",
|
|
184
|
+
"startup.tab.graphSem": "Grafo semantico",
|
|
185
|
+
"startup.tab.pendings": "Pendencias",
|
|
186
|
+
"startup.tab.workflow": "Workflow",
|
|
187
|
+
"settings.startupTabs": "Abas ao abrir (grafo, pendencias, workflow)",
|
|
188
|
+
"graph.term.nodes": "nos",
|
|
189
|
+
"graph.term.edges": "arestas",
|
|
190
|
+
"coding.read": "Lendo {x}",
|
|
191
|
+
"coding.read_bare": "Lendo um arquivo",
|
|
192
|
+
"coding.edit": "Editando {x}",
|
|
193
|
+
"coding.edit_bare": "Editando um arquivo",
|
|
194
|
+
"coding.write": "Escrevendo {x}",
|
|
195
|
+
"coding.write_bare": "Escrevendo um arquivo",
|
|
196
|
+
"coding.notebook_bare": "Editando notebook",
|
|
197
|
+
"coding.bash": "Executando: {x}",
|
|
198
|
+
"coding.bash_bare": "Executando um comando",
|
|
199
|
+
"coding.grep": "Buscando \"{x}\"",
|
|
200
|
+
"coding.grep_bare": "Buscando no codigo",
|
|
201
|
+
"coding.glob": "Listando {x}",
|
|
202
|
+
"coding.glob_bare": "Listando arquivos",
|
|
203
|
+
"coding.web_bare": "Lendo a web",
|
|
204
|
+
"coding.websearch": "Buscando na web: {x}",
|
|
205
|
+
"coding.websearch_bare": "Buscando na web",
|
|
206
|
+
"coding.task": "Subagente: {x}",
|
|
207
|
+
"coding.task_bare": "Lancando um subagente",
|
|
208
|
+
"coding.todo": "Atualizando sua lista de tarefas",
|
|
209
|
+
"coding.verb_bare": "Executando um verbo yujin",
|
|
210
|
+
"panel.button.stop": "Parar",
|
|
211
|
+
"panel.status.stopping": "Parando...",
|
|
212
|
+
"panel.status.noActiveTurn": "Nao havia nenhum turno em andamento.",
|
|
213
|
+
"panel.status.interruptFailed": "Nao foi possivel enviar a interrupcao.",
|
|
214
|
+
"panel.status.turnInterrupted": "Turno interrompido.",
|
|
215
|
+
"panel.label.interrupted": "(interrompido)",
|
|
216
|
+
"panel.queue.label": "Na fila",
|
|
217
|
+
"panel.queue.remove": "Remover da fila",
|
|
218
|
+
"panel.project.switchHint": "Trocar de projeto",
|
|
219
|
+
"panel.project.title": "Projetos",
|
|
220
|
+
"panel.project.add": "Adicionar projeto...",
|
|
221
|
+
"panel.project.addPrompt": "Caminho absoluto do projeto a adicionar:",
|
|
222
|
+
"panel.project.switching": "Trocando de projeto..."
|
|
223
|
+
}
|