@stacksjs/defaults 0.75.360 → 0.75.362

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.
Files changed (209) hide show
  1. package/ai/skills/stacks-ai/SKILL.md +22 -0
  2. package/ai/skills/stacks-native/CATALOG.md +4 -4
  3. package/ai/skills/stacks-payments/SKILL.md +28 -0
  4. package/ai/skills/stacks-technical-diagrams/LICENSE +202 -22
  5. package/ai/skills/stacks-technical-diagrams/LICENSE-MIT +22 -0
  6. package/ai/skills/stacks-technical-diagrams/NOTICE +26 -0
  7. package/ai/skills/stacks-technical-diagrams/SKILL.md +106 -266
  8. package/ai/skills/stacks-technical-diagrams/THIRD_PARTY_NOTICES.md +11 -2
  9. package/ai/skills/stacks-technical-diagrams/UPSTREAM.json +12 -0
  10. package/ai/skills/stacks-technical-diagrams/agents/openai.yaml +2 -2
  11. package/ai/skills/stacks-technical-diagrams/assets/template.html +3655 -3798
  12. package/ai/skills/stacks-technical-diagrams/bin/archify.mjs +7290 -0
  13. package/ai/skills/stacks-technical-diagrams/bin/delivery-update.mjs +7 -0
  14. package/ai/skills/stacks-technical-diagrams/bin/diagrams +1 -0
  15. package/ai/skills/stacks-technical-diagrams/bin/finalize.mjs +1056 -0
  16. package/ai/skills/stacks-technical-diagrams/bin/open-artifact.mjs +72 -12
  17. package/ai/skills/stacks-technical-diagrams/bin/preview.mjs +348 -31
  18. package/ai/skills/stacks-technical-diagrams/bin/recover-output.mjs +41 -0
  19. package/ai/skills/stacks-technical-diagrams/bin/technical-diagrams.mjs +3 -2097
  20. package/ai/skills/stacks-technical-diagrams/bin/visual-check.mjs +2142 -157
  21. package/ai/skills/stacks-technical-diagrams/brand-marks/README.md +3 -3
  22. package/ai/skills/stacks-technical-diagrams/delta/architecture-delta.mjs +130 -33
  23. package/ai/skills/stacks-technical-diagrams/examples/agent-run.lifecycle.json +25 -30
  24. package/ai/skills/stacks-technical-diagrams/examples/agent-tool-call.workflow.json +0 -20
  25. package/ai/skills/stacks-technical-diagrams/examples/archify-dev-activity.timeline.json +176 -0
  26. package/ai/skills/stacks-technical-diagrams/examples/archify-repository.tree.json +197 -0
  27. package/ai/skills/stacks-technical-diagrams/examples/async-job-roundtrip.sequence.json +1 -6
  28. package/ai/skills/stacks-technical-diagrams/examples/brand-aware-delivery.architecture.json +3 -16
  29. package/ai/skills/stacks-technical-diagrams/examples/cache-miss-request.sequence.json +2 -7
  30. package/ai/skills/stacks-technical-diagrams/examples/checkout-platform.base.architecture.json +2 -1
  31. package/ai/skills/stacks-technical-diagrams/examples/checkout-platform.head.architecture.json +2 -1
  32. package/ai/skills/stacks-technical-diagrams/examples/checkout-request.waterfall.json +20 -0
  33. package/ai/skills/stacks-technical-diagrams/examples/class-payment-processors-rendered.html +14987 -0
  34. package/ai/skills/stacks-technical-diagrams/examples/class-payments-rendered.html +14787 -0
  35. package/ai/skills/stacks-technical-diagrams/examples/dataflow-product-analytics.html +14880 -0
  36. package/ai/skills/stacks-technical-diagrams/examples/delivery.explainer.json +155 -0
  37. package/ai/skills/stacks-technical-diagrams/examples/deployment-release.lifecycle.json +57 -34
  38. package/ai/skills/stacks-technical-diagrams/examples/erd-orders-rendered.html +15112 -0
  39. package/ai/skills/stacks-technical-diagrams/examples/event-stream.dataflow.json +1 -6
  40. package/ai/skills/stacks-technical-diagrams/examples/example-rebuild.waterfall.json +212 -0
  41. package/ai/skills/stacks-technical-diagrams/examples/holiday-planning.workflow.json +143 -0
  42. package/ai/skills/stacks-technical-diagrams/examples/incident-response.workflow.json +1 -6
  43. package/ai/skills/stacks-technical-diagrams/examples/lifecycle-agent-run.html +14892 -0
  44. package/ai/skills/stacks-technical-diagrams/examples/locales/de.json +463 -0
  45. package/ai/skills/stacks-technical-diagrams/examples/locales/fr.json +463 -0
  46. package/ai/skills/stacks-technical-diagrams/examples/locales/fr.partial.json +22 -0
  47. package/ai/skills/stacks-technical-diagrams/examples/locales/it.json +463 -0
  48. package/ai/skills/stacks-technical-diagrams/examples/locales/ja.json +463 -0
  49. package/ai/skills/stacks-technical-diagrams/examples/locales/pt.json +463 -0
  50. package/ai/skills/stacks-technical-diagrams/examples/locales/ru.json +463 -0
  51. package/ai/skills/stacks-technical-diagrams/examples/orders.erd.json +337 -0
  52. package/ai/skills/stacks-technical-diagrams/examples/payment-incident.timeline.json +24 -0
  53. package/ai/skills/stacks-technical-diagrams/examples/payment-platform.tree.json +22 -0
  54. package/ai/skills/stacks-technical-diagrams/examples/payment-processors.class.json +177 -0
  55. package/ai/skills/stacks-technical-diagrams/examples/payments.class.json +85 -0
  56. package/ai/skills/stacks-technical-diagrams/examples/product-analytics.dataflow.json +1 -6
  57. package/ai/skills/stacks-technical-diagrams/examples/production-deployment.architecture.json +3 -23
  58. package/ai/skills/stacks-technical-diagrams/examples/release-delivery.workflow.json +1 -6
  59. package/ai/skills/stacks-technical-diagrams/examples/sequence-cache-miss-request.html +14895 -0
  60. package/ai/skills/stacks-technical-diagrams/examples/subscription-billing-rendered.html +15369 -0
  61. package/ai/skills/stacks-technical-diagrams/examples/subscription-billing.erd.json +548 -0
  62. package/ai/skills/stacks-technical-diagrams/examples/timeline-archify-dev-activity-rendered.html +15002 -0
  63. package/ai/skills/stacks-technical-diagrams/examples/timeline-payment-incident-rendered.html +14772 -0
  64. package/ai/skills/stacks-technical-diagrams/examples/tree-archify-repository-rendered.html +15071 -0
  65. package/ai/skills/stacks-technical-diagrams/examples/tree-payment-platform-rendered.html +14810 -0
  66. package/ai/skills/stacks-technical-diagrams/examples/waterfall-checkout-request-rendered.html +14754 -0
  67. package/ai/skills/stacks-technical-diagrams/examples/waterfall-example-rebuild-rendered.html +14940 -0
  68. package/ai/skills/stacks-technical-diagrams/examples/web-app-rendered.html +14889 -0
  69. package/ai/skills/stacks-technical-diagrams/examples/web-app.architecture.json +1 -6
  70. package/ai/skills/stacks-technical-diagrams/examples/workflow-agent-tool-call-rendered.html +14907 -0
  71. package/ai/skills/stacks-technical-diagrams/explainer/browser-check.mjs +208 -0
  72. package/ai/skills/stacks-technical-diagrams/explainer/charts.mjs +70 -0
  73. package/ai/skills/stacks-technical-diagrams/explainer/check.mjs +168 -0
  74. package/ai/skills/stacks-technical-diagrams/explainer/diagrams.mjs +518 -0
  75. package/ai/skills/stacks-technical-diagrams/explainer/diff.mjs +124 -0
  76. package/ai/skills/stacks-technical-diagrams/explainer/inline.mjs +155 -0
  77. package/ai/skills/stacks-technical-diagrams/explainer/layout.mjs +35 -0
  78. package/ai/skills/stacks-technical-diagrams/explainer/page-bundle.mjs +16 -0
  79. package/ai/skills/stacks-technical-diagrams/explainer/parse.mjs +300 -0
  80. package/ai/skills/stacks-technical-diagrams/explainer/patch.mjs +117 -0
  81. package/ai/skills/stacks-technical-diagrams/explainer/prepare.mjs +131 -0
  82. package/ai/skills/stacks-technical-diagrams/explainer/reader.css +472 -0
  83. package/ai/skills/stacks-technical-diagrams/explainer/reader.js +667 -0
  84. package/ai/skills/stacks-technical-diagrams/explainer/render.mjs +224 -0
  85. package/ai/skills/stacks-technical-diagrams/explainer/revision.mjs +20 -0
  86. package/ai/skills/stacks-technical-diagrams/explainer/sources.mjs +318 -0
  87. package/ai/skills/stacks-technical-diagrams/explainer/validate.mjs +138 -0
  88. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/LICENSE +40 -0
  89. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/README.md +5 -0
  90. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/3DKXF73K.js +4 -0
  91. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/42UTT654.js +3 -0
  92. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/DKTLEL5E.js +1 -0
  93. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/EEIX5ZYH.js +2 -0
  94. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/EJ5KOXYD.js +25 -0
  95. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/GUJTEFZK.js +1 -0
  96. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/IZOKQ2GT.js +4 -0
  97. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/L4LY553T.js +3 -0
  98. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/MSKIJHB2.js +2 -0
  99. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/RVARI57O.js +1 -0
  100. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/UKSIWDDN.js +2 -0
  101. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/UPTXNAXN.js +2 -0
  102. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/XTDUIGUI.js +9 -0
  103. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/YAYTP6L5.js +9 -0
  104. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/core.js +1 -0
  105. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/pie.js +1 -0
  106. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/quadrantChart.js +1 -0
  107. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/radar.js +1 -0
  108. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/sankey.js +1 -0
  109. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/venn.js +1 -0
  110. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/xychart.js +1 -0
  111. package/ai/skills/stacks-technical-diagrams/explainer/writing.mjs +139 -0
  112. package/ai/skills/stacks-technical-diagrams/locales/README.md +40 -0
  113. package/ai/skills/stacks-technical-diagrams/locales/ar.json +488 -0
  114. package/ai/skills/stacks-technical-diagrams/locales/en.json +488 -0
  115. package/ai/skills/stacks-technical-diagrams/locales/es.json +488 -0
  116. package/ai/skills/stacks-technical-diagrams/locales/ko.json +488 -0
  117. package/ai/skills/stacks-technical-diagrams/locales/manifest.json +10 -0
  118. package/ai/skills/stacks-technical-diagrams/locales/zh-CN.json +488 -0
  119. package/ai/skills/stacks-technical-diagrams/locales/zh-TW.json +488 -0
  120. package/ai/skills/stacks-technical-diagrams/migrations/workflow-v2.mjs +1 -0
  121. package/ai/skills/stacks-technical-diagrams/recipes/scenarios.mjs +115 -51
  122. package/ai/skills/stacks-technical-diagrams/references/architecture-layout-repair.md +18 -0
  123. package/ai/skills/stacks-technical-diagrams/references/authoring-contract.md +453 -51
  124. package/ai/skills/stacks-technical-diagrams/references/authoring-defaults.md +57 -0
  125. package/ai/skills/stacks-technical-diagrams/references/brand-marks.md +57 -3
  126. package/ai/skills/stacks-technical-diagrams/references/delivery-contract.md +603 -58
  127. package/ai/skills/stacks-technical-diagrams/references/explainer-authoring.md +274 -0
  128. package/ai/skills/stacks-technical-diagrams/references/repository-authoring.md +126 -0
  129. package/ai/skills/stacks-technical-diagrams/references/update-awareness.md +13 -0
  130. package/ai/skills/stacks-technical-diagrams/references/viewer-runtime.md +18 -11
  131. package/ai/skills/stacks-technical-diagrams/renderers/architecture/grid.mjs +1 -1
  132. package/ai/skills/stacks-technical-diagrams/renderers/architecture/labels.mjs +2 -0
  133. package/ai/skills/stacks-technical-diagrams/renderers/architecture/render-architecture.mjs +550 -424
  134. package/ai/skills/stacks-technical-diagrams/renderers/architecture/routing.mjs +1469 -0
  135. package/ai/skills/stacks-technical-diagrams/renderers/class/README.md +129 -0
  136. package/ai/skills/stacks-technical-diagrams/renderers/class/render-class.mjs +1095 -0
  137. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/README.md +89 -17
  138. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/dataflow-compiler.mjs +1605 -0
  139. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/joint-label-routing.mjs +165 -0
  140. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/label-capacity.mjs +81 -0
  141. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/render-dataflow.mjs +14 -474
  142. package/ai/skills/stacks-technical-diagrams/renderers/erd/README.md +246 -0
  143. package/ai/skills/stacks-technical-diagrams/renderers/erd/grid.mjs +150 -0
  144. package/ai/skills/stacks-technical-diagrams/renderers/erd/render-erd.mjs +1588 -0
  145. package/ai/skills/stacks-technical-diagrams/renderers/explainer/render-explainer.mjs +42 -0
  146. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/README.md +83 -94
  147. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/render-lifecycle.mjs +990 -417
  148. package/ai/skills/stacks-technical-diagrams/renderers/sequence/README.md +49 -17
  149. package/ai/skills/stacks-technical-diagrams/renderers/sequence/render-sequence.mjs +735 -94
  150. package/ai/skills/stacks-technical-diagrams/renderers/shared/atomic-output.mjs +1982 -0
  151. package/ai/skills/stacks-technical-diagrams/renderers/shared/automatic-labels.mjs +290 -0
  152. package/ai/skills/stacks-technical-diagrams/renderers/shared/brand-marks.mjs +169 -26
  153. package/ai/skills/stacks-technical-diagrams/renderers/shared/cli.mjs +266 -54
  154. package/ai/skills/stacks-technical-diagrams/renderers/shared/desktop-readability.mjs +106 -0
  155. package/ai/skills/stacks-technical-diagrams/renderers/shared/diagnostics.mjs +0 -0
  156. package/ai/skills/stacks-technical-diagrams/renderers/shared/generated-validators.mjs +268 -2
  157. package/ai/skills/stacks-technical-diagrams/renderers/shared/geometry.mjs +774 -124
  158. package/ai/skills/stacks-technical-diagrams/renderers/shared/i18n.mjs +289 -556
  159. package/ai/skills/stacks-technical-diagrams/renderers/shared/layout-report.mjs +18 -1
  160. package/ai/skills/stacks-technical-diagrams/renderers/shared/legend.mjs +16 -6
  161. package/ai/skills/stacks-technical-diagrams/renderers/shared/node-card-style.mjs +32 -0
  162. package/ai/skills/stacks-technical-diagrams/renderers/shared/output-path.mjs +329 -229
  163. package/ai/skills/stacks-technical-diagrams/renderers/shared/owned-temp-directory.mjs +82 -0
  164. package/ai/skills/stacks-technical-diagrams/renderers/shared/path-semantics.mjs +1017 -0
  165. package/ai/skills/stacks-technical-diagrams/renderers/shared/portable-path.mjs +408 -0
  166. package/ai/skills/stacks-technical-diagrams/renderers/shared/repository-evidence.mjs +235 -79
  167. package/ai/skills/stacks-technical-diagrams/renderers/shared/repository-location.mjs +17 -4
  168. package/ai/skills/stacks-technical-diagrams/renderers/shared/route-quality.mjs +670 -0
  169. package/ai/skills/stacks-technical-diagrams/renderers/shared/sidecar-path.mjs +38 -0
  170. package/ai/skills/stacks-technical-diagrams/renderers/shared/software-notices.mjs +6 -0
  171. package/ai/skills/stacks-technical-diagrams/renderers/shared/spatial-grid.mjs +66 -0
  172. package/ai/skills/stacks-technical-diagrams/renderers/shared/svg-path-analysis.mjs +135 -0
  173. package/ai/skills/stacks-technical-diagrams/renderers/shared/text-fit.mjs +59 -3
  174. package/ai/skills/stacks-technical-diagrams/renderers/shared/utils.mjs +63 -35
  175. package/ai/skills/stacks-technical-diagrams/renderers/shared/validator.mjs +2 -5
  176. package/ai/skills/stacks-technical-diagrams/renderers/timeline/README.md +76 -0
  177. package/ai/skills/stacks-technical-diagrams/renderers/timeline/render-timeline.mjs +576 -0
  178. package/ai/skills/stacks-technical-diagrams/renderers/tree/README.md +96 -0
  179. package/ai/skills/stacks-technical-diagrams/renderers/tree/render-tree.mjs +573 -0
  180. package/ai/skills/stacks-technical-diagrams/renderers/waterfall/README.md +73 -0
  181. package/ai/skills/stacks-technical-diagrams/renderers/waterfall/render-waterfall.mjs +413 -0
  182. package/ai/skills/stacks-technical-diagrams/renderers/workflow/README.md +137 -23
  183. package/ai/skills/stacks-technical-diagrams/renderers/workflow/render-workflow.mjs +18 -6
  184. package/ai/skills/stacks-technical-diagrams/renderers/workflow/workflow-compiler.mjs +2230 -710
  185. package/ai/skills/stacks-technical-diagrams/renderers/workflow/workflow-migration-geometry.mjs +17 -0
  186. package/ai/skills/stacks-technical-diagrams/renderers/workflow/workflow-placement-repair.mjs +94 -0
  187. package/ai/skills/stacks-technical-diagrams/schemas/README.md +87 -40
  188. package/ai/skills/stacks-technical-diagrams/schemas/architecture.schema.json +7 -33
  189. package/ai/skills/stacks-technical-diagrams/schemas/class.schema.json +345 -0
  190. package/ai/skills/stacks-technical-diagrams/schemas/common.schema.json +68 -2
  191. package/ai/skills/stacks-technical-diagrams/schemas/dataflow.schema.json +14 -3
  192. package/ai/skills/stacks-technical-diagrams/schemas/erd.schema.json +381 -0
  193. package/ai/skills/stacks-technical-diagrams/schemas/explainer.schema.json +927 -0
  194. package/ai/skills/stacks-technical-diagrams/schemas/lifecycle.schema.json +23 -110
  195. package/ai/skills/stacks-technical-diagrams/schemas/sequence.schema.json +15 -4
  196. package/ai/skills/stacks-technical-diagrams/schemas/timeline.schema.json +160 -0
  197. package/ai/skills/stacks-technical-diagrams/schemas/tree.schema.json +141 -0
  198. package/ai/skills/stacks-technical-diagrams/schemas/waterfall.schema.json +147 -0
  199. package/ai/skills/stacks-technical-diagrams/schemas/workflow.schema.json +14 -3
  200. package/ai/skills/stacks-technical-diagrams/scripts/check-render-output.mjs +876 -243
  201. package/ai/skills/stacks-technical-diagrams/scripts/check-update.mjs +1717 -0
  202. package/ai/skills/stacks-technical-diagrams/scripts/delivery-update-child.mjs +26 -0
  203. package/ai/skills/stacks-technical-diagrams/scripts/generate-brand-marks.mjs +141 -0
  204. package/ai/skills/stacks-technical-diagrams/scripts/generate-validators.mjs +105 -0
  205. package/ai/skills/stacks-technical-diagrams/scripts/render-examples.mjs +11 -1
  206. package/ai/skills/stacks-technical-diagrams/scripts/update-contract.mjs +187 -0
  207. package/ai/skills/stacks-technical-diagrams/skill-release.json +10 -0
  208. package/ide/vscode/package.json +1 -1
  209. package/package.json +2 -2
@@ -0,0 +1,463 @@
1
+ {
2
+ "page.title": "Diagrama {title}",
3
+ "diagram.description.architecture": "Um diagrama de arquitetura gerado pelo Archify.",
4
+ "diagram.description.workflow": "Um diagrama de fluxo de trabalho gerado pelo Archify.",
5
+ "diagram.description.sequence": "Um diagrama de sequência gerado pelo Archify.",
6
+ "diagram.description.dataflow": "Um diagrama de fluxo de dados gerado pelo Archify.",
7
+ "diagram.description.lifecycle": "Um diagrama de ciclo de vida gerado pelo Archify.",
8
+ "node.focus": "Focar {label}",
9
+ "node.focus.detail": "Focar {label}, {detail}",
10
+ "node.context.architecture": "Componente de arquitetura",
11
+ "node.context.workflow": "Nó de fluxo de trabalho",
12
+ "node.context.sequence": "Participante da sequência",
13
+ "node.context.dataflow": "Nó de fluxo de dados",
14
+ "node.context.lifecycle": "Estado do ciclo de vida",
15
+ "legend.title": "Legenda",
16
+ "legend.architecture.frontend": "Frontend",
17
+ "legend.architecture.backend": "Backend",
18
+ "legend.architecture.database": "Banco de dados",
19
+ "legend.architecture.cloud": "Nuvem",
20
+ "legend.architecture.security": "Segurança",
21
+ "legend.architecture.messagebus": "Barramento de mensagens",
22
+ "legend.architecture.external": "Externo",
23
+ "legend.workflow.frontend": "UI do usuário",
24
+ "legend.workflow.backend": "Lógica do agente",
25
+ "legend.workflow.security": "Política",
26
+ "legend.workflow.messagebus": "Ação de ferramenta",
27
+ "legend.workflow.database": "Contexto / rastreamento",
28
+ "legend.workflow.cloud": "Serviço de nuvem",
29
+ "legend.workflow.external": "Sistema externo",
30
+ "legend.sequence.emphasis": "solicitação principal",
31
+ "legend.sequence.return": "retorno",
32
+ "legend.sequence.security": "segurança",
33
+ "legend.sequence.dashed": "rastreamento assíncrono",
34
+ "legend.sequence.default": "mensagem",
35
+ "legend.dataflow.emphasis": "dado principal",
36
+ "legend.dataflow.security": "política / PII",
37
+ "legend.dataflow.dashed": "lote assíncrono",
38
+ "legend.dataflow.database": "armazenamento de dados",
39
+ "legend.dataflow.default": "fluxo de dados",
40
+ "legend.lifecycle.start": "estado inicial",
41
+ "legend.lifecycle.active": "ativo",
42
+ "legend.lifecycle.waiting": "aguardando",
43
+ "legend.lifecycle.decision": "decisão",
44
+ "legend.lifecycle.success": "sucesso",
45
+ "legend.lifecycle.failure": "falha / saída",
46
+ "legend.lifecycle.neutral": "neutro",
47
+ "legend.lifecycle.external": "externo",
48
+ "legend.lifecycle.final": "estado final",
49
+ "viewer.kind.frontend": "Frontend",
50
+ "viewer.kind.backend": "Backend",
51
+ "viewer.kind.database": "Banco de dados",
52
+ "viewer.kind.cloud": "Nuvem",
53
+ "viewer.kind.security": "Segurança",
54
+ "viewer.kind.messagebus": "Barramento de mensagens",
55
+ "viewer.kind.external": "Externo",
56
+ "viewer.kind.neutral": "Neutro",
57
+ "viewer.kind.node": "Nó",
58
+ "viewer.kind.start": "Início",
59
+ "viewer.kind.active": "Ativo",
60
+ "viewer.kind.waiting": "Aguardando",
61
+ "viewer.kind.decision": "Decisão",
62
+ "viewer.kind.success": "Sucesso",
63
+ "viewer.kind.failure": "Falha",
64
+ "viewer.toolbar.actions": "Ações do diagrama",
65
+ "viewer.theme.toggle.title": "Alternar tema (T)",
66
+ "viewer.theme.toggle": "Alternar tema de cores",
67
+ "viewer.theme.dark": "Escuro",
68
+ "viewer.theme.light": "Claro",
69
+ "viewer.preset.choose.title": "Escolher estilo visual (S alterna)",
70
+ "viewer.preset.choose": "Escolher estilo visual",
71
+ "viewer.preset.style": "Estilo",
72
+ "viewer.preset.menu": "Estilo visual",
73
+ "viewer.preset.identity": "Identidade visual",
74
+ "viewer.preset.cycles": "S alterna",
75
+ "viewer.preset.classic": "Clássico",
76
+ "viewer.preset.classic.short": "Clássico",
77
+ "viewer.preset.classic.hint": "Padrão técnico estável",
78
+ "viewer.preset.flow": "Fluxo de Sinal",
79
+ "viewer.preset.flow.short": "Fluxo",
80
+ "viewer.preset.flow.hint": "Apresentação com foco em movimento",
81
+ "viewer.preset.blueprint": "Planta",
82
+ "viewer.preset.blueprint.hint": "Revisão de engenharia",
83
+ "viewer.preset.editorial": "Editorial",
84
+ "viewer.preset.editorial.hint": "Notas de publicação e lançamento",
85
+ "viewer.preset.badge.signalFlow": "FLUXO DE SINAL",
86
+ "viewer.preset.badge.blueprint": "PLANTA / REV 01",
87
+ "viewer.preset.badge.editorial": "EDITORIAL / NOTA DE CAMPO",
88
+ "viewer.preset.badge.editorialPlate": "ARCHIFY / PLACA 04",
89
+ "viewer.preset.current": "Estilo visual: {style}. Escolher estilo visual",
90
+ "viewer.motion.live": "Ao vivo",
91
+ "viewer.motion.still": "Estático",
92
+ "viewer.motion.pause": "Pausar movimento",
93
+ "viewer.motion.resume": "Retomar movimento",
94
+ "viewer.motion.reduced": "Movimento pausado pela preferência de movimento reduzido",
95
+ "viewer.motion.hidden": "Movimento pausado enquanto esta página está oculta",
96
+ "viewer.motion.yielding": "Pausar movimento; cedendo atualmente a {owner}",
97
+ "viewer.motion.yielding.title": "Pré-visualização ao vivo ativada · cedendo a {owner}",
98
+ "viewer.owner.route": "Sonda de Rota",
99
+ "viewer.owner.lens": "Lente Semântica",
100
+ "viewer.owner.relationship": "Pré-visualização de Relação",
101
+ "viewer.owner.intent": "Rastreamento de Intenção",
102
+ "viewer.owner.focus": "foco semântico",
103
+ "viewer.owner.legend": "pré-visualização da legenda",
104
+ "viewer.owner.reader": "interação do leitor",
105
+ "viewer.present.enter": "Entrar no palco de apresentação",
106
+ "viewer.present.enter.title": "Palco de apresentação (F)",
107
+ "viewer.present.exit": "Sair do palco de apresentação",
108
+ "viewer.present.exit.title": "Sair do palco de apresentação (F ou Escape)",
109
+ "viewer.present.present": "Apresentar",
110
+ "viewer.present.exit.label": "Sair",
111
+ "viewer.export.button": "Exportar",
112
+ "viewer.export.button.title": "Exportar diagrama (E)",
113
+ "viewer.export.diagram": "Exportar diagrama",
114
+ "viewer.export.menu": "Exportar",
115
+ "viewer.export.subtitle": "Saídas portáteis e limpas",
116
+ "viewer.export.share": "Compartilhar",
117
+ "viewer.export.shareCard": "Cartão de Compartilhamento",
118
+ "viewer.export.routeShareCard": "Cartão de Compartilhamento de Rota",
119
+ "viewer.export.reachShareCard": "Cartão de Compartilhamento de Alcance",
120
+ "viewer.export.copyDiagram": "Copiar diagrama",
121
+ "viewer.export.clipboardPng": "PNG para a área de transferência",
122
+ "viewer.export.raster": "Imagens raster",
123
+ "viewer.export.image": "Imagem",
124
+ "viewer.export.lossless": "Imagem sem perdas",
125
+ "viewer.export.compact": "Imagem compacta",
126
+ "viewer.export.modern": "Imagem moderna",
127
+ "viewer.export.vectorMotion": "Vetor e movimento",
128
+ "viewer.export.vectorMotion.heading": "Vetor e movimento",
129
+ "viewer.export.editable": "Vetor editável",
130
+ "viewer.export.motion6s": "Movimento de 6s",
131
+ "viewer.export.unsupported": "Não suportado por este navegador",
132
+ "viewer.export.clipboardUnsupported": "Este navegador não suporta gravação de imagem na área de transferência",
133
+ "viewer.export.clipboardUnsupported.short": "Gravação de imagem na área de transferência não suportada neste navegador.",
134
+ "viewer.export.motionUnavailable": "Captura de movimento indisponível neste navegador",
135
+ "viewer.export.webmUnavailable": "WebM indisponível neste navegador",
136
+ "viewer.export.failed": "Falha na exportação: {message}",
137
+ "viewer.export.unknownVariant": "Variante de Cartão de Compartilhamento desconhecida: {variant}",
138
+ "viewer.export.routeRequired": "Trace uma rota antes de exportar um Cartão de Compartilhamento de Rota",
139
+ "viewer.export.reachRequired": "Trace o alcance definido antes de exportar um Cartão de Compartilhamento de Alcance",
140
+ "viewer.export.unknown": "desconhecido",
141
+ "viewer.export.routeFailed": "Falha ao exportar o Cartão de Compartilhamento de Rota: {message}",
142
+ "viewer.export.reachFailed": "Falha ao exportar o Cartão de Compartilhamento de Alcance: {message}",
143
+ "viewer.export.copyFailed": "Falha ao copiar: {message}",
144
+ "viewer.export.copiedPng": "PNG copiado para a área de transferência",
145
+ "viewer.export.downloadedRoute": "Cartão de Compartilhamento de Rota baixado",
146
+ "viewer.export.downloadedReach": "Cartão de Compartilhamento de Alcance baixado",
147
+ "viewer.export.downloadedWebm": "WebM baixado",
148
+ "viewer.export.recording": "Gravando 6 segundos de movimento…",
149
+ "viewer.export.card.routeSummary.one": "Rota: {source} → {target} · {count} salto direcionado",
150
+ "viewer.export.card.routeSummary.other": "Rota: {source} → {target} · {count} saltos direcionados",
151
+ "viewer.export.card.reachSummary": "{direction} definido a partir de {origin} · {nodes} · {links} · máx {hops}",
152
+ "viewer.export.card.node.one": "{count} nó",
153
+ "viewer.export.card.node.other": "{count} nós",
154
+ "viewer.export.card.link.one": "{count} conexão",
155
+ "viewer.export.card.link.other": "{count} conexões",
156
+ "viewer.export.card.hop.one": "{count} salto",
157
+ "viewer.export.card.hop.other": "{count} saltos",
158
+ "viewer.export.card.routeBadge": "ARCHIFY · ROTA · {hops}",
159
+ "viewer.export.card.reachBadge": "ARCHIFY · ALCANCE {direction}",
160
+ "viewer.export.direction.upstream": "Upstream",
161
+ "viewer.export.direction.downstream": "Downstream",
162
+ "viewer.export.error.canvasUnavailable": "Canvas indisponível para {label}",
163
+ "viewer.export.error.contextUnavailable": "Contexto de canvas 2D indisponível para {label}",
164
+ "viewer.export.error.toBlobUnavailable": "canvas.toBlob indisponível para {label}",
165
+ "viewer.export.error.toBlobNull": "canvas.toBlob não retornou dados para {label}",
166
+ "viewer.export.error.variantsCombined": "As variantes do Cartão de Compartilhamento não podem ser combinadas",
167
+ "viewer.export.error.viewerState": "A exportação do Cartão de Compartilhamento não conseguiu remover o estado temporário do visualizador",
168
+ "viewer.export.error.routeState": "A exportação do Cartão de Rota não conseguiu preservar a rota resolvida com segurança",
169
+ "viewer.export.error.reachState": "A exportação do Cartão de Alcance não conseguiu preservar o alcance definido com segurança",
170
+ "viewer.export.error.webmRequirements": "A exportação de movimento em WebM requer uma animação de rastreamento e suporte a MediaRecorder no navegador",
171
+ "viewer.export.error.mediaRecorder": "Falha no MediaRecorder",
172
+ "viewer.export.error.emptyWebm": "O MediaRecorder produziu um WebM vazio",
173
+ "viewer.export.error.webmBackground": "Não foi possível carregar o plano de fundo SVG para a exportação em WebM",
174
+ "viewer.guide.eyebrow": "Guia do diagrama",
175
+ "viewer.guide.close": "Fechar guia do diagrama",
176
+ "viewer.guide.inspecting": "Inspecionando semântica compilada",
177
+ "viewer.guide.actions": "Ações de exploração do diagrama",
178
+ "viewer.guide.find": "Encontrar qualquer nó",
179
+ "viewer.guide.find.hint": "Pesquise rótulos, responsabilidades, tipos e IDs estáveis.",
180
+ "viewer.guide.route": "Traçar uma rota",
181
+ "viewer.guide.route.aria": "Traçar uma rota direcionada",
182
+ "viewer.guide.route.hint": "Descubra como dois nós semânticos se conectam na direção definida.",
183
+ "viewer.guide.map": "Ver o sistema inteiro",
184
+ "viewer.guide.map.hint": "Abra o Radar Semântico com uma janela de visualização ativa e nós estáveis.",
185
+ "viewer.guide.lens": "Comparar tipos semânticos",
186
+ "viewer.guide.lens.hint": "Conte papéis, revele seu tráfego e compare links diretos definidos.",
187
+ "viewer.guide.present": "Entrar no Palco de Apresentação",
188
+ "viewer.guide.present.hint": "Dê ao diagrama ao vivo a janela de visualização inteira sem alterar a exportação.",
189
+ "viewer.guide.shortcuts": "Atalhos de teclado adicionais",
190
+ "viewer.guide.shortcut.export": "Exportar",
191
+ "viewer.guide.shortcut.theme": "Tema",
192
+ "viewer.guide.shortcut.style": "Estilo",
193
+ "viewer.guide.shortcut.reset": "Redefinir",
194
+ "viewer.guide.shortcut.zoomIn": "Ampliar",
195
+ "viewer.guide.shortcut.zoomOut": "Reduzir",
196
+ "viewer.guide.shortcut.close": "Fechar",
197
+ "viewer.guide.facts": "{nodes} · {relationships}",
198
+ "viewer.guide.fact.node.one": "{count} nó semântico",
199
+ "viewer.guide.fact.node.other": "{count} nós semânticos",
200
+ "viewer.guide.fact.relationship.one": "{count} relação",
201
+ "viewer.guide.fact.relationship.other": "{count} relações",
202
+ "viewer.guide.open": "Abrir guia do diagrama",
203
+ "viewer.finder.title": "Encontrar um nó",
204
+ "viewer.finder.close": "Fechar buscador de nós",
205
+ "viewer.finder.placeholder": "Pesquisar rótulos ou IDs",
206
+ "viewer.finder.search": "Pesquisar nós do diagrama",
207
+ "viewer.finder.results": "Nós do diagrama",
208
+ "viewer.finder.empty": "Nenhum nó correspondente",
209
+ "viewer.finder.result.focus": "Focar {label}",
210
+ "viewer.finder.result.routeStart": "Escolher {label} como início da rota",
211
+ "viewer.finder.result.routeTarget": "Escolher {label} como destino da rota, {links}",
212
+ "viewer.finder.status.empty": "Nenhum nó correspondente",
213
+ "viewer.finder.status.count.one": "{count} nó correspondente",
214
+ "viewer.finder.status.count.other": "{count} nós correspondentes",
215
+ "viewer.finder.noun.nodes": "nós",
216
+ "viewer.finder.link.one": "{count} conexão",
217
+ "viewer.finder.link.other": "{count} conexões",
218
+ "viewer.finder.result.focus.one": "Focar {label}, {count} conexão relacionada",
219
+ "viewer.finder.result.focus.other": "Focar {label}, {count} conexões relacionadas",
220
+ "viewer.finder.status.filtered": "{visible} de {available} {noun}",
221
+ "viewer.finder.status.all": "{available} {noun}",
222
+ "viewer.passport.eyebrow": "Passaporte semântico",
223
+ "viewer.passport.metadata": "Metadados do nó",
224
+ "viewer.passport.evidence": "Evidência de origem verificada",
225
+ "viewer.passport.verified": "Origem verificada",
226
+ "viewer.passport.verificationScope": "Verificado com o Git local na revisão fixada. O acesso remoto não foi verificado.",
227
+ "viewer.passport.reach": "Alcance definido",
228
+ "viewer.passport.reach.trace": "Traçar alcançabilidade definida",
229
+ "viewer.passport.upstream": "Upstream",
230
+ "viewer.passport.downstream": "Downstream",
231
+ "viewer.passport.upstream.trace": "Traçar alcançabilidade definida upstream",
232
+ "viewer.passport.downstream.trace": "Traçar alcançabilidade definida downstream",
233
+ "viewer.passport.close": "Fechar passaporte semântico",
234
+ "viewer.passport.copy": "Copiar link",
235
+ "viewer.passport.copy.focus": "Copiar link do nó em foco",
236
+ "viewer.passport.relations": "Relações",
237
+ "viewer.passport.relations.show": "Mostrar relações conectadas",
238
+ "viewer.passport.relations.hide": "Ocultar relações conectadas",
239
+ "viewer.passport.relations.list": "Relações conectadas",
240
+ "viewer.passport.copyRelation": "Copiar relação",
241
+ "viewer.passport.copyNode": "Copiar nó",
242
+ "viewer.passport.copyPinned": "Copiar link da relação fixada",
243
+ "viewer.passport.copySource": "Copiar link do nó de origem",
244
+ "viewer.passport.copy.focused.success": "Link do nó em foco copiado",
245
+ "viewer.passport.copy.pinned.success": "Link da relação fixada copiado",
246
+ "viewer.passport.copy.focused.failed": "Não foi possível copiar o link do nó em foco",
247
+ "viewer.passport.copy.pinned.failed": "Não foi possível copiar o link da relação fixada",
248
+ "viewer.passport.relationship.none": "Nenhuma relação conectada",
249
+ "viewer.passport.relationship.count.one": "{count} relação",
250
+ "viewer.passport.relationship.count.other": "{count} relações",
251
+ "viewer.passport.relationship.show.one": "Mostrar {count} relação conectada",
252
+ "viewer.passport.relationship.show.other": "Mostrar {count} relações conectadas",
253
+ "viewer.passport.relationship.summary": "{out} de saída · {in} de entrada{loops}",
254
+ "viewer.passport.relationship.loops": " · {count} laço",
255
+ "viewer.passport.relationship.explorer": "Explorador de relações diretas",
256
+ "viewer.passport.relationship.help": "Use as setas para explorar relações. Pressione Enter ou Espaço para fixar detalhes; Escape limpa.",
257
+ "viewer.passport.relationship.loopsBack": "retorna em laço",
258
+ "viewer.passport.relationship.connectsTo": "conecta-se a",
259
+ "viewer.passport.relationship.connectsFrom": "conecta-se de",
260
+ "viewer.passport.relationship.pinned": "Relação fixada · {from} → {to} · {label}",
261
+ "viewer.passport.relationship.inspect": "Inspecionar relação {index} de {total}: {from} para {to}, {label}. Pressione Enter para detalhes.",
262
+ "viewer.passport.relationship.group.out": "Saída",
263
+ "viewer.passport.relationship.group.in": "Entrada",
264
+ "viewer.passport.relationship.group.loop": "Laços próprios",
265
+ "viewer.passport.relationship.row": "{group}: {relationship}, {neighbor}",
266
+ "viewer.passport.relationship.direction.out": "SAÍDA →",
267
+ "viewer.passport.relationship.direction.in": "← ENTRADA",
268
+ "viewer.passport.relationship.direction.loop": "LAÇO",
269
+ "viewer.passport.sourceCount.one": "{count} referência de origem verificada",
270
+ "viewer.passport.sourceCount.other": "{count} referências de origem verificadas",
271
+ "viewer.passport.repository.open": "Abrir revisão verificada do repositório {revision}",
272
+ "viewer.passport.source.open": "Abrir origem verificada {path} na revisão {revision}",
273
+ "viewer.passport.source.openLink": "Abrir ↗",
274
+ "viewer.passport.reach.upstream.one": "Traçar {count} nó definido upstream",
275
+ "viewer.passport.reach.upstream.other": "Traçar {count} nós definidos upstream",
276
+ "viewer.passport.reach.downstream.one": "Traçar {count} nó definido downstream",
277
+ "viewer.passport.reach.downstream.other": "Traçar {count} nós definidos downstream",
278
+ "viewer.passport.reach.noUpstream": "Nenhum nó definido upstream",
279
+ "viewer.passport.reach.noDownstream": "Nenhum nó definido downstream",
280
+ "viewer.passport.reach.status": "{direction} · {nodes} nós · {links} conexões · máx {hops} saltos",
281
+ "viewer.route.eyebrow": "Sonda de rota",
282
+ "viewer.route.start": "Escolher um nó inicial",
283
+ "viewer.route.start.find": "Encontrar início",
284
+ "viewer.route.start.find.aria": "Encontrar um início de rota",
285
+ "viewer.route.copy": "Copiar link",
286
+ "viewer.route.copy.aria": "Copiar link da rota traçada",
287
+ "viewer.route.clear": "Limpar",
288
+ "viewer.route.clear.aria": "Limpar sonda de rota",
289
+ "viewer.route.traced": "Rota traçada",
290
+ "viewer.route.pickTwo": "Escolha dois nós semânticos no diagrama",
291
+ "viewer.route.pickOne": "Escolha um nó semântico no diagrama",
292
+ "viewer.route.controls": "Controles da jornada de rota",
293
+ "viewer.route.previous": "Posição anterior da rota",
294
+ "viewer.route.play": "Reproduzir jornada de rota",
295
+ "viewer.route.pause": "Pausar jornada de rota",
296
+ "viewer.route.replay": "Reproduzir jornada de rota novamente",
297
+ "viewer.route.next": "Próxima posição da rota",
298
+ "viewer.route.journey": "Jornada",
299
+ "viewer.route.pause.label": "Pausar",
300
+ "viewer.route.replay.label": "Repetir",
301
+ "viewer.route.overview": "Visão geral",
302
+ "viewer.route.overview.aria": "Mostrar visão geral completa da rota",
303
+ "viewer.route.instructions": "Escolha a origem e depois o destino. A direção importa.",
304
+ "viewer.route.destination": "Escolher um destino a partir de {label}",
305
+ "viewer.route.destination.find": "Encontrar destino",
306
+ "viewer.route.destination.find.aria": "Encontrar um destino de rota alcançável",
307
+ "viewer.route.differentDestination": "Escolher um destino diferente",
308
+ "viewer.route.distinct": "Uma rota precisa de dois nós semânticos distintos.",
309
+ "viewer.route.unreachable": "Nenhuma rota direcionada para {label}",
310
+ "viewer.route.unreachable.detail": "{target} não é alcançável a partir de {source}. Escolha um destino destacado.",
311
+ "viewer.route.start.instructions": "Selecione a origem. O próximo passo revelará apenas destinos direcionados.",
312
+ "viewer.route.copy.success": "Link da rota traçada copiado",
313
+ "viewer.route.copy.failed": "Não foi possível copiar o link da rota traçada",
314
+ "viewer.route.position": "Posição {index} de {total} na rota: {label}",
315
+ "viewer.route.step": "Passo {index} de {total} · {phase} · {label}",
316
+ "viewer.route.motionRequired": "A jornada automática requer movimento Ao vivo",
317
+ "viewer.route.trigger.clear": "Limpar rota traçada",
318
+ "viewer.route.overview.status": "{nodes} · {hops} · rota mais curta definida",
319
+ "viewer.route.overview.node.one": "{count} nó",
320
+ "viewer.route.overview.node.other": "{count} nós",
321
+ "viewer.route.overview.hop.one": "{count} salto direcionado",
322
+ "viewer.route.overview.hop.other": "{count} saltos direcionados",
323
+ "viewer.route.phase.playing": "Reproduzindo",
324
+ "viewer.route.phase.complete": "Concluído",
325
+ "viewer.route.phase.inspecting": "Inspecionando",
326
+ "viewer.route.destination.count.one": "{count} destino direcionado disponível. Escolha um nó destacado.",
327
+ "viewer.route.destination.count.other": "{count} destinos direcionados disponíveis. Escolha um nó destacado.",
328
+ "viewer.route.noOutgoing": "Nenhuma rota de saída começa aqui. Limpe e escolha outra origem.",
329
+ "viewer.route.result.title": "{source} até {target}",
330
+ "viewer.route.finder.source.title": "Escolher início da rota",
331
+ "viewer.route.finder.source.placeholder": "Pesquisar origens de rota",
332
+ "viewer.route.finder.source.empty": "Nenhuma origem de rota correspondente",
333
+ "viewer.route.finder.source.results": "Nós que podem iniciar uma rota",
334
+ "viewer.route.finder.source.noun": "origens de rota",
335
+ "viewer.route.finder.source.badge": "início",
336
+ "viewer.route.finder.target.title": "Destino a partir de {label}",
337
+ "viewer.route.finder.target.placeholder": "Pesquisar destinos alcançáveis",
338
+ "viewer.route.finder.target.empty": "Nenhum destino alcançável correspondente",
339
+ "viewer.route.finder.target.results": "Destinos de rota alcançáveis",
340
+ "viewer.route.finder.target.noun": "destinos alcançáveis",
341
+ "viewer.route.hop.one": "{count} salto",
342
+ "viewer.route.hop.other": "{count} saltos",
343
+ "viewer.lens.eyebrow": "Lente semântica",
344
+ "viewer.lens.title": "Comparar papéis do sistema",
345
+ "viewer.lens.close": "Fechar lente semântica",
346
+ "viewer.lens.instruction": "Escolha até dois tipos semânticos. Um revela seu tráfego real; dois comparam apenas relações diretas definidas.",
347
+ "viewer.lens.kinds": "Tipos semânticos",
348
+ "viewer.lens.choose": "Escolha um tipo para inspecionar seus nós e relações que o tocam.",
349
+ "viewer.lens.copy": "Copiar link da lente semântica",
350
+ "viewer.lens.clear": "Limpar lente semântica",
351
+ "viewer.lens.open": "Abrir lente semântica",
352
+ "viewer.lens.openActive": "Abrir lente semântica ativa",
353
+ "viewer.lens.legend": "Legenda semântica",
354
+ "viewer.lens.legend.inspect.one": "Inspecionar {label}, {count} nó",
355
+ "viewer.lens.legend.inspect.other": "Inspecionar {label}, {count} nós",
356
+ "viewer.lens.kind.count.one": "{label}, {count} nó",
357
+ "viewer.lens.kind.count.other": "{label}, {count} nós",
358
+ "viewer.lens.compare.one": "{first} → {second}: {forward} · {second} → {first}: {reverse} · {count} relação direta",
359
+ "viewer.lens.compare.other": "{first} → {second}: {forward} · {second} → {first}: {reverse} · {count} relações diretas",
360
+ "viewer.lens.single": "{nodes} · {relationships} · nós conectados permanecem visíveis",
361
+ "viewer.lens.node.one": "{count} nó {label}",
362
+ "viewer.lens.node.other": "{count} nós {label}",
363
+ "viewer.lens.relationship.one": "{count} relação que toca",
364
+ "viewer.lens.relationship.other": "{count} relações que tocam",
365
+ "viewer.radar.title": "Radar semântico",
366
+ "viewer.radar.building": "Construindo visão geral",
367
+ "viewer.radar.openFull": "Abrir radar semântico completo",
368
+ "viewer.radar.open": "Abrir radar",
369
+ "viewer.radar.close": "Fechar radar semântico",
370
+ "viewer.radar.surface": "Visão geral do diagrama. Clique em um nó para focá-lo, ou use as setas para navegar.",
371
+ "viewer.radar.click": "Clicar no nó",
372
+ "viewer.radar.drag": "Arrastar para navegar",
373
+ "viewer.radar.space": "O radar semântico precisa de mais espaço no MAPA.",
374
+ "viewer.radar.nodes": "Nós do radar do diagrama semântico",
375
+ "viewer.radar.focus": "Focar {label} a partir do Radar Semântico",
376
+ "viewer.radar.status": "{count} nós · {viewport}",
377
+ "viewer.radar.fullMap": "{count} nós · mapa completo",
378
+ "viewer.radar.compacted": "Radar compactado para não cobrir o Passaporte Semântico ou os controles do MAPA.",
379
+ "viewer.radar.cancelWaiting": "Cancelar radar semântico aguardando mais espaço no MAPA",
380
+ "viewer.radar.needsSpace": "O radar semântico precisa de mais espaço visível no MAPA",
381
+ "viewer.radar.viewport.full": "mapa completo",
382
+ "viewer.radar.viewport.width": "{percent}% de largura",
383
+ "viewer.radar.viewport.scale": "{percent}% da janela de visualização",
384
+ "viewer.nav.controls": "Controles de visualização do diagrama",
385
+ "viewer.nav.route": "Traçar uma rota direcionada",
386
+ "viewer.nav.route.title": "Traçar rota (R)",
387
+ "viewer.nav.route.short": "ROTA",
388
+ "viewer.nav.radar": "Abrir radar semântico",
389
+ "viewer.nav.radar.title": "Radar semântico (M)",
390
+ "viewer.nav.radar.short": "MAPA",
391
+ "viewer.nav.lens": "Abrir lente semântica",
392
+ "viewer.nav.lens.title": "Lente semântica (L)",
393
+ "viewer.nav.lens.short": "LENTE",
394
+ "viewer.nav.find": "Encontrar um nó",
395
+ "viewer.nav.find.title": "Encontrar um nó (/)",
396
+ "viewer.nav.guide": "Abrir guia do diagrama",
397
+ "viewer.nav.guide.title": "Guia do diagrama (?)",
398
+ "viewer.nav.zoomOut": "Reduzir",
399
+ "viewer.nav.zoomOut.title": "Reduzir (-)",
400
+ "viewer.nav.reset": "Redefinir visualização do diagrama",
401
+ "viewer.nav.reset.title": "Redefinir visualização (0)",
402
+ "viewer.nav.read": "LEITURA",
403
+ "viewer.nav.zoomIn": "Ampliar",
404
+ "viewer.nav.zoomIn.title": "Ampliar (+)",
405
+ "viewer.nav.camera": "{hint}. Redefinir visualização do diagrama",
406
+ "viewer.nav.camera.title": "{semantic}{hint} · redefinir visualização (0)",
407
+ "viewer.nav.camera.semantic": "Câmera semântica ativa · ",
408
+ "viewer.nav.level.map": "MAPA",
409
+ "viewer.nav.level.read": "LEITURA",
410
+ "viewer.nav.level.full": "COMPLETO",
411
+ "viewer.nav.level.auto": "AUTO",
412
+ "viewer.nav.detail.map": "Amplie para revelar rótulos de relações e contexto do nó",
413
+ "viewer.nav.detail.read": "Amplie novamente para revelar tags e anotações",
414
+ "viewer.nav.detail.full": "Detalhe completo do diagrama",
415
+ "viewer.intent.summary": "{label}. {out} de saída, {in} de entrada{loops}. {total} conexões. Pressione Enter para detalhes.",
416
+ "viewer.intent.loops": ", {count} laço próprio",
417
+ "viewer.common.copied": "Copiado",
418
+ "viewer.common.copyFailed": "Falha ao copiar",
419
+ "viewer.common.copyLink": "Copiar link",
420
+ "viewer.common.clear": "Limpar",
421
+ "viewer.common.close": "Fechar",
422
+ "diagram.description.tree": "Um diagrama hierárquico gerado pelo Archify.",
423
+ "node.context.tree.root": "Raiz",
424
+ "node.context.tree.branch": "Ramo",
425
+ "node.context.tree.leaf": "Folha",
426
+ "tree.toggle.collapse": "Recolher {label} ({count} descendentes)",
427
+ "tree.toggle.expand": "Expandir {label} ({count} ocultos)",
428
+ "tree.expandAll": "Expandir tudo",
429
+ "diagram.description.class": "Um diagrama de classes e interfaces gerado pelo Archify.",
430
+ "node.context.class.class": "Classe",
431
+ "node.context.class.abstract": "Classe abstrata",
432
+ "node.context.class.interface": "Interface",
433
+ "node.context.class.enum": "Enumeração",
434
+ "node.context.class.record": "Registro",
435
+ "legend.class.dependency": "Depende de",
436
+ "legend.class.association": "Associação",
437
+ "legend.class.inheritance": "Herda de",
438
+ "legend.class.realization": "Implementa",
439
+ "legend.class.composition": "Composição",
440
+ "legend.class.aggregation": "Agregação",
441
+ "diagram.description.timeline": "Uma linha do tempo de eventos gerada pelo Archify.",
442
+ "timeline.axis": "Tempo",
443
+ "timeline.break": "Quebra do eixo: omitido intervalo de {duration} sem eventos",
444
+ "timeline.compressed": "{count} período(s) sem atividade comprimido(s) (≈)",
445
+ "timeline.evidence.observed": "Eventos observados",
446
+ "timeline.evidence.illustrative": "Dados ilustrativos",
447
+ "legend.timeline.default": "Evento",
448
+ "legend.timeline.change": "Mudança",
449
+ "legend.timeline.alert": "Alerta",
450
+ "legend.timeline.action": "Resposta",
451
+ "legend.timeline.recovery": "Recuperação",
452
+ "diagram.description.waterfall": "Um diagrama em cascata de execução gerado pelo Archify.",
453
+ "waterfall.evidence.measured": "Tempos medidos",
454
+ "waterfall.evidence.illustrative": "Tempos ilustrativos",
455
+ "waterfall.wall": "Tempo total {duration}",
456
+ "waterfall.share": "{percent} do tempo total {total}",
457
+ "waterfall.incomplete": "incompleto, ≥ {duration}",
458
+ "waterfall.operation": "Operação",
459
+ "legend.waterfall.ok": "Concluído",
460
+ "legend.waterfall.error": "Erro",
461
+ "legend.waterfall.cancelled": "Cancelado",
462
+ "legend.waterfall.incomplete": "Incompleto (fim não registrado)"
463
+ }