@stacksjs/defaults 0.75.361 → 0.75.366

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 (210) hide show
  1. package/ai/skills/stacks-ai/SKILL.md +22 -0
  2. package/ai/skills/stacks-native/CATALOG.md +5 -5
  3. package/ai/skills/stacks-payments/SKILL.md +10 -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/ai/skills/stacks-testing/SKILL.md +8 -1
  209. package/ide/vscode/package.json +1 -1
  210. package/package.json +2 -2
@@ -0,0 +1,488 @@
1
+ {
2
+ "page.title": "{title} — مخطّط",
3
+ "diagram.description.architecture": "مخطّطٌ معماري مُولَّد بـArchify.",
4
+ "diagram.description.workflow": "مخطّطُ سيرِ عملٍ مُولَّد بـArchify.",
5
+ "diagram.description.sequence": "مخطّطُ تتابعٍ مُولَّد بـArchify.",
6
+ "diagram.description.dataflow": "مخطّطُ تدفّقِ بيانات مُولَّد بـArchify.",
7
+ "diagram.description.lifecycle": "مخطّطُ دورةِ حياة مُولَّد بـArchify.",
8
+ "node.focus": "إبراز {label}",
9
+ "node.focus.detail": "إبراز {label}، {detail}",
10
+ "node.context.architecture": "مكوّنٌ معماري",
11
+ "node.context.workflow": "عقدةُ سير عمل",
12
+ "node.context.sequence": "مشاركٌ في التتابع",
13
+ "node.context.dataflow": "عقدةُ تدفّقِ بيانات",
14
+ "node.context.lifecycle": "حالةُ دورةِ حياة",
15
+ "legend.title": "المفتاح",
16
+ "legend.architecture.frontend": "واجهة",
17
+ "legend.architecture.backend": "خدمة",
18
+ "legend.architecture.database": "قاعدة بيانات",
19
+ "legend.architecture.cloud": "سحابة",
20
+ "legend.architecture.security": "حماية",
21
+ "legend.architecture.messagebus": "ناقل رسائل",
22
+ "legend.architecture.external": "خارجي",
23
+ "legend.workflow.frontend": "واجهة المستخدم",
24
+ "legend.workflow.backend": "منطق الوكيل",
25
+ "legend.workflow.security": "سياسة",
26
+ "legend.workflow.messagebus": "فعلُ أداة",
27
+ "legend.workflow.database": "سياق / تتبّع",
28
+ "legend.workflow.cloud": "خدمة سحابية",
29
+ "legend.workflow.external": "نظام خارجي",
30
+ "legend.sequence.emphasis": "الطلبُ الرئيسي",
31
+ "legend.sequence.return": "عودة",
32
+ "legend.sequence.security": "أمان",
33
+ "legend.sequence.dashed": "تتبّعٌ غير متزامن",
34
+ "legend.sequence.default": "رسالة",
35
+ "legend.dataflow.emphasis": "بياناتٌ رئيسية",
36
+ "legend.dataflow.security": "سياسة / بياناتٌ شخصية",
37
+ "legend.dataflow.dashed": "دفعةٌ غير متزامنة",
38
+ "legend.dataflow.database": "مخزنُ بيانات",
39
+ "legend.dataflow.default": "تدفّقُ بيانات",
40
+ "legend.lifecycle.start": "حالةٌ ابتدائية",
41
+ "legend.lifecycle.active": "نشِط",
42
+ "legend.lifecycle.waiting": "منتظِر",
43
+ "legend.lifecycle.decision": "قرار",
44
+ "legend.lifecycle.success": "نجاح",
45
+ "legend.lifecycle.failure": "فشل / خروج",
46
+ "legend.lifecycle.neutral": "محايد",
47
+ "legend.lifecycle.external": "خارجي",
48
+ "legend.lifecycle.final": "حالةٌ نهائية",
49
+ "viewer.kind.frontend": "واجهة",
50
+ "viewer.kind.backend": "خدمة",
51
+ "viewer.kind.database": "قاعدة بيانات",
52
+ "viewer.kind.cloud": "سحابة",
53
+ "viewer.kind.security": "حماية",
54
+ "viewer.kind.messagebus": "ناقل رسائل",
55
+ "viewer.kind.external": "خارجي",
56
+ "viewer.kind.neutral": "محايد",
57
+ "viewer.kind.node": "عقدة",
58
+ "viewer.kind.start": "بداية",
59
+ "viewer.kind.active": "نشِط",
60
+ "viewer.kind.waiting": "منتظِر",
61
+ "viewer.kind.decision": "قرار",
62
+ "viewer.kind.success": "نجاح",
63
+ "viewer.kind.failure": "فشل",
64
+ "viewer.toolbar.actions": "إجراءات المخطّط",
65
+ "viewer.theme.toggle.title": "تبديل الثيم (T)",
66
+ "viewer.theme.toggle": "تبديل ثيم الألوان",
67
+ "viewer.theme.dark": "داكن",
68
+ "viewer.theme.light": "فاتح",
69
+ "viewer.preset.choose.title": "اختر الهوية البصرية (S للتدوير)",
70
+ "viewer.preset.choose": "اختر الهوية البصرية",
71
+ "viewer.preset.style": "الهوية",
72
+ "viewer.preset.menu": "الهوية البصرية",
73
+ "viewer.preset.identity": "الهوية البصرية",
74
+ "viewer.preset.cycles": "للتدوير",
75
+ "viewer.preset.classic": "كلاسيكي",
76
+ "viewer.preset.classic.short": "كلاسيكي",
77
+ "viewer.preset.classic.hint": "الافتراضي التقني المستقر",
78
+ "viewer.preset.flow": "تدفّق الإشارة",
79
+ "viewer.preset.flow.short": "تدفّق",
80
+ "viewer.preset.flow.hint": "عرضٌ حركي",
81
+ "viewer.preset.blueprint": "مخطّط هندسي",
82
+ "viewer.preset.blueprint.hint": "مراجعة هندسية",
83
+ "viewer.preset.editorial": "تحريري",
84
+ "viewer.preset.editorial.hint": "ملاحظاتُ النشر والإطلاق",
85
+ "viewer.preset.badge.signalFlow": "تدفّق الإشارة",
86
+ "viewer.preset.badge.blueprint": "مخطّط هندسي / إصدار ٠١",
87
+ "viewer.preset.badge.editorial": "تحريري / ملاحظة ميدانية",
88
+ "viewer.preset.badge.editorialPlate": "ARCHIFY / لوحة ٠٤",
89
+ "viewer.preset.current": "الهوية البصرية: {style}. اختر الهوية البصرية",
90
+ "viewer.motion.live": "حيّ",
91
+ "viewer.motion.still": "ساكن",
92
+ "viewer.motion.pause": "أوقف الحركة",
93
+ "viewer.motion.resume": "استأنف الحركة",
94
+ "viewer.motion.reduced": "الحركةُ متوقّفة بسبب تفضيل تقليل الحركة",
95
+ "viewer.motion.hidden": "الحركةُ متوقّفة ما دامت الصفحة مخفيّة",
96
+ "viewer.motion.yielding": "أوقف الحركة؛ تُسلّم الآن إلى {owner}",
97
+ "viewer.motion.yielding.title": "المعاينةُ الحيّة مفعّلة · تُسلّم إلى {owner}",
98
+ "viewer.owner.route": "مسبار المسار",
99
+ "viewer.owner.lens": "العدسة الدلالية",
100
+ "viewer.owner.relationship": "معاينة العلاقة",
101
+ "viewer.owner.intent": "تتبّع النيّة",
102
+ "viewer.owner.focus": "إبرازٌ دلالي",
103
+ "viewer.owner.legend": "معاينة المفتاح",
104
+ "viewer.owner.reader": "تفاعلُ القارئ",
105
+ "viewer.present.enter": "ادخل منصّة العرض",
106
+ "viewer.present.enter.title": "منصّة العرض (F)",
107
+ "viewer.present.exit": "اخرج من منصّة العرض",
108
+ "viewer.present.exit.title": "اخرج من منصّة العرض (F أو Escape)",
109
+ "viewer.present.present": "عرض",
110
+ "viewer.present.exit.label": "خروج",
111
+ "viewer.export.button": "تصدير",
112
+ "viewer.export.button.title": "تصدير المخطّط (E)",
113
+ "viewer.export.diagram": "تصدير المخطّط",
114
+ "viewer.export.menu": "تصدير",
115
+ "viewer.export.subtitle": "مخرجاتٌ نظيفة ومتنقّلة",
116
+ "viewer.export.share": "مشاركة",
117
+ "viewer.export.shareCard": "بطاقة مشاركة",
118
+ "viewer.export.routeShareCard": "بطاقة مشاركة مسار",
119
+ "viewer.export.reachShareCard": "بطاقة مشاركة امتداد",
120
+ "viewer.export.copyDiagram": "انسخ المخطّط",
121
+ "viewer.export.clipboardPng": "PNG إلى الحافظة",
122
+ "viewer.export.raster": "صور نقطية",
123
+ "viewer.export.image": "صورة",
124
+ "viewer.export.lossless": "صورة بلا فقد",
125
+ "viewer.export.compact": "صورة مضغوطة",
126
+ "viewer.export.modern": "صورة حديثة",
127
+ "viewer.export.vectorMotion": "متجهاتٌ وحركة",
128
+ "viewer.export.vectorMotion.heading": "متجهاتٌ وحركة",
129
+ "viewer.export.editable": "متجهٌ قابل للتحرير",
130
+ "viewer.export.svg.auto": "SVG · تلقائي",
131
+ "viewer.export.svg.auto.hint": "يطابق ثيم المضيف",
132
+ "viewer.export.svg.light": "SVG · فاتح",
133
+ "viewer.export.svg.light.hint": "فاتحٌ دومًا",
134
+ "viewer.export.svg.dark": "SVG · داكن",
135
+ "viewer.export.svg.dark.hint": "داكنٌ دومًا",
136
+ "viewer.export.motion6s": "حركة ٦ ثوانٍ",
137
+ "viewer.export.unsupported": "لا يدعمه هذا المتصفح",
138
+ "viewer.export.clipboardUnsupported": "كتابةُ صورة في الحافظة لا يدعمها هذا المتصفح",
139
+ "viewer.export.clipboardUnsupported.short": "كتابةُ صورة في الحافظة لا يدعمها هذا المتصفح.",
140
+ "viewer.export.motionUnavailable": "التقاطُ الحركة غير متاح في هذا المتصفح",
141
+ "viewer.export.webmUnavailable": "WebM غير متاح في هذا المتصفح",
142
+ "viewer.export.failed": "فشل التصدير: {message}",
143
+ "viewer.export.unknownVariant": "نوعُ بطاقة مشاركة غير معروف: {variant}",
144
+ "viewer.export.routeRequired": "تتبّع مسارًا قبل تصدير بطاقة مشاركة مسار",
145
+ "viewer.export.reachRequired": "تتبّع امتدادًا مُؤَلَّفًا قبل تصدير بطاقة مشاركة امتداد",
146
+ "viewer.export.unknown": "غير معروف",
147
+ "viewer.export.routeFailed": "فشل تصدير بطاقة مشاركة مسار: {message}",
148
+ "viewer.export.reachFailed": "فشل تصدير بطاقة مشاركة امتداد: {message}",
149
+ "viewer.export.copyFailed": "فشل النسخ: {message}",
150
+ "viewer.export.copiedPng": "نُسخ PNG إلى الحافظة",
151
+ "viewer.export.downloadedRoute": "نُزّلت بطاقة مشاركة مسار",
152
+ "viewer.export.downloadedReach": "نُزّلت بطاقة مشاركة امتداد",
153
+ "viewer.export.downloadedWebm": "نُزّل WebM",
154
+ "viewer.export.recording": "يُسجّل ٦ ثوانٍ من الحركة…",
155
+ "viewer.export.card.routeSummary.one": "المسار: من {source} إلى {target} · عدد الخطوات: {count}",
156
+ "viewer.export.card.routeSummary.other": "المسار: من {source} إلى {target} · عدد الخطوات: {count}",
157
+ "viewer.export.card.reachSummary": "الامتداد المُؤَلَّف نحو {direction} من {origin} · {nodes} · {links} · {hops} كحد أقصى",
158
+ "viewer.export.card.node.one": "عدد العُقد: {count}",
159
+ "viewer.export.card.node.other": "عدد العُقد: {count}",
160
+ "viewer.export.card.link.one": "عدد الروابط: {count}",
161
+ "viewer.export.card.link.other": "عدد الروابط: {count}",
162
+ "viewer.export.card.hop.one": "عدد القفزات: {count}",
163
+ "viewer.export.card.hop.other": "عدد القفزات: {count}",
164
+ "viewer.export.card.routeBadge": "ARCHIFY · مسار · {hops}",
165
+ "viewer.export.card.reachBadge": "ARCHIFY · امتداد {direction}",
166
+ "viewer.export.direction.upstream": "المنبع",
167
+ "viewer.export.direction.downstream": "المصبّ",
168
+ "viewer.export.error.canvasUnavailable": "لوحة الرسم غير متاحة لـ{label}",
169
+ "viewer.export.error.contextUnavailable": "سياقُ لوحة الرسم ثنائيِّ الأبعاد غير متاح لـ{label}",
170
+ "viewer.export.error.toBlobUnavailable": "canvas.toBlob غير متاح لـ{label}",
171
+ "viewer.export.error.toBlobNull": "canvas.toBlob لم يُعِد بياناتٍ لـ{label}",
172
+ "viewer.export.error.variantsCombined": "لا يمكن جمع أنواع بطاقة المشاركة",
173
+ "viewer.export.error.viewerState": "لم يستطع تصديرُ بطاقة المشاركة إزالةَ حالة العارض المؤقّتة",
174
+ "viewer.export.error.routeState": "لم تستطع بطاقة المسار حفظَ المسار المحسوم بأمان",
175
+ "viewer.export.error.reachState": "لم تستطع بطاقة الامتداد حفظَ الامتداد المُؤَلَّف بأمان",
176
+ "viewer.export.error.webmRequirements": "تصديرُ حركة WebM يحتاج حركةَ تتبّع ودعمَ MediaRecorder في المتصفح",
177
+ "viewer.export.error.mediaRecorder": "فشل MediaRecorder",
178
+ "viewer.export.error.emptyWebm": "أنتج MediaRecorder ملفَّ WebM فارغًا",
179
+ "viewer.export.error.webmBackground": "لم تُحمَّل خلفيةُ SVG لتصدير WebM",
180
+ "viewer.guide.title": "استكشف هذا النظام",
181
+ "viewer.focus.selectedNodes": "{count} عقدة مختارة",
182
+ "viewer.guide.eyebrow": "دليلُ المخطّط",
183
+ "viewer.guide.close": "أغلق دليل المخطّط",
184
+ "viewer.guide.inspecting": "يفحص الدلالاتِ المُصرَّفة",
185
+ "viewer.guide.actions": "إجراءاتُ استكشاف المخطّط",
186
+ "viewer.guide.find": "ابحث عن أي عقدة",
187
+ "viewer.guide.find.hint": "ابحث في التسميات والمسؤوليات والأنواع والمعرّفات الثابتة.",
188
+ "viewer.guide.route": "تتبّع مسارًا",
189
+ "viewer.guide.route.aria": "تتبّع مسارًا موجَّهًا",
190
+ "viewer.guide.route.hint": "اسأل كيف تتّصل عقدتان دلاليتان في الاتجاه المُؤَلَّف.",
191
+ "viewer.guide.map": "شاهد النظام كاملًا",
192
+ "viewer.guide.map.hint": "افتح الرادار الدلالي بنافذةٍ حيّة وعُقدٍ ثابتة.",
193
+ "viewer.guide.lens": "قارن الأنواع الدلالية",
194
+ "viewer.guide.lens.hint": "عُدّ الأدوار، واكشف حركتها، وقارن الروابط المُؤَلَّفة المباشرة.",
195
+ "viewer.guide.present": "ادخل منصّة العرض",
196
+ "viewer.guide.present.hint": "امنح المخطّطَ الحيّ نافذةَ العرض بلا تغيير التصدير.",
197
+ "viewer.guide.shortcuts": "اختصاراتُ لوحة المفاتيح الإضافية",
198
+ "viewer.guide.shortcut.export": "تصدير",
199
+ "viewer.guide.shortcut.theme": "الثيم",
200
+ "viewer.guide.shortcut.style": "الهوية",
201
+ "viewer.guide.shortcut.reset": "إعادة الضبط",
202
+ "viewer.guide.shortcut.zoomIn": "تكبير",
203
+ "viewer.guide.shortcut.zoomOut": "تصغير",
204
+ "viewer.guide.shortcut.close": "إغلاق",
205
+ "viewer.guide.credit": "أفادك Archify؟ نجمةٌ على GitHub تُساعد",
206
+ "viewer.guide.star": "نجمة",
207
+ "viewer.guide.facts": "{nodes} · {relationships}",
208
+ "viewer.guide.fact.node.one": "{count} عقدة دلالية",
209
+ "viewer.guide.fact.node.other": "{count} عقدة دلالية",
210
+ "viewer.guide.fact.relationship.one": "{count} علاقة",
211
+ "viewer.guide.fact.relationship.other": "{count} علاقة",
212
+ "viewer.guide.open": "افتح دليل المخطّط",
213
+ "viewer.finder.title": "ابحث عن عقدة",
214
+ "viewer.finder.close": "أغلق باحث العُقد",
215
+ "viewer.finder.placeholder": "ابحث في التسميات أو المعرّفات",
216
+ "viewer.finder.search": "ابحث في عُقد المخطّط",
217
+ "viewer.finder.results": "عُقد المخطّط",
218
+ "viewer.finder.empty": "لا عُقدَ مطابقة",
219
+ "viewer.finder.result.focus": "إبراز {label}",
220
+ "viewer.finder.result.routeStart": "اختر {label} بدايةً للمسار",
221
+ "viewer.finder.result.routeTarget": "اختر {label} نهايةً للمسار، {links}",
222
+ "viewer.finder.status.empty": "لا عُقدَ مطابقة",
223
+ "viewer.finder.status.count.one": "{count} عقدة مطابقة",
224
+ "viewer.finder.status.count.other": "{count} عقدة مطابقة",
225
+ "viewer.finder.noun.nodes": "عقدة",
226
+ "viewer.finder.link.one": "{count} رابط",
227
+ "viewer.finder.link.other": "{count} روابط",
228
+ "viewer.finder.result.focus.one": "إبراز {label}، {count} اتّصالٌ مرتبط",
229
+ "viewer.finder.result.focus.other": "إبراز {label}، {count} اتّصالًا مرتبطًا",
230
+ "viewer.finder.status.filtered": "{visible} من {available} {noun}",
231
+ "viewer.finder.status.all": "{available} {noun}",
232
+ "viewer.passport.eyebrow": "الجواز الدلالي",
233
+ "viewer.passport.metadata": "بياناتُ العقدة",
234
+ "viewer.passport.evidence": "أدلةٌ مصدرية مُتحقَّق منها",
235
+ "viewer.passport.verified": "مصدرٌ مُتحقَّق منه",
236
+ "viewer.passport.verificationScope": "مُتحقَّق منه مقابل Git المحلي عند الالتزام المثبَّت. ولم يُفحَص الوصولُ إلى الريموت.",
237
+ "viewer.passport.reach": "امتدادٌ مُؤَلَّف",
238
+ "viewer.passport.reach.trace": "تتبّعُ الوصول المُؤَلَّف",
239
+ "viewer.passport.upstream": "المنبع",
240
+ "viewer.passport.downstream": "المصبّ",
241
+ "viewer.passport.upstream.trace": "تتبّعُ الوصول المُؤَلَّف نحو المنبع",
242
+ "viewer.passport.downstream.trace": "تتبّعُ الوصول المُؤَلَّف نحو المصبّ",
243
+ "viewer.passport.close": "أغلق الجواز الدلالي",
244
+ "viewer.passport.move": "حرّك الجواز الدلالي. اسحب، أو استخدم أسهم المفاتيح، أو اضغط Home لإعادته.",
245
+ "viewer.passport.copy": "انسخ الرابط",
246
+ "viewer.passport.copy.focus": "انسخ رابط العقدة المُبرَزة",
247
+ "viewer.passport.relations": "العلاقات",
248
+ "viewer.passport.relations.show": "أظهر العلاقات المتّصلة",
249
+ "viewer.passport.relations.hide": "أخفِ العلاقات المتّصلة",
250
+ "viewer.passport.relations.list": "العلاقات المتّصلة",
251
+ "viewer.passport.copyRelation": "انسخ العلاقة",
252
+ "viewer.passport.copyNode": "انسخ العقدة",
253
+ "viewer.passport.copyPinned": "انسخ رابط العلاقة المثبَّتة",
254
+ "viewer.passport.copySource": "انسخ رابط عقدة المصدر",
255
+ "viewer.passport.copy.focused.success": "نُسخ رابط العقدة المُبرَزة",
256
+ "viewer.passport.copy.pinned.success": "نُسخ رابط العلاقة المثبَّتة",
257
+ "viewer.passport.copy.focused.failed": "تعذّر نسخُ رابط العقدة المُبرَزة",
258
+ "viewer.passport.copy.pinned.failed": "تعذّر نسخُ رابط العلاقة المثبَّتة",
259
+ "viewer.passport.relationship.none": "لا علاقاتٍ متّصلة",
260
+ "viewer.passport.relationship.count.one": "{count} علاقة",
261
+ "viewer.passport.relationship.count.other": "{count} علاقة",
262
+ "viewer.passport.relationship.show.one": "أظهر {count} علاقة متّصلة",
263
+ "viewer.passport.relationship.show.other": "أظهر {count} علاقة متّصلة",
264
+ "viewer.passport.relationship.summary": "{out} صادر · {in} وارد{loops}",
265
+ "viewer.passport.relationship.loops": " · {count} حلقة",
266
+ "viewer.passport.relationship.explorer": "مستكشفُ العلاقات المباشر",
267
+ "viewer.passport.relationship.help": "استخدم أسهم المفاتيح لاستكشاف العلاقات. اضغط Enter أو Space لتثبيت التفاصيل، وEscape للمسح.",
268
+ "viewer.passport.relationship.loopsBack": "يعود إلى نفسه",
269
+ "viewer.passport.relationship.connectsTo": "يتّصل بـ",
270
+ "viewer.passport.relationship.connectsFrom": "يتّصل منه",
271
+ "viewer.passport.relationship.pinned": "علاقةٌ مثبَّتة · من {from} إلى {to} · {label}",
272
+ "viewer.passport.relationship.inspect": "افحص العلاقة {index} من {total}: من {from} إلى {to}، {label}. اضغط Enter للتفاصيل.",
273
+ "viewer.passport.relationship.group.out": "صادر",
274
+ "viewer.passport.relationship.group.in": "وارد",
275
+ "viewer.passport.relationship.group.loop": "حلقاتٌ ذاتية",
276
+ "viewer.passport.relationship.row": "{group}: {relationship}، {neighbor}",
277
+ "viewer.passport.relationship.direction.out": "صادر",
278
+ "viewer.passport.relationship.direction.in": "وارد",
279
+ "viewer.passport.relationship.direction.loop": "حلقة",
280
+ "viewer.passport.sourceCount.one": "{count} مرجعٌ مصدري مُتحقَّق منه",
281
+ "viewer.passport.sourceCount.other": "{count} مراجعَ مصدرية مُتحقَّق منها",
282
+ "viewer.passport.repository.open": "افتح التزام المستودع المُتحقَّق منه {revision}",
283
+ "viewer.passport.source.open": "افتح المصدرَ المُتحقَّق منه {path} عند الالتزام {revision}",
284
+ "viewer.passport.source.openLink": "افتح ↗",
285
+ "viewer.passport.reach.upstream.one": "تتبّع العُقد المُؤَلَّفة نحو المنبع (العدد: {count})",
286
+ "viewer.passport.reach.upstream.other": "تتبّع العُقد المُؤَلَّفة نحو المنبع (العدد: {count})",
287
+ "viewer.passport.reach.downstream.one": "تتبّع العُقد المُؤَلَّفة نحو المصبّ (العدد: {count})",
288
+ "viewer.passport.reach.downstream.other": "تتبّع العُقد المُؤَلَّفة نحو المصبّ (العدد: {count})",
289
+ "viewer.passport.reach.noUpstream": "لا عُقدَ مُؤَلَّفة نحو المنبع",
290
+ "viewer.passport.reach.noDownstream": "لا عُقدَ مُؤَلَّفة نحو المصبّ",
291
+ "viewer.passport.reach.status": "{direction} · عدد العُقد: {nodes} · عدد الروابط: {links} · أقصى عدد للقفزات: {hops}",
292
+ "viewer.route.eyebrow": "مسار",
293
+ "viewer.route.start": "انقر حيث يبدأ المسار",
294
+ "viewer.route.start.find": "ابحث عن بداية",
295
+ "viewer.route.start.find.aria": "ابحث عن بداية مسار",
296
+ "viewer.route.copy": "انسخ الرابط",
297
+ "viewer.route.copy.aria": "انسخ رابط المسار المتتبَّع",
298
+ "viewer.route.clear": "مسح",
299
+ "viewer.route.clear.aria": "امسح مسبار المسار",
300
+ "viewer.route.traced": "المسار",
301
+ "viewer.route.pickTwo": "انقر عقدتين على المخطّط",
302
+ "viewer.route.pickOne": "انقر عقدةً على المخطّط",
303
+ "viewer.route.controls": "أدواتُ رحلة المسار",
304
+ "viewer.route.previous": "موضعُ المسار السابق",
305
+ "viewer.route.play": "شغّل رحلة المسار",
306
+ "viewer.route.pause": "أوقف رحلة المسار",
307
+ "viewer.route.replay": "أعِد رحلة المسار",
308
+ "viewer.route.next": "موضعُ المسار التالي",
309
+ "viewer.route.journey": "الرحلة",
310
+ "viewer.route.pause.label": "إيقاف",
311
+ "viewer.route.replay.label": "إعادة",
312
+ "viewer.route.overview": "نظرة عامة",
313
+ "viewer.route.overview.aria": "أظهر نظرة المسار الكاملة",
314
+ "viewer.route.instructions": "انقر بدايةً ثم نهاية. المسارات تتبع الأسهم.",
315
+ "viewer.route.destination": "إلى أين ينتهي المسار من {label}؟",
316
+ "viewer.route.destination.find": "ابحث عن وجهة",
317
+ "viewer.route.destination.find.aria": "ابحث عن وجهةِ مسارٍ يمكن الوصول إليها",
318
+ "viewer.route.differentDestination": "اختر وجهةً أخرى",
319
+ "viewer.route.distinct": "اختر عقدتين مختلفتين.",
320
+ "viewer.route.unreachable": "لا يمكن الوصول إلى {label} من هنا",
321
+ "viewer.route.unreachable.detail": "لا يمكن الوصول من {source} إلى {target} عبر الأسهم. اختر عقدةً مُضاءة.",
322
+ "viewer.route.start.instructions": "بعدها اختر النهاية. ستُضاء العُقد التي يمكن الوصول إليها فقط.",
323
+ "viewer.route.copy.success": "نُسخ رابط المسار المتتبَّع",
324
+ "viewer.route.copy.failed": "تعذّر نسخُ رابط المسار المتتبَّع",
325
+ "viewer.route.position": "موضعُ المسار {index} من {total}: {label}",
326
+ "viewer.route.step": "الخطوة {index} من {total} · {phase} · {label}",
327
+ "viewer.route.motionRequired": "الرحلةُ التلقائية تحتاج الحركة الحيّة",
328
+ "viewer.route.trigger.clear": "امسح المسار المتتبَّع",
329
+ "viewer.route.overview.status": "{nodes} · {hops} · أقصر مسار",
330
+ "viewer.route.overview.node.one": "{count} عقدة",
331
+ "viewer.route.overview.node.other": "{count} عقدة",
332
+ "viewer.route.overview.hop.one": "{count} خطوة",
333
+ "viewer.route.overview.hop.other": "{count} خطوات",
334
+ "viewer.route.phase.playing": "قيد التشغيل",
335
+ "viewer.route.phase.complete": "مكتمل",
336
+ "viewer.route.phase.inspecting": "قيد الفحص",
337
+ "viewer.route.destination.count.one": "{count} عقدة قابلة للوصول مُضاءة. انقرها.",
338
+ "viewer.route.destination.count.other": "{count} عقدة قابلة للوصول مُضاءة. انقر إحداها.",
339
+ "viewer.route.noOutgoing": "لا أسهمَ تخرج من هذه العقدة. امسحها واختر بدايةً أخرى.",
340
+ "viewer.route.result.title": "من {source} إلى {target}",
341
+ "viewer.route.finder.source.title": "اختر بداية المسار",
342
+ "viewer.route.finder.source.placeholder": "ابحث في بدايات المسار",
343
+ "viewer.route.finder.source.empty": "لا بداياتِ مسارٍ مطابقة",
344
+ "viewer.route.finder.source.results": "عُقدٌ تصلح بدايةً للمسار",
345
+ "viewer.route.finder.source.noun": "بداياتُ المسار",
346
+ "viewer.route.finder.source.badge": "بداية",
347
+ "viewer.route.finder.target.title": "الوجهة من {label}",
348
+ "viewer.route.finder.target.placeholder": "ابحث في الوجهات القابلة للوصول",
349
+ "viewer.route.finder.target.empty": "لا وجهاتٍ مطابقة قابلة للوصول",
350
+ "viewer.route.finder.target.results": "وجهاتُ المسار القابلة للوصول",
351
+ "viewer.route.finder.target.noun": "وجهاتٌ قابلة للوصول",
352
+ "viewer.route.hop.one": "{count} قفزة",
353
+ "viewer.route.hop.other": "{count} قفزات",
354
+ "viewer.lens.eyebrow": "العدسة الدلالية",
355
+ "viewer.lens.title": "قارن أدوار النظام",
356
+ "viewer.lens.close": "أغلق العدسة الدلالية",
357
+ "viewer.lens.instruction": "اختر نوعين دلاليين على الأكثر. الواحد يكشف حركته الحقيقية، والاثنان يقارنان الروابط المُؤَلَّفة المباشرة فقط.",
358
+ "viewer.lens.kinds": "الأنواع الدلالية",
359
+ "viewer.lens.choose": "اختر نوعًا لتفحص عُقده وعلاقاته الملامسة.",
360
+ "viewer.lens.copy": "انسخ رابط العدسة الدلالية",
361
+ "viewer.lens.clear": "أفرغ العدسة الدلالية",
362
+ "viewer.lens.open": "افتح العدسة الدلالية",
363
+ "viewer.lens.openActive": "افتح العدسة الدلالية النشطة",
364
+ "viewer.lens.legend": "المفتاح الدلالي",
365
+ "viewer.lens.legend.inspect.one": "افحص {label}، {count} عقدة",
366
+ "viewer.lens.legend.inspect.other": "افحص {label}، {count} عقدة",
367
+ "viewer.lens.kind.count.one": "{label}، {count} عقدة",
368
+ "viewer.lens.kind.count.other": "{label}، {count} عقدة",
369
+ "viewer.lens.compare.one": "{first} إلى {second}: {forward} · {second} إلى {first}: {reverse} · {count} علاقة مباشرة",
370
+ "viewer.lens.compare.other": "{first} إلى {second}: {forward} · {second} إلى {first}: {reverse} · {count} علاقة مباشرة",
371
+ "viewer.lens.single": "{nodes} · {relationships} · تبقى الأقران المتّصلة ظاهرة",
372
+ "viewer.lens.node.one": "{count} عقدة {label}",
373
+ "viewer.lens.node.other": "{count} عقدة {label}",
374
+ "viewer.lens.relationship.one": "{count} علاقةٌ ملامسة",
375
+ "viewer.lens.relationship.other": "{count} علاقةٌ ملامسة",
376
+ "viewer.radar.title": "رادار دلالي",
377
+ "viewer.radar.building": "جارٍ إنشاء النظرة العامة",
378
+ "viewer.radar.openFull": "افتح الرادار الدلالي الكامل",
379
+ "viewer.radar.open": "افتح الرادار",
380
+ "viewer.radar.close": "أغلق الرادار الدلالي",
381
+ "viewer.radar.surface": "نظرةٌ عامة على المخطّط. انقر عقدةً لإبرازها، أو حرّك بأسهم المفاتيح.",
382
+ "viewer.radar.click": "انقر عقدة",
383
+ "viewer.radar.drag": "اسحب للتحريك",
384
+ "viewer.radar.space": "الرادار الدلالي يحتاج مساحةَ خريطةٍ أكبر.",
385
+ "viewer.radar.nodes": "عُقد الرادار الدلالي في المخطّط",
386
+ "viewer.radar.focus": "أبرِز {label} من الرادار الدلالي",
387
+ "viewer.radar.status": "{count} عقدة · {viewport}",
388
+ "viewer.radar.fullMap": "{count} عقدة · الخريطة كاملة",
389
+ "viewer.radar.compacted": "طُوي الرادار لئلّا يغطّي الجواز الدلالي أو أدوات الخريطة.",
390
+ "viewer.radar.cancelWaiting": "ألغِ انتظار الرادار الدلالي مساحةَ خريطةٍ أكبر",
391
+ "viewer.radar.needsSpace": "الرادار الدلالي يحتاج مساحةَ خريطةٍ مرئية أكبر",
392
+ "viewer.radar.viewport.full": "الخريطة كاملة",
393
+ "viewer.radar.viewport.width": "{percent}% عرضًا",
394
+ "viewer.radar.viewport.scale": "{percent}% من نافذة العرض",
395
+ "viewer.nav.controls": "أدواتُ عرض المخطّط",
396
+ "viewer.nav.route": "تتبّع مسارًا موجَّهًا",
397
+ "viewer.nav.route.title": "تتبّع مسار (R)",
398
+ "viewer.nav.route.short": "مسار",
399
+ "viewer.nav.radar": "افتح الرادار الدلالي",
400
+ "viewer.nav.radar.title": "الرادار الدلالي (M)",
401
+ "viewer.nav.radar.short": "خريطة",
402
+ "viewer.nav.lens": "افتح العدسة الدلالية",
403
+ "viewer.nav.lens.title": "العدسة الدلالية (L)",
404
+ "viewer.nav.lens.short": "عدسة",
405
+ "viewer.nav.find": "ابحث عن عقدة",
406
+ "viewer.nav.find.title": "ابحث عن عقدة (/)",
407
+ "viewer.outline.title": "فهرسُ العُقد",
408
+ "viewer.rail.show": "ملاحظاتٌ وفهرس",
409
+ "viewer.rail.controls": "لوحةٌ جانبية",
410
+ "viewer.rail.collapse": "اطوِ اللوحة الجانبية",
411
+ "viewer.rail.bottom": "انقل اللوحة أسفل المخطّط",
412
+ "viewer.rail.right": "انقل اللوحة بجانب المخطّط",
413
+ "viewer.nav.guide": "افتح دليل المخطّط",
414
+ "viewer.nav.guide.title": "دليل المخطّط (?)",
415
+ "viewer.nav.zoomOut": "تصغير",
416
+ "viewer.nav.zoomOut.title": "تصغير (-)",
417
+ "viewer.nav.reset": "أعِد ضبط عرض المخطّط",
418
+ "viewer.nav.reset.title": "أعِد الضبط (0)",
419
+ "viewer.nav.read": "قراءة",
420
+ "viewer.nav.zoomIn": "تكبير",
421
+ "viewer.nav.zoomIn.title": "تكبير (+)",
422
+ "viewer.nav.camera": "{hint}. إعادةُ ضبط عرض المخطّط",
423
+ "viewer.nav.camera.title": "{semantic}{hint} · إعادة الضبط (0)",
424
+ "viewer.nav.camera.semantic": "كاميرا دلالية نشطة · ",
425
+ "viewer.nav.level.map": "خريطة",
426
+ "viewer.nav.level.read": "قراءة",
427
+ "viewer.nav.level.full": "كامل",
428
+ "viewer.nav.level.auto": "تلقائي",
429
+ "viewer.nav.detail.map": "كبّر لتكشف تسميات العلاقات وسياق العُقد",
430
+ "viewer.nav.detail.read": "كبّر مرةً أخرى لتكشف الوسوم والتعليقات",
431
+ "viewer.nav.detail.full": "تفاصيل المخطّط كاملة",
432
+ "viewer.intent.summary": "{label}. {out} صادر، {in} وارد{loops}. {total} اتّصالًا. اضغط Enter للتفاصيل.",
433
+ "viewer.intent.loops": "، {count} حلقة ذاتية",
434
+ "viewer.common.copied": "نُسخ",
435
+ "viewer.common.copyFailed": "فشل النسخ",
436
+ "viewer.common.copyLink": "انسخ الرابط",
437
+ "viewer.common.clear": "مسح",
438
+ "viewer.common.close": "إغلاق",
439
+ "diagram.description.erd": "مخطّطُ كياناتٍ وعلاقات مُولَّد بـArchify.",
440
+ "node.context.erd": "كيان",
441
+ "legend.erd.pk": "مفتاح أساسي",
442
+ "legend.erd.fk": "مفتاح خارجي",
443
+ "legend.erd.uk": "مفتاح فريد",
444
+ "legend.erd.one": "واحد",
445
+ "legend.erd.many": "متعدّد",
446
+ "legend.erd.optional": "اختياري",
447
+ "diagram.description.tree": "مخطّطُ هرميةٍ مُولَّد بـArchify.",
448
+ "node.context.tree.root": "جذر",
449
+ "node.context.tree.branch": "فرع",
450
+ "node.context.tree.leaf": "ورقة",
451
+ "tree.toggle.collapse": "اطوِ {label} ({count} أسفله)",
452
+ "tree.toggle.expand": "وسّع {label} ({count} مخفي)",
453
+ "tree.expandAll": "وسّع الكل",
454
+ "diagram.description.class": "مخطّطُ أصنافٍ وواجهات مُولَّد بـArchify.",
455
+ "node.context.class.class": "صنف",
456
+ "node.context.class.abstract": "صنفٌ مجرّد",
457
+ "node.context.class.interface": "واجهة",
458
+ "node.context.class.enum": "تعداد",
459
+ "node.context.class.record": "سجل",
460
+ "legend.class.dependency": "يعتمد على",
461
+ "legend.class.association": "ارتباط",
462
+ "legend.class.inheritance": "يرث",
463
+ "legend.class.realization": "يُنفّذ",
464
+ "legend.class.composition": "تركيب",
465
+ "legend.class.aggregation": "تجميع",
466
+ "diagram.description.timeline": "خطُّ زمنٍ للأحداث مُولَّد بـArchify.",
467
+ "timeline.axis": "الزمن",
468
+ "timeline.break": "قطعٌ في المحور: أُسقط {duration} بلا أحداث",
469
+ "timeline.compressed": "{count} فترةٌ هادئة مطويّة (≈)",
470
+ "timeline.evidence.observed": "أحداثٌ مرصودة",
471
+ "timeline.evidence.illustrative": "بياناتٌ توضيحية",
472
+ "legend.timeline.default": "حدث",
473
+ "legend.timeline.change": "تغيير",
474
+ "legend.timeline.alert": "تنبيه",
475
+ "legend.timeline.action": "استجابة",
476
+ "legend.timeline.recovery": "تعافٍ",
477
+ "diagram.description.waterfall": "شلالُ تنفيذٍ مُولَّد بـArchify.",
478
+ "waterfall.evidence.measured": "توقيتٌ مقيس",
479
+ "waterfall.evidence.illustrative": "توقيتٌ توضيحي",
480
+ "waterfall.wall": "الزمنُ الفعلي {duration}",
481
+ "waterfall.share": "{percent} من {total} من الزمن الفعلي",
482
+ "waterfall.incomplete": "غير مكتمل، ≥ {duration}",
483
+ "waterfall.operation": "عملية",
484
+ "legend.waterfall.ok": "مكتمل",
485
+ "legend.waterfall.error": "خطأ",
486
+ "legend.waterfall.cancelled": "ملغى",
487
+ "legend.waterfall.incomplete": "غير مكتمل (بلا نهاية مسجَّلة)"
488
+ }