reasonix 0.51.0 → 0.52.0

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 (143) hide show
  1. package/dashboard/dist/app.css +1 -1
  2. package/dashboard/dist/app.js +3 -3
  3. package/dashboard/dist/app.js.map +1 -1
  4. package/dist/cli/{acp-XEUHGG7X.js → acp-NEUYWGUU.js} +26 -26
  5. package/dist/cli/chat-QA6IVFJD.js +49 -0
  6. package/dist/cli/{chunk-HGK57NBN.js → chunk-2W4F3RIZ.js} +2 -2
  7. package/dist/cli/{chunk-UO6E7FN3.js → chunk-3OXD5CBM.js} +32756 -31192
  8. package/dist/cli/chunk-3OXD5CBM.js.map +1 -0
  9. package/dist/cli/{chunk-UMZ6KHTS.js → chunk-5YLEKX2V.js} +2 -2
  10. package/dist/cli/{chunk-BA5R6BAE.js → chunk-6QBUXA73.js} +2 -2
  11. package/dist/cli/chunk-77JIQ7SL.js +40 -0
  12. package/dist/cli/chunk-77JIQ7SL.js.map +1 -0
  13. package/dist/cli/{chunk-6XWXIVQ3.js → chunk-AMSK3ZLB.js} +2 -2
  14. package/dist/cli/chunk-AMSK3ZLB.js.map +1 -0
  15. package/dist/cli/{chunk-A5PBEIJ7.js → chunk-AOYUW3HR.js} +37 -4
  16. package/dist/cli/chunk-AOYUW3HR.js.map +1 -0
  17. package/dist/cli/{chunk-3YRTIWFX.js → chunk-ARBGTNHM.js} +2 -2
  18. package/dist/cli/{chunk-3BTK5BHI.js → chunk-B4MOGWHW.js} +2 -2
  19. package/dist/cli/{chunk-5AIDYVH2.js → chunk-CFJY64UA.js} +2 -2
  20. package/dist/cli/{chunk-SBHF5NWD.js → chunk-CGVW5W7N.js} +14 -14
  21. package/dist/cli/{chunk-SBHF5NWD.js.map → chunk-CGVW5W7N.js.map} +1 -1
  22. package/dist/cli/{chunk-DVD67FXQ.js → chunk-CLHMV6OL.js} +568 -66
  23. package/dist/cli/chunk-CLHMV6OL.js.map +1 -0
  24. package/dist/cli/{chunk-2WUEAI2I.js → chunk-CPCUMMSR.js} +3 -3
  25. package/dist/cli/{chunk-JHWQDJZA.js → chunk-CTRM32BP.js} +2 -2
  26. package/dist/cli/{chunk-544J4PXD.js → chunk-D6WRFR6V.js} +5 -5
  27. package/dist/cli/{chunk-N4SEBLU4.js → chunk-DLTE4GBY.js} +3 -3
  28. package/dist/cli/{chunk-NRROJXXT.js → chunk-FY5UERSG.js} +9 -9
  29. package/dist/cli/{chunk-C2MRSJTV.js → chunk-GFJJEW3Z.js} +18 -10
  30. package/dist/cli/chunk-GFJJEW3Z.js.map +1 -0
  31. package/dist/cli/{chunk-R6KIHEF3.js → chunk-GNRKXRRE.js} +743 -660
  32. package/dist/cli/chunk-GNRKXRRE.js.map +1 -0
  33. package/dist/cli/{chunk-SXSAWOB7.js → chunk-HI6THNAZ.js} +19 -17
  34. package/dist/cli/chunk-HI6THNAZ.js.map +1 -0
  35. package/dist/cli/{chunk-K4YQFULP.js → chunk-HNZ4727T.js} +15 -15
  36. package/dist/cli/chunk-I3NE5S63.js +54 -0
  37. package/dist/cli/{chunk-EAMXOWUW.js.map → chunk-I3NE5S63.js.map} +1 -1
  38. package/dist/cli/{chunk-FEZK652I.js → chunk-MVLPXZAA.js} +834 -10
  39. package/dist/cli/chunk-MVLPXZAA.js.map +1 -0
  40. package/dist/cli/{chunk-36BM7INR.js → chunk-MW64SQUE.js} +2 -2
  41. package/dist/cli/{chunk-Z3MKG7MQ.js → chunk-OMNRXZNA.js} +2 -2
  42. package/dist/cli/{chunk-7YPMTE3U.js → chunk-RCC73DWQ.js} +5 -9
  43. package/dist/cli/chunk-RCC73DWQ.js.map +1 -0
  44. package/dist/cli/{chunk-2HVTBFCI.js → chunk-RHQOGG43.js} +5 -3
  45. package/dist/cli/chunk-RHQOGG43.js.map +1 -0
  46. package/dist/cli/{chunk-EWVFGYT6.js → chunk-VVPV5HU6.js} +2 -2
  47. package/dist/cli/{chunk-7YB26OQO.js → chunk-WPY7AFS6.js} +2 -2
  48. package/dist/cli/{chunk-BM6BBFAV.js → chunk-XBYHNZ5Z.js} +2 -2
  49. package/dist/cli/{chunk-WPOKBW5E.js → chunk-XNMXVL6C.js} +2 -2
  50. package/dist/cli/{chunk-SVD4UPRQ.js → chunk-XUZHBQSM.js} +2 -2
  51. package/dist/cli/{chunk-Q46B3Z7H.js → chunk-YMYX6QTC.js} +8 -5
  52. package/dist/cli/{chunk-Q46B3Z7H.js.map → chunk-YMYX6QTC.js.map} +1 -1
  53. package/dist/cli/{chunk-K3QJ3GKI.js → chunk-Z663GVUB.js} +3 -3
  54. package/dist/cli/{code-BMXLBC7D.js → code-WN6D4VZO.js} +35 -36
  55. package/dist/cli/{code-BMXLBC7D.js.map → code-WN6D4VZO.js.map} +1 -1
  56. package/dist/cli/{commands-E4RZXMF6.js → commands-DHETOY7O.js} +4 -4
  57. package/dist/cli/{commit-KSRQ64IL.js → commit-BBUYAKZV.js} +3 -3
  58. package/dist/cli/{config-QNDONOTU.js → config-KV7VV5LG.js} +4 -2
  59. package/dist/cli/{desktop-H3ZHIMDA.js → desktop-LJVXWXNF.js} +557 -70
  60. package/dist/cli/desktop-LJVXWXNF.js.map +1 -0
  61. package/dist/cli/diff-2JHMQAHI.js +165 -0
  62. package/dist/cli/{diff-I4PYI43W.js.map → diff-2JHMQAHI.js.map} +1 -1
  63. package/dist/cli/{doctor-Y2E4MY2F.js → doctor-GI5LOEZL.js} +11 -11
  64. package/dist/cli/{events-47HOT7ZA.js → events-LBKMLFM4.js} +5 -5
  65. package/dist/cli/index.js +40 -39
  66. package/dist/cli/index.js.map +1 -1
  67. package/dist/cli/{mcp-76DK63ZB.js → mcp-DKEJK5ND.js} +3 -3
  68. package/dist/cli/{mcp-browse-SDNUGO74.js → mcp-browse-V7KWDY32.js} +15 -15
  69. package/dist/cli/{mcp-browse-SDNUGO74.js.map → mcp-browse-V7KWDY32.js.map} +1 -1
  70. package/dist/cli/{mcp-inspect-BL5DEO5M.js → mcp-inspect-MTABNHVM.js} +5 -5
  71. package/dist/cli/{prompt-JLATI3P7.js → prompt-ATI7DKHF.js} +5 -5
  72. package/dist/cli/{prune-sessions-WHZDFUKD.js → prune-sessions-YQQSZTZS.js} +4 -4
  73. package/dist/cli/{replay-MHXS7C7Z.js → replay-ZJQ4I4CJ.js} +30 -30
  74. package/dist/cli/{replay-MHXS7C7Z.js.map → replay-ZJQ4I4CJ.js.map} +1 -1
  75. package/dist/cli/{run-SXNCPRJE.js → run-HFPRNWJY.js} +22 -22
  76. package/dist/cli/{server-GEHOE6CO.js → server-UHKO2VVM.js} +23 -23
  77. package/dist/cli/{sessions-EPBFYISL.js → sessions-IQEWWUH3.js} +16 -16
  78. package/dist/cli/setup-5BYKCL62.js +502 -0
  79. package/dist/cli/setup-5BYKCL62.js.map +1 -0
  80. package/dist/cli/{stats-4WB4XHBP.js → stats-OFCGOQMZ.js} +6 -6
  81. package/dist/cli/{version-4SP3DLLH.js → version-EODUFAAI.js} +16 -16
  82. package/dist/index.d.ts +12 -1
  83. package/dist/index.js +613 -78
  84. package/dist/index.js.map +1 -1
  85. package/package.json +21 -3
  86. package/dist/cli/chat-NJ2Q5KHG.js +0 -50
  87. package/dist/cli/chunk-2HVTBFCI.js.map +0 -1
  88. package/dist/cli/chunk-5BBC6YMV.js +0 -832
  89. package/dist/cli/chunk-5BBC6YMV.js.map +0 -1
  90. package/dist/cli/chunk-6XWXIVQ3.js.map +0 -1
  91. package/dist/cli/chunk-7YPMTE3U.js.map +0 -1
  92. package/dist/cli/chunk-A5PBEIJ7.js.map +0 -1
  93. package/dist/cli/chunk-C2MRSJTV.js.map +0 -1
  94. package/dist/cli/chunk-DVD67FXQ.js.map +0 -1
  95. package/dist/cli/chunk-EAMXOWUW.js +0 -54
  96. package/dist/cli/chunk-FEZK652I.js.map +0 -1
  97. package/dist/cli/chunk-R6KIHEF3.js.map +0 -1
  98. package/dist/cli/chunk-SXSAWOB7.js.map +0 -1
  99. package/dist/cli/chunk-UO6E7FN3.js.map +0 -1
  100. package/dist/cli/chunk-UPW544V3.js +0 -96
  101. package/dist/cli/chunk-UPW544V3.js.map +0 -1
  102. package/dist/cli/desktop-H3ZHIMDA.js.map +0 -1
  103. package/dist/cli/devtools-HW3WDT3Q.js +0 -91
  104. package/dist/cli/devtools-HW3WDT3Q.js.map +0 -1
  105. package/dist/cli/diff-I4PYI43W.js +0 -165
  106. package/dist/cli/setup-IW2XR5XI.js +0 -593
  107. package/dist/cli/setup-IW2XR5XI.js.map +0 -1
  108. /package/dist/cli/{acp-XEUHGG7X.js.map → acp-NEUYWGUU.js.map} +0 -0
  109. /package/dist/cli/{chat-NJ2Q5KHG.js.map → chat-QA6IVFJD.js.map} +0 -0
  110. /package/dist/cli/{chunk-HGK57NBN.js.map → chunk-2W4F3RIZ.js.map} +0 -0
  111. /package/dist/cli/{chunk-UMZ6KHTS.js.map → chunk-5YLEKX2V.js.map} +0 -0
  112. /package/dist/cli/{chunk-BA5R6BAE.js.map → chunk-6QBUXA73.js.map} +0 -0
  113. /package/dist/cli/{chunk-3YRTIWFX.js.map → chunk-ARBGTNHM.js.map} +0 -0
  114. /package/dist/cli/{chunk-3BTK5BHI.js.map → chunk-B4MOGWHW.js.map} +0 -0
  115. /package/dist/cli/{chunk-5AIDYVH2.js.map → chunk-CFJY64UA.js.map} +0 -0
  116. /package/dist/cli/{chunk-2WUEAI2I.js.map → chunk-CPCUMMSR.js.map} +0 -0
  117. /package/dist/cli/{chunk-JHWQDJZA.js.map → chunk-CTRM32BP.js.map} +0 -0
  118. /package/dist/cli/{chunk-544J4PXD.js.map → chunk-D6WRFR6V.js.map} +0 -0
  119. /package/dist/cli/{chunk-N4SEBLU4.js.map → chunk-DLTE4GBY.js.map} +0 -0
  120. /package/dist/cli/{chunk-NRROJXXT.js.map → chunk-FY5UERSG.js.map} +0 -0
  121. /package/dist/cli/{chunk-K4YQFULP.js.map → chunk-HNZ4727T.js.map} +0 -0
  122. /package/dist/cli/{chunk-36BM7INR.js.map → chunk-MW64SQUE.js.map} +0 -0
  123. /package/dist/cli/{chunk-Z3MKG7MQ.js.map → chunk-OMNRXZNA.js.map} +0 -0
  124. /package/dist/cli/{chunk-EWVFGYT6.js.map → chunk-VVPV5HU6.js.map} +0 -0
  125. /package/dist/cli/{chunk-7YB26OQO.js.map → chunk-WPY7AFS6.js.map} +0 -0
  126. /package/dist/cli/{chunk-BM6BBFAV.js.map → chunk-XBYHNZ5Z.js.map} +0 -0
  127. /package/dist/cli/{chunk-WPOKBW5E.js.map → chunk-XNMXVL6C.js.map} +0 -0
  128. /package/dist/cli/{chunk-SVD4UPRQ.js.map → chunk-XUZHBQSM.js.map} +0 -0
  129. /package/dist/cli/{chunk-K3QJ3GKI.js.map → chunk-Z663GVUB.js.map} +0 -0
  130. /package/dist/cli/{commands-E4RZXMF6.js.map → commands-DHETOY7O.js.map} +0 -0
  131. /package/dist/cli/{commit-KSRQ64IL.js.map → commit-BBUYAKZV.js.map} +0 -0
  132. /package/dist/cli/{config-QNDONOTU.js.map → config-KV7VV5LG.js.map} +0 -0
  133. /package/dist/cli/{doctor-Y2E4MY2F.js.map → doctor-GI5LOEZL.js.map} +0 -0
  134. /package/dist/cli/{events-47HOT7ZA.js.map → events-LBKMLFM4.js.map} +0 -0
  135. /package/dist/cli/{mcp-76DK63ZB.js.map → mcp-DKEJK5ND.js.map} +0 -0
  136. /package/dist/cli/{mcp-inspect-BL5DEO5M.js.map → mcp-inspect-MTABNHVM.js.map} +0 -0
  137. /package/dist/cli/{prompt-JLATI3P7.js.map → prompt-ATI7DKHF.js.map} +0 -0
  138. /package/dist/cli/{prune-sessions-WHZDFUKD.js.map → prune-sessions-YQQSZTZS.js.map} +0 -0
  139. /package/dist/cli/{run-SXNCPRJE.js.map → run-HFPRNWJY.js.map} +0 -0
  140. /package/dist/cli/{server-GEHOE6CO.js.map → server-UHKO2VVM.js.map} +0 -0
  141. /package/dist/cli/{sessions-EPBFYISL.js.map → sessions-IQEWWUH3.js.map} +0 -0
  142. /package/dist/cli/{stats-4WB4XHBP.js.map → stats-OFCGOQMZ.js.map} +0 -0
  143. /package/dist/cli/{version-4SP3DLLH.js.map → version-EODUFAAI.js.map} +0 -0
@@ -3,7 +3,7 @@ import { createRequire as __cr } from 'node:module'; if (typeof globalThis.requi
3
3
  import {
4
4
  loadLanguage,
5
5
  saveLanguage
6
- } from "./chunk-A5PBEIJ7.js";
6
+ } from "./chunk-AOYUW3HR.js";
7
7
 
8
8
  // src/i18n/EN.ts
9
9
  var EN = {
@@ -1708,11 +1708,11 @@ var de = {
1708
1708
  },
1709
1709
  sessions: {
1710
1710
  ...EN.sessions,
1711
- emptyHint: "noch keine gespeicherten Sitzungen \u2013 starte `reasonix chat` (Sitzungen werden automatisch gespeichert, au\xDFer mit --no-session).",
1711
+ emptyHint: "Noch keine gespeicherten Sitzungen \u2013 starte `reasonix chat` (Sitzungen werden automatisch gespeichert, au\xDFer mit --no-session).",
1712
1712
  listHeader: "Gespeicherte Sitzungen (~/.reasonix/sessions/):",
1713
1713
  inspectHint: "Ansehen: reasonix sessions <name>",
1714
1714
  resumeHint: "Fortsetzen: reasonix chat --session <name>",
1715
- noSession: 'keine Sitzung namens "{name}" (oder sie ist leer).',
1715
+ noSession: 'Keine Sitzung namens "{name}" (oder sie ist leer).',
1716
1716
  lookedAt: "Angesehen: {path}",
1717
1717
  noIdleSessions: "Keine Sitzungen seit >= {days} Tagen inaktiv. Nichts bereinigt.",
1718
1718
  wouldPrune: "W\xFCrde {count} Sitzung(en) bereinigen, die >= {days} Tage inaktiv sind:",
@@ -1727,19 +1727,19 @@ var de = {
1727
1727
  noSession: "Sitzungsspeicherung f\xFCr diesen Durchlauf deaktivieren",
1728
1728
  noMouseHint: "SGR-Mausverfolgung deaktivieren; stellt die native Auswahl per Ziehen und Rechtsklick wieder her",
1729
1729
  noProxyHint: "HTTPS_PROXY / HTTP_PROXY f\xFCr diesen Durchlauf ignorieren; direkt verbinden",
1730
- resumeHint: "die angegebene Sitzung zwangsweise fortsetzen (auch wenn sie inaktiv ist)",
1730
+ resumeHint: "die angegebene Sitzung fortsetzen (auch wenn inaktiv)",
1731
1731
  newHint: "Eine neue Sitzung erzwingen (--session / --continue ignorieren)",
1732
1732
  transcriptHint: "Pfad zum Speichern der JSONL-Ausgabe",
1733
1733
  budgetHint: "Sitzungs-USD-Obergrenze \u2013 warnt bei 80 %, verweigert den n\xE4chsten Zug bei 100 %",
1734
1734
  modelIdHint: "DeepSeek-Modell-ID (z. B. deepseek-v4-flash)",
1735
- systemPromptHint: "die Standard-Systemeingabeaufforderung \xFCberschreiben",
1736
- effortHint: "Denkaufwand \u2013 niedrig|mittel|hoch|maximal",
1735
+ systemPromptHint: "den Standard-System-Prompt \xFCberschreiben",
1736
+ effortHint: "Reasoning-Effort \u2013 niedrig|mittel|hoch|maximal",
1737
1737
  sessionNameHint: "Sitzungsname (Standard: \u201Edefault\u201C)",
1738
1738
  ephemeralHint: "Sitzungsspeicherung f\xFCr diesen Durchlauf deaktivieren",
1739
1739
  mcpSpecHint: "MCP-Server-Spezifikation (wiederholbar)",
1740
- mcpPrefixHint: "Stelle diesen String vor die Namen der MCP-Tools",
1740
+ mcpPrefixHint: "Pr\xE4fix f\xFCr MCP-Toolnamen",
1741
1741
  noConfigHint: "Ignoriere bei diesem Durchlauf die Datei ~/.reasonix/config.json",
1742
- effortHintShort: "Denkaufwand \u2013 niedrig|mittel|hoch|maximal",
1742
+ effortHintShort: "Reasoning-Effort \u2013 niedrig|mittel|hoch|maximal",
1743
1743
  budgetHintShort: "Sitzungs-USD-Obergrenze",
1744
1744
  transcriptHintShort: "Pfad zum JSONL-Transkript",
1745
1745
  mcpSpecHintShort: "MCP-Server-Spezifikation (wiederholbar)",
@@ -1753,7 +1753,7 @@ var de = {
1753
1753
  verboseHint: "Alle Metadaten der Sitzung anzeigen",
1754
1754
  pruneDaysHint: "Sitzungen l\xF6schen, die seit mindestens dieser Anzahl von Tagen inaktiv sind (Standard: 90)",
1755
1755
  pruneDryRunHint: "Liste auf, was gel\xF6scht w\xFCrde, ohne etwas zu entfernen",
1756
- eventTypeHint: "Nach Veranstaltungstyp filtern",
1756
+ eventTypeHint: "Nach Ereignistyp filtern",
1757
1757
  eventSinceHint: "Beginne mit dieser Ereignis-ID",
1758
1758
  eventTailHint: "Nur die letzten N Ereignisse anzeigen",
1759
1759
  jsonHint: "Ausgabe als JSON",
@@ -1781,6 +1781,7 @@ var de = {
1781
1781
  jsonHintReport: "Gib den Inspektionsbericht als JSON aus",
1782
1782
  modelOverrideFlash: "das Modell \xFCberschreiben (Standard: deepseek-v4-flash)",
1783
1783
  skipConfirmHint: "Die Best\xE4tigungsabfrage \xFCberspringen",
1784
+ yoloHint: "Plan-Checkpoints f\xFCr diesen Aufruf automatisch genehmigen (entspricht editMode=yolo, ohne die Konfiguration zu \xE4ndern)",
1784
1785
  welcome: "Starte jederzeit `reasonix`, um zu chatten \u2013 deine Einstellungen bleiben gespeichert.",
1785
1786
  taglineChat: "DeepSeek-nativer Agent",
1786
1787
  taglineCode: "DeepSeek-nativer Coding-Agent",
@@ -1790,7 +1791,7 @@ var de = {
1790
1791
  busy: "Denke nach...",
1791
1792
  thinking: "\u25B8 denke nach...",
1792
1793
  undo: "R\xFCckg\xE4ngig",
1793
- undoHint: "Dr\xFCcke innerhalb von 5s zum R\xFCckg\xE4ngig machen",
1794
+ undoHint: "Dr\xFCcke innerhalb von 5s zum R\xFCckg\xE4ngig-Machen",
1794
1795
  applied: "angewendet",
1795
1796
  rejected: "abgelehnt",
1796
1797
  noDashboard: "Automatisch gestartetes eingebettetes Web-Dashboard unterdr\xFCcken.",
@@ -1884,7 +1885,7 @@ var de = {
1884
1885
  cost: {
1885
1886
  ...EN.slash.cost,
1886
1887
  argsHint: "[Text]",
1887
- description: "ohne Text \u2192 Ausgaben letzter Turn (Kostenkarte); mit Text \u2192 Kostensch\xE4tzung f\xFCr als n\xE4chster Senden (worst-case + likely-cache)"
1888
+ description: "Ohne Text \u2192 Ausgaben letzter Turn (Kostenkarte); Mit Text \u2192 Kostensch\xE4tzung f\xFCr als n\xE4chster Senden (worst-case + likely-cache)"
1888
1889
  },
1889
1890
  doctor: {
1890
1891
  ...EN.slash.doctor,
@@ -2178,7 +2179,7 @@ var de = {
2178
2179
  reviseFooter: "\u2191\u2193 fokussieren \xB7 Leertaste \xFCberspringen umschalten \xB7 k/j verschieben \xB7 \u23CE akzeptieren \xB7 Esc abbrechen",
2179
2180
  riskMed: " mittel",
2180
2181
  riskHigh: " hoch",
2181
- completeMsg: "\u25B8 Plan abgeschlossen \u2014 alle {total} Schritt{e} erledigt \xB7 archiviert"
2182
+ completeMsg: "\u25B8 Plan abgeschlossen \u2014 alle {total} Schritt(e) erledigt \xB7 archiviert"
2182
2183
  },
2183
2184
  app: {
2184
2185
  ...EN.app,
@@ -2227,8 +2228,8 @@ var de = {
2227
2228
  alwaysAllowed: '\u25B8 "{prefix}" f\xFCr {dir} dauerhaft erlaubt',
2228
2229
  runningCommand: "\u25B8 f\xFChre aus: {cmd}",
2229
2230
  startingBackground: "\u25B8 starte (Hintergrund): {cmd}",
2230
- checkpointSaved: "\u26C1 Checkpoint gespeichert \xB7 {id} \xB7 {count} Datei{en} \xB7 /restore {id} zum Zur\xFCcksetzen",
2231
- continuingAfter: "\u25B8 fortgesetzen nach {label}{counter}",
2231
+ checkpointSaved: "\u26C1 Checkpoint gespeichert \xB7 {id} \xB7 {count} Datei(en) \xB7 /restore {id} zum Zur\xFCcksetzen",
2232
+ continuingAfter: "\u25B8 fortgesetzt nach {label}{counter}",
2232
2233
  planStoppedAt: "\u25B8 Plan angehalten bei {label}{counter}",
2233
2234
  revisingAfter: "\u25B8 \xFCberarbeite nach {label} \u2014 {feedback}",
2234
2235
  historyScrollHint: " \u2191 lese Verlauf \xB7 Ende / Bild\u2193 zur\xFCck zum Ende \xB7 \u2193 eine Zeile vor",
@@ -2359,7 +2360,7 @@ var de = {
2359
2360
  loopTuiOnly: "/loop ist nur in der interaktiven TUI verf\xFCgbar (nicht in run/replay).",
2360
2361
  loopStopped: "\u25B8 Loop gestoppt.",
2361
2362
  loopNoActive: "Kein aktiver Loop zum Stoppen.",
2362
- loopNoActiveHint: "kein aktiver Loop. Starte einen mit `/loop <intervall> <prompt>` (z.B. /loop 30s npm test).\nWird abgebrochen bei: /loop stop \xB7 Esc \xB7 /clear /new \xB7 jeder benutzereingegebene Prompt.",
2363
+ loopNoActiveHint: "Kein aktiver Loop. Starte einen mit `/loop <intervall> <prompt>` (z.B. /loop 30s npm test).\nWird abgebrochen bei: /loop stop \xB7 Esc \xB7 /clear /new \xB7 jeder benutzereingegebene Prompt.",
2363
2364
  loopStarted: '\u25B8 Loop gestartet \u2014 \xBB{prompt}" wird alle {duration} erneut gesendet. Tippe etwas (oder /loop stop) zum Abbrechen.',
2364
2365
  keysNeedsTui: "/keys ben\xF6tigt einen TUI-Kontext (postKeys angeschlossen).",
2365
2366
  aboutHeader: "Reasonix v{version} \u2014 ein Cache-First-DeepSeek-Coding-Agent",
@@ -2440,7 +2441,7 @@ var de = {
2440
2441
  updateRetryHint2: "oder f\xFChre `reasonix update` in einem anderen Terminal aus, um es synchron zu erzwingen.",
2441
2442
  updateLatest: "Neueste: reasonix {version}",
2442
2443
  updateUpToDate: "Du bist auf dem neuesten Stand. Nichts zu tun.",
2443
- updateNpxHint: "du verwendest npx \u2014 der n\xE4chste `npx reasonix ...`-Start l\xE4dt automatisch die neueste Version.",
2444
+ updateNpxHint: "Du verwendest npx \u2014 der n\xE4chste `npx reasonix ...`-Start l\xE4dt automatisch die neueste Version.",
2444
2445
  updateNpxForce: "Um fr\xFCher zu aktualisieren: `npm cache clean --force`.",
2445
2446
  updateUpgradeHint: "Zum Aktualisieren beende diese Sitzung und f\xFChre aus:",
2446
2447
  updateUpgradeCmd1: " reasonix update (interaktiv, --dry-run wird unterst\xFCtzt)",
@@ -2448,7 +2449,7 @@ var de = {
2448
2449
  updateInSessionDisabled: "Die Installation innerhalb einer Sitzung ist bewusst deaktiviert \u2014 der Installationsprozess w\xFCrde",
2449
2450
  updateInSessionDisabled2: "die Darstellung dieser TUI beeintr\xE4chtigen und Windows kann die laufende Bin\xE4rdatei sperren.",
2450
2451
  statsNoData: "Noch keine Nutzungsdaten.",
2451
- statsEveryTurn: "jeder hier ausgef\xFChrte Turn h\xE4ngt einen Datensatz an \u2014 die Turns dieser Sitzung",
2452
+ statsEveryTurn: "Jeder hier ausgef\xFChrte Turn h\xE4ngt einen Datensatz an \u2014 die Turns dieser Sitzung",
2452
2453
  statsWillAppear: "Werden im Dashboard angezeigt, sobald du eine Nachricht sendest."
2453
2454
  },
2454
2455
  edits: {
@@ -2470,7 +2471,7 @@ var de = {
2470
2471
  commitUsage: 'Verwendung: /commit "deine Commit-Nachricht" \u2014 f\xFChrt `git add -A && git commit -m "\u2026"` in {root} aus',
2471
2472
  walkCodeOnly: "/walk ist nur innerhalb von `reasonix code` verf\xFCgbar.",
2472
2473
  checkpointCodeOnly: "/checkpoint ist nur innerhalb von `reasonix code` verf\xFCgbar \u2014 der Chat-Modus wendet keine Edits an.",
2473
- checkpointNone: "noch keine Checkpoints \u2014 `/checkpoint <name>` sichert jede Datei, die die Sitzung ber\xFChrt hat. Sp\xE4ter mit `/restore <name>` wiederherstellbar.",
2474
+ checkpointNone: "Noch keine Checkpoints \u2014 `/checkpoint <name>` sichert jede Datei, die die Sitzung ber\xFChrt hat. Sp\xE4ter mit `/restore <name>` wiederherstellbar.",
2474
2475
  checkpointHeader: "\u25C8 Checkpoints \xB7 {count} gespeichert",
2475
2476
  checkpointRestoreHint: " /restore <name|id> \xB7 /checkpoint forget <id> \xB7 /checkpoint <name> zum Hinzuf\xFCgen",
2476
2477
  checkpointForgetUsage: "Verwendung: /checkpoint forget <id|name>",
@@ -2479,21 +2480,21 @@ var de = {
2479
2480
  checkpointDeleteFailed: "\u25B8 Konnte {id} nicht l\xF6schen (bereits entfernt?)",
2480
2481
  checkpointSaveUsage: "Verwendung: /checkpoint <name> (oder /checkpoint list zum Anzeigen vorhandener)",
2481
2482
  checkpointSavedEmpty: '\u25B8 Checkpoint "{name}" gespeichert ({id}) \u2014 aber es wurden noch keine Dateien ber\xFChrt, daher ist es eine leere Basislinie. Nach diesem Punkt vorgenommene Edits k\xF6nnen r\xFCckg\xE4ngig gemacht werden.',
2482
- checkpointSaved: '\u25B8 Checkpoint "{name}" gespeichert ({id}) \u2014 {files} Datei{en}, {size} KB. Wiederherstellen: /restore {name}',
2483
+ checkpointSaved: '\u25B8 Checkpoint "{name}" gespeichert ({id}) \u2014 {files} Datei(en), {size} KB. Wiederherstellen: /restore {name}',
2483
2484
  restoreCodeOnly: "/restore ist nur innerhalb von `reasonix code` verf\xFCgbar.",
2484
2485
  restoreUsage: "Verwendung: /restore <name|id> (siehe /checkpoint list f\xFCr IDs)",
2485
2486
  restoreNoMatch: '\u25B8 kein Checkpoint gefunden f\xFCr "{target}" \u2014 versuche /checkpoint list',
2486
2487
  restoreInfo: '\u25B8 "{name}" ({id}) wiederhergestellt von {when}',
2487
- restoreWrote: " \xB7 {count} Datei{en} zur\xFCckgeschrieben",
2488
- restoreRemoved: " \xB7 {count} Datei{en} entfernt (existierten zum Checkpoint-Zeitpunkt nicht)",
2489
- restoreSkipped: " \u2717 {count} Datei{en} \xFCbersprungen:",
2488
+ restoreWrote: " \xB7 {count} Datei(en) zur\xFCckgeschrieben",
2489
+ restoreRemoved: " \xB7 {count} Datei(en) entfernt (existierten zum Checkpoint-Zeitpunkt nicht)",
2490
+ restoreSkipped: " \u2717 {count} Datei(en) \xFCbersprungen:",
2490
2491
  cwdCodeOnly: "/cwd ist nur innerhalb von `reasonix code` verf\xFCgbar.",
2491
2492
  cwdUsage: "Verwendung: /cwd <pfad> (aktuelles Root: {current}). Richtet Dateisystem-/Shell-/Memory-Tools auf <pfad> neu aus.",
2492
2493
  cwdUsageNoCurrent: "Verwendung: /cwd <pfad> richtet den Workspace-Root auf <pfad> neu aus."
2493
2494
  },
2494
2495
  model: {
2495
2496
  ...EN.handlers.model,
2496
- modelHint: "versuche deepseek-v4-flash oder deepseek-v4-pro \u2014 f\xFChre /models aus, um die Live-Liste abzurufen",
2497
+ modelHint: "Versuche deepseek-v4-flash oder deepseek-v4-pro \u2014 f\xFChre /models aus, um die Live-Liste abzurufen",
2497
2498
  modelUsage: "Verwendung: /model <id> ({hint})",
2498
2499
  modelNotInCatalog: "Modell \u2192 {id} (\u26A0 nicht im abgerufenen Katalog: {list}. Falls das falsch ist, wird der n\xE4chste Aufruf 400 geben \u2014 f\xFChre /models zum Aktualisieren aus.)",
2499
2500
  modelSet: "Modell \u2192 {id}",
@@ -2523,9 +2524,9 @@ var de = {
2523
2524
  removeInfo: "\u25B8 entfernt: {prefix}",
2524
2525
  removeNotFound: "\u25B8 kein solcher Projekt-Eintrag: {prefix} (versuche /permissions list, um zu sehen, was gespeichert ist)",
2525
2526
  clearAlready: "\u25B8 Projekt-Allowlist ist bereits leer.",
2526
- clearConfirm: "Es werden {count} Projekt-Allowlist-Eintr\xE4g{e} f\xFCr {root} gel\xF6scht. F\xFChre den Befehl mit dem Wort 'confirm' erneut aus: /permissions clear confirm",
2527
+ clearConfirm: "Es werden {count} Projekt-Allowlist-Eintr\xE4g(e) f\xFCr {root} gel\xF6scht. F\xFChre den Befehl mit dem Wort 'confirm' erneut aus: /permissions clear confirm",
2527
2528
  clearedNone: "\u25B8 Projekt-Allowlist war bereits leer \u2014 nichts ge\xE4ndert.",
2528
- cleared: "\u25B8 {count} Projekt-Allowlist-Eintr\xE4g{e} gel\xF6scht.",
2529
+ cleared: "\u25B8 {count} Projekt-Allowlist-Eintr\xE4g(e) gel\xF6scht.",
2529
2530
  usage: 'Verwendung: /permissions [list] aktuellen Status anzeigen\n /permissions add <pr\xE4fix> speichern (z.B. "npm run build")\n /permissions remove <pr\xE4fix-oder-N> Eintrag entfernen\n /permissions clear confirm alle Projekteintr\xE4ge l\xF6schen',
2530
2531
  modeYolo: "\u25B8 Edit-Modus: YOLO \u2014 jeder Shell-Befehl l\xE4uft automatisch, Allowlist wird umgangen. /mode review zum Reaktivieren der Nachfragen.",
2531
2532
  modeAuto: "\u25B8 Edit-Modus: auto \u2014 Edits auto-anwenden, Shell weiterhin durch Allowlist gesch\xFCtzt (oder ShellConfirm-Nachfrage bei nicht-allowlisteten).",
@@ -2560,7 +2561,7 @@ var de = {
2560
2561
  compactNoop: "\u25B8 nichts zu falten \u2014 Log bereits klein oder aktuelle Turns allein \xFCberschreiten das Budget.",
2561
2562
  compactDone: "\u25B8 {before} Nachrichten \u2192 {after} gefaltet (Zusammenfassung {chars} Zeichen). Fahre fort.",
2562
2563
  compactFailed: "\u25B8 Falten fehlgeschlagen: {reason}",
2563
- costNoTurn: "noch kein Turn \u2014 `/cost` zeigt die Token- und Kostenaufschl\xFCsselung des letzten Turns.",
2564
+ costNoTurn: "Noch kein Turn \u2014 `/cost` zeigt die Token- und Kostenaufschl\xFCsselung des letzten Turns.",
2564
2565
  costNeedsTui: "/cost ben\xF6tigt einen TUI-Kontext (postUsage angeschlossen).",
2565
2566
  costNoPricing: '\u25B8 /cost: keine Preistabelle f\xFCr Modell "{model}". F\xFCge eine in telemetry/stats.ts hinzu.',
2566
2567
  costEstimate: "\u25B8 /cost Sch\xE4tzung \xB7 {model} \xB7 {prompt} Prompt-Tokens (sys {sys} + tools {tools} + log {log} + msg {msg})",
@@ -2593,18 +2594,18 @@ var de = {
2593
2594
  },
2594
2595
  plans: {
2595
2596
  ...EN.handlers.plans,
2596
- noSession: "keine Sitzung angeh\xE4ngt \u2014 `/plans` ist pro Sitzung. F\xFChre `reasonix code` in einem Projekt aus, um eine Sitzung zu erhalten.",
2597
- activePlan: "\u25B8 aktiver Plan{label} \u2014 {done}/{total} Schritt{e} erledigt \xB7 zuletzt bearbeitet {when}",
2597
+ noSession: "Keine Sitzung angeh\xE4ngt \u2014 `/plans` ist pro Sitzung. F\xFChre `reasonix code` in einem Projekt aus, um eine Sitzung zu erhalten.",
2598
+ activePlan: "\u25B8 aktiver Plan{label} \u2014 {done}/{total} Schritt(e) erledigt \xB7 zuletzt bearbeitet {when}",
2598
2599
  activeNone: "\u25B8 aktiver Plan: (keiner)",
2599
- noArchives: "noch keine archivierten Pl\xE4ne f\xFCr diese Sitzung \u2014 sie werden automatisch archiviert, wenn alle Schritte erledigt sind",
2600
+ noArchives: "Noch keine archivierten Pl\xE4ne f\xFCr diese Sitzung \u2014 sie werden automatisch archiviert, wenn alle Schritte erledigt sind",
2600
2601
  archivedHeader: "Archiviert ({count}):",
2601
2602
  evidencePending: " ! Nachweis ausstehend \u2014 aktueller Schritt ben\xF6tigt Verifikation/Diff/Checkpoint/manuellen Nachweis",
2602
2603
  evidenceLine: " Nachweis {stepId}: {summary}",
2603
2604
  archivedEvidenceLine: " Nachweis: {summary}",
2604
- replayNoSession: "keine Sitzung angeh\xE4ngt \u2014 `/replay` ist pro Sitzung. F\xFChre `reasonix code` in einem Projekt aus, um eine Sitzung zu erhalten.",
2605
- replayNoArchives: "noch keine archivierten Pl\xE4ne f\xFCr diese Sitzung \u2014 `/replay` wird aktiv, sobald ein Plan abgeschlossen ist (auto-archiviert wenn alle Schritte erledigt).",
2606
- replayInvalidIndex: "ung\xFCltiger Index \u2014 `/replay` akzeptiert 1..{max} (neuester = 1). Verwende `/plans`, um die Liste zu sehen.",
2607
- archivedRow: " \u2713 {when} {total} Schritt{e} \xB7 {completion} {label}",
2605
+ replayNoSession: "Keine Sitzung angeh\xE4ngt \u2014 `/replay` ist pro Sitzung. F\xFChre `reasonix code` in einem Projekt aus, um eine Sitzung zu erhalten.",
2606
+ replayNoArchives: "Noch keine archivierten Pl\xE4ne f\xFCr diese Sitzung \u2014 `/replay` wird aktiv, sobald ein Plan abgeschlossen ist (auto-archiviert wenn alle Schritte erledigt).",
2607
+ replayInvalidIndex: "Ung\xFCltiger Index \u2014 `/replay` akzeptiert 1..{max} (neuester = 1). Verwende `/plans`, um die Liste zu sehen.",
2608
+ archivedRow: " \u2713 {when} {total} Schritt(e) \xB7 {completion} {label}",
2608
2609
  completionComplete: "abgeschlossen",
2609
2610
  stopAborted: "\u25B8 Plan gestoppt \u2014 Modell abgebrochen; tippe eine Folgenachricht, um fortzufahren oder eine neue Aufgabe zu starten.",
2610
2611
  doneUsage: "Verwendung: /plans done <stepId> \xB7 /plans done all \u2014 manuelle \xDCberschreibung, wenn das Modell vergessen hat, mark_step_complete aufzurufen",
@@ -2627,7 +2628,7 @@ var de = {
2627
2628
  killUsage: "Verwendung: /kill <id> (siehe /jobs f\xFCr IDs)",
2628
2629
  killNotFound: "Job {id}: nicht gefunden",
2629
2630
  killAlreadyExited: "Job {id} bereits beendet ({code})",
2630
- killStopping: "\u25B8 stoppe Job {id} (Tree-Kill: SIGTERM \u2192 SIGKILL nach 2s Gnadenfrist; Windows: taskkill /T /F)",
2631
+ killStopping: "\u25B8 stoppe Job {id} (Prozessbaum: SIGTERM \u2192 SIGKILL nach 2s Gnadenfrist; Windows: taskkill /T /F)",
2631
2632
  killStatus: "\u25B8 Job {id} {status}",
2632
2633
  killStillAlive: "Nach SIGKILL noch am Leben (!) \u2014 melde dies als Fehler",
2633
2634
  logsUsage: "Verwendung: /logs <id> [zeilen] (Standard letzte 80 Zeilen)",
@@ -2641,8 +2642,8 @@ var de = {
2641
2642
  memory: {
2642
2643
  ...EN.handlers.memory,
2643
2644
  disabled: "Memory ist deaktiviert (REASONIX_MEMORY=off in der Umgebung). Entferne die Variable zur Reaktivierung \u2014 es werden weder REASONIX.md noch ~/.reasonix/memory-Inhalte eingef\xFCgt.",
2644
- noRoot: "kein Arbeitsverzeichnis in dieser Sitzung \u2014 `/memory` ben\xF6tigt ein Root, um REASONIX.md aufzul\xF6sen. (L\xE4uft in einer Test-Umgebung?)",
2645
- listEmpty: "noch keine Benutzer-Memories. Das Modell kann `remember` aufrufen, um einen zu speichern, oder du kannst Dateien manuell in ~/.reasonix/memory/global/ oder dem projektspezifischen Unterverzeichnis erstellen.",
2645
+ noRoot: "Kein Arbeitsverzeichnis in dieser Sitzung \u2014 `/memory` ben\xF6tigt ein Root, um REASONIX.md aufzul\xF6sen. (L\xE4uft in einer Test-Umgebung?)",
2646
+ listEmpty: "Noch keine Benutzer-Memories. Das Modell kann `remember` aufrufen, um einen zu speichern, oder du kannst Dateien manuell in ~/.reasonix/memory/global/ oder dem projektspezifischen Unterverzeichnis erstellen.",
2646
2647
  listHeader: "Benutzer-Memories ({count}):",
2647
2648
  listFooter: "Body anzeigen: /memory show <name> L\xF6schen: /memory forget <name>",
2648
2649
  showUsage: "Verwendung: /memory show <name> oder /memory show <scope>/<name>",
@@ -2668,7 +2669,7 @@ var de = {
2668
2669
  },
2669
2670
  mcp: {
2670
2671
  ...EN.handlers.mcp,
2671
- noServers: 'keine MCP-Server angeh\xE4ngt. F\xFChre `reasonix setup` aus, um welche auszuw\xE4hlen, oder starte mit --mcp "<spec>". `reasonix mcp list` zeigt den Katalog. Hinweis: vom Modell aufgerufene Shell-Befehle werden pro Aufruf abgefragt (einmal erlauben / immer erlauben / ablehnen) \u2014 kein globales Allow-All-Flag.',
2672
+ noServers: 'Keine MCP-Server angeh\xE4ngt. F\xFChre `reasonix setup` aus, um welche auszuw\xE4hlen, oder starte mit --mcp "<spec>". `reasonix mcp list` zeigt den Katalog. Hinweis: vom Modell aufgerufene Shell-Befehle werden pro Aufruf abgefragt (einmal erlauben / immer erlauben / ablehnen) \u2014 kein globales Allow-All-Flag.',
2672
2673
  toolsLabel: " Tools {count}",
2673
2674
  resourcesHint: "`/resource` zum Durchsuchen+Lesen",
2674
2675
  promptsHint: "`/prompt` zum Durchsuchen+Abrufen",
@@ -2679,7 +2680,7 @@ var de = {
2679
2680
  fallbackChange: "Um diesen Satz zu \xE4ndern, beende und f\xFChre `reasonix setup` aus.",
2680
2681
  usageDisableEnable: "Verwendung: /mcp {action} <name> \xB7 w\xE4hle einen in /mcp angezeigten Namen (anonyme Server k\xF6nnen nicht nach Namen umgeschaltet werden).",
2681
2682
  usageReconnect: "Verwendung: /mcp reconnect <name> \xB7 w\xE4hle einen in /mcp angezeigten Namen.",
2682
- unknownServer: 'unbekannter MCP-Server "{name}". Bekannt: {list}.',
2683
+ unknownServer: 'Unbekannter MCP-Server "{name}". Bekannt: {list}.',
2683
2684
  noneList: "(keine)",
2684
2685
  reconnectNoTui: "/mcp reconnect ben\xF6tigt die interaktive TUI (postInfo nicht angeschlossen).",
2685
2686
  liveTab: "Live",
@@ -2786,7 +2787,7 @@ var de = {
2786
2787
  },
2787
2788
  composer: {
2788
2789
  ...EN.composer,
2789
- placeholder: "Frag etwas \xB7 slash f\xFCr Befehle \xB7 at-Zeichen f\xFCr Dateien",
2790
+ placeholder: "Frag etwas \xB7 / f\xFCr Befehle \xB7 @ f\xFCr Dateien",
2790
2791
  waitingForResponse: "\u2026warte auf Antwort\u2026",
2791
2792
  hintSend: "senden",
2792
2793
  hintNewline: "Neue Zeile",
@@ -2796,12 +2797,12 @@ var de = {
2796
2797
  hintAbort: "abbrechen",
2797
2798
  hintQuit: "beenden",
2798
2799
  abortedHint: "Turn vom Benutzer abgebrochen \xB7 erneut Esc zum Leeren \xB7 \u23CE f\xFCr eine Folgefrage",
2799
- editorNoRawMode: "externer Editor nicht verf\xFCgbar \u2014 stdin unterst\xFCtzt Raw-Mode-Umschaltung auf diesem Terminal nicht",
2800
+ editorNoRawMode: "Externer Editor nicht verf\xFCgbar \u2014 stdin unterst\xFCtzt Raw-Mode-Umschaltung auf diesem Terminal nicht",
2800
2801
  editorFailed: "Externer Editor:",
2801
- editorMissing: "kein $EDITOR / $VISUAL / $GIT_EDITOR gesetzt \u2014 exportiere einen (z.B. `export EDITOR=nano`) und versuche es erneut",
2802
+ editorMissing: "Kein $EDITOR / $VISUAL / $GIT_EDITOR gesetzt \u2014 exportiere einen (z.B. `export EDITOR=nano`) und versuche es erneut",
2802
2803
  editorExited: "Editor mit Code {code} beendet",
2803
2804
  typeaheadStaged: "\u25B8 {count} Zeile(n) bereitgestellt \xB7 Esc zur\xFCckrufen",
2804
- steerPlaceholder: "tippe, um die aktuelle Aufgabe zu steuern \u2014 Befehle sind deaktiviert, solange besch\xE4ftigt",
2805
+ steerPlaceholder: "Tippe, um die aktuelle Aufgabe zu steuern \u2014 Befehle sind deaktiviert, solange besch\xE4ftigt",
2805
2806
  steerHint: "Senden \u2014 mid-Turn eingef\xFCgt",
2806
2807
  stashNothing: "Nichts zu speichern",
2807
2808
  stashSaved: "Gespeichert",
@@ -2850,7 +2851,7 @@ var de = {
2850
2851
  allowAlwaysDesc: "`{prefix}` f\xFCr dieses Projekt merken",
2851
2852
  deny: "ablehnen",
2852
2853
  denyDesc: "Tab dr\xFCcken, um dem Modell den Grund mitzuteilen",
2853
- cwdLabel: "awd",
2854
+ cwdLabel: "CWD",
2854
2855
  timeoutLabel: "Timeout",
2855
2856
  waitLabel: "warten",
2856
2857
  previewMore: "\u2026 {n} weitere Zeile ausgeblendet \u2014 Esc dr\xFCcken, Modell bitten, sie aufzuteilen",
@@ -2893,13 +2894,13 @@ var de = {
2893
2894
  messagesPlural: "{count} Nachrichten",
2894
2895
  turns: "{count} Turns",
2895
2896
  pickerHint: "\u2191\u2193 ausw\xE4hlen \xB7 / suchen \xB7 \u23CE \xF6ffnen \xB7 [n] neu \xB7 [d] l\xF6schen \xB7 [r] umbenennen \xB7 Esc beenden",
2896
- empty: " noch keine gespeicherten Sitzungen in diesem Arbeitsbereich \u2014 dr\xFCcke ",
2897
+ empty: " Noch keine gespeicherten Sitzungen in diesem Arbeitsbereich \u2014 dr\xFCcke ",
2897
2898
  emptyNew: " um eine neue zu starten",
2898
2899
  renamePrompt: ' "{from}" umbenennen \u2192 ',
2899
2900
  renameHint: " \u23CE Umbenennung best\xE4tigen \xB7 Esc abbrechen",
2900
2901
  searchPrompt: " Sitzungen durchsuchen: /",
2901
- searchHint: " tippen zum Filtern \xB7 \u23CE Treffer \xF6ffnen \xB7 Esc zur\xFCcksetzen",
2902
- searchEmpty: " keine Sitzungen entsprechen dieser Suche",
2902
+ searchHint: " Tippen zum Filtern \xB7 \u23CE Treffer \xF6ffnen \xB7 Esc zur\xFCcksetzen",
2903
+ searchEmpty: " Keine Sitzungen entsprechen dieser Suche",
2903
2904
  emptyHint: " \u23CE neue Sitzung \xB7 Esc beenden",
2904
2905
  justNow: "Gerade eben",
2905
2906
  minAgo: "Vor {count} Min",
@@ -2915,10 +2916,10 @@ var de = {
2915
2916
  sessionsPlural: "{count} Sitzungen",
2916
2917
  current: "aktuell",
2917
2918
  pickerHint: "\u2191\u2193 ausw\xE4hlen \xB7 / suchen \xB7 \u23CE wechseln + Sitzung ausw\xE4hlen \xB7 Esc beenden \xB7 /cwd <pfad> f\xFCgt einen hinzu",
2918
- empty: " noch keine bekannten Arbeitsbereiche \u2014 f\xFChre /cwd <pfad> einmal aus, um einen hinzuzuf\xFCgen",
2919
+ empty: " Noch keine bekannten Arbeitsbereiche \u2014 f\xFChre /cwd <pfad> einmal aus, um einen hinzuzuf\xFCgen",
2919
2920
  searchPrompt: " Arbeitsbereiche durchsuchen: /",
2920
- searchHint: " tippen zum Filtern \xB7 \u23CE wechseln + Sitzung ausw\xE4hlen \xB7 Esc zur\xFCcksetzen",
2921
- searchEmpty: " keine Arbeitsbereiche entsprechen dieser Suche"
2921
+ searchHint: " Tippen zum Filtern \xB7 \u23CE wechseln + Sitzung ausw\xE4hlen \xB7 Esc zur\xFCcksetzen",
2922
+ searchEmpty: " Keine Arbeitsbereiche entsprechen dieser Suche"
2922
2923
  },
2923
2924
  modelPicker: {
2924
2925
  ...EN.modelPicker,
@@ -2975,7 +2976,7 @@ var de = {
2975
2976
  match: "Treffer",
2976
2977
  matches: "Treffer",
2977
2978
  forFilter: 'f\xFCr "{filter}"',
2978
- noMatch: 'keine Dateien entsprechen "{filter}"',
2979
+ noMatch: 'Keine Dateien entsprechen "{filter}"',
2979
2980
  emptyDir: "Leeres Verzeichnis",
2980
2981
  scanning: "Durchsuche Verzeichnisbaum\u2026",
2981
2982
  footerBrowse: "\u2191\u2193 navigieren \xB7 Tab in Ordner eintauchen \xB7 \u23CE einf\xFCgen \xB7 Esc abbrechen",
@@ -3021,10 +3022,10 @@ var de = {
3021
3022
  webErrors: {
3022
3023
  ...EN.webErrors,
3023
3024
  status: "web_search {status} \u2014 versuche: Das Such-Backend hat einen Fehler zur\xFCckgegeben; formuliere die Abfrage um oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3024
- rateLimit429: "web_search 429 \u2014 versuche: 10s warten vor erneuter Abfrage oder Abfrage umformulieren; das Such-Backend ratelimited diesen Client",
3025
+ rateLimit429: "web_search 429 \u2014 versuche: 10s warten vor erneuter Abfrage oder Abfrage umformulieren; das Such-Backend hat das Rate-Limit f\xFCr diesen Client erreicht",
3025
3026
  forbidden403: "web_search 403 \u2014 versuche: Das Such-Backend blockiert diesen Client; wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa oder warte und versuche es sp\xE4ter erneut",
3026
3027
  serverError5xx: "web_search {status} \u2014 versuche: \xD6ffne die Such-URL in einem Browser; falls sie l\xE4dt, ist dies vor\xFCbergehend und ein erneuter Versuch in 30s kann helfen",
3027
- bingBlocked: "web_search: Bing-Anti-Bot-Seite \u2014 ratelimited oder blockiert \u2014 versuche: 30s warten und erneut versuchen, oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3028
+ bingBlocked: "web_search: Bing-Anti-Bot-Seite \u2014 Rate-Limit erreicht oder blockiert \u2014 versuche: 30s warten und erneut versuchen, oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3028
3029
  bingNoResults: "web_search: 0 Ergebnisse, aber die Antwort sieht nicht wie eine echte leere Seite aus ({chars} Zeichen, erste 120: {preview}) \u2014 versuche: formuliere die Abfrage mit einfacheren Begriffen um oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3029
3030
  invalidEndpoint: 'web_search: ung\xFCltiger SearXNG-Endpunkt "{endpoint}" \u2014 versuche: setze eine g\xFCltige URL mit /search-endpoint http://host:port',
3030
3031
  endpointMustBeHttp: "web_search: SearXNG-Endpunkt muss http(s) sein, {protocol} erhalten \u2014 versuche: setze eine g\xFCltige URL mit /search-endpoint http://host:port",
@@ -3033,23 +3034,23 @@ var de = {
3033
3034
  metasoMissingKey: "web_search: Metaso ben\xF6tigt einen API-Schl\xFCssel \u2014 setze METASO_API_KEY oder konfiguriere einen mit /search-engine metaso <schl\xFCssel>. Erhalte einen unter https://metaso.cn/search-api/playground",
3034
3035
  metasoDailyLimit: "web_search: Metaso-Tageslimit erreicht \u2014 setze METASO_API_KEY oder erhalte einen Schl\xFCssel unter https://metaso.cn/search-api/playground",
3035
3036
  metasoUnauthorized: "web_search: Metaso-API-Schl\xFCssel abgelehnt \u2014 \xFCberpr\xFCfe METASO_API_KEY oder erhalte einen unter https://metaso.cn/search-api/playground",
3036
- metasoRateLimit: "web_search: Metaso ratelimited \u2014 warte und versuche es erneut, oder erhalte einen eigenen API-Schl\xFCssel unter https://metaso.cn/search-api/playground",
3037
+ metasoRateLimit: "web_search: Metaso-Rate-Limit erreicht \u2014 warte und versuche es erneut, oder erhalte einen eigenen API-Schl\xFCssel unter https://metaso.cn/search-api/playground",
3037
3038
  metasoServerError: "web_search: Metaso-Serverfehler ({status}) \u2014 versuche es sp\xE4ter erneut oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3038
3039
  metasoParseError: "web_search: Metaso hat unparsbare Antwort zur\xFCckgegeben (HTTP {status}) \u2014 versuche es sp\xE4ter erneut",
3039
3040
  metasoApiError: "web_search: Metaso-API-Fehler (Code {code}: {message}) \u2014 versuche es sp\xE4ter erneut",
3040
3041
  tavilyMissingKey: "web_search: Tavily-Backend ben\xF6tigt einen API-Schl\xFCssel \u2014 setze TAVILY_API_KEY-Umgebungsvariable oder `tavilyApiKey` in ~/.reasonix/config.json; kostenlose 1000/Monat-Registrierung unter https://tavily.com",
3041
3042
  tavilyUnauthorized: "web_search: Tavily-API-Schl\xFCssel abgelehnt \u2014 \xFCberpr\xFCfe TAVILY_API_KEY oder erhalte einen unter https://tavily.com",
3042
- tavilyRateLimit: "web_search: Tavily ratelimited oder monatliches Kontingent \xFCberschritten \u2014 warte, wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa oder upgrade deinen Tavily-Plan",
3043
+ tavilyRateLimit: "web_search: Tavily-Rate-Limit erreicht oder monatliches Kontingent \xFCberschritten \u2014 warte, wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa oder upgrade deinen Tavily-Plan",
3043
3044
  tavilyServerError: "web_search: Tavily-Serverfehler ({status}) \u2014 versuche es sp\xE4ter erneut oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3044
3045
  tavilyParseError: "web_search: Tavily hat unparsbare Antwort zur\xFCckgegeben (HTTP {status}) \u2014 versuche es sp\xE4ter erneut",
3045
3046
  perplexityMissingKey: "web_search: Perplexity-Backend ben\xF6tigt einen API-Schl\xFCssel \u2014 setze PERPLEXITY_API_KEY-Umgebungsvariable oder `perplexityApiKey` in ~/.reasonix/config.json; erhalte einen unter https://perplexity.ai/settings/api",
3046
3047
  perplexityUnauthorized: "web_search: Perplexity-API-Schl\xFCssel abgelehnt \u2014 \xFCberpr\xFCfe PERPLEXITY_API_KEY oder erhalte einen unter https://perplexity.ai/settings/api",
3047
- perplexityRateLimit: "web_search: Perplexity ratelimited \u2014 warte und versuche es erneut, oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3048
+ perplexityRateLimit: "web_search: Perplexity-Rate-Limit erreicht \u2014 warte und versuche es erneut, oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3048
3049
  perplexityServerError: "web_search: Perplexity-Serverfehler ({status}) \u2014 versuche es sp\xE4ter erneut oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3049
3050
  perplexityParseError: "web_search: Perplexity hat unparsbare Antwort zur\xFCckgegeben (HTTP {status}) \u2014 versuche es sp\xE4ter erneut",
3050
3051
  exaMissingKey: "web_search: Exa-Backend ben\xF6tigt einen API-Schl\xFCssel \u2014 setze EXA_API_KEY-Umgebungsvariable oder `exaApiKey` in ~/.reasonix/config.json; kostenlose 1000/Monat-Registrierung unter https://exa.ai",
3051
3052
  exaUnauthorized: "web_search: Exa-API-Schl\xFCssel abgelehnt \u2014 \xFCberpr\xFCfe EXA_API_KEY oder erhalte einen unter https://exa.ai",
3052
- exaRateLimit: "web_search: Exa-API ratelimited oder monatliches Kontingent \xFCberschritten \u2014 warte oder upgrade unter https://exa.ai/pricing",
3053
+ exaRateLimit: "web_search: Exa-API-Rate-Limit erreicht oder monatliches Kontingent \xFCberschritten \u2014 warte oder upgrade unter https://exa.ai/pricing",
3053
3054
  exaServerError: "web_search: Exa-Serverfehler ({status}) \u2014 versuche es sp\xE4ter erneut oder wechsle die Engine mit /search-engine bing|searxng|metaso|tavily|perplexity|exa",
3054
3055
  exaParseError: "web_search: Exa hat unparsbare Antwort zur\xFCckgegeben (HTTP {status}) \u2014 versuche es sp\xE4ter erneut",
3055
3056
  fetchStatus: "web_fetch {status} f\xFCr {url} \u2014 versuche: Best\xE4tige, dass die URL im Browser aufgel\xF6st wird; der Status deutet darauf hin, dass der Host eine Fehlerseite zur\xFCckgegeben hat",
@@ -3080,7 +3081,7 @@ var de = {
3080
3081
  reasoningEllipsis: "Reasoning\u2026",
3081
3082
  error: "Fehler",
3082
3083
  doctor: "Doctor",
3083
- you: "du",
3084
+ you: "Du",
3084
3085
  task: "Aufgabe"
3085
3086
  },
3086
3087
  cardLabels: {
@@ -3170,7 +3171,7 @@ var de = {
3170
3171
  },
3171
3172
  slashArgPicker: {
3172
3173
  ...EN.slashArgPicker,
3173
- noMatch: 'keine \xDCbereinstimmung f\xFCr "{partial}"',
3174
+ noMatch: 'Keine \xDCbereinstimmung f\xFCr "{partial}"',
3174
3175
  keepTyping: " \u2014 tippe weiter, oder R\xFCcktaste zum Bearbeiten",
3175
3176
  above: " \u2191 {hidden} dar\xFCber",
3176
3177
  below: " \u2193 {hidden} darunter",
@@ -3191,7 +3192,7 @@ var de = {
3191
3192
  loadingMore: "Lade mehr\u2026",
3192
3193
  allLoaded: "Alle Seiten geladen",
3193
3194
  fetchingDetail: "Hole Smithery-Details\u2026",
3194
- noInstallInfo: "keine Installationsinfo f\xFCr {name} - versuche `npx -y @smithery/cli install {name}`",
3195
+ noInstallInfo: "Keine Installationsinfo f\xFCr {name} - versuche `npx -y @smithery/cli install {name}`",
3195
3196
  alreadyInstalled: "Bereits installiert: {spec}",
3196
3197
  installed: "Installiert \u2192 {spec}",
3197
3198
  uninstalled: "{name} deinstalliert",
@@ -3223,10 +3224,10 @@ var de = {
3223
3224
  readOne: "Lese einen: `/resource <uri>` \u2014 oder verwende Tab in der Auswahl.",
3224
3225
  noPrompts: "Keine Prompts auf einem verbundenen MCP-Server (oder keine Server verbunden). `/mcp` zeigt den aktuellen Satz.",
3225
3226
  fetchOne: "Rufe einen ab: `/prompt <name>` \u2014 Argumente werden noch nicht unterst\xFCtzt; Prompts mit erforderlichen Argumenten geben einen Fehler vom Server zur\xFCck.",
3226
- noServerForResource: 'kein Server bietet Ressource "{name}"',
3227
+ noServerForResource: 'Kein Server bietet Ressource "{name}"',
3227
3228
  resourceHint: "`/resource` ohne Argument listet verf\xFCgbare Ressourcen.",
3228
3229
  readFailed: "readResource fehlgeschlagen",
3229
- noServerForPrompt: 'kein Server bietet Prompt "{name}"',
3230
+ noServerForPrompt: 'Kein Server bietet Prompt "{name}"',
3230
3231
  promptHint: "`/prompt` ohne Argument listet verf\xFCgbare Prompts.",
3231
3232
  fetchFailed: "getPrompt fehlgeschlagen"
3232
3233
  },
@@ -3250,7 +3251,7 @@ var de = {
3250
3251
  ...EN.checkpointPicker,
3251
3252
  title: "Checkpoint wiederherstellen \u2014 {workspace}",
3252
3253
  header: " \u25C8 REASONIX \xB7 Checkpoint ausw\xE4hlen ",
3253
- empty: " noch keine Checkpoints in diesem Arbeitsbereich - siehe /checkpoint zum Erstellen",
3254
+ empty: " Noch keine Checkpoints in diesem Arbeitsbereich - siehe /checkpoint zum Erstellen",
3254
3255
  more: " \u2026 {hidden} weitere",
3255
3256
  footer: " \u2191\u2193 ausw\xE4hlen \xB7 \u23CE wiederherstellen \xB7 [d] vergessen \xB7 Esc beenden",
3256
3257
  footerEmpty: " Esc beenden"
@@ -3360,6 +3361,506 @@ var de = {
3360
3361
  }
3361
3362
  };
3362
3363
 
3364
+ // src/i18n/ru.ts
3365
+ var ru = {
3366
+ ...EN,
3367
+ common: {
3368
+ ...EN.common,
3369
+ error: "\u041E\u0448\u0438\u0431\u043A\u0430",
3370
+ warning: "\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435",
3371
+ loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
3372
+ done: "\u0413\u043E\u0442\u043E\u0432\u043E",
3373
+ cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
3374
+ confirm: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C",
3375
+ back: "\u041D\u0430\u0437\u0430\u0434",
3376
+ next: "\u0414\u0430\u043B\u0435\u0435",
3377
+ tool: "\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442",
3378
+ running: "\u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F",
3379
+ noTurns: "(\u043F\u043E\u043A\u0430 \u043D\u0435\u0442 \u0448\u0430\u0433\u043E\u0432)"
3380
+ },
3381
+ cli: {
3382
+ ...EN.cli,
3383
+ description: "\u0424\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A \u0430\u0433\u0435\u043D\u0442\u0430 \u043D\u0430 DeepSeek \u2014 \u0441\u043E\u0437\u0434\u0430\u043D \u0434\u043B\u044F \u043A\u044D\u0448-\u043F\u043E\u043F\u0430\u0434\u0430\u043D\u0438\u0439 \u0438 \u0434\u0435\u0448\u0451\u0432\u044B\u0445 \u0442\u043E\u043A\u0435\u043D\u043E\u0432.",
3384
+ continue: "\u0412\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E \u0431\u0435\u0437 \u043F\u043E\u043A\u0430\u0437\u0430 \u0432\u044B\u0431\u043E\u0440\u0430.",
3385
+ setup: "\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u043C\u0430\u0441\u0442\u0435\u0440 \u2014 API-\u043A\u043B\u044E\u0447, MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u044B. \u041C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0432 \u043B\u044E\u0431\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.",
3386
+ code: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043A\u043E\u0434\u0430 \u2014 \u0444\u0430\u0439\u043B\u043E\u0432\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0441 \u043A\u043E\u0440\u043D\u0435\u043C \u0432 <dir> (\u043F\u043E \u0443\u043C\u043E\u043B\u0447.: \u0442\u0435\u043A. \u043F\u0430\u043F\u043A\u0430), \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0439 \u043F\u0440\u043E\u043C\u043F\u0442 \u0434\u043B\u044F \u043A\u043E\u0434\u0430, v4-flash.",
3387
+ chat: "\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u0430\u044F Ink TUI \u0441 \u043F\u0430\u043D\u0435\u043B\u044C\u044E \u043A\u044D\u0448\u0430 \u0438 \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u0438.",
3388
+ run: "\u0420\u0430\u0437\u043E\u0432\u043E\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043D\u0435\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435, \u043F\u043E\u0442\u043E\u043A\u043E\u0432\u044B\u0439 \u0432\u044B\u0432\u043E\u0434.",
3389
+ stats: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F.",
3390
+ doctor: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0437\u0434\u043E\u0440\u043E\u0432\u044C\u044F \u043E\u0434\u043D\u043E\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u043E\u0439.",
3391
+ commit: "\u0421\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043A\u043E\u043C\u043C\u0438\u0442\u0430 \u0438\u0437 staged-diff.",
3392
+ sessions: "\u0421\u043F\u0438\u0441\u043E\u043A \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 \u0438\u043B\u0438 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043E\u0434\u043D\u043E\u0439 \u043F\u043E \u0438\u043C\u0435\u043D\u0438.",
3393
+ pruneSessions: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0435\u0441\u0441\u0438\u0438, \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u2265N \u0434\u043D\u0435\u0439 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447. 90). --dry-run \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430.",
3394
+ events: "\u041A\u0440\u0430\u0441\u0438\u0432\u044B\u0439 \u0432\u044B\u0432\u043E\u0434 \u0436\u0443\u0440\u043D\u0430\u043B\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u044F\u0434\u0440\u0430.",
3395
+ replay: "\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u0430\u044F Ink TUI \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0442\u0440\u0430\u043D\u0441\u043A\u0440\u0438\u043F\u0442\u0430.",
3396
+ diff: "\u0421\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u0435 \u0434\u0432\u0443\u0445 \u0442\u0440\u0430\u043D\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0432 \u0432 \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u043E\u0439 Ink TUI.",
3397
+ mcp: "\u041F\u043E\u043C\u043E\u0449\u043D\u0438\u043A\u0438 Model Context Protocol \u2014 \u043F\u043E\u0438\u0441\u043A \u0441\u0435\u0440\u0432\u0435\u0440\u043E\u0432, \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438.",
3398
+ version: "\u0412\u044B\u0432\u0435\u0441\u0442\u0438 \u0432\u0435\u0440\u0441\u0438\u044E Reasonix.",
3399
+ update: "\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E Reasonix \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C.",
3400
+ index: "\u041F\u043E\u0441\u0442\u0440\u043E\u0438\u0442\u044C (\u0438\u043B\u0438 \u0438\u043D\u043A\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C) \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0435\u043C\u0430\u043D\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043F\u043E\u0438\u0441\u043A\u043E\u0432\u044B\u0439 \u0438\u043D\u0434\u0435\u043A\u0441."
3401
+ },
3402
+ stats: {
3403
+ ...EN.stats,
3404
+ usageHint: "\u0437\u0430\u043F\u0443\u0441\u0442\u0438 `reasonix chat`, `reasonix code` \u0438\u043B\u0438 `reasonix run <task>` \u2014 \u043A\u0430\u0436\u0434\u044B\u0439 \u0448\u0430\u0433",
3405
+ usageDetail: "\u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u043E\u0434\u043D\u0443 \u0441\u0442\u0440\u043E\u043A\u0443 \u0432 \u043B\u043E\u0433, \u0430 `reasonix stats` \u0441\u0432\u043E\u0434\u0438\u0442 \u0432\u0441\u0451 \u0432\u043C\u0435\u0441\u0442\u0435."
3406
+ },
3407
+ run: {
3408
+ ...EN.run,
3409
+ missingApiKey: "DEEPSEEK_API_KEY \u043D\u0435 \u0437\u0430\u0434\u0430\u043D \u0438 stdin \u043D\u0435 TTY (\u043D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C).\n\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438 `reasonix chat` \u043E\u0434\u0438\u043D \u0440\u0430\u0437 \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0430.\n"
3410
+ },
3411
+ sessions: {
3412
+ ...EN.sessions,
3413
+ emptyHint: "\u0435\u0449\u0451 \u043D\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 \u2014 \u0437\u0430\u043F\u0443\u0441\u0442\u0438 `reasonix chat` (\u0441\u0435\u0441\u0441\u0438\u0438 \u0430\u0432\u0442\u043E-\u0441\u043E\u0445\u0440\u0430\u043D\u044F\u044E\u0442\u0441\u044F, \u0435\u0441\u043B\u0438 \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D --no-session).",
3414
+ listHeader: "\u0421\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 (~/.reasonix/sessions/):",
3415
+ inspectHint: "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440: reasonix sessions <\u0438\u043C\u044F>",
3416
+ resumeHint: "\u0412\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C: reasonix chat --session <\u0438\u043C\u044F>",
3417
+ noSession: '\u043D\u0435\u0442 \u0441\u0435\u0441\u0441\u0438\u0438 "{name}" (\u0438\u043B\u0438 \u043E\u043D\u0430 \u043F\u0443\u0441\u0442\u0430).',
3418
+ lookedAt: "\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u043D\u043E: {path}",
3419
+ noIdleSessions: "\u043D\u0435\u0442 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 \u2265{days} \u0434\u043D. \u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043E.",
3420
+ wouldPrune: "\u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u043E {count} \u0441\u0435\u0441\u0441\u0438\u0439(\u0438\u044F), \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u2265{days} \u0434\u043D.:",
3421
+ dryRunHint: "\u0437\u0430\u043F\u0443\u0441\u0442\u0438 \u0441\u043D\u043E\u0432\u0430 \u0431\u0435\u0437 --dry-run \u0434\u043B\u044F \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F.",
3422
+ prunedCount: "\u0443\u0434\u0430\u043B\u0435\u043D\u043E {count} \u0441\u0435\u0441\u0441\u0438\u0439(\u0438\u044F), \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u2265{days} \u0434\u043D.:",
3423
+ daysInvalid: "--days \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u043B\u043E\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u0446\u0435\u043B\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C (\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E {days})."
3424
+ },
3425
+ ui: {
3426
+ ...EN.ui,
3427
+ tipShownOnce: "\u043F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437",
3428
+ modelOverride: "\u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C",
3429
+ noSession: "\u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430",
3430
+ noMouseHint: "\u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C SGR-\u0441\u043B\u0435\u0436\u0435\u043D\u0438\u0435 \u043C\u044B\u0448\u0438; \u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0438 \u043F\u0440\u0430\u0432\u044B\u0439 \u043A\u043B\u0438\u043A",
3431
+ noProxyHint: "\u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C HTTPS_PROXY / HTTP_PROXY \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430; \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E",
3432
+ resumeHint: "\u043F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0432\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E (\u0434\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u0430)",
3433
+ newHint: "\u043F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043D\u0430\u0447\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E (\u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C --session / --continue)",
3434
+ transcriptHint: "\u043F\u0443\u0442\u044C \u0434\u043B\u044F \u0437\u0430\u043F\u0438\u0441\u0438 JSONL-\u0442\u0440\u0430\u043D\u0441\u043A\u0440\u0438\u043F\u0442\u0430",
3435
+ budgetHint: "\u043B\u0438\u043C\u0438\u0442 \u0441\u0435\u0441\u0441\u0438\u0438 \u0432 USD \u2014 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 80%, \u043E\u0442\u043A\u0430\u0437 \u043D\u0430 100%",
3436
+ modelIdHint: "ID \u043C\u043E\u0434\u0435\u043B\u0438 DeepSeek (\u043D\u0430\u043F\u0440. deepseek-v4-flash)",
3437
+ systemPromptHint: "\u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0439 \u043F\u0440\u043E\u043C\u043F\u0442",
3438
+ effortHint: "\u0443\u0440\u043E\u0432\u0435\u043D\u044C \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0439 \u2014 \u043D\u0438\u0437\u043A\u0438\u0439|\u0441\u0440\u0435\u0434\u043D\u0438\u0439|\u0432\u044B\u0441\u043E\u043A\u0438\u0439|\u043C\u0430\u043A\u0441",
3439
+ sessionNameHint: "\u0438\u043C\u044F \u0441\u0435\u0441\u0441\u0438\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447.: 'default')",
3440
+ ephemeralHint: "\u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430",
3441
+ mcpSpecHint: "\u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0442\u044C)",
3442
+ mcpPrefixHint: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043F\u0440\u0435\u0444\u0438\u043A\u0441 \u043A \u0438\u043C\u0435\u043D\u0430\u043C MCP-\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
3443
+ noConfigHint: "\u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C ~/.reasonix/config.json \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430",
3444
+ effortHintShort: "\u0443\u0440\u043E\u0432\u0435\u043D\u044C \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0439 \u2014 \u043D\u0438\u0437|\u0441\u0440\u0435\u0434|\u0432\u044B\u0441|\u043C\u0430\u043A\u0441",
3445
+ budgetHintShort: "\u043B\u0438\u043C\u0438\u0442 \u0441\u0435\u0441\u0441\u0438\u0438 \u0432 USD",
3446
+ transcriptHintShort: "\u043F\u0443\u0442\u044C \u043A JSONL-\u0442\u0440\u0430\u043D\u0441\u043A\u0440\u0438\u043F\u0442\u0443",
3447
+ mcpSpecHintShort: "\u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0435\u043C\u043E)",
3448
+ mcpPrefixHintShort: "\u043F\u0440\u0435\u0444\u0438\u043A\u0441 \u0438\u043C\u0451\u043D MCP-\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
3449
+ dryRunHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C, \u0447\u0442\u043E \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u0431\u0435\u0437 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0439 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438",
3450
+ rebuildHint: "\u043F\u0435\u0440\u0435\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0438\u043D\u0434\u0435\u043A\u0441 \u0441 \u043D\u0443\u043B\u044F",
3451
+ embedModelHint: "\u0438\u043C\u044F \u043C\u043E\u0434\u0435\u043B\u0438 \u044D\u043C\u0431\u0435\u0434\u0434\u0438\u043D\u0433\u043E\u0432",
3452
+ projectDirHint: "\u043A\u043E\u0440\u043D\u0435\u0432\u0430\u044F \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430",
3453
+ ollamaUrlHint: "URL Ollama-\u0441\u0435\u0440\u0432\u0435\u0440\u0430",
3454
+ skipPromptsHint: "\u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",
3455
+ verboseHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E\u043B\u043D\u044B\u0435 \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0435 \u0441\u0435\u0441\u0441\u0438\u0438",
3456
+ pruneDaysHint: "\u0443\u0434\u0430\u043B\u044F\u0442\u044C \u0441\u0435\u0441\u0441\u0438\u0438, \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u2265 N \u0434\u043D\u0435\u0439 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447. 90)",
3457
+ pruneDryRunHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u0443\u0434\u0430\u043B\u044F\u0435\u043C\u043E\u0433\u043E \u0431\u0435\u0437 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F",
3458
+ eventTypeHint: "\u0444\u0438\u043B\u044C\u0442\u0440 \u043F\u043E \u0442\u0438\u043F\u0443 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",
3459
+ eventSinceHint: "\u043D\u0430\u0447\u0430\u0442\u044C \u0441 \u044D\u0442\u043E\u0433\u043E ID \u0441\u043E\u0431\u044B\u0442\u0438\u044F",
3460
+ eventTailHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 N \u0441\u043E\u0431\u044B\u0442\u0438\u0439",
3461
+ jsonHint: "\u0432\u044B\u0432\u043E\u0434 \u0432 JSON",
3462
+ projectionHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u043C\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043D\u0430 \u043A\u0430\u0436\u0434\u043E\u043C \u0441\u043E\u0431\u044B\u0442\u0438\u0438",
3463
+ printHint: "\u0432\u044B\u0432\u043E\u0434 \u0432 stdout \u0432\u043C\u0435\u0441\u0442\u043E TUI",
3464
+ headHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0435\u0440\u0432\u044B\u0435 N \u0441\u043E\u0431\u044B\u0442\u0438\u0439",
3465
+ tailHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 N \u0441\u043E\u0431\u044B\u0442\u0438\u0439",
3466
+ mdReportHint: "\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C Markdown-\u043E\u0442\u0447\u0451\u0442 diff \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u043F\u0443\u0442\u0438",
3467
+ printHintTable: "\u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u0442\u0430\u0431\u043B\u0438\u0446\u0443 \u0432 stdout",
3468
+ tuiHint: "\u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u0443\u044E TUI",
3469
+ labelAHint: "\u043C\u0435\u0442\u043A\u0430 \u0434\u043B\u044F \u043B\u0435\u0432\u043E\u0439 \u043F\u0430\u043D\u0435\u043B\u0438",
3470
+ labelBHint: "\u043C\u0435\u0442\u043A\u0430 \u0434\u043B\u044F \u043F\u0440\u0430\u0432\u043E\u0439 \u043F\u0430\u043D\u0435\u043B\u0438",
3471
+ mcpListDescription: "\u043E\u0431\u0437\u043E\u0440 MCP-\u0440\u0435\u0435\u0441\u0442\u0440\u0430 (\u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u2192 smithery \u2192 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0437\u0430\u043F\u0430\u0441\u043D\u043E\u0439)",
3472
+ mcpInspectDescription: "\u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B, \u0440\u0435\u0441\u0443\u0440\u0441\u044B, \u043F\u0440\u043E\u043C\u043F\u0442\u044B)",
3473
+ mcpSearchDescription: "\u043F\u043E\u0438\u0441\u043A MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435",
3474
+ mcpInstallDescription: "\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u043F\u043E \u0438\u043C\u0435\u043D\u0438 (\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E \u0432 \u043A\u043E\u043D\u0444\u0438\u0433)",
3475
+ mcpBrowseDescription: "\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u043E\u0431\u0437\u043E\u0440 \u043C\u0430\u0440\u043A\u0435\u0442\u043F\u043B\u0435\u0439\u0441\u0430 \u2014 \u0432\u0432\u043E\u0434 \u0434\u043B\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430, Enter \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438",
3476
+ mcpLocalHint: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043E\u0444\u043B\u0430\u0439\u043D-\u043A\u0430\u0442\u0430\u043B\u043E\u0433",
3477
+ mcpRefreshHint: "\u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C 24\u0447 \u043A\u044D\u0448 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E",
3478
+ mcpLimitHint: "\u043C\u0430\u043A\u0441. \u0437\u0430\u043F\u0438\u0441\u0435\u0439 \u0434\u043B\u044F \u043F\u043E\u043A\u0430\u0437\u0430",
3479
+ mcpPagesHint: "\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0442\u0430\u043A \u043C\u043D\u043E\u0433\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447. 1)",
3480
+ mcpAllHint: "\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B (\u043C\u0435\u0434\u043B\u0435\u043D\u043D\u043E \u043F\u0440\u0438 \u043F\u0435\u0440\u0432\u043E\u043C \u0437\u0430\u043F\u0443\u0441\u043A\u0435)",
3481
+ mcpMaxPagesHint: "\u043C\u0430\u043A\u0441\u0438\u043C\u0443\u043C \u0441\u0442\u0440\u0430\u043D\u0438\u0446 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447. 20)",
3482
+ jsonHintCatalog: "\u0432\u044B\u0432\u043E\u0434 \u0432 JSON",
3483
+ jsonHintReport: "\u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u043E\u0442\u0447\u0451\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0432 JSON",
3484
+ modelOverrideFlash: "\u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C (\u043F\u043E \u0443\u043C\u043E\u043B\u0447.: deepseek-v4-flash)",
3485
+ skipConfirmHint: "\u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",
3486
+ welcome: "\u0417\u0430\u043F\u0443\u0441\u043A\u0430\u0439 `reasonix` \u0432 \u043B\u044E\u0431\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u2014 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u044E\u0442\u0441\u044F.",
3487
+ taglineChat: "\u041D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0430\u0433\u0435\u043D\u0442 DeepSeek",
3488
+ taglineCode: "\u041D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u043A\u043E\u0434\u0438\u043D\u0433-\u0430\u0433\u0435\u043D\u0442 DeepSeek",
3489
+ taglineSub: "\u043A\u044D\u0448-\u043F\u0435\u0440\u0432\u044B\u0439 \xB7 flash-\u043F\u0435\u0440\u0432\u044B\u0439",
3490
+ startSessionHint: "\u043D\u0430\u043F\u0438\u0448\u0438 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u0435\u0441\u0441\u0438\u0438",
3491
+ inputPlaceholder: "\u0421\u043F\u0440\u043E\u0441\u0438 \u0447\u0442\u043E \u0443\u0433\u043E\u0434\u043D\u043E... (/ \u0434\u043B\u044F \u043A\u043E\u043C\u0430\u043D\u0434, @ \u0434\u043B\u044F \u0444\u0430\u0439\u043B\u043E\u0432)",
3492
+ busy: "\u0414\u0443\u043C\u0430\u044E...",
3493
+ thinking: "\u25B8 \u0440\u0430\u0437\u043C\u044B\u0448\u043B\u044F\u044E...",
3494
+ undo: "\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C",
3495
+ undoHint: "\u043D\u0430\u0436\u043C\u0438 u \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 5 \u0441\u0435\u043A \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B",
3496
+ applied: "\u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u043E",
3497
+ rejected: "\u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u043E",
3498
+ noDashboard: "\u041F\u043E\u0434\u0430\u0432\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0437\u0430\u043F\u0443\u0441\u043A \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432\u0435\u0431-\u043F\u0430\u043D\u0435\u043B\u0438.",
3499
+ openDashboardHint: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C URL \u043F\u0430\u043D\u0435\u043B\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0441\u0440\u0430\u0437\u0443 \u043F\u043E\u0441\u043B\u0435 \u0433\u043E\u0442\u043E\u0432\u043D\u043E\u0441\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043F\u0440\u0438 --no-dashboard.",
3500
+ dashboardPortHint: "\u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u043F\u043E\u0440\u0442 \u0434\u043B\u044F \u043F\u0430\u043D\u0435\u043B\u0438 (1\u201365535). \u0421\u0442\u0430\u0431\u0438\u043B\u0435\u043D \u043C\u0435\u0436\u0434\u0443 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0430\u043C\u0438 \u2014 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F SSH-\u0442\u0443\u043D\u043D\u0435\u043B\u0435\u0439. \u041F\u043E \u0443\u043C\u043E\u043B\u0447.: \u044D\u0444\u0435\u043C\u0435\u0440\u043D\u044B\u0439.",
3501
+ dashboardPortInvalid: "\u25B2 --dashboard-port={value} \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044F (\u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0446\u0435\u043B\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C 1\u201365535) \u2014 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u044D\u0444\u0435\u043C\u0435\u0440\u043D\u044B\u0439 \u043F\u043E\u0440\u0442",
3502
+ dashboardAutoStartFailed: "\u25B2 \u0430\u0432\u0442\u043E\u0437\u0430\u043F\u0443\u0441\u043A \u043F\u0430\u043D\u0435\u043B\u0438 \u043D\u0435 \u0443\u0434\u0430\u043B\u0441\u044F ({reason}) \u2014 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439 /dashboard \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0439 --no-dashboard",
3503
+ systemAppendHint: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0438 \u043A \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u043C\u0443 \u043F\u0440\u043E\u043C\u043F\u0442\u0443 \u043A\u043E\u0434\u0430. \u041D\u0415 \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439 \u043F\u0440\u043E\u043C\u043F\u0442 \u2014 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0441\u043B\u0435 \u043D\u0435\u0433\u043E.",
3504
+ systemAppendFileHint: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0444\u0430\u0439\u043B\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0439 \u043F\u0440\u043E\u043C\u043F\u0442 \u043A\u043E\u0434\u0430. \u041D\u0415 \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439 \u043F\u0440\u043E\u043C\u043F\u0442. UTF-8, \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E cwd \u0438\u043B\u0438 \u0430\u0431\u0441\u043E\u043B\u044E\u0442\u043D\u044B\u0439 \u043F\u0443\u0442\u044C.",
3505
+ resumedSession: '\u25B8 \u0441\u0435\u0441\u0441\u0438\u044F "{name}" \u0432\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430 \u0441 {count} \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u043C\u0438 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 \xB7 /new \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0439 \xB7 /sessions \u0434\u043B\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F',
3506
+ newSession: '\u25B8 \u0441\u0435\u0441\u0441\u0438\u044F "{name}" (\u043D\u043E\u0432\u0430\u044F) \u2014 \u0430\u0432\u0442\u043E-\u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E \u043C\u0435\u0440\u0435 \u043E\u0431\u0449\u0435\u043D\u0438\u044F \xB7 /sessions \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F',
3507
+ ephemeralSession: "\u25B8 \u044D\u0444\u0435\u043C\u0435\u0440\u043D\u044B\u0439 \u0447\u0430\u0442 (\u0431\u0435\u0437 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F) \u2014 \u0443\u0431\u0435\u0440\u0438 --no-session \u0434\u043B\u044F \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F",
3508
+ restoredEdits: "\u25B8 \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E {count} \u043E\u0436\u0438\u0434\u0430\u044E\u0449\u0438\u0445 \u043F\u0440\u0430\u0432\u043E\u043A \u0438\u0437 \u043F\u0440\u0435\u0440\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u2014 /apply \u0434\u043B\u044F \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438\u043B\u0438 /discard \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B.",
3509
+ resumedPlan: "\u041F\u043B\u0430\u043D \u0432\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u043B\u0451\u043D \xB7 {when}{summary}"
3510
+ },
3511
+ code: {
3512
+ ...EN.code,
3513
+ workspaceConflict: "\u26A0 \u0440\u0430\u0431\u043E\u0447\u0430\u044F \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0430\u0439\u043B\u044B \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u044B \u0430\u0433\u0435\u043D\u0442\u0430 ({platforms}). Reasonix Code \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0438\u0445 \u043A\u0430\u043A \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430; \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438 \u0441 --dir <\u0442\u0432\u043E\u0439-\u043F\u0440\u043E\u0435\u043A\u0442> \u0435\u0441\u043B\u0438 \u044D\u0442\u043E \u043D\u0435\u0436\u0435\u043B\u0430\u0442\u0435\u043B\u044C\u043D\u043E.\n",
3514
+ systemAppendEmpty: "--system-append \u043F\u0443\u0441\u0442 \u2014 \u0442\u0435\u043A\u0441\u0442 \u043F\u0440\u043E\u043C\u043F\u0442\u0430 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\n",
3515
+ systemAppendFileReadError: '\u041E\u0448\u0438\u0431\u043A\u0430: \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C --system-append-file "{filePath}": {errorDetails}\n'
3516
+ },
3517
+ slash: {
3518
+ ...EN.slash,
3519
+ help: { ...EN.slash.help, description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E\u043B\u043D\u0443\u044E \u0441\u043F\u0440\u0430\u0432\u043A\u0443 \u043F\u043E \u043A\u043E\u043C\u0430\u043D\u0434\u0430\u043C" },
3520
+ status: { ...EN.slash.status, description: "\u0442\u0435\u043A\u0443\u0449\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C, \u0444\u043B\u0430\u0433\u0438, \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442, \u0441\u0435\u0441\u0441\u0438\u044F" },
3521
+ effort: {
3522
+ ...EN.slash.effort,
3523
+ description: "\u043B\u0438\u043C\u0438\u0442 \u0443\u0440\u043E\u0432\u043D\u044F \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0439 (low|medium|high|max); high \u2014 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447. \u0434\u043B\u044F vLLM/Azure"
3524
+ },
3525
+ model: { ...EN.slash.model, description: "\u0441\u043C\u0435\u043D\u0438\u0442\u044C ID \u043C\u043E\u0434\u0435\u043B\u0438 DeepSeek" },
3526
+ models: { ...EN.slash.models, description: "\u0441\u043F\u0438\u0441\u043E\u043A \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u043E\u0442 DeepSeek /models" },
3527
+ theme: {
3528
+ ...EN.slash.theme,
3529
+ argsHint: "[auto|dark|light|midnight|deep-blue|high-contrast]",
3530
+ description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043B\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043C\u0443 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430. \u0411\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0432\u044B\u0431\u043E\u0440."
3531
+ },
3532
+ language: {
3533
+ ...EN.slash.language,
3534
+ description: "\u0441\u043C\u0435\u043D\u0438\u0442\u044C \u044F\u0437\u044B\u043A \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430",
3535
+ argsHint: "<EN|zh-CN|de|ru>",
3536
+ success: "\u042F\u0437\u044B\u043A \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0451\u043D \u043D\u0430 \u0440\u0443\u0441\u0441\u043A\u0438\u0439.",
3537
+ unsupported: "\u041D\u0435\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430: {code}. \u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B: {supported}."
3538
+ },
3539
+ budget: {
3540
+ ...EN.slash.budget,
3541
+ description: "\u043B\u0438\u043C\u0438\u0442 \u0441\u0435\u0441\u0441\u0438\u0438 \u0432 USD \u2014 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 80%, \u043E\u0442\u043A\u0430\u0437 \u043D\u0430 100%. \u041F\u043E \u0443\u043C\u043E\u043B\u0447. \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D. /budget \u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441."
3542
+ },
3543
+ mcp: { ...EN.slash.mcp, description: "\u0441\u043F\u0438\u0441\u043E\u043A MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u043E\u0432 + \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438" },
3544
+ resource: {
3545
+ ...EN.slash.resource,
3546
+ description: "\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438 \u0447\u0442\u0435\u043D\u0438\u0435 MCP-\u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432 (\u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u2192 \u0441\u043F\u0438\u0441\u043E\u043A URI; <uri> \u2192 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435)"
3547
+ },
3548
+ prompt: {
3549
+ ...EN.slash.prompt,
3550
+ description: "\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 MCP-\u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 (\u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u2192 \u0441\u043F\u0438\u0441\u043E\u043A \u0438\u043C\u0451\u043D; <\u0438\u043C\u044F> \u2192 \u0440\u0435\u043D\u0434\u0435\u0440 \u043F\u0440\u043E\u043C\u043F\u0442\u0430)"
3551
+ },
3552
+ memory: {
3553
+ ...EN.slash.memory,
3554
+ description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C / \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0437\u0430\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u043E\u0439 \u043F\u0430\u043C\u044F\u0442\u044C\u044E (REASONIX.md + ~/.reasonix/memory)",
3555
+ argsHint: "[list|show <\u0438\u043C\u044F>|forget <\u0438\u043C\u044F>|clear <\u043E\u0431\u043B\u0430\u0441\u0442\u044C> confirm]"
3556
+ },
3557
+ skill: {
3558
+ ...EN.slash.skill,
3559
+ description: "\u0441\u043F\u0438\u0441\u043E\u043A / \u0437\u0430\u043F\u0443\u0441\u043A \u0441\u043A\u0438\u043B\u043B\u043E\u0432 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F (\u043F\u0440\u043E\u0435\u043A\u0442\u043D\u044B\u0435 + \u043A\u0430\u0441\u0442\u043E\u043C\u043D\u044B\u0435 + \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0435 + \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435)"
3560
+ },
3561
+ hooks: {
3562
+ ...EN.slash.hooks,
3563
+ description: "\u0441\u043F\u0438\u0441\u043E\u043A \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0445\u0443\u043A\u043E\u0432 (settings.json \u0432 .reasonix/) \xB7 reload \u043F\u0435\u0440\u0435\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u0442 \u0441 \u0434\u0438\u0441\u043A\u0430"
3564
+ },
3565
+ permissions: {
3566
+ ...EN.slash.permissions,
3567
+ description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C / \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0431\u0435\u043B\u044B\u0439 \u0441\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u043C\u0430\u043D\u0434 (\u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0447\u0442\u0435\u043D\u0438\u044F \xB7 \u043D\u0430 \u043F\u0440\u043E\u0435\u043A\u0442: ~/.reasonix/config.json)"
3568
+ },
3569
+ dashboard: {
3570
+ ...EN.slash.dashboard,
3571
+ description: "\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u0443\u044E \u0432\u0435\u0431-\u043F\u0430\u043D\u0435\u043B\u044C (127.0.0.1, \u0434\u043E\u0441\u0442\u0443\u043F \u043F\u043E \u0442\u043E\u043A\u0435\u043D\u0443)"
3572
+ },
3573
+ update: {
3574
+ ...EN.slash.update,
3575
+ description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E vs \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E + \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F"
3576
+ },
3577
+ stats: {
3578
+ ...EN.slash.stats,
3579
+ description: "\u043C\u0435\u0436\u0441\u0435\u0441\u0441\u0438\u043E\u043D\u043D\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u0438 (\u0441\u0435\u0433\u043E\u0434\u043D\u044F / \u043D\u0435\u0434\u0435\u043B\u044F / \u043C\u0435\u0441\u044F\u0446 / \u0432\u0441\u0451 \u0432\u0440\u0435\u043C\u044F \xB7 \u043A\u044D\u0448-\u043F\u043E\u043F\u0430\u0434\u0430\u043D\u0438\u044F \xB7 vs Claude)"
3580
+ },
3581
+ cost: {
3582
+ ...EN.slash.cost,
3583
+ description: "\u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u2192 \u0442\u0440\u0430\u0442\u044B \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0448\u0430\u0433\u0430; \u0441 \u0442\u0435\u043A\u0441\u0442\u043E\u043C \u2192 \u043E\u0446\u0435\u043D\u043A\u0430 \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 (\u0445\u0443\u0434\u0448\u0438\u0439 \u0441\u043B\u0443\u0447\u0430\u0439 + \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u044B\u0439 \u043A\u044D\u0448)"
3584
+ },
3585
+ doctor: {
3586
+ ...EN.slash.doctor,
3587
+ description: "\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0437\u0434\u043E\u0440\u043E\u0432\u044C\u044F (api / config / api-reach / index / hooks / project)"
3588
+ },
3589
+ context: {
3590
+ ...EN.slash.context,
3591
+ description: "\u0440\u0430\u0437\u0431\u0438\u0432\u043A\u0430 \u043E\u043A\u043D\u0430 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430 (system / tools / log / input)"
3592
+ },
3593
+ retry: {
3594
+ ...EN.slash.retry,
3595
+ description: "\u043E\u0442\u0440\u0435\u0437\u0430\u0442\u044C \u0438 \u043F\u0435\u0440\u0435\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 (\u043D\u043E\u0432\u044B\u0439 sample)"
3596
+ },
3597
+ compact: {
3598
+ ...EN.slash.compact,
3599
+ description: "\u0441\u0436\u0430\u0442\u044C oversized \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 + \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044B \u0432\u044B\u0437\u043E\u0432\u043E\u0432 \u0432 \u043B\u043E\u0433\u0435; \u043B\u0438\u043C\u0438\u0442 \u0432 \u0442\u043E\u043A\u0435\u043D\u0430\u0445, \u043F\u043E \u0443\u043C\u043E\u043B\u0447. 4000"
3600
+ },
3601
+ cwd: {
3602
+ ...EN.slash.cwd,
3603
+ description: "\u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u043E\u0440\u0435\u043D\u044C \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 mid-session \u2014 \u043F\u0435\u0440\u0435\u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 fs/shell/memory \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B, \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0445\u0443\u043A\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430, \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442 @-\u0443\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F"
3604
+ },
3605
+ stop: {
3606
+ ...EN.slash.stop,
3607
+ description: "\u043F\u0440\u0435\u0440\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0448\u0430\u0433 \u043C\u043E\u0434\u0435\u043B\u0438 (\u043F\u0435\u0447\u0430\u0442\u043D\u0430\u044F \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u0430 Esc)"
3608
+ },
3609
+ feedback: {
3610
+ ...EN.slash.feedback,
3611
+ description: "\u043E\u0442\u043A\u0440\u044B\u0442\u044C GitHub issue \u0441 \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439 (\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u0443\u0444\u0435\u0440)"
3612
+ },
3613
+ about: {
3614
+ ...EN.slash.about,
3615
+ description: "\u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435 \u2014 \u0432\u0435\u0440\u0441\u0438\u044F, \u0441\u0430\u0439\u0442, \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439, \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"
3616
+ },
3617
+ keys: { ...EN.slash.keys, description: "\u0441\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A \u043A\u043B\u0430\u0432\u0438\u0448 + \u043C\u044B\u0448\u0438 + \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F/\u0432\u0441\u0442\u0430\u0432\u043A\u0438" },
3618
+ plans: {
3619
+ ...EN.slash.plans,
3620
+ description: "\u0441\u043F\u0438\u0441\u043E\u043A \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0438 \u0430\u0440\u0445\u0438\u0432\u043D\u044B\u0445 \u043F\u043B\u0430\u043D\u043E\u0432 \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438, \u043D\u043E\u0432\u0435\u0439\u0448\u0438\u0435 \u043F\u0435\u0440\u0432\u044B\u043C\u0438"
3621
+ },
3622
+ replay: {
3623
+ ...EN.slash.replay,
3624
+ description: "\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0430\u0440\u0445\u0438\u0432\u043D\u044B\u0439 \u043F\u043B\u0430\u043D \u043A\u0430\u043A read-only \u0441\u043D\u0438\u043C\u043E\u043A Time Travel (\u043F\u043E \u0443\u043C\u043E\u043B\u0447.: \u043D\u043E\u0432\u0435\u0439\u0448\u0438\u0439)"
3625
+ },
3626
+ sessions: {
3627
+ ...EN.slash.sessions,
3628
+ description: "\u0441\u043F\u0438\u0441\u043E\u043A \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 (\u0442\u0435\u043A\u0443\u0449\u0430\u044F \u043E\u0442\u043C\u0435\u0447\u0435\u043D\u0430 \u25B8)"
3629
+ },
3630
+ title: { ...EN.slash.title, description: "\u043F\u043E\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0441\u0435\u0441\u0441\u0438\u044E \u0438\u0437 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430" },
3631
+ qq: {
3632
+ ...EN.slash.qq,
3633
+ description: "\u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C, \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C QQ-\u043A\u0430\u043D\u0430\u043B \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 (\u043F\u0435\u0440\u0432\u043E\u0435 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0432\u043E\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 App ID / App Secret \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443)"
3634
+ },
3635
+ setup: { ...EN.slash.setup, description: "\u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u0442 \u0432\u044B\u0439\u0442\u0438 \u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C `reasonix setup`" },
3636
+ semantic: {
3637
+ ...EN.slash.semantic,
3638
+ description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 semantic_search \u2014 \u043F\u043E\u0441\u0442\u0440\u043E\u0435\u043D? Ollama \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D? \u043A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C"
3639
+ },
3640
+ clear: {
3641
+ ...EN.slash.clear,
3642
+ description: "\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u0438\u0434\u0438\u043C\u044B\u0439 \u0441\u043A\u0440\u043E\u043B\u043B\u0431\u0435\u043A (\u043B\u043E\u0433/\u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F)"
3643
+ },
3644
+ new: { ...EN.slash.new, description: "\u043D\u0430\u0447\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440 (\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 + \u0441\u043A\u0440\u043E\u043B\u043B\u0431\u0435\u043A)" },
3645
+ loop: {
3646
+ ...EN.slash.loop,
3647
+ description: "\u0430\u0432\u0442\u043E-\u043F\u0435\u0440\u0435\u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C <\u043F\u0440\u043E\u043C\u043F\u0442> \u043A\u0430\u0436\u0434\u044B\u0435 <\u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B> \u043F\u043E\u043A\u0430 \u0442\u044B \u043D\u0435 \u043D\u0430\u043F\u0438\u0448\u0435\u0448\u044C / Esc / /loop stop"
3648
+ },
3649
+ exit: { ...EN.slash.exit, description: "\u0432\u044B\u0439\u0442\u0438 \u0438\u0437 TUI" },
3650
+ init: {
3651
+ ...EN.slash.init,
3652
+ description: "\u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442 \u0438 \u0441\u0438\u043D\u0442\u0435\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0431\u0430\u0437\u043E\u0432\u044B\u0439 REASONIX.md (\u043C\u043E\u0434\u0435\u043B\u044C \u043F\u0438\u0448\u0435\u0442; \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0447\u0435\u0440\u0435\u0437 /apply). `force` \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u0444\u0430\u0439\u043B."
3653
+ },
3654
+ apply: {
3655
+ ...EN.slash.apply,
3656
+ description: "\u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043E\u0436\u0438\u0434\u0430\u044E\u0449\u0438\u0435 \u043F\u0440\u0430\u0432\u043A\u0438 \u043D\u0430 \u0434\u0438\u0441\u043A (\u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u2192 \u0432\u0441\u0435; `1`, `1,3` \u0438\u043B\u0438 `1-4` \u2192 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0435, \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435 \u043E\u0441\u0442\u0430\u044E\u0442\u0441\u044F)"
3657
+ },
3658
+ discard: {
3659
+ ...EN.slash.discard,
3660
+ description: "\u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043E\u0436\u0438\u0434\u0430\u044E\u0449\u0438\u0435 \u043F\u0440\u0430\u0432\u043A\u0438 \u0431\u0435\u0437 \u0437\u0430\u043F\u0438\u0441\u0438 (\u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u2192 \u0432\u0441\u0435; \u0438\u043D\u0434\u0435\u043A\u0441\u044B \u2192 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0435)"
3661
+ },
3662
+ walk: {
3663
+ ...EN.slash.walk,
3664
+ description: "\u043F\u0440\u043E\u0445\u043E\u0434\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u043A\u0438 \u043F\u043E \u043E\u0434\u043D\u043E\u0439 (\u0432 \u0441\u0442\u0438\u043B\u0435 git-add-p: y/n \u043D\u0430 \u0431\u043B\u043E\u043A, a = \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435, A = AUTO)"
3665
+ },
3666
+ undo: { ...EN.slash.undo, description: "\u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u043F\u0440\u0438\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0439 \u043F\u0430\u043A\u0435\u0442 \u043F\u0440\u0430\u0432\u043E\u043A" },
3667
+ history: {
3668
+ ...EN.slash.history,
3669
+ description: "\u0441\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u043F\u0430\u043A\u0435\u0442\u043E\u0432 \u043F\u0440\u0430\u0432\u043E\u043A \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 (ID \u0434\u043B\u044F /show, \u043E\u0442\u043C\u0435\u0442\u043A\u0438 \u043E\u0442\u043C\u0435\u043D\u044B)"
3670
+ },
3671
+ show: {
3672
+ ...EN.slash.show,
3673
+ description: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0439 diff \u043F\u0440\u0430\u0432\u043A\u0438 (\u0431\u0435\u0437 ID \u2014 \u043D\u043E\u0432\u0435\u0439\u0448\u0430\u044F \u043D\u0435\u043E\u0442\u043C\u0435\u043D\u0451\u043D\u043D\u0430\u044F)"
3674
+ },
3675
+ commit: { ...EN.slash.commit, description: "git add -A && git commit -m ..." },
3676
+ checkpoint: {
3677
+ ...EN.slash.checkpoint,
3678
+ description: "\u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043D\u0438\u043C\u043E\u043A \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430, \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043A\u0430\u0441\u0430\u043B\u0430\u0441\u044C \u0441\u0435\u0441\u0441\u0438\u044F (\u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0435\u0435 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435, \u043D\u0435 git). /checkpoint \u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u2014 \u0441\u043F\u0438\u0441\u043E\u043A."
3679
+ },
3680
+ restore: {
3681
+ ...EN.slash.restore,
3682
+ description: "\u043E\u0442\u043A\u0430\u0442\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043A \u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u043D\u043E\u043C\u0443 checkpoint (\u0441\u043C. /checkpoint list)"
3683
+ },
3684
+ plan: {
3685
+ ...EN.slash.plan,
3686
+ description: "\u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C/\u0432\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C read-only \u0440\u0435\u0436\u0438\u043C \u043F\u043B\u0430\u043D\u0430 (\u0437\u0430\u043F\u0438\u0441\u044C \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0434\u043E submit_plan + \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F)"
3687
+ },
3688
+ mode: {
3689
+ ...EN.slash.mode,
3690
+ description: "edit-gate: review (\u043E\u0447\u0435\u0440\u0435\u0434\u044C) \xB7 auto (\u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C+\u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C) \xB7 yolo (\u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C+\u0430\u0432\u0442\u043E-shell). Shift+Tab \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0435\u0442."
3691
+ },
3692
+ jobs: {
3693
+ ...EN.slash.jobs,
3694
+ description: "\u0441\u043F\u0438\u0441\u043E\u043A \u0444\u043E\u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447, \u0437\u0430\u043F\u0443\u0449\u0435\u043D\u043D\u044B\u0445 \u0447\u0435\u0440\u0435\u0437 run_background"
3695
+ },
3696
+ kill: {
3697
+ ...EN.slash.kill,
3698
+ description: "\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0444\u043E\u043D\u043E\u0432\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443 \u043F\u043E ID (SIGTERM \u2192 SIGKILL \u043F\u043E\u0441\u043B\u0435 \u043F\u0430\u0443\u0437\u044B)"
3699
+ },
3700
+ logs: {
3701
+ ...EN.slash.logs,
3702
+ description: "\u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u043D\u043E\u0432\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447. \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 80 \u0441\u0442\u0440\u043E\u043A)"
3703
+ },
3704
+ btw: {
3705
+ ...EN.slash.btw,
3706
+ description: "\u0431\u044B\u0441\u0442\u0440\u044B\u0439 \u043F\u043E\u0431\u043E\u0447\u043D\u044B\u0439 \u0432\u043E\u043F\u0440\u043E\u0441 \u2014 \u043E\u0442\u0432\u0435\u0447\u0430\u0435\u0442\u0441\u044F \u0441 \u0447\u0438\u0441\u0442\u043E\u0433\u043E \u043B\u0438\u0441\u0442\u0430, \u043D\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430"
3707
+ },
3708
+ "search-engine": {
3709
+ ...EN.slash["search-engine"],
3710
+ description: "\u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A\u043E\u0432\u044B\u0439 \u0434\u0432\u0438\u0436\u043E\u043A \u2014 bing (\u043F\u043E \u0443\u043C\u043E\u043B\u0447., \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0438\u0437 \u0420\u0424 \u0431\u0435\u0437 \u043F\u0440\u043E\u043A\u0441\u0438), searxng (\u0441\u0430\u043C\u043E\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0445\u043E\u0441\u0442\u0438\u043D\u0433), metaso (100/\u0434\u0435\u043D\u044C \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E), tavily (1000/\u043C\u0435\u0441 \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E), perplexity (AI-native), exa (AI-native)"
3711
+ }
3712
+ },
3713
+ wizard: {
3714
+ ...EN.wizard,
3715
+ languageTitle: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044F\u0437\u044B\u043A",
3716
+ languageSubtitle: "\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u0439 \u043B\u043E\u043A\u0430\u043B\u0438. \u041C\u043E\u0436\u043D\u043E \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 /language.",
3717
+ welcomeTitle: "\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 Reasonix.",
3718
+ apiKeyPrompt: "\u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0432\u0430\u0448 DeepSeek API \u043A\u043B\u044E\u0447 \u0434\u043B\u044F \u043D\u0430\u0447\u0430\u043B\u0430 \u0440\u0430\u0431\u043E\u0442\u044B.",
3719
+ apiKeyGetOne: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C: https://platform.deepseek.com/api_keys",
3720
+ apiKeySavedLocally: "\u0421\u043E\u0445\u0440\u0430\u043D\u0451\u043D \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E: {path}",
3721
+ apiKeyInputLabel: "\u043A\u043B\u044E\u0447 \u203A ",
3722
+ apiKeyPlaceholder: "sk-...",
3723
+ apiKeyInvalid: "\u041A\u043B\u044E\u0447 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043A\u043E\u0440\u043E\u0442\u043A\u0438\u0439 \u2014 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u043E\u043B\u043D\u044B\u0439 \u0442\u043E\u043A\u0435\u043D (16+ \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u0431\u0435\u0437 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432).",
3724
+ apiKeyChecking: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 API \u043A\u043B\u044E\u0447\u0430\u2026",
3725
+ apiKeyRejected: "DeepSeek \u043E\u0442\u043A\u043B\u043E\u043D\u0438\u043B \u044D\u0442\u043E\u0442 API \u043A\u043B\u044E\u0447. \u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 Esc \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B.",
3726
+ apiKeyCheckFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C API \u043A\u043B\u044E\u0447 ({message}). \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430.",
3727
+ apiKeyPreview: "\u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440: {redacted}",
3728
+ themeTitle: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043C\u0443",
3729
+ themeSubtitle: "\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0441\u0440\u0430\u0437\u0443. \u041C\u043E\u0436\u043D\u043E \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 /theme.",
3730
+ themeSampleHeading: "\u041E\u0431\u0440\u0430\u0437\u0435\u0446",
3731
+ themeFooter: "[\u2191\u2193] \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \xB7 [Enter] \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \xB7 [Esc] \u043E\u0442\u043C\u0435\u043D\u0430",
3732
+ themeCaption: {
3733
+ ...EN.wizard.themeCaption,
3734
+ dark: "\u0422\u0451\u043C\u043D\u044B\u0435 \u0442\u043E\u043D\u0430 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447.)",
3735
+ light: "\u0421\u0432\u0435\u0442\u043B\u044B\u0439 \u0440\u0435\u0436\u0438\u043C",
3736
+ midnight: "\u041F\u0430\u043B\u0438\u0442\u0440\u0430 Tokyo Night",
3737
+ "deep-blue": "\u0413\u043B\u0443\u0431\u043E\u043A\u0438\u0439 \u0441\u0438\u043D\u0438\u0439 \u043D\u0430 \u0447\u0451\u0440\u043D\u043E\u043C",
3738
+ "high-contrast": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u044C"
3739
+ },
3740
+ mcpTitle: "\u041A\u0430\u043A\u0438\u0435 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u044B \u0434\u043E\u043B\u0436\u0435\u043D \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C Reasonix?",
3741
+ mcpUserArgsHint: "(\u0432\u044B \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 {arg})",
3742
+ mcpFooterMulti: "[\u2191\u2193] \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \xB7 [Space] \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \xB7 [Enter] \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \xB7 [Esc] \u043E\u0442\u043C\u0435\u043D\u0430 \xB7 \u043F\u0443\u0441\u0442\u043E = \u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C",
3743
+ mcpArgsTitle: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 {name}",
3744
+ mcpArgsDirMissing: "\u0414\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F {path} \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.",
3745
+ mcpArgsDirCreateHint: "[Y/Enter] \u0441\u043E\u0437\u0434\u0430\u0442\u044C (mkdir -p) \xB7 [N/Esc] \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0443\u0442\u044C",
3746
+ mcpArgsDirCreateFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C {path}: {message}",
3747
+ mcpArgsRequiredParam: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440: ",
3748
+ mcpArgsEmpty: "{name} \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430 \u043F\u0443\u0441\u0442\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430.",
3749
+ mcpArgsNotADir: "{path} \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043D\u043E \u044D\u0442\u043E \u043D\u0435 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F.",
3750
+ reviewTitle: "\u0413\u043E\u0442\u043E\u0432\u043E \u043A \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044E",
3751
+ reviewLabelApiKey: "API \u043A\u043B\u044E\u0447",
3752
+ reviewLabelLanguage: "\u042F\u0437\u044B\u043A",
3753
+ reviewLabelTheme: "\u0422\u0435\u043C\u0430",
3754
+ reviewLabelMcp: "MCP",
3755
+ reviewMcpNone: "(\u043D\u0435\u0442)",
3756
+ reviewMcpServers: "{count} \u0441\u0435\u0440\u0432\u0435\u0440(\u043E\u0432)",
3757
+ reviewSavesTo: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432 {path}",
3758
+ reviewSaveError: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433: {message}",
3759
+ reviewFooter: "[Enter] \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \xB7 [Esc] \u043E\u0442\u043C\u0435\u043D\u0430",
3760
+ savedTitle: "\u25B8 \u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E.",
3761
+ savedShellHint: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u044C \u0445\u043E\u0447\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C, \u0441\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u044E\u0442 \u043A\u0430\u0436\u0434\u044B\u0439 \u0440\u0430\u0437 \u2014 \u0432\u044B\u0431\u0435\u0440\u0438 \xAB\u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C\xBB \u0432 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0438, \u0447\u0442\u043E\u0431\u044B \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u0432 \u0431\u0435\u043B\u044B\u0439 \u0441\u043F\u0438\u0441\u043E\u043A. \u0413\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E\u0433\u043E allow-all \u043D\u0435\u0442 \u043F\u043E \u0434\u0438\u0437\u0430\u0439\u043D\u0443.",
3762
+ savedFooter: "[Enter] \u0434\u043B\u044F \u0432\u044B\u0445\u043E\u0434\u0430",
3763
+ selectFooter: "[\u2191\u2193] \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \xB7 [Enter] \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \xB7 [Esc] \u043E\u0442\u043C\u0435\u043D\u0430",
3764
+ stepCounter: "\u0428\u0430\u0433 {step}/{total} \xB7 ",
3765
+ exitHint: "/exit \u0434\u043B\u044F \u0432\u044B\u0445\u043E\u0434\u0430",
3766
+ themeSampleReasoning: "\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435"
3767
+ },
3768
+ themePicker: {
3769
+ ...EN.themePicker,
3770
+ header: "\u0422\u0435\u043C\u0430",
3771
+ footer: "\u2191\u2193 \u0432\u044B\u0431\u043E\u0440 \xB7 \u23CE \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \xB7 esc \u043E\u0442\u043C\u0435\u043D\u0430",
3772
+ currentPref: "\u0442\u0435\u043A\u0443\u0449\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430",
3773
+ activeNow: "\u0430\u043A\u0442\u0438\u0432\u043D\u043E \u0441\u0435\u0439\u0447\u0430\u0441",
3774
+ autoDesc: "\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C REASONIX_THEME \u0438\u043B\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"
3775
+ },
3776
+ planFlow: {
3777
+ ...EN.planFlow,
3778
+ approveCardTitle: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u043F\u043B\u0430\u043D",
3779
+ approveCardMetaRight: "\u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435",
3780
+ openQuestionsBanner: "\u25B2 \u043F\u043B\u0430\u043D \u043F\u043E\u043C\u0435\u0447\u0430\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u0440\u0438\u0441\u043A\u0438 \u2014 \u0432\u044B\u0431\u0435\u0440\u0438 {refine} \u0447\u0442\u043E\u0431\u044B \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043E\u0442\u0432\u0435\u0442\u044B \u043F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u043C\u043E\u0434\u0435\u043B\u044C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442.",
3781
+ openQuestionsHeader: "\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B / \u0440\u0438\u0441\u043A\u0438",
3782
+ truncatedBodyMore: "\u2026 \u0435\u0449\u0451 {n} \u0441\u0442\u0440\u043E\u043A\u0430 \u0432\u044B\u0448\u0435 \u0432 \u0441\u043A\u0440\u043E\u043B\u043B\u0431\u0435\u043A\u0435",
3783
+ truncatedBodyMorePlural: "\u2026 \u0435\u0449\u0451 {n} \u0441\u0442\u0440\u043E\u043A(\u0438) \u0432\u044B\u0448\u0435 \u0432 \u0441\u043A\u0440\u043E\u043B\u043B\u0431\u0435\u043A\u0435",
3784
+ picker: {
3785
+ ...EN.planFlow.picker,
3786
+ accept: "\u043F\u0440\u0438\u043D\u044F\u0442\u044C",
3787
+ acceptHint: "\u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441, \u043F\u043E \u043F\u043E\u0440\u044F\u0434\u043A\u0443",
3788
+ refine: "\u0443\u0442\u043E\u0447\u043D\u0438\u0442\u044C",
3789
+ refineHint: "\u0434\u0430\u0442\u044C \u0430\u0433\u0435\u043D\u0442\u0443 \u0431\u043E\u043B\u044C\u0448\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u0439, \u0441\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043B\u0430\u043D",
3790
+ revise: "\u043F\u0435\u0440\u0435\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C",
3791
+ reviseHint: "\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043B\u0430\u043D \u043F\u0435\u0440\u0435\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435\u043C (\u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C/\u043F\u0435\u0440\u0435\u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0438\u0442\u044C \u0448\u0430\u0433\u0438)",
3792
+ reject: "\u043E\u0442\u043A\u043B\u043E\u043D\u0438\u0442\u044C",
3793
+ rejectHint: "\u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C, \u0430\u0433\u0435\u043D\u0442 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0435\u0442 \u0437\u0430\u043D\u043E\u0432\u043E \u0441 \u043D\u0443\u043B\u044F"
3794
+ },
3795
+ refineFooter: "\u23CE \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \xB7 esc \u043D\u0430\u0437\u0430\u0434 \u043A \u0432\u044B\u0431\u043E\u0440\u0443",
3796
+ refineQuestionsHeading: "\u041E\u0442\u0432\u0435\u0442\u044C\u0442\u0435 \u043D\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043E\u043F\u0438\u0448\u0438\u0442\u0435 \u0436\u0435\u043B\u0430\u0435\u043C\u043E\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435:",
3797
+ modes: {
3798
+ ...EN.planFlow.modes,
3799
+ approve: {
3800
+ ...EN.planFlow.modes.approve,
3801
+ title: "\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u2014 \u0435\u0441\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F?",
3802
+ hint: "\u041E\u0442\u0432\u0435\u0442\u044C \u043D\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043B\u0430\u043D\u0430, \u0434\u043E\u0431\u0430\u0432\u044C \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043F\u0440\u043E\u0441\u0442\u043E \u043D\u0430\u0436\u043C\u0438 Enter \u0434\u043B\u044F \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u043A\u0430\u043A \u0435\u0441\u0442\u044C.",
3803
+ blankHint: " (Enter \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0430 = \u0443\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0431\u0435\u0437 \u0434\u043E\u043F. \u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0439.)"
3804
+ },
3805
+ refine: {
3806
+ ...EN.planFlow.modes.refine,
3807
+ title: "\u0443\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u0435 \u2014 \u0447\u0442\u043E \u043C\u043E\u0434\u0435\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C?",
3808
+ hint: "\u041E\u043F\u0438\u0448\u0438, \u0447\u0442\u043E \u043D\u0435 \u0442\u0430\u043A \u0438\u043B\u0438 \u0447\u0435\u0433\u043E \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0438\u043B\u0438 \u043E\u0442\u0432\u0435\u0442\u044C \u043D\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043B\u0430\u043D\u0430.",
3809
+ blankHint: " (Enter \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0430 = \u043C\u043E\u0434\u0435\u043B\u044C \u0432\u044B\u0431\u0435\u0440\u0435\u0442 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447.)"
3810
+ },
3811
+ reject: {
3812
+ ...EN.planFlow.modes.reject,
3813
+ title: "\u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u0438\u0435 \u2014 \u043E\u0431\u044A\u044F\u0441\u043D\u0438 \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u043E\u0447\u0435\u043C\u0443 (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)",
3814
+ hint: "\u0421\u043A\u0430\u0436\u0438, \u0447\u0442\u043E \u043C\u043E\u0434\u0435\u043B\u044C \u043F\u043E\u043D\u044F\u043B\u0430 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E, \u0438\u043B\u0438 \u0447\u0442\u043E \u0442\u044B \u043D\u0430 \u0441\u0430\u043C\u043E\u043C \u0434\u0435\u043B\u0435 \u0445\u043E\u0447\u0435\u0448\u044C.",
3815
+ blankHint: " (Enter \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0430 = \u043E\u0442\u043C\u0435\u043D\u0430 \u0431\u0435\u0437 \u043E\u0431\u044A\u044F\u0441\u043D\u0435\u043D\u0438\u044F; \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u043F\u0440\u043E\u0441\u0438\u0442, \u0447\u0442\u043E \u0442\u044B \u0445\u043E\u0447\u0435\u0448\u044C.)"
3816
+ },
3817
+ "checkpoint-revise": {
3818
+ ...EN.planFlow.modes["checkpoint-revise"],
3819
+ title: "\u043F\u0435\u0440\u0435\u0441\u043C\u043E\u0442\u0440 \u2014 \u0447\u0442\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0434 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u043C \u0448\u0430\u0433\u043E\u043C?",
3820
+ hint: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043E\u0431\u044A\u0451\u043C\u0430, \u043F\u0440\u043E\u043F\u0443\u0441\u043A \u0448\u0430\u0433\u043E\u0432, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u043F\u043E\u0434\u0445\u043E\u0434 \u2014 \u043C\u043E\u0434\u0435\u043B\u044C \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u0438\u0440\u0443\u0435\u0442 \u043E\u0441\u0442\u0430\u0432\u0448\u0438\u0439\u0441\u044F \u043F\u043B\u0430\u043D.",
3821
+ blankHint: " (Enter \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0430 = \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 \u0442\u0435\u043A\u0443\u0449\u0438\u043C \u043F\u043B\u0430\u043D\u043E\u043C.)"
3822
+ },
3823
+ "choice-custom": {
3824
+ ...EN.planFlow.modes["choice-custom"],
3825
+ title: "\u0441\u0432\u043E\u0439 \u043E\u0442\u0432\u0435\u0442 \u2014 \u043D\u0430\u043F\u0438\u0448\u0438 \u0447\u0442\u043E \u0443\u0433\u043E\u0434\u043D\u043E",
3826
+ hint: "\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442. \u041C\u043E\u0434\u0435\u043B\u044C \u0447\u0438\u0442\u0430\u0435\u0442 \u0435\u0433\u043E \u0434\u043E\u0441\u043B\u043E\u0432\u043D\u043E \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u2014 \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u043C \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u0430\u043C.",
3827
+ blankHint: " (Enter \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0430 = \u0441\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C, \u0447\u0442\u043E \u0442\u044B \u043D\u0430 \u0441\u0430\u043C\u043E\u043C \u0434\u0435\u043B\u0435 \u0445\u043E\u0447\u0435\u0448\u044C.)"
3828
+ }
3829
+ },
3830
+ checkpoint: {
3831
+ ...EN.planFlow.checkpoint,
3832
+ title: "\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C\u043D\u0430\u044F \u0442\u043E\u0447\u043A\u0430 \u2014 \u0448\u0430\u0433 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",
3833
+ continue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u2014 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0448\u0430\u0433",
3834
+ continueHint: "\u041C\u043E\u0434\u0435\u043B\u044C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u0442 \u0441\u043E \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u043C \u0448\u0430\u0433\u043E\u043C.",
3835
+ finish: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u2014 \u043F\u043E\u0434\u0432\u0435\u0441\u0442\u0438 \u0438\u0442\u043E\u0433 \u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u044C",
3836
+ finishHint: "\u041C\u043E\u0434\u0435\u043B\u044C \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0448\u0430\u0433 \u0438 \u043F\u043E\u0434\u0432\u043E\u0434\u0438\u0442 \u0438\u0442\u043E\u0433 \u043F\u043B\u0430\u043D\u0430.",
3837
+ revise: "\u041F\u0435\u0440\u0435\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u2014 \u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0442\u043D\u0443\u044E \u0441\u0432\u044F\u0437\u044C \u043F\u0435\u0440\u0435\u0434 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u043C \u0448\u0430\u0433\u043E\u043C",
3838
+ reviseHint: "\u041E\u0441\u0442\u0430\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \u043F\u0430\u0443\u0437\u0435, \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F; \u043C\u043E\u0434\u0435\u043B\u044C \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u0438\u0440\u0443\u0435\u0442 \u043E\u0441\u0442\u0430\u0432\u0448\u0438\u0439\u0441\u044F \u043F\u043B\u0430\u043D.",
3839
+ stop: "\u0421\u0442\u043E\u043F \u2014 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u043F\u043B\u0430\u043D \u0437\u0434\u0435\u0441\u044C",
3840
+ stopHint: "\u041C\u043E\u0434\u0435\u043B\u044C \u043F\u043E\u0434\u0432\u043E\u0434\u0438\u0442 \u0438\u0442\u043E\u0433 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u043E\u0433\u043E \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442."
3841
+ },
3842
+ stepList: {
3843
+ ...EN.planFlow.stepList,
3844
+ counter: "{total} \u0448\u0430\u0433\u043E\u0432",
3845
+ counterSingular: "{total} \u0448\u0430\u0433",
3846
+ counterDone: "{done}/{total} \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E ({pct}%) \xB7 {total} \u0448\u0430\u0433\u043E\u0432",
3847
+ counterDoneSingular: "{done}/{total} \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E ({pct}%) \xB7 {total} \u0448\u0430\u0433"
3848
+ },
3849
+ noPlanSummary: "\u041F\u043B\u0430\u043D \u0435\u0449\u0451 \u043D\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D.",
3850
+ detailCollapsedHint: "Ctrl+P \u0440\u0430\u0437\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u043E\u043B\u043D\u044B\u0435 \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u043B\u0430\u043D\u0430.",
3851
+ detailExpandedHint: "Ctrl+P \u0441\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u0435\u0442\u0430\u043B\u0438.",
3852
+ detailHeader: "\u0414\u0435\u0442\u0430\u043B\u0438 \u043F\u043B\u0430\u043D\u0430",
3853
+ detailWindow: "\u043F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0441\u0442\u0440\u043E\u043A\u0438 {start}-{end} \u0438\u0437 {total}",
3854
+ detailScrollHint: "PgUp/PgDn \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430 \xB7 Home/End \u043F\u0435\u0440\u0435\u0445\u043E\u0434",
3855
+ reviseTitle: "\u041F\u0435\u0440\u0435\u0441\u043C\u043E\u0442\u0440 \u043F\u043B\u0430\u043D\u0430",
3856
+ reviseSteps: "{count} \u0448\u0430\u0433\u043E\u0432",
3857
+ reviseFooter: "\u2191\u2193 \u0444\u043E\u043A\u0443\u0441 \xB7 space \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u043E\u043F\u0443\u0441\u043A \xB7 k/j \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u0435 \xB7 \u23CE \u043F\u0440\u0438\u043D\u044F\u0442\u044C \xB7 esc \u043E\u0442\u043C\u0435\u043D\u0430",
3858
+ riskMed: " \u0441\u0440\u0435\u0434",
3859
+ riskHigh: " \u0432\u044B\u0441",
3860
+ completeMsg: "\u25B8 \u043F\u043B\u0430\u043D \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D \u2014 \u0432\u0441\u0435 {total} \u0448\u0430\u0433(\u043E\u0432) \u0441\u0434\u0435\u043B\u0430\u043D\u044B \xB7 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D"
3861
+ }
3862
+ };
3863
+
3363
3864
  // src/i18n/zh-CN.ts
3364
3865
  var zhCN = {
3365
3866
  common: {
@@ -3684,8 +4185,7 @@ var zhCN = {
3684
4185
  sessions: { description: "\u5217\u51FA\u5DF2\u4FDD\u5B58\u7684\u4F1A\u8BDD\uFF08\u5F53\u524D\u6807\u8BB0\u4E3A \u25B8\uFF09" },
3685
4186
  title: { description: "\u8BA9\u6A21\u578B\u6839\u636E\u5F53\u524D\u5BF9\u8BDD\u91CD\u547D\u540D\u6B64\u4F1A\u8BDD" },
3686
4187
  qq: {
3687
- description: "\u8FDE\u63A5\u3001\u67E5\u770B\u6216\u65AD\u5F00\u5F53\u524D\u4F1A\u8BDD\u7684 QQ \u901A\u9053\uFF08\u9996\u6B21\u8FDE\u63A5\u4F1A\u5F15\u5BFC\u5F55\u5165 App ID / App Secret\uFF09",
3688
- argsHint: "[connect [appId appSecret [sandbox]]|status|disconnect]"
4188
+ description: "\u8FDE\u63A5/\u67E5\u770B/\u65AD\u5F00 QQ \u901A\u9053\uFF0C\u9996\u6B21\u8FDE\u63A5\u9700\u63D0\u4F9B AppId + AppSecret\uFF08\u53EF\u9009\u6C99\u7BB1\u6A21\u5F0F sandbox\uFF09"
3689
4189
  },
3690
4190
  setup: { description: "\u63D0\u9192\u60A8\u9000\u51FA\u5E76\u8FD0\u884C `reasonix setup`" },
3691
4191
  semantic: {
@@ -5016,12 +5516,14 @@ var zhCN = {
5016
5516
  var translations = {
5017
5517
  EN,
5018
5518
  "zh-CN": zhCN,
5019
- de
5519
+ de,
5520
+ ru
5020
5521
  };
5021
5522
  function detectSystemLanguage(locale = systemLocale()) {
5022
5523
  if (locale.startsWith("zh")) return "zh-CN";
5023
5524
  if (locale.startsWith("en")) return "EN";
5024
5525
  if (locale.startsWith("de")) return "de";
5526
+ if (locale.startsWith("ru")) return "ru";
5025
5527
  return null;
5026
5528
  }
5027
5529
  function systemLocale() {
@@ -5104,4 +5606,4 @@ export {
5104
5606
  tObj,
5105
5607
  t
5106
5608
  };
5107
- //# sourceMappingURL=chunk-DVD67FXQ.js.map
5609
+ //# sourceMappingURL=chunk-CLHMV6OL.js.map