@objectstack/console 17.6.0 → 17.7.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 (277) hide show
  1. package/CHANGELOG.md +428 -0
  2. package/dist/.objectstack-injection.json +2 -2
  3. package/dist/.objectui-sha +1 -1
  4. package/dist/assets/{ActionResultDialog-4kHDGnT3.js → ActionResultDialog-ChYnuROr.js} +3 -3
  5. package/dist/assets/{AiPendingActionsPage-JjOddm0h.js → AiPendingActionsPage-Dh3-i4BB.js} +1 -1
  6. package/dist/assets/{ApiConsolePage-BgS26lbp.js → ApiConsolePage-CKYEqlMs.js} +1 -1
  7. package/dist/assets/{AppDocsIndex-BDoH5ECM.js → AppDocsIndex-B5Tky2xg.js} +1 -1
  8. package/dist/assets/{AppManagementPage-CCgKmNTj.js → AppManagementPage-ZwyvnHpM.js} +1 -1
  9. package/dist/assets/ApprovalsInboxPage-DD4fe0Em.js +1 -0
  10. package/dist/assets/AuditLogPage-Sed6iMqP.js +1 -0
  11. package/dist/assets/BookPage-DYjUsQIc.js +1 -0
  12. package/dist/assets/{ComponentNavView-B5g9c6fx.js → ComponentNavView-DrlxM4SY.js} +1 -1
  13. package/dist/assets/CreateViewDialog-Cp72x_O7.js +1 -0
  14. package/dist/assets/{DashboardView-BOcovpPd.js → DashboardView-juicRxcP.js} +1 -1
  15. package/dist/assets/DocPage-CxJaQ-pC.js +1 -0
  16. package/dist/assets/{DocsIndex-DwW2QsYY.js → DocsIndex-LALVtIVR.js} +1 -1
  17. package/dist/assets/{DocsLayout-D63StSgd.js → DocsLayout-BAwlJQQf.js} +1 -1
  18. package/dist/assets/{DocsSlug-CP9fcabi.js → DocsSlug-CkF1E-Zs.js} +1 -1
  19. package/dist/assets/ExpressionProvider-Dr0e99r1.js +1 -0
  20. package/dist/assets/FlowRunsPage-R3W3t2s4.js +1 -0
  21. package/dist/assets/{IntegrationsPage-DvG0x0Nb.js → IntegrationsPage-DIuFLEbF.js} +2 -2
  22. package/dist/assets/InterfaceListPage-BfoCldGu.js +1 -0
  23. package/dist/assets/{MarketplaceInstalledPage-B7KETQG2.js → MarketplaceInstalledPage-DyjhcUNB.js} +1 -1
  24. package/dist/assets/MarketplacePackagePage-BbO27Pgs.js +4 -0
  25. package/dist/assets/MarketplacePage-DO2_b64U.js +1 -0
  26. package/dist/assets/{MetadataInspector-EP0I3-Kq.js → MetadataInspector-BQyu9pOE.js} +1 -1
  27. package/dist/assets/ObjectDataPage-DIY-yefK.js +1 -0
  28. package/dist/assets/PageView-C-qWu3Jw.js +1 -0
  29. package/dist/assets/ProfilePage-Qp8DL8CF.js +1 -0
  30. package/dist/assets/{PublicFormsPage-D3uCTR-8.js → PublicFormsPage-D3AT2EH9.js} +1 -1
  31. package/dist/assets/RecordDetailView-B3XBEgk2.js +3 -0
  32. package/dist/assets/{RecordFormPage-kiJI-ieF.js → RecordFormPage-CcoZfUJ3.js} +1 -1
  33. package/dist/assets/ReportDefaultInspector-DVcWM6sh.js +1 -0
  34. package/dist/assets/ReportView-pJCFptzp.js +2 -0
  35. package/dist/assets/RuntimeDraftBar-DObTyFu2.js +1 -0
  36. package/dist/assets/SchemaForm-BWSWYMLE.js +3 -0
  37. package/dist/assets/SearchResultsPage-ChVIzFob.js +1 -0
  38. package/dist/assets/{SettingsHub-DP1mrzEN.js → SettingsHub-CPP9FDe8.js} +1 -1
  39. package/dist/assets/{SettingsView-u7mc6pcc.js → SettingsView-CrHAROu9.js} +1 -1
  40. package/dist/assets/{SkeletonDetail-DIwlbHTr.js → SkeletonDetail-CP-35B8x.js} +1 -1
  41. package/dist/assets/{af-DPUgkQl0.js → af-Bhbso4Pg.js} +1 -1
  42. package/dist/assets/ai-BAPiCsNk.js +3 -0
  43. package/dist/assets/app-shell-eager-leaves-D9tgfJOe.js +1 -0
  44. package/dist/assets/{ar-B-6GTIRU.js → ar-DG8TAFtm.js} +1 -1
  45. package/dist/assets/{ar-DZ-wEl298ti.js → ar-DZ-BtSien-d.js} +1 -1
  46. package/dist/assets/{ar-EG-YBT90_S0.js → ar-EG-DpXC0zoY.js} +1 -1
  47. package/dist/assets/{ar-MA-3uT-EYh6.js → ar-MA-D1qVJLyE.js} +1 -1
  48. package/dist/assets/{ar-SA-SiQsjhhc.js → ar-SA-BIYKNgv8.js} +1 -1
  49. package/dist/assets/{ar-TN-CfzXjKzS.js → ar-TN-mUR5Mq3s.js} +1 -1
  50. package/dist/assets/{az-BqAfcNza.js → az-B7IqwHGK.js} +1 -1
  51. package/dist/assets/{be-CQgWXa9_.js → be-CnZyPaSX.js} +1 -1
  52. package/dist/assets/{be-tarask-BmNg0Sir.js → be-tarask--uMMCC7l.js} +1 -1
  53. package/dist/assets/{bg-D3evgRuS.js → bg-CZwuirtY.js} +1 -1
  54. package/dist/assets/{bn-uItkARwm.js → bn-BbOX0r-z.js} +1 -1
  55. package/dist/assets/{bs-DueReOpO.js → bs-B5W75cYR.js} +1 -1
  56. package/dist/assets/{ca-Cr3AHktR.js → ca-Be69LdIM.js} +1 -1
  57. package/dist/assets/{ckb-CTi5BET7.js → ckb-B-nKM1Vn.js} +1 -1
  58. package/dist/assets/{createDerive-CjN1i5vn.js → createDerive-CynsXU-B.js} +1 -1
  59. package/dist/assets/{cs-43mFX9jr.js → cs-qHngxH7l.js} +1 -1
  60. package/dist/assets/{cy-BBSkg3F8.js → cy-DscO2Pgf.js} +1 -1
  61. package/dist/assets/{da-C5oA5qcs.js → da-vibkaLMF.js} +1 -1
  62. package/dist/assets/data-adapter-BDsrq0TX.js +2 -0
  63. package/dist/assets/{de-AT-CApxwJzu.js → de-AT--JneEuBw.js} +1 -1
  64. package/dist/assets/{de-CPtbLlAf.js → de-BCT78XYW.js} +1 -1
  65. package/dist/assets/default-inspector-registry-Dktr6x_q.js +1 -0
  66. package/dist/assets/dist-yh3dYtHt.js +14 -0
  67. package/dist/assets/drillUrlFilters-N0RngQg6.js +1 -0
  68. package/dist/assets/{el-Dto2xBQU.js → el-Cl0y9T2b.js} +1 -1
  69. package/dist/assets/en-AU-By42tTB7.js +1 -0
  70. package/dist/assets/{en-CA-DKuJPN1U.js → en-CA-BqEEoj-Y.js} +1 -1
  71. package/dist/assets/en-GB-Cx8B9nkB.js +1 -0
  72. package/dist/assets/en-IE-CX9nv6uO.js +1 -0
  73. package/dist/assets/en-IN-ByGSBHa4.js +1 -0
  74. package/dist/assets/en-NZ-BPMwa2ZN.js +1 -0
  75. package/dist/assets/en-ZA-lj_N4R6c.js +1 -0
  76. package/dist/assets/{eo-BL8JXIWd.js → eo-oOXROuhF.js} +1 -1
  77. package/dist/assets/{es-BnoaNxsu.js → es-EudscwjH.js} +1 -1
  78. package/dist/assets/{et-tPYLNenO.js → et-CB-5LLh6.js} +1 -1
  79. package/dist/assets/{eu-CUBG6bT0.js → eu-B4-hcseX.js} +1 -1
  80. package/dist/assets/{fa-IR-Rr2d9xSs.js → fa-IR-CogavcMJ.js} +1 -1
  81. package/dist/assets/{fi-B0NVIZsV.js → fi-CIBE0mYa.js} +1 -1
  82. package/dist/assets/{formatLong-1-gt9bpo.js → formatLong-qqgm7lV1.js} +1 -1
  83. package/dist/assets/{fr-CA-CBDvLXFg.js → fr-CA-BugXMutW.js} +1 -1
  84. package/dist/assets/{fr-BbhHek8e.js → fr-CDReXYWW.js} +1 -1
  85. package/dist/assets/{fr-CH-WPNmwPn7.js → fr-CH-fiTiB6X1.js} +1 -1
  86. package/dist/assets/framework-CAuH4h0L.js +35 -0
  87. package/dist/assets/{fy-DvOBbvEF.js → fy-t_GzIAg_.js} +1 -1
  88. package/dist/assets/{gd-BQPiTPX5.js → gd-CSncIxtN.js} +1 -1
  89. package/dist/assets/getIcon-BDkBRQFw.js +1 -0
  90. package/dist/assets/{gl-BJCXK8uO.js → gl-_138Mj2S.js} +1 -1
  91. package/dist/assets/{gu-CctPRz3V.js → gu-COfH-YUT.js} +1 -1
  92. package/dist/assets/{he-CVFMk6p2.js → he-BXL4lOKY.js} +1 -1
  93. package/dist/assets/{hi-Ba30-RwS.js → hi-kXuYI0TJ.js} +1 -1
  94. package/dist/assets/{highlighted-body-OFNGDK62-BQ57IrBV.js → highlighted-body-OFNGDK62-CK7x7Gzm.js} +1 -1
  95. package/dist/assets/{hr-BZUqTbZs.js → hr-DAOsQWzI.js} +1 -1
  96. package/dist/assets/{ht-BLe05tPx.js → ht-Ch8SKz8p.js} +1 -1
  97. package/dist/assets/{hu-2CQ_Mkww.js → hu-q6W_rWPT.js} +1 -1
  98. package/dist/assets/{hy-CclcPG4H.js → hy-0M8OmwnM.js} +1 -1
  99. package/dist/assets/{i18n-BnUsCaSC.js → i18n-DTfZonAM.js} +3 -3
  100. package/dist/assets/i18n-locale-ar-O6rs-Cir.js +4 -0
  101. package/dist/assets/i18n-locale-de-CMc1jk4a.js +4 -0
  102. package/dist/assets/i18n-locale-en-CbRQO81h.js +4 -0
  103. package/dist/assets/i18n-locale-es-t47nyoCX.js +4 -0
  104. package/dist/assets/i18n-locale-fr-E425EqJM.js +4 -0
  105. package/dist/assets/i18n-locale-ja-y_fk77fz.js +4 -0
  106. package/dist/assets/i18n-locale-ko-CdnY2uCg.js +4 -0
  107. package/dist/assets/i18n-locale-pt-BaUOXS6y.js +4 -0
  108. package/dist/assets/i18n-locale-ru-pFlhX9wg.js +4 -0
  109. package/dist/assets/i18n-locale-zh-Dkj4ROTN.js +4 -0
  110. package/dist/assets/i18n-runtime-CdWyaiOD.js +1 -0
  111. package/dist/assets/{id-6JLB8s-f.js → id-BM_H1_jv.js} +1 -1
  112. package/dist/assets/index-ocmkyCt6.js +19 -0
  113. package/dist/assets/index-v2Ijn9Gr.css +2 -0
  114. package/dist/assets/{infrastructure-Cc34lEqb.js → infrastructure-CSnL6ntj.js} +2 -2
  115. package/dist/assets/integration-7NqwVHuJ.js +1 -0
  116. package/dist/assets/{is-to0CWzm1.js → is-B_7jXZfS.js} +1 -1
  117. package/dist/assets/isSameWeek-D90tBsli.js +1 -0
  118. package/dist/assets/{it-ea0B8Ujp.js → it-CBM0J9cD.js} +1 -1
  119. package/dist/assets/{it-CH-DhdfjP5Z.js → it-CH-BQltCNsR.js} +1 -1
  120. package/dist/assets/{ja-B1bzkgDW.js → ja-DBjnsx21.js} +1 -1
  121. package/dist/assets/{ja-Hira-CMrY5hXO.js → ja-Hira-BZfSmj1i.js} +1 -1
  122. package/dist/assets/{ka-DKSXLnXP.js → ka-HwpuKgUY.js} +1 -1
  123. package/dist/assets/{kk-DHwMv8Dn.js → kk-DLKA9paj.js} +1 -1
  124. package/dist/assets/{km-tpLG1xNr.js → km-BU5kermq.js} +1 -1
  125. package/dist/assets/{kn-MLreVnHA.js → kn-BNFqbCoi.js} +1 -1
  126. package/dist/assets/{ko-CI0DBazn.js → ko-D8n4uMqQ.js} +1 -1
  127. package/dist/assets/{lb-CmL572Xe.js → lb-B1empQ7m.js} +1 -1
  128. package/dist/assets/{lt-DRtUOLdw.js → lt-gMukpK3G.js} +1 -1
  129. package/dist/assets/{lv-COSHgkOP.js → lv-D2O5AnsZ.js} +1 -1
  130. package/dist/assets/{match-BQoOW8Cj.js → match-BTF6WqJh.js} +1 -1
  131. package/dist/assets/{match-B-ergJQb.js → match-Cyum2eeW.js} +1 -1
  132. package/dist/assets/{match-dfBS0YSQ.js → match-ScHH8kYk.js} +1 -1
  133. package/dist/assets/mermaid-GHXKKRXX-D4H6EVJQ.js +1 -0
  134. package/dist/assets/metadata-admin-CEhVmXFv.js +9 -0
  135. package/dist/assets/{mk-B0IH_YL_.js → mk-D-Zl0xVN.js} +1 -1
  136. package/dist/assets/{mn-P-QdQ2n3.js → mn-jJbTslgD.js} +1 -1
  137. package/dist/assets/{ms-CtyEOINy.js → ms-CUuJHLA4.js} +1 -1
  138. package/dist/assets/{mt-DfuZ2HRm.js → mt-yIcbfxKY.js} +1 -1
  139. package/dist/assets/{nb-2Hp-5Tnt.js → nb-D9WNypoj.js} +1 -1
  140. package/dist/assets/{nl-BE-mmxbfNoR.js → nl-BE-B1vKiw2h.js} +1 -1
  141. package/dist/assets/{nl-CZ_nLREz.js → nl-DC7b5e90.js} +1 -1
  142. package/dist/assets/{nn-ccWhYsNa.js → nn-uP4yJ9s0.js} +1 -1
  143. package/dist/assets/{oc-z504BFRV.js → oc-DHTqadJI.js} +1 -1
  144. package/dist/assets/{pl-DeQ7ASt-.js → pl-Bxnnizf5.js} +1 -1
  145. package/dist/assets/plugin-calendar-b7C35ANT.js +1 -0
  146. package/dist/assets/plugin-charts-b-yVtmdI.js +7 -0
  147. package/dist/assets/{plugin-chatbot-Ck47EhDX.js → plugin-chatbot-D1KW_oIO.js} +8 -8
  148. package/dist/assets/plugin-dashboard-DTkPoPEb.js +6 -0
  149. package/dist/assets/plugin-form-UIRm-FpQ.js +1 -0
  150. package/dist/assets/plugin-gantt-9dtc8zzX.js +63 -0
  151. package/dist/assets/plugin-grid-Cp4RKtMJ.js +10 -0
  152. package/dist/assets/plugin-kanban-B2JOPZIJ.js +1 -0
  153. package/dist/assets/plugin-map-CBJcVJYk.js +1 -0
  154. package/dist/assets/{plugin-markdown-BOkHcir_.js → plugin-markdown-CNlDzqP-.js} +1 -1
  155. package/dist/assets/plugin-report-IZzgQb-Q.js +59 -0
  156. package/dist/assets/plugin-timeline-DsmtjcJ3.js +1 -0
  157. package/dist/assets/plugin-tree-DTRPBdhe.js +1 -0
  158. package/dist/assets/plugin-view-D9ixsNDG.js +1 -0
  159. package/dist/assets/plugins-views-CnvkdSJK.js +3 -0
  160. package/dist/assets/{pt-BR-D80_lPYF.js → pt-BR-D416seHT.js} +1 -1
  161. package/dist/assets/{pt-CJJ1RmXd.js → pt-DwHBy9_c.js} +1 -1
  162. package/dist/assets/{ro-EuFb2TCj.js → ro-DDf1X3Np.js} +1 -1
  163. package/dist/assets/{ru-CMaVQScp.js → ru-8eM3mcgK.js} +1 -1
  164. package/dist/assets/{runtime-metadata-persistence-ClOTznqa.js → runtime-metadata-persistence-DX29lQ62.js} +1 -1
  165. package/dist/assets/{se-DsfdKLdF.js → se-D4JvQeRX.js} +1 -1
  166. package/dist/assets/{sk-BNV9omI8.js → sk-DvpgttGI.js} +1 -1
  167. package/dist/assets/{sl-DJS_nINU.js → sl-B3gCZ-_a.js} +1 -1
  168. package/dist/assets/{sq-HEgjcbHe.js → sq-CVaTmL0V.js} +1 -1
  169. package/dist/assets/{sr-CO0CFu4X.js → sr-CnH5Ffyz.js} +1 -1
  170. package/dist/assets/{sr-Latn-eE1Idzey.js → sr-Latn-Dw9w61q6.js} +1 -1
  171. package/dist/assets/src-BUry7633.js +2 -0
  172. package/dist/assets/{src-BU7L2v4J.js → src-DMDT5a27.js} +1 -1
  173. package/dist/assets/src-ZxH3AOCu.js +16 -0
  174. package/dist/assets/{studioEntry-WeMfaSGn.js → studioEntry-DAqcBFtr.js} +1 -1
  175. package/dist/assets/{submitRedirect-C2lfZSHt.js → submitRedirect-iy0oOi7I.js} +1 -1
  176. package/dist/assets/{sv-5uTzgQT3.js → sv-CU7wdxyK.js} +1 -1
  177. package/dist/assets/{ta-BzgdkBZG.js → ta-DPH6q0HR.js} +1 -1
  178. package/dist/assets/{te-Ct_pl7ZJ.js → te-BSaThkGV.js} +1 -1
  179. package/dist/assets/{th-DouAlk0-.js → th-NXP8_Qb8.js} +1 -1
  180. package/dist/assets/{tr-3XNBsI40.js → tr-DDXoH663.js} +1 -1
  181. package/dist/assets/types-zod-ChJ30y25.js +1 -0
  182. package/dist/assets/{ug-B9n24h9G.js → ug-Guus6pPe.js} +1 -1
  183. package/dist/assets/ui-components-D8wcRNrt.js +37 -0
  184. package/dist/assets/ui-layout-BYO3rRIl.js +1 -0
  185. package/dist/assets/{uk-DCAenByf.js → uk-uiy4vsp8.js} +1 -1
  186. package/dist/assets/use-book-data-DFTswcKm.js +1 -0
  187. package/dist/assets/{useActionModal-Blp4rhOk.js → useActionModal-h52Z5Pkl.js} +1 -1
  188. package/dist/assets/useCanAuthorMetadata-TDrVrYGB.js +1 -0
  189. package/dist/assets/useDatasetCatalog-BOd0Ybr1.js +1 -0
  190. package/dist/assets/{useNavTargetLabel-BOJncjIb.js → useNavTargetLabel-D8lRdb6O.js} +1 -1
  191. package/dist/assets/useOpenRecordList-C7oqUD3F.js +1 -0
  192. package/dist/assets/{usePackageL10n-Ci9uVkRZ.js → usePackageL10n-Jl2XiF2F.js} +1 -1
  193. package/dist/assets/{useSettingsLabel-CeMnMWsh.js → useSettingsLabel-CSpBDTdy.js} +1 -1
  194. package/dist/assets/{uz-Cyrl-JSeHEqu-.js → uz-Cyrl-Cmb5bvbf.js} +1 -1
  195. package/dist/assets/{uz-DT3s9bZS.js → uz-DJWxoTz4.js} +1 -1
  196. package/dist/assets/vendor-objectstack-C4eD5dbT.js +139 -0
  197. package/dist/assets/{vi-D2p-h6bY.js → vi-Bb3QoIJC.js} +1 -1
  198. package/dist/assets/{zh-CN-DHOKqAit.js → zh-CN-C-Hts1ZR.js} +1 -1
  199. package/dist/assets/{zh-HK-D4iIPY7I.js → zh-HK-CtBAZ_ZS.js} +1 -1
  200. package/dist/assets/{zh-TW-gORQ_tZh.js → zh-TW-B7DDahD-.js} +1 -1
  201. package/dist/chunk-membership.json +28 -26
  202. package/dist/eager-closure.json +107 -101
  203. package/dist/index.html +4 -4
  204. package/dist/sdui.manifest.json +486 -63
  205. package/package.json +1 -1
  206. package/dist/assets/ApprovalsInboxPage-C6S1vk0X.js +0 -1
  207. package/dist/assets/AuditLogPage-v2dKXMuk.js +0 -1
  208. package/dist/assets/BookPage-DwFMcTSN.js +0 -1
  209. package/dist/assets/CreateViewDialog-D3l-tYHM.js +0 -1
  210. package/dist/assets/DocPage-B6AkH5WI.js +0 -1
  211. package/dist/assets/ExpressionProvider-CrL6jhVq.js +0 -1
  212. package/dist/assets/FlowRunsPage-CxdaiUyk.js +0 -1
  213. package/dist/assets/InterfaceListPage-C4wPYohR.js +0 -1
  214. package/dist/assets/MarketplacePackagePage-CfgKDpNH.js +0 -4
  215. package/dist/assets/MarketplacePage-DNEyU5AE.js +0 -1
  216. package/dist/assets/ObjectDataPage-CykEm9MD.js +0 -1
  217. package/dist/assets/PageView-C6u86tni.js +0 -1
  218. package/dist/assets/ProfilePage-C3SjXMzi.js +0 -1
  219. package/dist/assets/RecordDetailView-DgR_zhP4.js +0 -3
  220. package/dist/assets/ReportDefaultInspector-BIinF0EQ.js +0 -1
  221. package/dist/assets/ReportView-BREO-ADE.js +0 -2
  222. package/dist/assets/RuntimeDraftBar-BCWfd2yS.js +0 -1
  223. package/dist/assets/SchemaForm-C4uMMZ13.js +0 -3
  224. package/dist/assets/SearchResultsPage-C6Hw_Lpn.js +0 -1
  225. package/dist/assets/ai-DPBykF2N.js +0 -3
  226. package/dist/assets/app-shell-eager-leaves-Cf2bM6uT.js +0 -1
  227. package/dist/assets/data-adapter-Cymvlczj.js +0 -1
  228. package/dist/assets/default-inspector-registry-Bs6GBn00.js +0 -1
  229. package/dist/assets/dist-BF-ssUpn.js +0 -14
  230. package/dist/assets/drillUrlFilters-hi-2d3DW.js +0 -1
  231. package/dist/assets/en-AU-FVwCiDJO.js +0 -1
  232. package/dist/assets/en-GB-DQ_y5VbJ.js +0 -1
  233. package/dist/assets/en-IE-DaXOhsZW.js +0 -1
  234. package/dist/assets/en-IN-CnRZnAom.js +0 -1
  235. package/dist/assets/en-NZ-CBZLEToK.js +0 -1
  236. package/dist/assets/en-ZA-BE59v0wZ.js +0 -1
  237. package/dist/assets/framework-DFR4HNtj.js +0 -35
  238. package/dist/assets/getIcon-Cfwf-Egt.js +0 -1
  239. package/dist/assets/i18n-locale-ar-92O_xtDZ.js +0 -4
  240. package/dist/assets/i18n-locale-de-T5ic3yH9.js +0 -4
  241. package/dist/assets/i18n-locale-en-rxr7WJYl.js +0 -4
  242. package/dist/assets/i18n-locale-es-D_WOifJ_.js +0 -4
  243. package/dist/assets/i18n-locale-fr-3cvyjMkp.js +0 -4
  244. package/dist/assets/i18n-locale-ja-DXlIkB8I.js +0 -4
  245. package/dist/assets/i18n-locale-ko-DngRpS45.js +0 -4
  246. package/dist/assets/i18n-locale-pt-BkPaFCqZ.js +0 -4
  247. package/dist/assets/i18n-locale-ru-E5wLh-y6.js +0 -4
  248. package/dist/assets/i18n-locale-zh-BL4_Yand.js +0 -4
  249. package/dist/assets/i18n-runtime-97_bDVjP.js +0 -1
  250. package/dist/assets/index-Cadlh4t_.css +0 -2
  251. package/dist/assets/index-D98sa5GF.js +0 -20
  252. package/dist/assets/integration-CeAF4JFT.js +0 -1
  253. package/dist/assets/isSameWeek-DBXaA1Gd.js +0 -1
  254. package/dist/assets/mermaid-GHXKKRXX-Bb17TtNP.js +0 -1
  255. package/dist/assets/metadata-admin-CABUxbJl.js +0 -9
  256. package/dist/assets/plugin-calendar-Cn5HaZU8.js +0 -1
  257. package/dist/assets/plugin-charts-B6RcFWbo.js +0 -7
  258. package/dist/assets/plugin-dashboard-DjEx8e5Y.js +0 -6
  259. package/dist/assets/plugin-form-CLDvL0up.js +0 -1
  260. package/dist/assets/plugin-gantt-CrVrxVdi.js +0 -63
  261. package/dist/assets/plugin-grid-D2rmQEW_.js +0 -11
  262. package/dist/assets/plugin-kanban-BUNHFfIC.js +0 -1
  263. package/dist/assets/plugin-map-y-7RQQC5.js +0 -1
  264. package/dist/assets/plugin-report-mT3jpna0.js +0 -59
  265. package/dist/assets/plugin-timeline-B1EF83D3.js +0 -1
  266. package/dist/assets/plugin-tree-MTHUt3_S.js +0 -1
  267. package/dist/assets/plugin-view-DHJI-ahf.js +0 -1
  268. package/dist/assets/plugins-views-CfkgqD30.js +0 -3
  269. package/dist/assets/src-BUtIBFDA.js +0 -1
  270. package/dist/assets/src-C0eXlKtx.js +0 -16
  271. package/dist/assets/types-zod-DXpXw10W.js +0 -1
  272. package/dist/assets/ui-components-D6cEVg0T.js +0 -37
  273. package/dist/assets/ui-layout-DgVDuPEM.js +0 -1
  274. package/dist/assets/use-book-data-CwRldFxP.js +0 -1
  275. package/dist/assets/useCanAuthorMetadata-BxCMgFRf.js +0 -1
  276. package/dist/assets/useOpenRecordList-BrwJFojQ.js +0 -1
  277. package/dist/assets/vendor-objectstack-DFqu45yM.js +0 -138
@@ -0,0 +1,4 @@
1
+ import{r as e}from"./rolldown-runtime-C0FnF6B9.js";var t=e({default:()=>n}),n={impersonation:{banner:{message:`Está suplantando a {{user}}: todas las acciones se registran a su nombre.`,startedBy:`Iniciado por el administrador {{admin}}.`,stop:`Dejar de suplantar`,stopping:`Finalizando…`,stopFailed:`No se pudo dejar de suplantar: {{reason}}`,notRestored:`El servidor aceptó la solicitud pero no restauró su sesión de administrador: sigue suplantando a {{user}}. Cierre sesión y vuelva a iniciarla para terminar.`}},capability:{label:{manage_users:`Gestionar usuarios`,manage_org_users:`Gestionar usuarios de la organización`,manage_metadata:`Gestionar metadatos`,manage_org_presentation:`Gestionar la presentación de la organización`,manage_platform_settings:`Gestionar la configuración de la plataforma`,setup_access:`Acceso a la configuración`,setup_write:`Escritura de la configuración`,studio_access:`Acceso a Studio`,manage_sharing:`Gestionar el uso compartido`},group:{platform:`Plataforma`,org:`Organización`,other:`Otro`}},perm:{facet:{none:`Ninguno`,more:`+{{count}} más`,objects:`{{count}} objetos`,objects_one:`{{count}} objeto`,objects_many:`{{count}} de objetos`,objects_other:`{{count}} objetos`,fields:`{{count}} reglas de campo`,fields_one:`{{count}} regla de campo`,fields_many:`{{count}} de reglas de campo`,fields_other:`{{count}} reglas de campo`,rls:`{{count}} políticas RLS`,rls_one:`{{count}} política RLS`,rls_many:`{{count}} de políticas RLS`,rls_other:`{{count}} políticas RLS`,tabs:`{{count}} reglas de pestaña`,tabs_one:`{{count}} regla de pestaña`,tabs_many:`{{count}} de reglas de pestaña`,tabs_other:`{{count}} reglas de pestaña`,adminScope:`Administración delegada configurada`,designInStudio:`Diseñar en Studio →`,designInStudioHint:`Diseñar en Studio`}},lookup:{recentlyUsed:`Usados recientemente`,allResults:`Todos los resultados`,createNew:`Crear nuevo`,createNamed:`Crear «{{name}}»`,showingResults:`Mostrando {{shown}} de {{total}} resultados`,showAllResults:`Ver todos los resultados ({{count}})`,selectedBadge:`Seleccionado`,browseAll:`Examinar todos los registros`,remove:`Quitar {{label}}`,selectFirst:`Seleccione primero {{fields}}`,selectRecord:`Seleccionar registro`,recordCount:`{{count}} registros`,recordCount_one:`{{count}} registro`,recordCount_many:`{{count}} de registros`,recordCount_other:`{{count}} registros`,pageOf:`Página {{current}} de {{total}}`,filters:`Filtros`,clear:`Limpiar`,yes:`Sí`,filterPlaceholder:`Filtrar {{label}}`,prevPage:`Página anterior`,nextPage:`Página siguiente`,jumpToPage:`Ir a la página`,retry:`Reintentar`,loading:`Cargando…`,noOptions:`No se encontraron opciones`,noRecords:`No se encontraron registros`},common:{addToFavorites:`Añadir a favoritos`,removeFromFavorites:`Quitar de favoritos`,loading:`Cargando…`,save:`Guardar`,discard:`Descartar`,cancel:`Cancelar`,delete:`Eliminar`,edit:`Editar`,create:`Crear`,filter:`Filtrar`,reset:`Restablecer`,confirm:`Confirmar`,close:`Cerrar`,back:`Atrás`,next:`Siguiente`,previous:`Anterior`,submit:`Enviar`,refresh:`Actualizar`,export:`Exportar`,import:`Importar`,yes:`Sí`,no:`No`,ok:`Aceptar`,actions:`Acciones`,more:`Más`,selectAll:`Seleccionar todo`,clearAll:`Borrar todo`,noData:`Sin datos`,noResults:`No se encontraron resultados`,required:`Obligatorio`,optional:`Opcional`,selectOption:`Seleccionar una opción`,select:`Seleccionar…`,openChat:`Abrir chat`,closeChat:`Cerrar chat`,closePanel:`Cerrar panel`,resizeDrawer:`Ajustar el ancho del panel`,itemCount:`{{count}} elementos`,itemCount_one:`{{count}} elemento`,itemCount_many:`{{count}} de elementos`,itemCount_other:`{{count}} elementos`,toggleSidebar:`Alternar barra lateral`,package:`Paquete`,done:`Listo`,editInStudio:`Editar en Studio`,record:`Registro`,retry:`Reintentar`,printDialogHint:`Abre el cuadro de diálogo de impresión de tu navegador (no es una exportación a PDF)`,rowCeilingNote:`Mostrando los primeros {{shown}} de {{total}} registros. Acota el filtro.`,rowCeilingNoteUnknownTotal:`Mostrando los primeros {{shown}} registros. Acota el filtro.`},actions:{decisionOutput:{help:`Se transfiere al flujo como salida de la decisión.`,helpMultiValue:`Se transfiere al flujo como salida de la decisión. Separe varios valores con comas.`},resultDialog:{defaultTitle:`Guarda este valor ahora`,acknowledge:`Lo he guardado`,copyAll:`Copiar todo`},notAvailableHere:`«{{action}}» no está disponible en la página actual.`,completedSuccessfully:`La acción se completó correctamente`,failed:`La acción falló`,parallelFailed:`Una o más acciones paralelas fallaron`,undo:`Deshacer`,undone:`Cambio deshecho`,undoneOperation:`Deshacer: {{description}}`,redoneOperation:`Rehacer: {{description}}`},validation:{required:`El campo {{field}} es obligatorio`,minLength:`{{field}} debe tener al menos {{min}} caracteres`,maxLength:`{{field}} debe tener como máximo {{max}} caracteres`,min:`{{field}} debe ser al menos {{min}}`,max:`{{field}} debe ser como máximo {{max}}`,email:`Por favor, introduzca un correo electrónico válido`,url:`Por favor, introduzca una URL válida`,pattern:`El formato de {{field}} no es válido`,formInvalid:`Por favor, revise los campos resaltados: {{fields}}`,formInvalidJoiner:`, `,unique:`El campo {{field}} debe ser único`,type:`{{field}} debe ser un {{type}} válido`},form:{noPermissionToSave:`No tienes permiso para guardar este registro.`,noPermissionToCreate:`No tienes permiso para crear registros de {{object}}. Los campos son de solo lectura.`,noPermissionToEdit:`No tienes permiso para editar registros de {{object}}. Los campos son de solo lectura.`,submitFailed:`No se pudo guardar. Inténtalo de nuevo.`,uploadInFlight:`Espere a que finalice la carga antes de guardar.`,clearedOnHide:`Se borró lo que ya no corresponde a los valores actuales: {{fields}}`,visibleWhenFaulted:`No se puede enviar: no se pudo evaluar la regla visibleWhen de {{fields}}. Hay que corregir la regla antes de poder enviar este formulario.`,discardTitle:`¿Descartar los cambios?`,discardMessage:`Tiene cambios sin guardar. Si cierra este formulario ahora, sus ediciones se perderán.`,dialogDescriptionFallback:`Complete los campos del formulario y luego envíe o cancele.`,deniedDescription:`No tienes permiso para editar este campo.`,masterDetail:{loadingColumns:`Cargando columnas…`,subtotal:`Subtotal`,tax:`Impuesto ({{rate}}%)`,total:`Total`,lineItem:`Línea de detalle`,rowTitle:`{{title}} — fila {{row}}`,applyRow:`Aplicar`,editorDescription:`Introduzca el registro y sus líneas de detalle y luego guarde.`,noChildObject:`Esta colección no tiene configurado ningún objeto secundario: establezca {{property}} en el objeto cuyas filas enumera.`,schemaUnavailable:`No se pudo cargar el esquema de {{object}}, por lo que esta colección no tiene columnas que mostrar. Compruebe que el objeto existe y se puede leer, y luego vuelva a cargar.`,noRelationshipField:`No se pudo determinar cómo se vincula {{object}} con {{parent}}: ningún campo lookup o master_detail del objeto hace referencia al principal. Establezca {{property}} en esta colección con el campo que contiene el registro principal.`},lineItems:{title:`Líneas de detalle`,saveRecordFirst:`Guarde primero el registro para agregar líneas de detalle.`,notLoaded:`Las líneas de detalle de este registro no se han cargado.`,loadFailed:`No se pudieron cargar las líneas de detalle`,saveFailed:`No se pudieron guardar las líneas de detalle`,noChildObject:`Este panel no tiene configurado ningún objeto secundario: establezca {{property}} en el objeto cuyas filas enumera.`},keepEditing:`Seguir editando`,discard:`Descartar`,conflictTitle:`Conflicto al guardar`,conflictMessage:`Otra persona modificó este registro mientras lo editaba. Sobrescribir reemplazará sus cambios por los suyos.`,conflictLatestVersion:`Su guardado: {{time}}`,conflictOverwrite:`Sobrescribir`,removeItem:`Eliminar elemento`,fieldRequired:`Este campo es obligatorio`,invalidFormat:`Formato no válido`,saveSuccess:`Guardado correctamente`,saveError:`Error al guardar`,unsavedChanges:`Tiene cambios sin guardar. ¿Está seguro de que desea salir?`,stepOf:`Paso {{current}} de {{total}}`,createTitle:`Crear {{object}}`,editTitle:`Editar {{object}}`,viewTitle:`Ver {{object}}`,createTargetOrg:`Se crea en {{org}}`,saveRecord:`Guardar registro`,create:`Crear`,update:`Actualizar`,createSuccess:`{{object}} creado`,updateSuccess:`{{object}} actualizado`,deleteSuccess:`{{object}} eliminado`,created:`Creado`,saved:`Guardado`,savedNamed:`{{title}} guardado`,submitted:`Enviado`,errorLoading:`Error al cargar el formulario`,navigateRefused:"El destino `navigateOnSuccess` declarado para este formulario fue rechazado, por lo que no se realizó la navegación.",fullscreen:{title:`Editar texto`,description:`Edita el valor de texto completo y luego guarda o cancela los cambios.`,done:`Listo`,toggle:`Editar {{label}} en pantalla completa`,textFallback:`texto`}},fields:{image:{upload:`Subir imagen`,addMore:`Añadir más imágenes`,uploading:`Subiendo…`,imageAlt:`Imagen {{index}}`,crop:`Recortar la imagen {{index}}`,remove:`Eliminar la imagen {{index}}`,enlarge:`Ampliar {{name}}`,preview:`Vista previa de la imagen`,previous:`Imagen anterior`,next:`Imagen siguiente`,counter:`{{current}} / {{total}}`},relativeDate:{overdue:`Atrasado {{count}} d`,overdue_one:`Atrasado {{count}} d`,overdue_many:`Atrasado {{count}} d`,overdue_other:`Atrasado {{count}} d`},file:{dragDropHere:`Arrastra y suelta archivos aquí`,dropFilesHere:`Suelta los archivos aquí`,browseHint:`o haz clic para explorar`,browseHintCamera:`o haz clic para explorar • usa el botón de cámara de abajo`,takePhoto:`Tomar foto`,takeSelfie:`Tomar selfie`,cameraCapture:`Captura de cámara`,uploading:`Subiendo…`,uploadingPct:`Subiendo… ({{pct}} %)`,fileFallback:`Archivo`,upload:`Subir`,remove:`Quitar {{name}}`,exceedsMaxSize:`«{{name}}» supera el tamaño máximo ({{max}} MB)`,uploadFailed:`Error al subir «{{name}}»: {{error}}`,uploadIncomplete:`La subida de «{{name}}» no se completó: no se devolvió ningún identificador de archivo, así que no se guardó nada`},richText:{format:`Formato: {{format}}`,basicEditorHint:`Editor de texto enriquecido (básico)`,placeholder:`Escribe algo…`},options:{empty:`No hay opciones disponibles`,selectFirst:`Seleccione primero {{fields}}`},objectRef:{loading:`Cargando objetos…`,placeholder:`Seleccionar un objeto`,search:`Buscar objetos…`,empty:`No se encontraron objetos`},recipient:{selectTypeFirst:`Selecciona primero un tipo de destinatario.`,loading:`Cargando…`,search:`Buscar…`,empty:`Sin coincidencias`,select:`Seleccionar un destinatario`,selectUser:`Seleccionar un usuario`,selectTeam:`Seleccionar un equipo`,selectBusinessUnit:`Seleccionar una unidad de negocio`,selectPosition:`Seleccionar un puesto`,selectUnitAndSubordinates:`Seleccionar una unidad de negocio`,selectField:`Seleccionar un campo de usuario`,noUserFields:`Este objeto no tiene campos de usuario`,fieldNotUserTyped:`{{name}} — no es un campo de usuario`},filterCondition:{selectObjectFirst:`Selecciona primero un objeto.`,noCriteria:`Sin criterios: esta regla no comparte nada`,criteriaRequired:`Añade al menos una condición. Una regla sin criterios compartiría todos los registros, por lo que no se puede guardar.`,invalidJson:`JSON no válido: la regla no coincidirá con ningún registro hasta que se corrija.`,jsonOnly:`Este criterio solo se puede editar como JSON`,editAsJson:`Editar como JSON`,useVisualBuilder:`Usar el constructor visual`},object:{invalidJson:`JSON no válido`},location:{refusedFormat:`No guardado: introduce un par latitud, longitud (ejemplo: 30.2741, 120.1551).`,refusedRange:`No guardado: {{detail}}`,latitude:`latitud`,longitude:`longitud`,refusedResidueOne:`No guardado: {{name}} «{{text}}» no es un número. Introduce decimales simples (ejemplo: 30.2741, 120.1551).`,refusedResidue:`No guardado: {{name}} «{{text}}» y {{otherName}} «{{otherText}}» no son números. Introduce decimales simples (ejemplo: 30.2741, 120.1551).`},date:{impossibleDay:`El valor guardado «{{value}}» no es una fecha real. Elige una fecha para reemplazarlo.`},dateTime:{impossibleDay:`El valor guardado «{{value}}» no es una fecha real. Elige una fecha y una hora para reemplazarlo.`},number:{badInput:`No guardado: el texto de este campo no es un número. Introduce un decimal simple (ejemplo: {{example}}).`},tags:{placeholder:`Escriba y pulse Intro para añadir…`},address:{street:`Dirección (calle)`,city:`Ciudad`,state:`Estado / Provincia`,postalCode:`Código postal`,country:`País`},textarea:{characterCount:`Recuento de caracteres: {{count}} de {{max}}`,charactersRemaining:`Caracteres restantes: {{count}}`},grid:{addLine:`Agregar línea`,noItems:`Sin elementos`,noItemsAddHint:`Aún no hay elementos: haga clic en «{{label}}» para empezar.`,optionalColumns:`Columnas opcionales`,computed:`Calculado`,openRow:`Abrir fila`,duplicateRow:`Duplicar fila`,removeRow:`Quitar fila`}},table:{rowsPerPage:`Filas por página`,showing:`Mostrando {{from}} a {{to}} de {{total}}`,noRows:`No hay filas para mostrar`,sortAsc:`Ordenar ascendente`,sortDesc:`Ordenar descendente`,filterColumn:`Filtrar {{column}}`,columns:`Columnas`,exportCSV:`Exportar CSV`,exportExcel:`Exportar Excel`,selectRow:`Seleccionar fila`,selectAllRows:`Seleccionar todas las filas`,expandRow:`Expandir fila`,collapseRow:`Contraer fila`,hideColumn:`Ocultar columna`,freezeColumn:`Fijar columna`,unfreezeColumn:`Desfijar columna`,pageInfo:`Página {{current}} de {{total}}`,totalRecords:`{{count}} en total`,noResults:`Sin resultados`,noResultsHint:`Intente ajustar sus filtros o términos de búsqueda.`,cancelAll:`Cancelar todo`,saveAll:`Guardar todo ({{count}})`,addRecord:`Agregar registro`,open:`Abrir`,search:`Buscar…`,modified:`{{count}} filas modificadas`,modified_one:`{{count}} fila modificada`,modified_many:`{{count}} de filas modificadas`,modified_other:`{{count}} filas modificadas`,saveFailed:`Error al guardar`,selected:`{{count}} seleccionados`,selected_one:`{{count}} seleccionado`,selected_many:`{{count}} seleccionados`,selected_other:`{{count}} seleccionados`,edit:`Editar`,delete:`Eliminar`},grid:{bulkSelected:`{{count}} seleccionados`,bulkSelected_one:`{{count}} seleccionado`,bulkSelected_many:`{{count}} seleccionados`,bulkSelected_other:`{{count}} seleccionados`,bulkSelectedAllMatches:`{{count}} seleccionados (todas las coincidencias)`,bulkClear:`Quitar selección`,bulkAllOnPage:`Están seleccionados los {{count}} de esta página.`,bulkAllOnPage_one:`{{count}} registro de esta página está seleccionado.`,bulkAllOnPage_many:`Están seleccionados los {{count}} de esta página.`,bulkAllOnPage_other:`Están seleccionados los {{count}} de esta página.`,bulkSelectAllMatching:`Seleccionar las {{count}} coincidencias`,bulkAllMatchingSelected:`Están seleccionados los {{count}} registros coincidentes.`,bulk:{confirmDefault:`Esto se aplicará a {{count}} registro(s).`,confirmDefault_one:`Esto se aplicará a {{count}} registro.`,confirmDefault_many:`Esto se aplicará a {{count}} de registros.`,confirmDefault_other:`Esto se aplicará a {{count}} registros.`,overLimit:`La selección ({{count}}) supera el límite de la acción ({{limit}}). Reduzca la selección para continuar.`,affectedRecords:`Registros afectados ({{count}}):`,skippedIneligible:`{{count}} de los registros seleccionados no son aptos para esta acción y se omitirán.`,skippedIneligible_one:`{{count}} de los registros seleccionados no es apto para esta acción y se omitirá.`,skippedIneligible_many:`{{count}} de los registros seleccionados no son aptos para esta acción y se omitirán.`,skippedIneligible_other:`{{count}} de los registros seleccionados no son aptos para esta acción y se omitirán.`,rowFallback:`Fila {{index}}`,andMore:`… y {{count}} más`,processed:`{{count}} / {{total}} procesados`,processedFailed:` · {{count}} con error`,undonePrefix:`Deshecho: `,succeeded:`Correctos {{count}} / {{total}}`,resultFailed:` · Fallidos {{count}}`,retry:`Reintentar`,downloadErrorCsv:`Descargar CSV de errores`,cancel:`Cancelar`,back:`Atrás`,next:`Siguiente`,run:`Ejecutar`,running:`Ejecutando…`,undo:`Deshacer`,undoing:`Deshaciendo…`,done:`Listo`,loading:`Cargando…`},actions:`Acciones`,edit:`Editar`,delete:`Eliminar`,export:`Exportar`,exportAs:`Exportar como {{format}}`,loading:`Cargando cuadrícula…`,errorLoading:`Error al cargar la cuadrícula`,pullToRefresh:`Desliza para actualizar`,refreshing:`Actualizando…`,openRecord:`Abrir registro`,rowHeight:`Altura de fila: {{mode}}`,openMenu:`Abrir menú`,empty:`Vacío`,yes:`Sí`,no:`No`,systemFields:`Sistema`,grouping:{needsHeaderQuery:`Esta vista está agrupada, pero su origen de datos no implementa queryGroupHeaders, por lo que no se pueden contar los grupos. Quite la agrupación para mostrar los registros.`,needsWholeRows:`La agrupación necesita todos los registros, pero esta cuadrícula recibió solo una página de ellos, por lo que no se pueden contar los grupos. Entregue todos los registros o deje que la cuadrícula los obtenga de un origen de datos que implemente queryGroupHeaders.`},summary:{pattern:`{{label}}: {{value}}`,count:`Recuento`,countEmpty:`Vacíos`,countFilled:`Rellenos`,countUnique:`Únicos`,percentEmpty:`Vacíos`,percentFilled:`Rellenos`,sum:`Suma`,avg:`Promedio`,min:`Mín.`,max:`Máx.`},toolbar:{densityMode:`Densidad`,densityCompact:`Compacto`,densityComfortable:`Normal`,densitySpacious:`Espacioso`,densityCycleHint:`{{label}} (clic para cambiar)`,densityCycleShortHint:`Clic para cambiar`},import:{downloadTemplate:`Descargar plantilla`,downloadTemplateHint:`Obtenga un archivo de Excel con las columnas que puede importar (los campos obligatorios llevan *) e instrucciones para rellenarlo.`,templateFileName:`{{object}}-import-template`,templateDownloadFailed:`No se pudo descargar la plantilla. Inténtelo de nuevo.`,templateNotPermitted:`No tiene permiso para crear registros de este objeto, por lo que su plantilla de importación no está disponible.`,autoMatched:`Emparejado automáticamente`,autoMatchedSummary:`{{count}} columna(s) emparejada(s) automáticamente: revise y ajuste abajo.`,autoMatchedSummary_one:`{{count}} columna emparejada automáticamente: revise y ajuste abajo.`,autoMatchedSummary_many:`{{count}} de columnas emparejadas automáticamente: revise y ajuste abajo.`,autoMatchedSummary_other:`{{count}} columnas emparejadas automáticamente: revise y ajuste abajo.`,confidence:{high:`Confianza alta`,medium:`Confianza media`,low:`Confianza baja`},asyncQueued:`En cola: preparando la importación…`,asyncProcessing:`Importando {{processed}} de {{total}} filas… {{progress}} %`,asyncLargeHint:`Este archivo es grande, así que se importará en segundo plano.`,largeSampleNotice:`Vista previa de las primeras {{shown}} de {{total}} filas.`,cancelImport:`Cancelar la importación`,importCancelled:`Importación cancelada`,resultsTruncated:`Mostrando los primeros {{count}} resultados de filas (de {{total}}).`,resultsTruncated_one:`Mostrando el primer resultado de fila ({{count}} de {{total}}).`,resultsTruncated_many:`Mostrando los primeros {{count}} resultados de filas (de {{total}}).`,resultsTruncated_other:`Mostrando los primeros {{count}} resultados de filas (de {{total}}).`,createdCount:`{{count}} creados`,createdCount_one:`{{count}} creado`,createdCount_many:`{{count}} creados`,createdCount_other:`{{count}} creados`,updatedCount:`{{count}} actualizados`,updatedCount_one:`{{count}} actualizado`,updatedCount_many:`{{count}} actualizados`,updatedCount_other:`{{count}} actualizados`,downloadFailed:`Descargar las filas con error`,options:`Opciones de importación`,writeMode:`Cuando una fila coincide con un registro existente`,writeModeOpt:{insert:`Crear siempre uno nuevo`,update:`Actualizar el existente (omitir si no hay coincidencia)`,upsert:`Actualizar si coincide; si no, crear`},matchFields:`Coincidir por`,matchFieldsPlaceholder:`Elija el campo o campos de coincidencia…`,matchFieldsHint:`Las filas se emparejan con registros existentes por estos campos.`,needMatchFields:`Seleccione al menos un campo por el que coincidir.`,matchOnlyField:`(solo coincidencia)`,optCreateOptions:`Conservar los valores de opción desconocidos`,optRunAutomations:`Ejecutar automatizaciones y disparadores`,optTreatHistorical:`Importar como datos históricos`,optTreatHistoricalHint:`(importa los registros completados tal cual: omite las comprobaciones de la máquina de estados y conserva sus marcas de tiempo y autor originales en lugar de sellarlos ahora)`,optSkipBlankKey:`Omitir las filas con valor de coincidencia vacío`,optBackground:`Importar en segundo plano`,optBackgroundHint:`(se ejecuta como un trabajo reversible)`,validate:`Validar los datos`,validating:`Validando…`,validateHint:`Comprobar cada fila en el servidor antes de importar.`,validatePassed:`Las {{ok}} filas son válidas.`,validateFailed:`{{ok}} válidas, {{errors}} con errores.`,errorRowPrefix:`Fila {{row}}: `,referenceNotFound:`No hay ningún registro que coincida con «{{value}}»`,referenceAmbiguous:`«{{value}}» coincide con más de un registro: use un valor único o el id del registro`,invalidBoolean:`«{{value}}» no es un valor verdadero/falso válido`,invalidNumber:`«{{value}}» no es un número válido`,invalidDate:`«{{value}}» no es una fecha válida`,invalidOption:`«{{value}}» no es una de las opciones permitidas`,requiredValue:`Este campo es obligatorio`,matchAmbiguous:`Coincide con más de un registro existente: use un valor único o el id del registro`,history:`Historial`,historyBack:`Volver a la importación`,historyDescription:`Importaciones recientes de este objeto.`,historyHint:`Trabajos de importación en segundo plano, los más recientes primero.`,historyRefresh:`Actualizar`,historyLoading:`Cargando…`,historyEmpty:`Todavía no hay importaciones.`,historyUnsupported:`El historial de importaciones no está disponible para esta fuente de datos.`,historyColStatus:`Estado`,historyColRows:`Filas`,historyColResult:`Resultado`,historyColTime:`Cuándo`,errorCount:`{{count}} errores`,errorCount_one:`{{count}} error`,errorCount_many:`{{count}} de errores`,errorCount_other:`{{count}} errores`,undoImport:`Deshacer la importación`,undoing:`Deshaciendo…`,undoConfirm:`¿Deshacer esta importación? Los registros que creó se eliminarán y los que actualizó se restaurarán a sus valores anteriores.`,reverted:`Deshecha`,jobStatus:{pending:`Pendiente`,running:`En ejecución`,succeeded:`Correcta`,failed:`Fallida`,cancelled:`Cancelada`},legacyReferenceBlocked:`Importación bloqueada: {{fields}} son campos de relación que necesitan la ruta de importación del servidor para convertir nombres en identificadores de registro, y esta conexión no la admite. Importarlos como texto plano dañaría los datos. Actualice el backend/cliente, o desasigne estas columnas e impórtelas por separado.`,missingRequiredHint:`No se puede continuar: campos obligatorios sin asignar: {{fields}}. Añada una columna correspondiente a su archivo, o vuelva atrás y suba uno que la incluya.`,legacyFallbackNotice:`Importado mediante un modo de compatibilidad: esta conexión no admite la ruta de importación del servidor, por lo que los valores se guardaron como texto sin conversión de tipos en el servidor. Actualice el backend/cliente para disponer de la importación completa (conversión de tipos y búsqueda de relaciones).`,title:`Importar {{object}}`,notAllowed:`Este objeto no está habilitado para la importación.`,stepUpload:`Cargar`,stepMapping:`Asignación`,stepPreview:`Vista previa`,uploadDescription:`Cargue un archivo CSV o Excel, o pegue desde una hoja de cálculo para comenzar.`,mappingDescription:`Asigne columnas a los campos del objeto.`,previewDescription:`Revise los datos antes de importar.`,dragDrop:`Arrastre y suelte un archivo CSV o Excel aquí, o haga clic para buscar`,browseFiles:`Buscar archivos`,parsing:`Analizando…`,pasteHint:`o pegue (Ctrl/⌘+V) filas copiadas desde Excel o Google Sheets`,legacyXls:`Los archivos .xls antiguos no son compatibles: vuelva a guardarlos como .xlsx.`,unsupportedFile:`Tipo de archivo no compatible. Use CSV, TSV o Excel (.xlsx).`,parseFailed:`No se pudo leer este archivo. Verifique el formato e inténtelo de nuevo.`,fileNeedsHeader:`El archivo debe tener una fila de encabezado y al menos una fila de datos.`,mappingTemplate:`Plantilla de asignación:`,chooseTemplate:`Elegir plantilla…`,noSavedTemplates:`Sin plantillas guardadas`,noneOption:`— Ninguno —`,saveCurrent:`Guardar actual`,templateName:`Nombre de la plantilla`,save:`Guardar`,deleteTemplate:`Eliminar plantilla`,savedMapping:`Asignación guardada:`,chooseSavedMapping:`Elegir una asignación guardada…`,manualMapping:`— Asignar columnas manualmente —`,transform:`Transformación`,savedMappingHint:`La asignación "{{name}}" aplica el cambio de nombre + las transformaciones + la conversión de tipos en el servidor. La asignación de columnas es de solo lectura.`,savedMappingPreviewNote:`La vista previa muestra sus columnas de origen; al importar, la asignación "{{name}}" aplica el cambio de nombre, las transformaciones y la conversión de tipos en el servidor.`,csvColumn:`Columna`,mapsTo:`Se asigna a`,typeMismatch:`Parece {{type}}`,type:{number:`Número`,boolean:`Booleano`,date:`Fecha`,datetime:`Fecha y hora`,text:`Texto`},status:`Estado`,skipColumn:`Omitir columna`,skip:`— Omitir —`,mapped:`Asignado`,skipped:`Omitido`,rowsWithErrors:`{{count}} fila(s) con errores`,rowsWithErrors_one:`{{count}} fila con errores`,rowsWithErrors_many:`{{count}} de filas con errores`,rowsWithErrors_other:`{{count}} filas con errores`,rowsCorrected:`{{count}} fila(s) corregida(s)`,rowsCorrected_one:`{{count}} fila corregida`,rowsCorrected_many:`{{count}} de filas corregidas`,rowsCorrected_other:`{{count}} filas corregidas`,clickToFix:`— haga clic en una celda resaltada para editar en línea.`,showingRows:`Mostrando {{shown}} de {{total}} filas`,importing:`Importando… {{progress}}%`,importComplete:`Importación completada`,imported:`{{count}} importado(s)`,skippedCount:`{{count}} omitido(s)`,moreErrors:`…y {{count}} error(es) más`,moreErrors_one:`…y {{count}} error más`,moreErrors_many:`…y {{count}} de errores más`,moreErrors_other:`…y {{count}} errores más`,cancel:`Cancelar`,back:`Atrás`,next:`Siguiente`,close:`Cerrar`,importNRows:`Importar {{count}} filas`,importNRows_one:`Importar {{count}} fila`,importNRows_many:`Importar {{count}} de filas`,importNRows_other:`Importar {{count}} filas`,importingProgress:`Importando…`,requiredMark:`*`,required:`Obligatorio`,invalidType:`{{type}} inválido`}},calendar:{today:`Hoy`,month:`Mes`,week:`Semana`,day:`Día`,allDay:`Todo el día`,newEvent:`Nuevo evento`,moreEvents:`+{{count}} más`,unscheduled:`Sin programar ({{count}})`,loading:`Cargando calendario…`,loadError:`Error: {{message}}`,configRequired:`Se requiere la configuración del calendario. Indica startDateField, la única clave obligatoria del calendario; el título del evento se resuelve sin titleField.`,configRequiredHint:`Pertenece al bloque calendar de la vista. Una página de interfaz no tiene su propio espacio de calendario: apunta su sourceView a una vista que declare uno.`,eventDetails:`Detalles del evento`,pullToRefresh:`Desliza para actualizar`,refreshing:`Actualizando…`,onDate:`El {{date}}`,eventTitle:`Título`,eventTitlePlaceholder:`¿De qué trata este evento?`,creating:`Creando…`,titleRequired:`El título es obligatorio`,a11y:{region:`Calendario`,grid:`Cuadrícula del calendario`,goToToday:`Ir a hoy`,previousPeriod:`Período anterior`,nextPeriod:`Período siguiente`,currentDate:`Fecha actual: {{date}}`,dayCell:`{{date}}, {{count}} eventos`,dayCell_one:`{{date}}, {{count}} evento`,dayCell_many:`{{date}}, {{count}} de eventos`,dayCell_other:`{{date}}, {{count}} eventos`,resizeEventEnd:`Cambiar el fin del evento`,resizeEventEndHint:`Arrastra para cambiar la fecha de fin`,resizeStart:`Cambiar el inicio`,resizeEnd:`Cambiar el fin`}},list:{firstRunTitle:`Aquí todavía no hay nada`,firstRunMessage:`Cree su primer registro para empezar.`,noMatches:`No hay registros coincidentes`,noMatchesMessage:`Ningún registro coincide con sus filtros o su búsqueda actuales. Pruebe a ajustarlos o borrarlos.`,loadErrorTitle:`No se pudieron cargar los registros`,loadErrorMessage:`Algo salió mal al cargar estos datos. Compruebe su conexión y vuelva a intentarlo.`,loadErrorForbiddenTitle:`No tiene acceso`,loadErrorForbiddenMessage:`No tiene permiso para ver estos registros. Contacte a su administrador si cree que debería tener acceso.`,loadErrorUnauthorizedTitle:`Se requiere iniciar sesión`,loadErrorUnauthorizedMessage:`Su sesión ha expirado o ha cerrado sesión. Inicie sesión de nuevo para ver estos registros.`,loadErrorRejectedTitle:`La consulta de esta vista fue rechazada`,loadErrorRejectedMessage:`El servidor no pudo procesar el filtro ni las opciones de consulta de esta vista. Borrar los filtros suele resolverlo; si la vista está guardada así, un administrador debe corregirla.`,loadErrorApiDisabledTitle:`Este objeto no está disponible a través de la API`,loadErrorApiDisabledMessage:`Esta página no puede cargar sus registros porque el objeto no está expuesto a través de la API. Es un ajuste del propio objeto, no un permiso: un administrador debe habilitar el acceso por API para que esta página funcione.`,retry:`Reintentar`,managedBy:{system:{title:`Aquí todavía no hay nada`,message:`Las entradas aparecen automáticamente cuando se ejecuta su acción de origen (por ejemplo, Enviar para aprobación, Compartir, Invitar). Ejecute una de ellas en un registro de origen para crear una fila.`},appendOnly:{title:`No se han registrado eventos`,message:`Este es un registro de auditoría inmutable. Las filas las escribe la plataforma cuando ocurren eventos: puede exportar el historial, pero no crear entradas desde aquí.`},betterAuth:{title:`No hay registros de identidad`,message:`Estos registros los crea el proveedor de autenticación —mediante el inicio de sesión, el aprovisionamiento y los flujos de seguridad— y no se añaden a mano aquí.`},betterAuthUser:{title:`Todavía no hay usuarios`,message:`Las cuentas de usuario las aprovisiona el proveedor de autenticación; no se crean aquí. Invite a sus compañeros a la organización y aparecerán automáticamente en su primer inicio de sesión (aprovisionamiento SSO en el momento). Los usuarios finales de la aplicación llegan cuando se registran a través de ella.`},betterAuthTeam:{title:`Todavía no hay equipos`,message:`Los equipos agrupan a los miembros dentro de una organización. Cree uno con «Crear equipo», o llegarán a través de los flujos de aprovisionamiento de organización y SSO de su proveedor de autenticación.`}},refresh:`Actualizar`,loading:`Cargando registros…`,recordCount:`{{count}} registros`,recordCount_one:`{{count}} registro`,recordCount_many:`{{count}} de registros`,recordCount_other:`{{count}} registros`,addRecord:`Agregar registro`,tabs:`Pestañas`,allRecords:`Todos los registros`,search:`Buscar`,filter:`Filtrar`,filterRecords:`Filtrar registros`,sort:`Ordenar`,sortRecords:`Ordenar registros`,sortByIdSuffix:`(por ID)`,sortRelationalHint:`Las columnas que apuntan a otro registro no aparecen aquí: solo pueden ordenarse por el ID almacenado, no por el nombre que se muestra en la celda. Para ordenar por ese nombre, desnormalícelo en este objeto como un campo almacenado, que se escribe cuando cambia el origen, y ordene por él. No un campo de fórmula: es virtual, no se almacena ninguna columna para él y el servidor rechaza ordenar por él.`,resetSortToDefault:`Restablecer al valor predeterminado de la vista`,group:`Agrupar`,groupBy:`Agrupar por`,export:`Exportar`,exportAs:`Exportar como {{format}}`,color:`Color`,rowColor:`Color de fila`,colorByField:`Colorear por campo`,clear:`Borrar`,none:`Ninguno`,hideFields:`Ocultar campos`,noItems:`No se encontraron elementos`,noItemsMessage:`No hay registros para mostrar. Intente ajustar los filtros o agregar nuevos datos.`,showAll:`Mostrar todo`,pullToRefresh:`Tirar para actualizar`,refreshing:`Actualizando…`,share:`Compartir`,print:`Imprimir`,hideFieldsTitle:`Ocultar campos`,dataLimitReached:`Se muestran los primeros {{limit}} registros. Puede haber más datos disponibles.`,viewSettings:`Configuración de vista`,viewSettingsHint:`Agrupación, color, densidad y campos visibles. Se aplica a todos los usuarios de esta vista.`,addGroup:`Agregar campo de grupo`,collapsedByDefault:`Contraído por defecto`,removeGroup:`Eliminar`,inlineEditShort:`Edición en línea`,inlineEditLabel:`Editar registros en línea (haga clic en una celda para editar)`,recordEditingTitle:`Edición de registros`},managedByBadge:{systemWritable:{short:`Esquema de la plataforma`,title:`Definido por la plataforma, editable por el administrador`,body:`El esquema de este objeto lo define la plataforma, pero sus filas son suyas: puede crearlas y editarlas aquí. Quién puede escribir lo determinan la administración delegada y la seguridad a nivel de registro, no esta insignia.`},config:{short:`Configuración`,title:`Configuración del administrador`,body:`Estas filas definen el comportamiento de la plataforma en tiempo de ejecución. Créelas aquí; los datos de tiempo de ejecución que producen viven en una tabla separada.`},system:{short:`Gestionado por el sistema`,title:`Gestionado por la plataforma`,body:`Las filas se crean automáticamente cuando se ejecutan acciones en el registro de origen. La lista es una superficie de supervisión de solo lectura; las acciones por fila (Aprobar, Retirar, Reenviar, …) están en cada fila.`},appendOnly:{short:`Solo lectura · Registro de auditoría`,title:`Registro histórico de solo lectura`,body:`Registro de auditoría inmutable. Las filas no se pueden crear, editar ni eliminar desde la interfaz: las escribe la plataforma cuando ocurren eventos. Use Exportar para descargarlas para revisión de cumplimiento.`},betterAuth:{short:`Identidad`,title:`Gestionado por el proveedor de identidad`,body:`El esquema de este objeto es propiedad de {{provider}}. Las ediciones directas omiten el hash de contraseñas, la validación de sesiones, las comprobaciones de dos factores y los hooks de auditoría. Gestione estos registros mediante los flujos de inicio de sesión, invitación y seguridad de su proveedor de autenticación.`}},kanban:{uncategorized:`Sin categoría`,columns:`columnas`,addCard:`Añadir tarjeta`,addColumn:`Añadir columna`,moveCard:`Mover tarjeta`,deleteCard:`Eliminar tarjeta`,deleteColumn:`Eliminar columna`,noCards:`Sin tarjetas`,cardTitlePlaceholder:`Escriba el título de la tarjeta…`,requiredFieldsTitle:`Complete los campos obligatorios`,requiredFieldsDescription:`Este movimiento hace que los campos siguientes sean obligatorios. Complételos para continuar.`},timeline:{bucket:{overdue:`Atrasado`,today:`Hoy`,tomorrow:`Mañana`,thisWeek:`Esta semana`,nextWeek:`Próxima semana`,later:`Más tarde`,noDate:`Sin fecha`,unassigned:`Sin asignar`},scale:{week:`Semana {{n}}`,quarter:`T{{quarter}} {{year}}`},gantt:{rowLabel:`Elementos`,unusableRange:{malformedDate:`Rango de fechas del gantt inutilizable: {{path}} es {{value}}, que no es una fecha válida. Todas las fechas del gantt deben poder analizarse: startDate y endDate de cada elemento de fila, además de cualquier minDate / maxDate fijado en el esquema.`,malformedRow:`Filas del gantt inutilizables: {{path}} es {{value}}, que no tiene la forma de una fila. Un gantt lee items como una lista de filas, cada fila como un objeto con label y sus propios items, y los items de cada fila como una lista de barras; un null, un número, una cadena o un objeto simple en cualquiera de esas posiciones no se puede dibujar.`,inverted:`Rango de fechas del gantt inutilizable: minDate {{minDate}} es posterior a maxDate {{maxDate}}. Un minDate / maxDate fijado prevalece sobre el rango calculado a partir de las filas, por lo que este eje no tiene columnas y no se puede colocar ninguna barra; intercambie los dos valores.`}},unsupported:{objectBoundGantt:`Variante "gantt" no admitida: una línea de tiempo vinculada a un objeto representa las variantes de feed ({{variants}}). Gantt necesita filas literales, cada una con sus propios items anidados, por lo que el eje gantt (scale) no tiene efecto aquí.`},unconfigured:{noDateAxis:`Se requiere el eje de fechas de la línea de tiempo: esta vista no declara ningún campo de fecha y una línea de tiempo vinculada a un objeto no inventa ninguno. Declare uno de: {{fields}}. El primero es la grafía de la especificación; los demás son alias heredados.`}},gantt:{viewMode:{day:`Día`,week:`Semana`,month:`Mes`,quarter:`Trimestre`,year:`Año`},row:{expand:`Expandir`,collapse:`Contraer`,open:`Abrir los detalles`},aria:{taskList:`Lista de tareas`,refreshing:`Actualizando…`},tooltip:{days:`d`},menu:{view:`Ver los detalles`,edit:`Editar en línea`,delete:`Eliminar`,addPredecessor:`Añadir predecesora…`,addSuccessor:`Añadir sucesora…`,removeDependency:`Quitar la dependencia`,noCandidates:`No hay tareas disponibles`,searchTasks:`Buscar tareas…`},delete:{title:`¿Eliminar esta tarea?`,body:`«{{title}}» se eliminará permanentemente. Esta acción no se puede deshacer.`,cancel:`Cancelar`,confirm:`Eliminar`,deleting:`Eliminando…`},drawer:{fallbackTitle:`Detalles de la tarea`},linkType:{fs:`Fin → Inicio`,ss:`Inicio → Inicio`,ff:`Fin → Fin`,sf:`Inicio → Fin`},linkEnd:{start:`Inicio`,end:`Fin`},link:{rejected:{self:`Una tarea no puede depender de sí misma.`,locked:`Esta fila está bloqueada y no puede recibir una nueva dependencia.`,group:`Una fila de resumen no puede recibir dependencias: vincule una de sus tareas.`,cycle:`Ese vínculo crearía una dependencia circular.`}},conflict:{title:`Conflicto de programación`,body:`Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tarea(s) afectada(s)?`,body_one:`Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tarea afectada?`,body_many:`Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} de tareas afectadas?`,body_other:`Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tareas afectadas?`,confirm:`Reprogramar automáticamente`,cancel:`Dejarlo como está`},autoScheduleDlg:{title:`Programación automática`,body:`¿Retrasar {{count}} tarea(s) para respetar los vínculos de dependencia?`,body_one:`¿Retrasar {{count}} tarea para respetar los vínculos de dependencia?`,body_many:`¿Retrasar {{count}} de tareas para respetar los vínculos de dependencia?`,body_other:`¿Retrasar {{count}} tareas para respetar los vínculos de dependencia?`,skipped:`{{count}} tarea(s) bloqueada(s) también incumplen los vínculos y se han omitido.`,skipped_one:`{{count}} tarea bloqueada también incumple los vínculos y se ha omitido.`,skipped_many:`{{count}} de tareas bloqueadas también incumplen los vínculos y se han omitido.`,skipped_other:`{{count}} tareas bloqueadas también incumplen los vínculos y se han omitido.`,confirm:`Aplicar`,cancel:`Cancelar`,none:`Todas las dependencias se cumplen: no hay nada que reprogramar.`},resource:{header:`Recurso`,peak:`Pico`,over:`sobrecargado`,empty:`No hay tareas que asignar.`},quickFilter:{all:`Todos`,clear:`Borrar filtros`,empty:`Sin opciones`,resultSummary:`Mostrando {shown} / {total} tareas`},readOnly:`Solo lectura`,readOnlyHint:`La edición está deshabilitada en esta vista.`,lockedHint:`Sin permiso de edición`,writeFailed:`Error al guardar: el cambio se ha revertido`,column:{taskName:`Nombre de tarea`,start:`Inicio`,end:`Fin`},toolbar:{thisWeek:`Esta semana`,thisMonth:`Este mes`,viewMode:`Granularidad de la línea de tiempo`,enterFullscreen:`Pantalla completa`,exitFullscreen:`Salir de pantalla completa`,criticalPath:`Resaltar la ruta crítica`,autoSchedule:`Programar automáticamente las dependencias`,exportPng:`Exportar como PNG`,exportPdf:`Exportar PDF`,saveLayout:`Guardar la disposición`,refresh:`Actualizar`,undo:`Deshacer`,redo:`Rehacer`,prevPeriod:`Período anterior`,nextPeriod:`Período siguiente`,zoomIn:`Acercar`,zoomOut:`Alejar`,jumpToToday:`Ir a hoy`,today:`Hoy`,showTaskList:`Mostrar lista de tareas`,hideTaskList:`Ocultar lista de tareas`}},view:{editViewConfig:`Editar configuración de vista`,rename:`Renombrar`,duplicateView:`Duplicar vista`,shareView:`Compartir vista`,setAsDefault:`Establecer como predeterminada`,pinView:`Fijar vista`,unpinView:`Desfijar vista`,changeViewType:`Cambiar tipo de vista`,deleteView:`Eliminar vista`,addView:`Añadir vista`,unsavedChanges:`Cambios sin guardar`,saveAsView:`Guardar como vista`,moreViews:`{{count}} más`,activeFilters:`Filtros activos`,activeSort:`Orden activo`,manageViews:`Administrar vistas`,manageAllViews:`Administrar todas las vistas…`,manageViewsDescription:`Reordenar, renombrar, fijar o eliminar todas las vistas de este objeto.`,searchViews:`Buscar vistas`,addNewView:`Agregar nueva vista`,done:`Listo`,noViewsFound:`Ninguna vista coincide con su búsqueda.`,dragToReorder:`Arrastrar para reordenar`,defaultView:`Vista predeterminada`,defaultBadge:`predeterminada`,tabActionsFor:`Acciones de vista para {{name}}`,readonlyAriaLabel:`Vista de solo lectura`,readonlyTooltip:`Vista del sistema — definida en el código, solo lectura.`,malformedFilter:`El filtro de esta vista no es válido, por lo que no se muestra ningún registro: la condición {{subject}} no se puede aplicar.`,noObject:`No se ha indicado ningún objeto: define {{property}} o dataSource.object.`},designer:{undo:`Deshacer`,redo:`Rehacer`},detail:{editInlineHint:`Haga doble clic para editar`,systemActor:`Sistema`,unknownUser:`Desconocido`,back:`Volver`,edit:`Editar`,editInline:`Editar`,save:`Guardar`,saveChanges:`Guardar cambios`,editFieldsInline:`Editar campos`,share:`Compartir`,duplicate:`Duplicar`,export:`Exportar`,viewHistory:`Ver historial`,delete:`Eliminar`,moreActions:`Más acciones`,addReaction:`Añadir reacción`,pageHeaderActions:`Acciones del encabezado de página`,emojiPicker:`Selector de emojis`,reactionCount:`{{emoji}} {{count}} reacciones`,reactionCount_one:`{{emoji}} {{count}} reacción`,reactionCount_many:`{{emoji}} {{count}} de reacciones`,reactionCount_other:`{{emoji}} {{count}} reacciones`,recordDetail:`Detalle del registro`,recordDetailWithLabel:`Detalle de {{label}}`,openAsFullPage:`Abrir como página completa`,recordDetailOverlay:`Capa de detalle del registro para {{title}}.`,addToFavorites:`Añadir a favoritos`,removeFromFavorites:`Quitar de favoritos`,previousRecord:`Registro anterior`,nextRecord:`Siguiente registro`,recordOf:`{{current}} de {{total}}`,recordNotFound:`Registro no encontrado`,recordNotFoundDescription:`El registro que busca no existe o puede haber sido eliminado.`,goBack:`Volver`,details:`Detalles`,related:`Relacionados`,relatedRecords:`{{count}} registros`,relatedRecordOne:`{{count}} registro`,noRelatedRecords:`No se encontraron registros relacionados`,loading:`Cargando…`,copyToClipboard:`Copiar al portapapeles`,copied:`¡Copiado!`,deleteConfirmation:`¿Está seguro de que desea eliminar este registro?`,deleted:`Registro eliminado`,editRecord:`Editar registro`,viewAll:`Ver todo`,new:`Nuevo`,add:`Agregar`,comments:`Comentarios`,searchComments:`Buscar comentarios…`,addCommentPlaceholder:`Añadir comentario… (Ctrl+Enter para enviar)`,noMatchingComments:`No hay comentarios coincidentes`,noCommentsYet:`Aún no hay comentarios`,pinned:`Fijado`,pin:`Fijar`,unpin:`Desfijar`,justNow:`justo ahora`,minutesAgo:`hace {{count}} min`,minutesAgo_one:`hace {{count}} min`,minutesAgo_many:`hace {{count}} min`,minutesAgo_other:`hace {{count}} min`,hoursAgo:`hace {{count}} h`,hoursAgo_one:`hace {{count}} h`,hoursAgo_many:`hace {{count}} h`,hoursAgo_other:`hace {{count}} h`,daysAgo:`hace {{count}} d`,daysAgo_one:`hace {{count}} d`,daysAgo_many:`hace {{count}} d`,daysAgo_other:`hace {{count}} d`,dropFilesToUpload:`Arrastra archivos aquí o haz clic para subir`,attachmentCount:`{{count}} archivo adjunto`,attachmentCount_one:`{{count}} archivo adjunto`,attachmentCount_many:`{{count}} de archivos adjuntos`,attachmentCount_other:`{{count}} archivos adjuntos`,removeAttachment:`Eliminar adjunto`,attachments:`Adjuntos`,uploadAttachment:`Subir`,loadingAttachments:`Cargando adjuntos…`,noAttachments:`Aún no hay adjuntos. Suba un archivo para empezar.`,downloadAttachment:`Descargar`,deleteAttachment:`Eliminar adjunto`,attachmentDeleteDenied:`Solo quien lo subió o alguien que pueda editar este registro puede eliminar este adjunto.`,attachmentParentAccessDenied:`No tiene acceso para adjuntar archivos a este registro.`,attachmentDownloadDenied:`No tiene acceso para descargar este adjunto.`,attachmentAuthRequired:`Inicie sesión para descargar este adjunto.`,attachmentPermissionDenied:`No tiene permiso para hacer eso.`,attachmentsAccessDenied:`No tiene acceso a estos adjuntos.`,attachmentsLoadFailed:`No se pudieron cargar los adjuntos de este registro.`,attachmentsApiUnavailable:`La lista de adjuntos no está disponible en este objeto.`,retryLoadAttachments:`Reintentar`,discussion:`Discusión`,showDiscussion:`Mostrar discusión ({{count}})`,hideDiscussion:`Ocultar discusión`,bold:`Negrita (Ctrl+B)`,italic:`Cursiva (Ctrl+I)`,listFormat:`Lista`,inlineCode:`Código en línea`,mentionSomeone:`Mencionar a alguien`,preview:`Vista previa`,submitComment:`Enviar (Ctrl+Enter)`,sendComment:`Enviar`,writeComment:`Escribe un comentario…`,subscribedTooltip:`Suscrito — clic para cancelar suscripción`,unsubscribedTooltip:`Suscribirse a notificaciones`,noRecords:`Sin registros`,allActivity:`Toda la actividad`,commentsOnly:`Solo comentarios`,fieldChangesFilter:`Cambios de campo`,tasksOnly:`Solo tareas`,leaveCommentPlaceholder:`Deja un comentario… (Ctrl+Enter para enviar)`,noActivity:`Sin actividad registrada`,activityAccessDenied:`No tiene permiso para ver la actividad de este registro.`,commentsAccessDenied:`No tiene permiso para ver los comentarios de este registro.`,allFilter:`Todo`,createsFilter:`Creaciones`,deletesFilter:`Eliminaciones`,statusChangesFilter:`Cambios de estado`,activityEmptyValue:`(vacío)`,activityFieldChanged:`Cambió {{field}} de "{{old}}" a "{{new}}"`,activityCreated:`Creó este registro`,activityDeleted:`Eliminó este registro`,activityStatusChanged:`Cambió el estado a "{{value}}"`,activityUpdated:`Actualizó el registro`,loadMore:`Cargar más`,edited:`(editado)`,via:`vía {{source}}`,viewSource:`Ver origen`,replyCount:`{{count}} respuesta`,replyCount_one:`{{count}} respuesta`,replyCount_many:`{{count}} de respuestas`,replyCount_other:`{{count}} respuestas`,replyPlaceholder:`Responder…`,filterActivity:`Filtrar actividad`,openDiscussion:`Abrir panel de discusión`,closeDiscussion:`Cerrar panel de discusión`,subscribeAriaLabel:`Suscribirse a notificaciones`,unsubscribeAriaLabel:`Cancelar suscripción a notificaciones`,clearSearch:`Borrar búsqueda`,saving:`Guardando…`,lockedByApproval:`Bloqueado para aprobación`,lockedTooltip:`Este registro tiene una solicitud de aprobación pendiente; la edición está bloqueada`,writeStrippedTitle:`Guardado, pero algunos campos no se aplicaron`,writeStrippedReadonly:`De solo lectura, por lo que no se aplicó: {{fields}}`,writeStrippedByState:`No editable en el estado actual de este registro, por lo que no se aplicó: {{fields}}`,writeStrippedPrimaryKey:`El identificador del registro no se puede cambiar al guardar, por lo que no se aplicó: {{fields}}`,writeStrippedComputed:`Lo calcula el servidor mediante una fórmula, por lo que el valor enviado no se aplicó: {{fields}}`,writeStrippedUnknownReason:`No aplicado por el servidor: {{fields}}`,approvalPendingEditable:`En aprobación · editable`,approvalPendingTooltip:`Este registro tiene una solicitud de aprobación pendiente; este paso todavía permite la edición`,approvalProgress:`Aprobaciones — {{got}} de {{need}}`,approvalProgressGroups:`Firmas — {{got}} de {{need}} grupos`,approvalProgressLabel:`Progreso de la aprobación`,approvalsPanelTitle:`Aprobaciones`,cancelApproval:`Cancelar aprobación`,cancelApprovalInFlight:`Cancelando…`,cancelApprovalTooltip:`Cancelar la solicitud de aprobación pendiente para desbloquear el registro`,cancelApprovalTooltipUnlocked:`Cancelar la solicitud de aprobación pendiente`,cancelApprovalFailed:`No se pudo cancelar la aprobación`,cancelApprovalUnavailable:`La cancelación de aprobaciones no es compatible con esta fuente de datos`,pathLabel:`Ruta del registro`,pathStageCompleted:`{{stage}}, completada`,pathStageCurrent:`{{stage}}, etapa actual`,pathStageUpcoming:`{{stage}}, pendiente`,pathStageLostCurrent:`{{stage}}, perdida, etapa actual`,pathStageLostUpcoming:`{{stage}}, perdida, no alcanzada`,pathStageWonUpcoming:`{{stage}}, etapa objetivo, no alcanzada`,linkCopied:`Enlace copiado al portapapeles`,commentFailed:`Tu comentario no se ha publicado. No se ha guardado nada; inténtalo de nuevo.`,reactionFailed:`Tu reacción no se ha guardado. Inténtalo de nuevo.`,linkCopyFailed:`No se pudo copiar el enlace`,cancel:`Cancelar`,cancelEdit:`Descartar cambios`,sectionMoreDetails:`Más detalles`,concurrentUpdateTitle:`Este registro fue modificado por otra persona`,concurrentUpdateDescription:`Otro usuario guardó una versión más reciente de {{field}} mientras editaba. Elija cómo resolver el conflicto.`,concurrentUpdateYourEdit:`Su edición`,concurrentUpdateCurrentValue:`Valor actual`,concurrentUpdateUpdatedBy:`Actualizado por {{name}}`,concurrentUpdateUpdatedAt:`Actualizado el {{when}}`,concurrentUpdateReload:`Cargar versión actual`,concurrentUpdateOverwrite:`Sobrescribir de todos modos`,concurrentUpdateCancel:`Cancelar`,concurrentUpdateRecordLabel:`este registro`,openInNewTab:`Abrir en nueva pestaña`,activity:`Actividad`,history:`Historial`,historyEmpty:`Aún no hay historial`,editRow:`Editar`,deleteRow:`Eliminar`,deleteRowConfirmation:`¿Eliminar este registro?`,deleteRowTitle:`Eliminar registro`,actions:`Acciones`,previousPage:`Anterior`,nextPage:`Siguiente`,pageOf:`Página {{current}} de {{total}}`,sortBy:`Ordenar por`,filterPlaceholder:`Filtrar…`,highlightFields:`Campos clave`,highlightsLabel:`Campos clave del registro`,createdBy:`Creado por`,updatedBy:`Actualizado por`,created:`Creado`,updated:`Actualizado`,showEmptyRelated:`+ {{count}} vacíos`,showEmptyRelated_one:`+ {{count}} vacío`,showEmptyRelated_many:`+ {{count}} vacíos`,showEmptyRelated_other:`+ {{count}} vacíos`,copyEmail:`Copiar correo`,copyPhone:`Copiar teléfono`,copyRecordId:`Copiar ID de registro`,showEmptyFields:`Mostrar {{count}} campos vacíos`,showEmptyFields_one:`Mostrar {{count}} campo vacío`,showEmptyFields_many:`Mostrar {{count}} de campos vacíos`,showEmptyFields_other:`Mostrar {{count}} campos vacíos`,hideEmptyFields:`Ocultar campos vacíos`,noValue:`Sin valor`,unresolvedReference:`Referencia sin resolver: {{value}} no se resolvió como un usuario`,unresolvedLookupReference:`Referencia sin resolver: {{value}} no se resolvió como un registro en esta pantalla`,repeaterItemCount:`{{count}} elementos`,repeaterItemCount_one:`{{count}} elemento`,repeaterItemCount_many:`{{count}} de elementos`,repeaterItemCount_other:`{{count}} elementos`,fileCount:`{{count}} archivos`,fileCount_one:`{{count}} archivo`,fileCount_many:`{{count}} de archivos`,fileCount_other:`{{count}} archivos`},chart:{loading:`Cargando gráfico…`,refreshing:`Actualizando…`,nullCategory:`(Sin especificar)`,scatterOneMeasure:`Un gráfico de dispersión traza una sola medida. Conserve una sola serie:`,unconfigured:{noCategoryAxis:`Se requiere el eje de categorías del gráfico — un gráfico vinculado a un objeto no lo inventa. Declare uno de:`}},dashboard:{empty:{title:`Aún no hay datos`,message:`Este widget se cargó correctamente, pero la consulta todavía no ha devuelto ningún registro.`,sourceLabel:`Origen de datos:`},loading:`Cargando…`,refreshing:`Actualizando…`,refreshAll:`Actualizar todo`,refreshDashboard:`Actualizar panel de control`,pickMeasures:`Elija medidas (valores) para este widget de dataset.`,datasetUnsupported:`Esta fuente de datos no admite consultas de dataset.`,widgetForbiddenTitle:`Sin acceso`,widgetForbiddenMessage:`No tienes permiso para ver los datos de este widget.`,details:`Detalles`,exportCsv:`Exportar CSV`,openInList:`Abrir en la lista`,filters:{label:`Filtros del panel`,dateRange:`Intervalo de fechas`,allTime:`Todo el periodo`,custom:`Personalizado…`,all:`Todo`,reset:`Restablecer`,range:{today:`Hoy`,yesterday:`Ayer`,this_week:`Esta semana`,last_week:`La semana pasada`,this_month:`Este mes`,last_month:`El mes pasado`,this_quarter:`Este trimestre`,last_quarter:`El trimestre pasado`,this_year:`Este año`,last_year:`El año pasado`,last_7_days:`Últimos 7 días`,last_30_days:`Últimos 30 días`,last_90_days:`Últimos 90 días`}},addWidget:`Añadir widget`,editLayout:`Editar diseño`,saveLayout:`Guardar diseño`,resetLayout:`Restablecer diseño`,total:`Total`,noDataSourceFor:`Sin fuente de datos para`,config:{breadcrumb:{dashboard:`Panel de control`,configuration:`Configuración`,widget:`Widget`,chart:`Gráfico`,table:`Tabla`,pivotTable:`Tabla dinámica`},section:{general:`General`,layout:`Diseño`,data:`Datos`,dataBinding:`Vinculación de datos`,appearance:`Apariencia`},field:{title:`Título`,description:`Descripción`,columns:`Columnas`,gap:`Espaciado`,rowHeight:`Altura de fila (px)`,autoRefresh:`Actualización automática`,showDescription:`Mostrar descripción`,theme:`Tema`,widgetType:`Tipo de widget`,colorVariant:`Variante de color`,dataset:`Conjunto de datos`,dimensions:`Dimensiones`,values:`Valores`,width:`Ancho (columnas)`,height:`Alto (filas)`},placeholder:{dashboardTitle:`Título del panel`,dashboardDescription:`Resumen breve mostrado bajo el título`,widgetTitle:`Título del widget`,widgetDescription:`Descripción del widget`,datasetName:`Nombre del conjunto de datos`,selectDataset:`Seleccionar conjunto de datos…`,searchDatasets:`Buscar conjuntos de datos…`,addDimension:`Añadir dimensión…`,addMeasure:`Añadir medida…`,searchMembers:`Buscar…`},empty:{datasets:`No se encontraron conjuntos de datos.`,dimensions:`No hay dimensiones seleccionadas.`,measures:`No hay medidas seleccionadas.`,nothingToAdd:`No queda nada por añadir.`},help:{dataset:`El conjunto de datos de la capa semántica al que se vincula este widget (ADR-0021).`,dimensions:`Agrupar/dividir los valores por estas dimensiones del conjunto de datos.`,dimensionsPivot:`Campos de agrupación/división. La última dimensión se despliega como columnas.`,values:`Medidas del conjunto de datos que se mostrarán (al menos una).`},action:{add:`Añadir`,remove:`Eliminar {{name}}`},refresh:{off:`Desactivado`,every30s:`Cada 30 s`,every1m:`Cada 1 min`,every5m:`Cada 5 min`,every15m:`Cada 15 min`,every30m:`Cada 30 min`,every1h:`Cada 1 hora`},themeOption:{light:`Claro`,dark:`Oscuro`,auto:`Automático`},widgetType:{metric:`Métrica`,bar:`Gráfico de barras`,horizontalBar:`Barras horizontales`,line:`Gráfico de líneas`,pie:`Gráfico circular`,donut:`Gráfico de anillo`,area:`Gráfico de área`,scatter:`Gráfico de dispersión`,funnel:`Embudo`,table:`Tabla`,pivot:`Tabla dinámica`},color:{default:`Predeterminado`,blue:`Azul`,teal:`Verde azulado`,orange:`Naranja`,purple:`Morado`,success:`Éxito`,warning:`Advertencia`,danger:`Peligro`}},trend:{vsLastQuarter:`vs. trimestre anterior`,vsLastMonth:`vs. mes anterior`,vsLastWeek:`vs. semana anterior`,vsLastYear:`vs. año anterior`,vsYesterday:`vs. ayer`,vsPreviousPeriod:`vs. período anterior`}},appDesigner:{createApp:`Crear aplicación`,editApp:`Editar aplicación`,basicInfo:`Información básica`,objects:`Objetos`,navigation:`Navegación`,branding:`Marca`,appName:`Nombre de la app`,appTitle:`Título`,appDescription:`Descripción`,appIcon:`Icono`,template:`Plantilla`,selectObjects:`Seleccionar objetos`,searchObjects:`Buscar objetos…`,selectAll:`Seleccionar todo`,deselectAll:`Deseleccionar todo`,navBuilder:`Constructor de navegación`,addGroup:`Agregar grupo`,addUrl:`Agregar URL`,addSeparator:`Agregar separador`,logoUrl:`URL del logo`,primaryColor:`Color primario`,faviconUrl:`URL del favicon`,preview:`Vista previa`,complete:`Completar`,snakeCaseHint:`Debe ser snake_case (ej. my_app)`,modeEdit:`Editar`,modePreview:`Vista previa`,modeCode:`Código`,addWidget:`Agregar widget`,widgetProperties:`Propiedades del widget`,dataSource:`Fuente de datos`,valueField:`Campo de valor`,aggregate:`Agregar`,colorVariant:`Variante de color`,addComponent:`Agregar componente`,componentProperties:`Propiedades del componente`,viewType:`Tipo de vista`,fields:`Campos`,toolbar:`Barra de herramientas`,showSearch:`Mostrar búsqueda`,showFilters:`Mostrar filtros`,showSort:`Mostrar orden`,appearance:`Apariencia`,rowHeight:`Altura de fila`,livePreview:`Vista previa en vivo`,stepBasicDesc:`Nombre, título e icono`,stepObjectsDesc:`Seleccionar objetos de negocio`,stepNavigationDesc:`Construir árbol de navegación`,stepBrandingDesc:`Logo, colores y favicon`,noObjectsFound:`No se encontraron objetos.`,noNavItemsHint:`Aún no hay elementos de navegación. Seleccione objetos en el paso anterior o agregue elementos manualmente.`,separatorLabel:`— Separador —`,newGroup:`Nuevo grupo`,newLink:`Nuevo enlace`,saveDraft:`Guardar borrador`,cancelConfirmTitle:`¿Descartar cambios?`,cancelConfirmMessage:`Tiene cambios sin guardar. ¿Está seguro de que desea cancelar?`,confirmDiscard:`Descartar`,keepEditing:`Seguir editando`,navNoItems:`Sin elementos de navegación. Haga clic en los botones de arriba para agregar elementos.`,navNoPreviewItems:`Sin elementos`,navLivePreview:`Vista previa en vivo`,navCollapseGroup:`Contraer grupo`,navExpandGroup:`Expandir grupo`,navAddChild:`Agregar hijo`,navMoveUp:`Mover arriba`,navMoveDown:`Mover abajo`,navRemove:`Eliminar`,navObjectPage:`Página de objeto`,navDashboard:`Panel de control`,navPage:`Página`,navReport:`Informe`,navGroup:`Grupo`,navUrl:`URL`,navSeparator:`Separador`,navTypeObject:`Objeto`,navTypeDashboard:`Panel`,navTypePage:`Página`,navTypeReport:`Informe`,navTypeUrl:`URL`,navTypeGroup:`Grupo`,navTypeSeparator:`Separador`,navTypeAction:`Acción`,navTypeComponent:`Componente`,navTypeDoc:`Documento`,navEditIcon:`Editar icono`,navToggleVisible:`Alternar visibilidad`,navHidden:`Oculto`,navExportSchema:`Exportar JSON`,navImportSchema:`Importar JSON`,navExportSuccess:`Esquema de navegación exportado`,navImportSuccess:`Esquema de navegación importado`,navImportError:`JSON de navegación inválido`,navIconPlaceholder:`Nombre del icono (ej. Users)`,dashboardEditor:`Editor de panel`,noWidgets:`Sin widgets. Haga clic en un botón arriba para agregar uno.`,widgetLayoutSize:`Tamaño de diseño`,widgetWidth:`Ancho`,widgetHeight:`Alto`,dashboardPreview:`Vista previa del panel`,noWidgetsPreview:`Sin widgets para previsualizar`,pageCanvasEditor:`Editor de lienzo de página`,emptyPage:`Página vacía. Haga clic en un botón arriba para agregar un componente.`,pagePreview:`Vista previa de página`,noComponentsPreview:`Sin componentes para previsualizar`,modePage:`Página`,modeDashboard:`Panel`,undo:`Deshacer`,redo:`Rehacer`,brandingEditor:`Editor de marca`,brandingExport:`Exportar JSON`,brandingImport:`Importar JSON`,brandingPreview:`Vista previa`,brandingSampleButton:`Botón de muestra`,brandingSampleText:`Así lucirá su tema de marca.`,colorPalette:`Paleta de colores`,fontFamily:`Familia tipográfica`,fontDefault:`Predeterminada (sistema)`,modeLight:`Claro`,modeDark:`Oscuro`,mobilePreview:`Vista previa móvil`,objectManager:{title:`Administrador de objetos`,addObject:`Nuevo objeto`,searchPlaceholder:`Buscar objetos…`,noObjects:`No se encontraron objetos.`,objectName:`Nombre API`,objectLabel:`Etiqueta`,pluralLabel:`Etiqueta plural`,icon:`Icono`,selectIcon:`Seleccionar icono…`,group:`Grupo`,noGroup:`Sin grupo`,sortOrder:`Orden de clasificación`,enabled:`Habilitado`,relationships:`Relaciones`,systemBadge:`Sistema`,fieldCount:`{{count}} campos`,ungrouped:`Sin grupo`,deleteConfirmTitle:`¿Eliminar objeto?`,deleteConfirmMessage:`Esto eliminará permanentemente el objeto y todos sus campos. Esta acción no se puede deshacer.`},fieldDesigner:{title:`Diseñador de campos`,addField:`Nuevo campo`,searchPlaceholder:`Buscar campos…`,allTypes:`Todos los tipos`,noFields:`No se encontraron campos.`,fieldName:`Nombre API`,fieldLabel:`Etiqueta`,fieldType:`Tipo`,fieldGroup:`Grupo`,description:`Descripción`,required:`Obligatorio`,unique:`Único`,readOnly:`Solo lectura`,hidden:`Oculto`,externalId:`ID externo`,trackHistory:`Rastrear historial`,defaultValue:`Valor predeterminado`,placeholder:`Marcador de posición`,referenceTo:`Referencia a`,options:`Opciones`,addOption:`Agregar opción`,systemBadge:`Sistema`,ungrouped:`General`,deleteConfirmTitle:`¿Eliminar campo?`,deleteConfirmMessage:`Esto eliminará permanentemente el campo. Los datos existentes en este campo se perderán.`,basicSection:`Básico`,typeSpecificSection:`Configuración de tipo`,advancedSection:`Avanzado`,typeCategory:{text:`Texto`,number:`Número`,date:`Fecha y hora`,choice:`Elección`,relation:`Relación`,advanced:`Avanzado`}}},console:{studio:{backToHome:`Volver al inicio`},saveAdvisoryTitle:`Guardado: la comprobación de creación generó {{count}} recomendación(es)`,saveAdvisoryTitle_one:`Guardado: la comprobación de creación generó {{count}} recomendación`,saveAdvisoryTitle_many:`Guardado: la comprobación de creación generó {{count}} de recomendaciones`,saveAdvisoryTitle_other:`Guardado: la comprobación de creación generó {{count}} recomendaciones`,publishAdvisoryTitle:`Publicado: la comprobación de creación generó {{count}} recomendación(es)`,publishAdvisoryTitle_one:`Publicado: la comprobación de creación generó {{count}} recomendación`,publishAdvisoryTitle_many:`Publicado: la comprobación de creación generó {{count}} de recomendaciones`,publishAdvisoryTitle_other:`Publicado: la comprobación de creación generó {{count}} recomendaciones`,importMappingsUnavailable:`No se pudieron cargar las asignaciones de importación guardadas de {{object}}`,importMappingsRefused:`El servidor rechazó esta solicitud, por lo que la lista está vacía porque no se pudo leer, no porque no haya nada registrado. Vuelve a iniciar sesión o pide acceso a un administrador.`,importMappingsUnreadable:`Esta lista está vacía porque no se pudo leer, no porque no haya nada registrado. Inténtalo de nuevo e informa del problema si continúa.`,savedViewsUnavailable:`No se pudieron cargar las vistas guardadas de {{object}}`,savedViewsRefused:`El servidor rechazó esta solicitud, por lo que la lista está vacía porque no se pudo leer, no porque este objeto no tenga vistas guardadas. Vuelve a iniciar sesión o pide acceso a un administrador.`,savedViewsUnreadable:`Esta lista está vacía porque no se pudo leer, no porque este objeto no tenga vistas guardadas. Inténtalo de nuevo e informa del problema si continúa.`,settingsHub:{title:`Configuración`,subtitle:`Configure su espacio de trabajo, las integraciones y los indicadores de funciones.`,loadError:`No se pudo cargar la configuración`,empty:`No hay configuraciones registradas. Los plugins pueden registrar manifiestos de configuración mediante el SettingsService.`,settingsCount:`{{n}} configuraciones`,beta:`Beta`,categories:{Workspace:`Espacio de trabajo`,Communication:`Comunicación`,Security:`Seguridad`,Infrastructure:`Infraestructura`,Beta:`Beta`,Other:`Otros`}},objectData:{badge:`Datos`,description:`Segmento de datos definido por la URL — no vinculado a ninguna vista guardada.`,filteredBy:`Filtrado por`,removeFilter:`Quitar el filtro {{field}}`,saveAsView:`Guardar como vista`,noAccessTitle:`Acceso denegado`,noAccess:`No tiene permiso para ver estos datos.`},identityImport:{policyTitle:`Configuración de inicio de sesión para los usuarios importados`,policy:{auto:`Automático (recomendado)`,invite:`Enviar invitaciones`,temporary:`Contraseñas temporales`,none:`Sin contraseña (solo identidad)`},policyHint:{auto:`Los usuarios localizables reciben una invitación (correo o SMS); quienes no sean localizables reciben una contraseña de un solo uso, mostrada UNA SOLA VEZ en la pantalla de resultados. Funciona con o sin servicio de correo/SMS.`,invite:`Cada usuario creado recibe un correo para establecer su contraseña (o un SMS de invitación en las filas que solo tienen teléfono). Requiere un servicio de correo/SMS configurado — las filas no localizables fallan.`,temporary:`Para despliegues sin correo/SMS: cada usuario creado recibe una contraseña de un solo uso, mostrada UNA SOLA VEZ en la pantalla de resultados. El primer inicio de sesión obliga a cambiarla.`,none:`Los usuarios inician sesión primero con un OTP por teléfono, un enlace mágico o un enlace de restablecimiento, y luego establecen su propia contraseña.`},passwordsNote:`Contraseñas temporales — se muestran una sola vez y nunca se almacenan. Guárdelas ahora; cada usuario debe cambiar la suya en el primer inicio de sesión.`,passwordsMore:`Se han omitido más entradas — use la descarga.`,passwordsDownload:`Descargar CSV`},ai:{pendingDrafts:{count:`{{count}} cambio(s) aún no se han publicado — los usuarios no pueden verlos.`,publish:`Publicar`,published:`Todos los cambios pendientes están activos.`,failed:`Error al publicar.`,publishedWithFindings:`Publicado, pero las comprobaciones en tiempo de ejecución detectaron problemas: {{detail}}`},usage:{title:`Uso de IA`,meterBuild:`Crear`,meterAsk:`Preguntar`,statusOk:`Queda bastante`,statusLow:`Se está agotando`,statusFull:`Límite alcanzado`,resetsDaily:`Se restablece esta noche`,resetsMonthly:`Se restablece en el próximo ciclo`,resetsWeeklyDays:`Se restablece en {{count}} días`,resetsWeeklyDays_one:`Se restablece en {{count}} día`,resetsWeeklyDays_many:`Se restablece en {{count}} de días`,resetsWeeklyDays_other:`Se restablece en {{count}} días`,resetsWeeklyHours:`Se restablece en {{count}} horas`,resetsWeeklyHours_one:`Se restablece en {{count}} hora`,resetsWeeklyHours_many:`Se restablece en {{count}} de horas`,resetsWeeklyHours_other:`Se restablece en {{count}} horas`,ctaUpgrade:`Mejore el plan para continuar`,ctaTopUp:`Añada créditos para continuar`,ariaLabel:`Uso de IA: {{status}}`,breakdownTitle:`Usado hasta ahora`},workspaceTitle:`Espacio de trabajo de IA`,workspaceSubtitle:`Pregunte, inspeccione y retome conversaciones`,openChats:`Abrir chats`,chats:`Chats`,chatsDescription:`Explore y gestione las conversaciones con la IA.`,share:`Compartir`,shareTitle:`Compartir esta conversación`,shareDisabledTitle:`Empiece a chatear para habilitar el uso compartido`,buildDoctor:`Diagnóstico de compilación`,buildDoctorTitle:`Diagnóstico de compilación — ¿qué se aplicó realmente?`,buildDoctorDisabledTitle:`Envíe primero un mensaje`,buildDoctorDrawer:{description:`Lo que el agente afirmó frente a lo que está realmente activo. Diagnóstico de solo lectura.`,reconciling:`Conciliando…`,notAvailable:`No disponible — no se encontró la conversación o no tiene autorización.`,untitled:`(sin título)`,summary:`{{turns}} turno(s) · {{messages}} msj · {{tokens}} tok · {{seconds}} s LLM`,allLive:`Los {{count}} cambio(s) intentado(s) están activos — no se perdió nada.`,discrepancies:`{{count}} discrepancia(s) — lo que dijo el chat no coincide con lo que está activo.`,orphanedTitle:`Propuesto pero nunca aplicado`,orphanedHint:`Una tarjeta de confirmación que el agente propuso pero que ningún turno posterior aplicó — el cambio se perdió sin aviso.`,missingTitle:`Afirmado pero ausente`,missingHint:`Un resultado de herramienta indicó que se aplicó, pero el artefacto no está activo en sys_metadata.`,toolErrorsTitle:`Errores de herramientas`,toolErrorsHint:`Llamadas a herramientas que devolvieron un error durante la compilación.`,verifyTitle:`Comprobación de compilación (verify_build)`,yourApp:`Su aplicación:`,noIssues:`0 problemas`,issueCount:`{{count}} problema(s)`,platformNoise:`{{count}} hallazgo(s) sys_* de la plataforma oculto(s)`,pendingActions:`Acciones pendientes`,timeline:`Cronología ({{count}})`},newChat:`Nuevo`,searchChats:`Buscar chats…`,noChatsYet:`Todavía no hay chats`,noChatsDescription:`Inicie una conversación nueva para verla aquí.`,noMatchingChats:`No hay chats coincidentes.`,newConversation:`Nueva conversación`,renameConversation:`Cambiar el nombre de la conversación`,deleteConversation:`Eliminar conversación`,saveRename:`Guardar el nombre`,cancelRename:`Cancelar el cambio de nombre`,loadingHistory:`Cargando el historial de la conversación…`,conversationReady:`Conversación lista`,preparingConversation:`Preparando una nueva conversación`,offlineDemoMode:`Modo de demostración sin conexión — lista de agentes no disponible`,sendFailedRateLimited:`Está enviando mensajes demasiado rápido. Su mensaje se conserva abajo — espere un momento y vuelva a intentarlo.`,sendFailedGeneric:`No se pudo enviar su mensaje. Se conserva abajo — inténtelo de nuevo.`,askAgent:`Pregunte a {{agent}}…`,assistant:`Asistente`,liveCanvas:`Vista previa en vivo — {{app}} (borrador)`,liveCanvasUnlisted:`Aplicación en vivo — {{app}} (no listada hasta su publicación)`,loadingAgents:`Cargando agentes…`,askAnything:`Pregunte lo que quiera…`,emptyTitle:`Iniciar una conversación`,emptyDescription:`Pregunte lo que quiera — el asistente tiene acceso al contexto de su aplicación actual.`,switchAssistant:`Cambiar de asistente`,chooseAgent:`Elegir asistente…`,empty:{build:{title:`Crear con IA`,description:`Describa una aplicación en lenguaje natural — yo redacto los objetos, las pantallas y los datos de ejemplo, y luego usted revisa y publica.`},ask:{title:`Pregunte a sus datos`,description:`Haga preguntas sobre sus registros — recuentos, listas y resúmenes de los datos a los que tiene acceso.`},editApp:{title:`Editando «{{app}}»`,titleGeneric:`Editar esta aplicación`,description:`¿Qué desea cambiar? Modifico esta aplicación sobre la marcha — añadir un campo, un objeto, una vista o un panel, o ajustar lo que ya existe.`}},clearConversation:`Borrar`,sendHint:`para enviar`,agentActivity:`Actividad del agente`,toolCompleted:`Completado`,toolRunning:`En ejecución`,toolAwaitingApproval:`Esperando aprobación`,toolFailed:`Error`,toolDetailsHidden:`Las entradas de las herramientas y los resultados sin procesar están ocultos en esta vista.`,copy:`Copiar`,copied:`Copiado`,regenerate:`Regenerar`,model:`Modelo`,submit:`Enviar`,uploadFiles:`Subir archivos`,stopResponse:`Detener la respuesta`,trace:`traza`,viewTrace:`Ver la traza`,nextSteps:`Qué sigue`,publishDrafts:`Publicar`,publishOk:`Publicado — los objetos ya están activos.`,seedWarn:`Publicado, pero no se pudieron cargar algunos datos de ejemplo.`,openBuiltApp:`Abrir la aplicación`,designBuiltApp:`Diseñar en Studio`,previewDraft:`Vista previa`,previewApp:`Vista previa de la aplicación`,resizeSplit:`Redimensionar el chat y la vista previa`,hideChats:`Ocultar los chats`,showChats:`Mostrar los chats`,planTitle:`Plan propuesto`,planQuestions:`Confirmar antes de crear`,planAssumptions:`Supuestos`,planApproveHint:`Responda para aprobar o ajustar este plan.`,planApprove:`Crearlo`,planAdjust:`Ajustar`,justNow:`ahora mismo`,minutesAgo:`hace {{count}} min`,hoursAgo:`hace {{count}} h`,daysAgo:`hace {{count}} d`,agentLabels:{ask:`Preguntar`,build:`Crear`,dataChat:`Asistente`,metadataAssistant:`Asistente de metadatos`},suggestions:{dataChat:{userCount:`¿Cuántos usuarios hay en el sistema? Enumera sus correos electrónicos.`,recentRecords:`Enumera los 5 registros creados más recientemente.`,recordCounts:`Cuenta los registros de cada objeto.`},metadataAssistant:{buildCrm:`Crea un CRM de ventas — clientes, contactos y oportunidades con un campo de etapa, y un panel que sume el importe por etapa.`,buildApp:`Crea un seguimiento de proyectos — proyectos, tareas con responsables y fechas de vencimiento, un tablero por estado y un calendario de vencimientos.`,buildFlow:`Diseña una mesa de ayuda — tickets con campos de prioridad y estado, un tablero por estado y vínculos con los clientes.`,buildInventory:`Crea una aplicación de inventario — productos, niveles de stock, proveedores y una vista que filtre los artículos por debajo de su punto de pedido.`,buildRecruiting:`Crea un seguimiento de candidaturas — candidatos, vacantes, un campo de etapa de entrevista y un tablero por etapa.`},generic:{help:`¿En qué puedes ayudarme?`,availableObjects:`Enumera los objetos de datos disponibles.`,recentActivity:`Resume mi actividad reciente.`},editApp:{addField:`Añade un campo a uno de los objetos.`,addObject:`Añade un objeto nuevo y relaciónalo con uno existente.`,addDashboard:`Añade un panel para las métricas clave.`,addSampleData:`Rellena los objetos existentes con registros de ejemplo realistas para poder mostrar la aplicación.`}},changesTitle:`Confirmar cambios`,changesConfirmed:`Confirmado`,changesConfirm:`Confirmar`,changesConfirmHint:`Responda para confirmar o ajustar este cambio.`,changesApplying:`Aplicando…`,changesApplied:`Aplicado`,changesDrafted:`Guardado como borrador`,changesFailed:`No aplicado`,discussing:`Tratando: {{target}}`,changeVerb:{createObject:`Crear objeto`,addField:`Añadir campo`,modifyField:`Modificar campo`,deleteField:`Eliminar campo`,createMetadata:`Crear`,updateMetadata:`Modificar`,createSeed:`Generar datos de ejemplo`,createPackage:`Crear paquete de aplicación`},collapseToDock:`Contraer al panel lateral`,switchApp:`Cambiar de aplicación`,switchAppLabel:`Conversaciones de creación por aplicación`,newApp:`Nueva aplicación`,connectionWaiting:`Esperando al servidor…`,connectionStalled:`Sigue en proceso…`,connectionOffline:`Conexión perdida — reconectando…`,designingPlan:`Diseñando su aplicación…`,designingPlanHint:{data:`Trazando los datos que va a registrar…`,objects:`Dando forma a los objetos y sus campos…`,relations:`Conectando los registros relacionados…`,lookups:`Configurando las relaciones y los campos de búsqueda…`,views:`Planificando las pantallas y las vistas…`,forms:`Organizando los formularios y las listas…`,defaults:`Agregando valores predeterminados y validaciones razonables…`,dashboard:`Bosquejando un panel para el seguimiento…`,review:`Comprobando que la estructura encaje…`,finalize:`Reuniendo el plan…`},planBuilding:`Creando…`,planBuilt:`Creado`,planDeferred:`Aún no creado`,planReady:`El plan está listo. Créelo ahora o dígame qué ajustar.`,published:`Publicado`,publishFailed:`Error al publicar`,unavailableTitle:`Asistente de IA no disponible`,unavailableDescription:`Esta implementación no tiene habilitado un asistente de IA. Todo lo demás funciona con normalidad.`,unavailableError:`No se pudo contactar con el servicio de IA. Puede estar temporalmente sin conexión — reinténtelo o vuelva al inicio.`,unavailableRetry:`Reintentar`,unavailableHome:`Volver al inicio`,dock:{title:`Asistente`,description:`Chat con el asistente de IA`,resize:`Redimensionar el chat`,collapse:`Contraer el chat`,maximize:`Abrir como página completa`,open:`Abrir el asistente`},group:{today:`Hoy`,yesterday:`Ayer`,previous7Days:`7 días anteriores`,previous30Days:`30 días anteriores`,older:`Anteriores`}},title:`Consola ObjectStack`,initializing:`Inicializando aplicación…`,loadingHint:`Configurar un entorno nuevo puede tardar unos momentos.`,breadcrumb:{dashboards:`Paneles`,pages:`Páginas`,reports:`Informes`,system:`Sistema`,marketplace:`Marketplace`,settings:`Configuración`,apps:`Aplicaciones`,profile:`Perfil`,approvals:`Aprobaciones`,aiApprovals:`Aprobaciones de IA`,auditLog:`Registro de auditoría`},settingsView:{backToHub:`Toda la configuración`,back:`Atrás`,noNamespace:`No hay ningún espacio de nombres seleccionado.`,loadError:`No se pudo cargar la configuración`,saved:`Configuración guardada`,saveFailed:`Error al guardar`,lockedByEnv:`Bloqueado por el entorno: {{key}}`,lockedByEnvNoKey:`Bloqueado por el entorno`,actionSucceeded:`La acción se completó correctamente`,actionFailed:`La acción falló`,discard:`Descartar`,saveChanges:`Guardar cambios`,unsavedCount:`{{count}} cambios sin guardar`,unsavedCount_one:`{{count}} cambio sin guardar`,unsavedCount_many:`{{count}} de cambios sin guardar`,unsavedCount_other:`{{count}} cambios sin guardar`,cryptoRefusalTitle:`Esta instalación no puede cifrar secretos`,cryptoRefusalSubjectSuffix:`está declarado como cifrado, por lo que no se escribió nada.`,cryptoRefusalNoSubject:`El valor declarado como cifrado fue rechazado, por lo que no se escribió nada.`,cryptoRefusalToast:`No se pueden cifrar los secretos: {{subject}}`,cryptoRefusalToastNoSubject:`No se pueden cifrar los secretos`},loadingSteps:{connecting:`Conectando a la fuente de datos`,loadingConfig:`Cargando configuración`,preparingWorkspace:`Preparando espacio de trabajo`},error:{connectionFailed:`No se puede conectar al servidor`,serverUnreachable:`El servidor {{url}} no está accesible.`,checkServer:`Compruebe su conexión de red o que el backend esté en ejecución.`,timeout:`Tiempo de conexión agotado tras 10 segundos.`},actions:{retry:`Reintentar`,retrying:`Reintentando…`},serverAction:{openingTitle:`Abriendo…`,openingBody:`Abriendo… esto puede tardar un momento.`,popupBlockedTitle:`Ventana emergente bloqueada`,popupBlockedDescription:`El navegador bloqueó la apertura de la nueva pestaña.`,popupBlockedAction:`Abrir en una pestaña nueva`},shortcuts:{title:`Atajos de teclado`,description:`Referencia rápida de todos los atajos de teclado disponibles.`,groups:{general:`General`,navigation:`Navegación`,dataViews:`Vistas de datos`,aiChat:`Asistente de IA`,preferences:`Preferencias`},openCommandPalette:`Abrir paleta de comandos`,showShortcuts:`Mostrar atajos de teclado`,closeDialog:`Cerrar diálogo / panel`,toggleSidebar:`Alternar barra lateral`,focusSearch:`Enfocar búsqueda`,createRecord:`Crear nuevo registro`,refreshData:`Actualizar datos`,editRecord:`Editar registro seleccionado`,newChat:`Nuevo chat`,toggleChatsList:`Alternar lista de chats`,toggleDarkMode:`Alternar modo oscuro`},commandPalette:{title:`Paleta de comandos`,placeholder:`Escriba un comando o busque…`,noResults:`No se encontraron resultados.`,objects:`Objetos`,dashboards:`Paneles`,pages:`Páginas`,reports:`Informes`,switchApp:`Cambiar aplicación`,current:`Actual`,preferences:`Preferencias`,lightTheme:`Tema claro`,darkTheme:`Tema oscuro`,systemTheme:`Tema del sistema`,actions:`Acciones`,openFullSearch:`Abrir página de búsqueda completa`,createApp:`Crear nueva aplicación`,searching:`Buscando…`,records:`Registros`,recentRecords:`Visto recientemente`},readRate:{ratioTitle:`Volumen de lectura inusual en este entorno`,ratio:`Se leen {{ratio}} filas por cada fila escrita. La plataforma señala todo lo que supere {{threshold}}. No se limita ni se bloquea nada; es un informe para que se pueda revisar el patrón de lectura.`,noWritesTitle:`Lecturas sin ninguna escritura en este entorno`,noWrites:`Se están leyendo filas sin escribir ninguna, por lo que la tasa de lectura no tiene límite superior. Es la lectura más grave. La plataforma señala todo lo que supere {{threshold}}. No se limita ni se bloquea nada; es un informe para que se pueda revisar el patrón de lectura.`},storageUsage:{warningTitle:`El almacenamiento se está llenando`,warning:`{{used}} MB de {{limit}} MB usados. Las cargas y las importaciones se pausan cuando el almacenamiento está lleno.`,blockedTitle:`Almacenamiento lleno: las cargas y las importaciones están en pausa`,blocked:`{{used}} MB de {{limit}} MB usados. Los datos existentes no se modifican, y la lectura, la exportación y la edición de registros individuales siguen funcionando.`,upgrade:`Mejore el plan para continuar`},errors:{somethingWentWrong:`Algo salió mal`,unexpectedError:`Ocurrió un error inesperado al renderizar esta vista.`,tryAgain:`Intentar de nuevo`,goHome:`Ir al inicio`,errorDetails:`Detalles del error (solo desarrollo)`},notFound:{title:`Página no encontrada`,description:`La URL que siguió no coincide con ninguna vista de esta aplicación.`,back:`Volver`},theme:{toggle:`Cambiar tema`,light:`Claro`,dark:`Oscuro`,system:`Sistema`},objectView:{viewTypeTree:`Árbol`,viewTypeTreeDesc:`Anida los registros autorreferenciados en una jerarquía mediante un campo principal.`,parentField:`Campo principal`,parentFieldHelp:`El campo que apunta al registro principal (mismo objeto) y define la jerarquía. Solo son válidos los campos autorreferenciados.`,viewName:`Nombre`,viewNameHelp:`Clave técnica (snake_case). Se rellena automáticamente a partir del título — edítela si lo desea.`,viewNameRequired:`Introduzca una clave (minúsculas, números, guion bajo). No se rellena automáticamente con títulos no latinos.`,viewNameInvalid:`Use minúsculas, números y guiones bajos; empiece por una letra o un guion bajo.`,systemViewReadonly:`Vista del sistema definida en el código: solo lectura.`,cannotEditMetaView:`Esta vista está integrada y definida en el código: no se puede modificar.`,viewConfigPermissionDenied:`La configuración de la vista se aplica a todos los usuarios que la utilizan, por lo que modificarla requiere el permiso «Administrar metadatos». Pida a un administrador que realice este cambio.`,cannotDeleteMetaView:`Esta vista está integrada y definida en el código: no se puede eliminar.`,expandToPage:`Abrir como página completa`,objectNotFound:`Objeto no encontrado`,objectNotFoundDescription:`El objeto "{{objectName}}" no existe en la configuración actual.`,objectNotFoundHint:`Verifique la configuración de navegación de su aplicación o seleccione un objeto diferente en la barra lateral.`,filterOrNotSavable:`Este filtro une las condiciones con O, algo que una vista guardada aún no puede almacenar. Se sigue aplicando a esta lista: quite la agrupación O para guardarlo en la vista.`,filterNestedNotSavable:`Este filtro usa grupos de condiciones anidados, que una vista guardada no puede almacenar. Conviértalo en una única lista de condiciones para guardarlo en la vista.`,allRecords:`Todos los registros`,new:`Nuevo`,configureView:`Configurar vista`,toolbarEnabledCount:`{{count}} de {{total}} habilitados`,searchFields:`Buscar campos…`,title:`Título`,viewType:`Tipo de vista`,recordCount:`{{count}} registros`,recordCount_one:`{{count}} registro`,recordCount_many:`{{count}} de registros`,recordCount_other:`{{count}} registros`,save:`Guardar`,discard:`Descartar`,createView:`Crear vista`,newView:`Nueva vista`,groupByField:`Campo de agrupación`,startDateField:`Campo de fecha de inicio`,titleField:`Campo de título`,latitudeField:`Campo de latitud`,longitudeField:`Campo de longitud`,imageField:`Campo de imagen`,selectField:`Seleccionar campo…`,endDateField:`Campo de fecha de fin`,import:`Importar`,importTitle:`Importar desde CSV`,importedToast:`{{count}} fila(s) importada(s).`,importedToast_one:`{{count}} fila importada.`,importedToast_many:`{{count}} de filas importadas.`,importedToast_other:`{{count}} filas importadas.`,importedWithSkipped:`{{ok}} fila(s) importada(s); {{skipped}} omitida(s).`,createViewDesc:`Elija un tipo de vista y asígnele un nombre. Todas las configuraciones se pueden cambiar después.`,cancel:`Cancelar`,create:`Crear`,delete:`Eliminar`,deleteViewTitle:`Eliminar vista`,deleteViewConfirm:`¿Eliminar la vista "{{name}}"? Esto no se puede deshacer.`,bulkDeleteConfirm:`¿Eliminar {{count}} registros seleccionados? Esto no se puede deshacer.`,bulkDeleteConfirm_one:`¿Eliminar {{count}} registro seleccionado? Esto no se puede deshacer.`,bulkDeleteConfirm_many:`¿Eliminar {{count}} de registros seleccionados? Esto no se puede deshacer.`,bulkDeleteConfirm_other:`¿Eliminar {{count}} registros seleccionados? Esto no se puede deshacer.`,duplicateViewName:`Ya existe una vista con ese nombre.`,viewTypeGrid:`Cuadrícula`,viewTypeGridDesc:`Tabla tipo hoja de cálculo de registros.`,viewTypeKanban:`Kanban`,viewTypeKanbanDesc:`Tarjetas agrupadas en columnas por un campo de selección única.`,viewTypeCalendar:`Calendario`,viewTypeCalendarDesc:`Registros colocados por fecha en un calendario mensual.`,viewTypeGallery:`Galería`,viewTypeGalleryDesc:`Tarjetas de imagen grandes de un campo de adjunto.`,viewTypeTimeline:`Línea de tiempo`,viewTypeTimelineDesc:`Registros a lo largo de un eje de tiempo horizontal.`,viewTypeGantt:`Gantt`,viewTypeGanttDesc:`Barras de proyecto con inicio/fin y dependencias.`,viewTypeMap:`Mapa`,viewTypeMapDesc:`Marcadores geográficos de campos de latitud/longitud.`,viewTypeChart:`Gráfico`,viewTypeChartDesc:`Gráficos de barras/líneas/sectores agregados.`,groupByFieldHelp:`El tablero Kanban agrupa los registros en columnas según los valores del campo.`,startDateFieldHelp:`El calendario coloca los registros en la celda que corresponde a esta fecha.`,ganttStartDateFieldHelp:`El borde izquierdo de cada barra de Gantt usa esta fecha.`,ganttEndDateFieldHelp:`El borde derecho de cada barra de Gantt usa esta fecha.`,timelineDateFieldHelp:`Los registros se posicionan en la línea de tiempo según esta fecha.`,latitudeFieldHelp:`Campo que contiene la latitud (solo campos geográficos).`,longitudeFieldHelp:`Campo que contiene la longitud (solo campos geográficos).`,imageFieldHelp:`La portada de la galería proviene de este campo de imagen o adjunto.`,selectOption:`Seleccionar…`,noEligibleFieldForType:`Ningún campo elegible de ese tipo. Agregue uno al objeto primero.`,viewTypeUnavailable:`Este objeto no tiene un campo que sirva como "{{field}}".`,viewTypeUnavailableShort:`No compatible con este objeto.`,chartType:`Tipo de gráfico`,chartTypeHelp:`Determina cómo se renderizan los datos.`,chartTypeBar:`Gráfico de barras`,chartTypeLine:`Gráfico de líneas`,chartTypePie:`Gráfico circular`,chartTypeArea:`Gráfico de área`,chartTypeScatter:`Gráfico de dispersión`,dataset:`Conjunto de datos`,datasetHelp:`El gráfico lee sus valores de este conjunto de datos del objeto.`,chartMeasure:`Medida`,chartMeasureHelp:`La medida del conjunto de datos representada en el eje de valores.`,chartDimension:`Dimensión`,chartDimensionHelp:`La dimensión del conjunto de datos por la que se agrupan los valores (opcional).`,viewTypeUnavailableDataset:`Este objeto no expone ningún conjunto de datos para graficar.`,noDatasetMeasure:`Este conjunto de datos no declara ninguna medida para graficar.`,ufTabs:`Pestañas`,ufAddField:`+ Agregar campo de filtro…`,ufShowAllRecords:`Mostrar pestaña "Todos los registros"`},runtimeDraft:{publishFailed:`Error al publicar`,discardFailed:`Error al descartar el borrador`},localeSwitcher:{label:`Idioma`},search:`Buscar…`,nav:{pinItem:`Fijar {{name}}`,unpinItem:`Desfijar {{name}}`,dragToReorder:`Arrastrar para reordenar`,favorites:`Favoritos`,launcherLabel:`Lanzador de aplicaciones`,menuLabel:`Navegación de la aplicación`,menuEmpty:`Esta aplicación no tiene entradas de navegación que puedas abrir.`}},auth:{setPassword:{title:`Establecer una contraseña de recuperación`,description:`Ha iniciado sesión mediante inicio de sesión único. Establezca una contraseña local para poder seguir accediendo directamente a este entorno si el SSO deja de estar disponible.`,email:`Correo electrónico`,newPassword:`Nueva contraseña`,confirmPassword:`Confirmar la contraseña`,submit:`Establecer la contraseña`,submitting:`Guardando…`,success:`Contraseña local establecida`,failed:`No se pudo establecer la contraseña`,passwordsMismatch:`Las contraseñas no coinciden`,noSession:`Su sesión ha caducado.`,backToSignIn:`Volver a iniciar sesión`},login:{signingIn:`Iniciando sesión…`,ssoHandoff:`Continuar a {{target}}`,devAdminHint:{title:`Instancia de desarrollo`,body:`Inicie sesión con el administrador de desarrollo predefinido:`,dismiss:`Descartar`},title:`Inicia sesión en tu cuenta`,description:`Ingresa tu correo electrónico y contraseña para continuar`,emailLabel:`Correo electrónico`,emailPlaceholder:`name@example.com`,passwordLabel:`Contraseña`,passwordPlaceholder:`Ingresa tu contraseña`,forgotPasswordText:`¿Olvidaste tu contraseña?`,submitButton:`Iniciar sesión`,submittingButton:`Iniciando sesión…`,noAccountText:`¿No tienes una cuenta?`,signUpText:`Regístrate`,errors:{oauthCallbackFailed:`No se pudo completar el inicio de sesión único: el enlace de acceso caducó o ya se había utilizado. Vuelva a intentarlo.`,invalidCredentials:`Correo o contraseña inválidos. Inténtelo de nuevo.`,emailNotVerified:`Verifique su correo electrónico antes de iniciar sesión.`},emailOrPhoneLabel:`Correo electrónico o número de teléfono`,emailOrPhonePlaceholder:`name@example.com o +1 555 000 0000`,phoneLabel:`Número de teléfono`,phonePlaceholder:`+1 555 000 0000`,otpCodeLabel:`Código de verificación`,otpCodePlaceholder:`Código de 6 dígitos`,sendOtpButton:`Obtener código`,resendOtpCountdownText:`Reenviar en {seconds} s`,usePhoneOtpText:`Iniciar sesión con código de verificación`,usePasswordSignInText:`Iniciar sesión con contraseña en su lugar`,socialButton:`Continuar con {provider}`,orText:`o continúe con correo electrónico`},register:{title:`Crear una cuenta`,description:`Ingresa tu información para comenzar`,nameLabel:`Nombre`,namePlaceholder:`Juan Pérez`,emailLabel:`Correo electrónico`,emailPlaceholder:`name@example.com`,passwordLabel:`Contraseña`,passwordPlaceholder:`Crear una contraseña (mín. 8 caracteres)`,confirmPasswordLabel:`Confirmar contraseña`,confirmPasswordPlaceholder:`Confirma tu contraseña`,passwordMismatchError:`Las contraseñas no coinciden`,passwordTooShortError:`La contraseña debe tener al menos 8 caracteres`,submitButton:`Crear cuenta`,submittingButton:`Creando cuenta…`,hasAccountText:`¿Ya tienes una cuenta?`,signInText:`Iniciar sesión`,socialButton:`Registrarse con {provider}`,orText:`o continúe con correo electrónico`,errors:{userExists:`Ya existe una cuenta con ese correo. Intente iniciar sesión.`,selfRegistrationClosed:`El registro por cuenta propia no está abierto en este entorno. Solicite una invitación a un administrador.`,emailDomainNotAllowed:`El dominio de este correo no está autorizado para registrarse aquí. Use el correo de su organización o solicite una invitación a un administrador.`},verifyInbox:{title:`Revise su bandeja de entrada`,description:`Enviamos un enlace de verificación a {{email}}. Haga clic en el enlace para activar su cuenta.`,resend:`Reenviar correo de verificación`,resending:`Enviando…`,resent:`Correo de verificación enviado.`,backToSignIn:`Volver al inicio de sesión`}},forgotPassword:{title:`Restablecer tu contraseña`,description:`Ingresa tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña`,emailLabel:`Correo electrónico`,emailPlaceholder:`name@example.com`,submitButton:`Enviar enlace de restablecimiento`,submittingButton:`Enviando…`,successTitle:`Revisa tu correo electrónico`,successDescription:`Hemos enviado un enlace para restablecer la contraseña a {email}. Por favor revisa tu bandeja de entrada.`,backToSignInText:`Volver a iniciar sesión`,rememberPasswordText:`¿Recuerdas tu contraseña?`,signInText:`Iniciar sesión`,phoneLabel:`Número de teléfono`,phonePlaceholder:`+1 555 000 0000`,otpCodeLabel:`Código de verificación`,otpCodePlaceholder:`Código de 6 dígitos`,sendOtpButton:`Obtener código`,resendOtpCountdownText:`Reenviar en {seconds} s`,newPasswordLabel:`Nueva contraseña`,newPasswordPlaceholder:`Ingresa una nueva contraseña`,resetButton:`Restablecer contraseña`,usePhoneResetText:`Restablecer con código SMS`,useEmailResetText:`Restablecer por correo electrónico en su lugar`,phoneSuccessTitle:`Contraseña restablecida`,phoneSuccessDescription:`Tu contraseña ha sido restablecida. Ahora puedes iniciar sesión con tu nueva contraseña.`},resetPassword:{title:`Establecer nueva contraseña`,description:`Elija una contraseña que no haya usado antes.`,newPassword:`Nueva contraseña`,confirmPassword:`Confirmar contraseña`,submit:`Actualizar contraseña`,submitting:`Actualizando…`,success:`Contraseña actualizada`,failed:`Error al restablecer`,invalidToken:`Este enlace de restablecimiento es inválido o ha expirado.`,missingToken:`El enlace de restablecimiento falta o ha expirado`,passwordsMismatch:`Las contraseñas no coinciden`,requestNewLink:`Solicitar nuevo enlace`},verifyEmail:{title:`Verificar dirección de correo`,description:`Enviamos un enlace de verificación a su correo. Haga clic en el enlace para verificar su cuenta.`,sentTo:`Enviado a:`,verifyingTitle:`Verificando…`,verifyingDescription:`Estamos verificando su correo. Por favor espere.`,successTitle:`Correo verificado`,successDescription:`Su correo fue verificado. Ahora puede iniciar sesión.`,errorTitle:`Verificación fallida`,errorDescription:`La verificación falló. Solicite un nuevo enlace.`,missingToken:`Falta un token en el enlace de verificación.`,emailMissing:`Falta la dirección de correo`,resendButton:`Reenviar correo de verificación`,resending:`Enviando…`,resent:`¡Correo enviado! Revise su bandeja de entrada`,resentSuccess:`¡Correo de verificación enviado!`,resentDescription:`Revise su bandeja de entrada y haga clic en el enlace de verificación.`,resendFailed:`No se puede reenviar el correo de verificación`,signInLink:`Ir al inicio de sesión`,backToSignIn:`Volver al inicio de sesión`,backToLogin:`Volver al inicio de sesión`,checkSpam:`¿No recibió el correo? Revise su carpeta de spam o contacte soporte.`,or:`O`,resendUnavailable:`Puede que el envío de correos no esté configurado en este entorno. Contacte soporte si el problema persiste.`},setup:{welcomeTitle:`Bienvenido a ObjectStack`,description:`Cree la primera cuenta de propietario para completar la configuración.`,yourName:`Su nombre`,orgName:`Nombre de la organización`,orgNamePlaceholder:`Empresa Ejemplo S.A.`,emailLabel:`Correo electrónico`,emailPlaceholder:`nombre@ejemplo.com`,passwordLabel:`Contraseña`,passwordHint:`Al menos 8 caracteres`,submit:`Crear cuenta de propietario`,submitting:`Configurando…`,failed:`Error en la configuración`},device:{title:`Autorizar nuevo dispositivo`,subtitle:`Apruebe este dispositivo para iniciar sesión como {{email}}.`,userCodeLabel:`Código del dispositivo`,requesterLabel:`Solicitud de conexión de`,approveWarning:`Aprueba solo si tú mismo iniciaste esta conexión hace un momento. Una vez aprobada, este runtime podrá acceder a los paquetes privados de tu organización.`,loggedInAs:`Conectado como {{email}}`,approve:`Aprobar dispositivo`,approving:`Aprobando…`,approvedTitle:`Dispositivo autorizado`,approvedDescription:`Puede regresar al dispositivo — debería iniciar sesión pronto.`,approveSuccess:`Dispositivo autorizado`,approveSuccessDescription:`Puede cerrar esta ventana.`,approveFailed:`Error al aprobar`,deny:`Denegar solicitud`,denying:`Denegando…`,deniedTitle:`Acceso denegado`,deniedDescription:`No se otorgará acceso al dispositivo.`,denyFailed:`No se pudo denegar la solicitud`,invalidTitle:`Enlace de dispositivo inválido`,invalidDescription:`No se proporcionó código de dispositivo en la URL.`,loading:`Cargando…`,cancel:`Cancelar`,disabledTitle:`La autorización de dispositivos no está habilitada`,disabledDescription:`Esta implementación no tiene habilitada la autorización de dispositivos, por lo que este dispositivo no puede aprobarse aquí.`},shell:{tenantHostHint:`Está iniciando sesión en este espacio de trabajo`},layout:{headline:`Cree aplicaciones empresariales potentes, más rápido.`,subhead:`La plataforma universal para la gestión de datos empresariales, los flujos de trabajo y la analítica.`},remediation:{signOut:`Cerrar sesión en su lugar`,password:{title:`Su contraseña ha caducado`,fallbackMessage:`Establezca una nueva contraseña para continuar.`,current:`Contraseña actual`,next:`Nueva contraseña`,confirm:`Confirmar nueva contraseña`,submit:`Cambiar contraseña y continuar`,submitting:`Actualizando…`,mismatch:`Las nuevas contraseñas no coinciden.`,failed:`No se pudo cambiar la contraseña.`},mfa:{title:`Configurar la autenticación en dos pasos`,fallbackMessage:`Su organización requiere una aplicación de autenticación para continuar.`,confirmPassword:`Confirme su contraseña`,continue:`Continuar`,preparing:`Preparando…`,enrollFailed:`No se pudo iniciar el registro.`,scanTitle:`Escanee con su aplicación de autenticación`,scanBody:`Escanee este código QR con Google Authenticator, 1Password, Authy, etc., y luego introduzca el código de 6 dígitos.`,backupTitle:`Guarde sus códigos de respaldo`,backupBody:`Guárdelos en un lugar seguro: cada uno puede usarse una vez si pierde su dispositivo.`,codeLabel:`Código de 6 dígitos`,verify:`Verificar y continuar`,verifying:`Verificando…`,invalidCode:`Código no válido. Inténtelo de nuevo.`}}},oauth:{consent:{title:`{{appName}} quiere acceder a su cuenta`,request:`{{appName}} solicita permiso{{suffix}}.`,unknownApp:`una aplicación`,willAllow:`Esta aplicación podrá:`,scope:{openid:`Confirmar su identidad`,profile:`Leer su perfil básico (nombre, foto)`,email:`Leer su dirección de correo electrónico`,offlineAccess:`Mantener la sesión abierta (renovar el acceso)`},deny:`Denegar`,authorize:`Autorizar`,submitting:`Autorizando…`,granted:`Acceso concedido`,denied:`Acceso denegado`,noRedirect:`El servidor no devolvió ninguna URL de redirección.`,failed:`Error en el consentimiento`,footer:`Puede revocar el acceso en cualquier momento desde la configuración de su cuenta.`}},profile:{title:`Perfil`,subtitle:`Gestione la configuración de su cuenta`,saving:`Guardando…`,avatar:{upload:`Subir`,replace:`Reemplazar`,remove:`Quitar`},info:{title:`Información personal`,description:`Actualice su nombre y consulte los detalles de la cuenta`,saved:`Perfil actualizado correctamente.`,name:`Nombre`,email:`Correo electrónico`,emailImmutable:`El correo electrónico no se puede cambiar.`,role:`Rol`,save:`Guardar cambios`},language:{title:`Idioma`,description:`El idioma que se usa para las notificaciones y los mensajes que se le envían. El idioma de la interfaz se elige aparte, en el menú del globo terráqueo.`,label:`Idioma preferido`,systemDefault:`Usar el valor predeterminado del despliegue`,save:`Guardar`,saved:`Preferencia de idioma actualizada.`,readOnly:`El idioma de su cuenta lo gestiona su administrador.`},password:{changeTitle:`Cambiar contraseña`,setTitle:`Establecer contraseña local`,changeDescription:`Actualice la contraseña que usa para iniciar sesión en este entorno.`,setDescription:`Inició sesión mediante inicio de sesión único. Establezca una contraseña local para poder iniciar sesión también con correo y contraseña en este entorno.`,current:`Contraseña actual`,new:`Nueva contraseña`,password:`Contraseña`,confirm:`Confirmar contraseña`,tooShort:`La contraseña debe tener al menos 8 caracteres`,mismatch:`Las contraseñas no coinciden`,enterCurrent:`Introduzca su contraseña actual`,changed:`Contraseña cambiada.`,localSet:`Contraseña local establecida. Ahora puede iniciar sesión con correo y contraseña en este entorno.`,changeAction:`Cambiar contraseña`,setAction:`Establecer contraseña`}},errors:{networkError:`Error de red. Por favor, compruebe su conexión.`,serverError:`Error del servidor. Por favor, inténtelo de nuevo más tarde.`,notFound:`Recurso no encontrado.`,unauthorized:`No está autorizado para realizar esta acción.`,forbidden:`Acceso denegado.`,timeout:`Tiempo de espera agotado. Por favor, inténtelo de nuevo.`,unknown:`Ha ocurrido un error inesperado.`},workspace:{label:`Espacios de trabajo`,default:`Mi espacio de trabajo`,switch:`Cambiar espacio de trabajo`,createTitle:`Crear un espacio de trabajo`,createDescription:`Un espacio de trabajo es un lugar compartido para que tu equipo colabore.`,createButton:`Crear espacio de trabajo`,nameLabel:`Nombre del espacio de trabajo`,namePlaceholder:`p.ej., Acme Inc`,slugLabel:`Slug de URL`,slugHint:`Se utiliza en URLs. Solo minúsculas, números y guiones.`,invite:`Invitar miembro`,members:`Miembros`,settings:`Configuración del espacio de trabajo`,multiOrgDisabled:`La creación de nuevas organizaciones está deshabilitada en esta instancia.`,createFailed:`No se pudo crear el espacio de trabajo`},help:{onThisPage:`En esta página`,keyboardShortcuts:`Atajos de teclado`,appDocs:`Documentación de esta app`,allDocs:`Toda la documentación`,onlineDocs:`Documentación en línea`},sidebar:{packageManagement:`Gestión de paquetes`,searchNavigation:`Buscar en la navegación…`,settings:`Configuración`,helpTooltip:`Ayuda y documentación`,activityFeed:`Feed de actividad`,notifications:`Notificaciones`,approvals:`Aprobaciones`,inbox:`Bandeja de entrada`,inboxAriaLabel:`Abrir bandeja de entrada`,area:`Área`,scope:`Ámbito`,recent:`Reciente`,favorites:`Favoritos`,starred:`Destacados`,removeFromFavorites:`Quitar {{name}} de favoritos`},topbar:{openAssistant:`Abrir el asistente {{name}}`,offline:`Sin conexión`,usersOnline:`Usuarios conectados ahora mismo`,switchView:`Cambiar de vista`,switchObject:`Cambiar de objeto`,connection:{connected:`Conectado`,connecting:`Conectando…`,reconnecting:`Reconectando…`,disconnected:`Desconectado`,error:`Error de conexión`},stage:{preview:`Vista previa`,beta:`Beta`,tooltip:`Esta plataforma está en versión preliminar — las funciones pueden cambiar.`},aiAssistant:`Asistente de IA`,designInStudio:`Diseñar en Studio`},home:{build:{title:`Crear una aplicación`,subtitle:`Empiece desde cero — diseñe objetos, formularios, automatizaciones e interfaces.`,noCapability:`La creación de aplicaciones no está disponible en este espacio de trabajo: requiere el permiso «Gestionar metadatos», que su cuenta no tiene.`},template:{title:`Empezar con una plantilla`,subtitle:`Instale una aplicación de plantilla desde el mercado y personalícela.`,marketplaceDisabled:`Este runtime no tiene un marketplace de aplicaciones configurado, por lo que no hay plantillas que instalar aquí.`},welcomeAdminDescription:`Describa su negocio en una frase — la IA genera los objetos, las pantallas, las API y las herramientas del agente. O configúrelo usted mismo desde el menú de la izquierda.`,welcomeAdminDescriptionNoBuild:`Configure su primera aplicación desde el menú de Administración de la izquierda. Cuando tenga datos, el asistente de IA podrá ayudarle a explorarlos.`,welcomeAdminDescriptionNoAi:`Configure su primera aplicación desde el menú de Administración de la izquierda.`,noAppsTitle:`Todavía no hay aplicaciones`,noAppsDescription:`Su espacio de trabajo se está preparando — las aplicaciones que su administrador comparta aparecerán aquí.`,buildWithAI:`Crear con IA`,askAI:`Preguntar a la IA`,recoveryReminder:{message:`Establezca una contraseña de recuperación para poder iniciar sesión aunque el inicio de sesión único no esté disponible.`,cta:`Establecer contraseña`,dismiss:`Descartar`},pendingDrafts:{message:`Tiene {{count}} cambio(s) sin publicar — publíquelos para activarlos.`,message_one:`Tiene {{count}} cambio sin publicar — publíquelo para activarlo.`,message_many:`Tiene {{count}} de cambios sin publicar — publíquelos para activarlos.`,message_other:`Tiene {{count}} cambios sin publicar — publíquelos para activarlos.`,cta:`Publicar`,publishing:`Publicando…`,published:`¡Publicado! Sus cambios están activos.`,publishFailed:`Error al publicar`,nothing:`Nada que publicar.`,probeWarn:`Publicado, pero la verificación encontró problemas.`,seedWarn:`Publicado, pero no se pudieron cargar algunos datos de ejemplo.`,publishedVerified:`Publicado y verificado — {{count}} fila(s) de ejemplo activa(s).`,capabilityWarn:`Comprobación de autoría: {{count}} referencia(s) de capacidad no apuntan a nada.`},title:`Inicio`,nav:`Inicio`,allApps:`Todas las aplicaciones`,yourApps:`Tus aplicaciones`,showMoreApps:`Más`,showLess:`Mostrar menos`,continueEmpty:`Los elementos que abras aparecerán aquí.`,actionCenter:{title:`Requiere tu atención`,empty:`Estás al día`},loading:`Cargando espacio de trabajo…`,welcome:`Bienvenido a ObjectUI`,welcomeDescription:`Comienza creando tu primera aplicación o configura los ajustes del sistema.`,createFirstApp:`Crea tu primera aplicación`,systemSettings:`Configuración del sistema`,browseMarketplace:`Explorar marketplace de apps`,quickActions:{title:`Acciones rápidas`,manageObjects:`Gestionar objetos`,manageObjectsDesc:`Configura modelos de datos`,systemSettings:`Configuración del sistema`,systemSettingsDesc:`Configura tu espacio de trabajo`},appCard:{noDescription:`Sin descripción`,default:`Predeterminado`},greetingMorning:`Buenos días`,greetingAfternoon:`Buenas tardes`,greetingEvening:`Buenas noches`,greetingNight:`Turno de noche`,heroTagline:`Continúe donde lo dejó o descubra algo nuevo.`,open:`Abrir`,recentApps:{title:`Abiertos recientemente`,itemType:{object:`Objeto`,dashboard:`Panel`,page:`Página`,report:`Informe`,record:`Registro`,metadata:`Metadatos`}},starredApps:{title:`Destacados`},gettingStarted:{title:`Personalizar inicio`,description:`Marque una aplicación como favorita para anclarla aquí y acceder con un clic. Todo lo que abra aparecerá automáticamente en "Abiertos recientemente".`,cta:`Explorar todas las aplicaciones`}},layout:{systemNav:{systemSettings:`Configuración del sistema`,applications:`Aplicaciones`,appMarketplace:`Mercado de aplicaciones`,objectManager:`Gestor de objetos`,users:`Usuarios`,organizations:`Organizaciones`,roles:`Roles`,configuration:`Configuración`,administration:`Administración`,datasources:`Fuentes de datos`,documentation:`Documentación`},appSwitcher:{switchApplication:`Cambiar de aplicación`,appsAvailable:`{{count}} aplicaciones disponibles`,editNavigation:`Editar la navegación`,home:`Inicio`,addApp:`Agregar aplicación`,editApp:`Editar aplicación`,manageAllApps:`Administrar todas las aplicaciones`,systemConsole:`Consola del sistema`,noAppsConfigured:`Sin aplicaciones configuradas`},activityFeed:{title:`Actividad reciente`,filter:`Filtrar`,empty:`Sin actividad reciente`,ariaLabel:`Feed de actividad`,typeCreate:`Crear`,typeUpdate:`Actualizar`,typeDelete:`Eliminar`,typeComment:`Comentario`,typeSystem:`Sistema`,relativeJustNow:`ahora mismo`,relativeSecondsAgo:`hace {{count}}s`,relativeMinutesAgo:`hace {{count}}m`,relativeHoursAgo:`hace {{count}}h`,relativeDaysAgo:`hace {{count}}d`,viewAll:`Ver toda la actividad`},metadata:{label:`Metadatos`,toggleTitle:`Alternar inspector de metadatos`,panelTitle:`Inspector de metadatos`,jsonBadge:`JSON`,copyJson:`Copiar JSON`}},search:{title:`Buscar`,back:`Atrás`,placeholder:`Buscar objetos, paneles, páginas, informes…`,inputAriaLabel:`Buscar objetos, paneles, páginas, informes`,resultsCount:`{{count}} resultado para "{{query}}"`,resultsCount_one:`{{count}} resultado para "{{query}}"`,resultsCount_many:`{{count}} de resultados para "{{query}}"`,resultsCount_other:`{{count}} resultados para "{{query}}"`,itemsAvailable:`{{count}} elementos disponibles`,itemsAvailable_one:`{{count}} elemento disponible`,itemsAvailable_many:`{{count}} de elementos disponibles`,itemsAvailable_other:`{{count}} elementos disponibles`,noResults:`Sin resultados encontrados`,noResultsHint:`Intente ajustar sus términos de búsqueda`,typeObjects:`Objetos`,typeDashboards:`Paneles`,typePages:`Páginas`,typeReports:`Informes`,badgeObject:`Objeto`,badgeDashboard:`Panel`,badgePage:`Página`,badgeReport:`Informe`},empty:{objectNotFound:`Objeto no encontrado`,objectNotFoundDescription:`Falta la definición del objeto "{{name}}". Verifique su configuración o navegue hacia atrás.`,interfacePageSourceMissing:`Esta página de interfaz hace referencia a "{{name}}", que no está disponible.`,pageNotFound:`Página no encontrada`,pageNotFoundDescription:`La página "{{name}}" no fue encontrada. Puede haber sido eliminada o renombrada.`,dashboardNotFound:`Panel no encontrado`,dashboardNotFoundDescription:`El panel "{{name}}" no fue encontrado. Puede haber sido eliminado o renombrado.`,reportNotFound:`Informe no encontrado`,reportNotFoundDescription:`El informe "{{name}}" no fue encontrado. Puede haber sido eliminado o renombrado.`,noAppsConfigured:`Sin aplicaciones configuradas`,noAppsConfiguredDescription:`No hay aplicaciones registradas. Cree su primera aplicación o visite la configuración del sistema.`,appNotAvailable:`Aplicación no disponible`,appNotAvailableDescription:`Esta aplicación no está disponible — vuelva a intentarlo en un momento.`,appNotFound:`No se puede abrir esta aplicación`,appNotFoundDescription:`El servidor no devolvió esta aplicación para su cuenta.`,appUnreachable:`No se pudo conectar con el servidor`,appUnreachableDescription:`No se pudo comprobar esta aplicación. Vuelva a intentarlo en un momento.`,appAccessDenied:`No tiene acceso a esta aplicación`,appAccessDeniedDescription:`Esta aplicación existe, pero su cuenta no está autorizada para abrirla. Solicite acceso a un administrador.`,appAccessDeniedHome:`Volver al inicio`,createFirstApp:`Crear primera aplicación`,systemSettings:`Configuración del sistema`,back:`Atrás`,recordNotFound:`Registro no encontrado`,recordNotFoundDescription:`El registro que busca no existe o puede haber sido eliminado.`},actionDialog:{title:`Parámetros de acción`,description:`Ingrese la información requerida para continuar.`,selectPlaceholder:`Seleccionar {{label}}`,requiredError:`{{label}} es obligatorio`,unresolvedParam:`No se puede mostrar este parámetro: el campo en el que se basa no está en los metadatos del objeto, por lo que no se puede construir el control necesario. Pide a un administrador que corrija la definición de la acción.`,carryOverHint:`Se conserva sin cambios (solo lectura)`,cancel:`Cancelar`,confirm:`Confirmar`,uploading:`Subiendo…`,lookupPlaceholder:`ID de registro para {{label}}`,lookupHelpText:`Este parámetro no tiene un objeto de referencia configurado, por lo que el selector de registros no está disponible. Ingrese un ID de registro o pida a un administrador que corrija el parámetro de la acción.`},actionConfirm:{title:`Confirmar acción`,confirm:`Continuar`,cancel:`Cancelar`},navigationSync:{addedPage:`Navegación actualizada: página "{{name}}" agregada`,addedDashboard:`Navegación actualizada: panel "{{name}}" agregado`,removedPage:`Navegación actualizada: página "{{name}}" eliminada`,removedDashboard:`Navegación actualizada: panel "{{name}}" eliminado`,renamedPage:`Navegación actualizada: página "{{oldName}}" renombrada a "{{newName}}"`,renamedDashboard:`Navegación actualizada: panel "{{oldName}}" renombrado a "{{newName}}"`,undoLabel:`Deshacer`,undone:`Cambio de navegación deshecho`,undoFailed:`No se pudo deshacer el cambio de navegación`,updateFailed:`No se pudo actualizar la navegación`},objectActions:{resetPackageSetConfirm:`Este conjunto de permisos viene con un paquete instalado y no se puede eliminar. Al eliminarlo se restablece a la versión original del paquete y se descartan sus personalizaciones en este entorno. ¿Continuar?`,resetPackageSetSuccess:`Conjunto de permisos restablecido a la versión original del paquete`,deleteSuccess:`{{label}} eliminado correctamente`,deleteFailed:`No se pudo eliminar {{label}}`,noRecordId:`No se proporcionó ID de registro`,deleteConfirm:`¿Eliminar este registro?`,bulkDeleteSuccess:`{{count}} registros de {{label}} eliminados`,bulkDeleteSuccess_one:`{{count}} registro de {{label}} eliminado`,bulkDeleteSuccess_many:`{{count}} de registros de {{label}} eliminados`,bulkDeleteSuccess_other:`{{count}} registros de {{label}} eliminados`,bulkDeletePartial:`{{succeeded}} eliminados, {{failed}} fallidos`},objectViewActions:{renameFailed:`No se pudo renombrar la vista`,deleteFailed:`No se pudo eliminar la vista`},dashboardActions:{printDialogOpening:`Abriendo el cuadro de diálogo de impresión de tu navegador (no es una exportación a PDF)`,exportFailed:`Error al exportar: {{message}}`,forecastSoon:`La vista de pronóstico llegará pronto`},user:{profile:`Perfil`,settings:`Configuración`,logout:`Cerrar sesión`,preferences:`Preferencias`,theme:`Tema`,language:`Idioma`},report:{total:`Total`,rowTotal:`Total fila`,columnTotal:`Total columna`,grandTotal:`Gran total`,totals:`Totales`,rowsLabel:`Fila`,columnsLabel:`Columna`,allLabel:`(Todo)`,emptyLabel:`(Vacío)`,loading:`Cargando…`,failedToLoad:`Error al cargar la matriz: {{message}}`,needsAcross:"El informe de matriz requiere al menos un campo `groupingsAcross`.",aggregate:{count:`Contar`,countDistinct:`Contar únicos`,sum:`Suma`,avg:`Promedio`,min:`Mínimo`,max:`Máximo`,first:`Primero`},editor:{panelTitle:`Editar informe`}},organizations:{create:`Crear espacio de trabajo`,mine:`Mis espacios de trabajo`,title:`Espacios de trabajo`,heading:`Tus espacios de trabajo`,subtitle:`Selecciona un espacio de trabajo para continuar o crea uno nuevo.`,searchPlaceholder:`Buscar un espacio de trabajo`,new:`Nuevo espacio de trabajo`,current:`Espacio de trabajo actual`,manage:`Administrar`,emptyTitle:`Aún no hay espacios de trabajo`,emptyDescription:`Crea tu primer espacio de trabajo para empezar.`,noMatches:`Ningún espacio de trabajo coincide con tu búsqueda.`},organization:{roles:{owner:`Propietario`,admin:`Administrador`,delegatedAdmin:`Administrador delegado`,member:`Miembro`},errors:{notAllowedToInvite:`No tiene permiso para invitar usuarios a esta organización.`,notAllowedToInviteWithRole:`No tiene permiso para invitar a un usuario con este rol.`,alreadyInvited:`Este usuario ya ha sido invitado a esta organización.`,organizationExists:`Esa organización ya existe.`,slugTaken:`Ese slug ya está en uso.`,notAllowedToCreate:`No tiene permiso para crear una organización nueva.`,notTheRecipient:`No es el destinatario de esta invitación.`,invitationNotFound:`Esta invitación ya no existe o ha caducado.`,unknown:`Algo salió mal. Inténtelo de nuevo.`},backToList:`Volver a las organizaciones`,notFound:`Organización no encontrada`,notFoundDescription:`Esta organización no existe o no tienes acceso.`,tabs:{members:`Miembros`,invitations:`Invitaciones`,settings:`Configuración`},members:{title:`Miembros`,inviteMember:`Invitar miembro`,inviteRestrictedNote:`Solo los administradores de la organización pueden invitar a miembros.`,removeMember:`Eliminar miembro`,removeConfirmTitle:`¿Eliminar miembro?`,removeConfirmDescription:`Se eliminará a {{name}} de la organización y perderá el acceso de inmediato.`,removeConfirmAction:`Eliminar`,memberRemoved:`Miembro eliminado`,removeFailed:`No se pudo eliminar al miembro`,roleUpdated:`Rol actualizado`,roleUpdateFailed:`No se pudo actualizar el rol`,memberActions:`Acciones del miembro`,loadFailed:`No se pudieron cargar los miembros`},invitations:{title:`Invitaciones`,empty:`No hay invitaciones.`,expiresAt:`Caduca`,linkCopied:`Enlace de invitación copiado`,copyFailed:`No se pudo copiar el enlace`,canceled:`Invitación cancelada`,cancelFailed:`No se pudo cancelar la invitación`,cancelTitle:`¿Cancelar la invitación?`,cancelDescription:`Se revocará la invitación de {{email}}.`,cancelAction:`Cancelar invitación`,inviteTitle:`Invitar a un miembro`,inviteDescription:`Recibirá una invitación para unirse a esta organización.`,emailLabel:`Correo electrónico`,roleLabel:`Rol`,placementLabel:`Asignación (opcional)`,placementDescription:`Se aplica cuando se acepta la invitación. Solo se listan las unidades y los puestos que puedes delegar.`,businessUnitLabel:`Unidad de negocio`,businessUnitPlaceholder:`Sin asignación`,positionsLabel:`Puestos`,sendInvite:`Enviar invitación`,sentTitle:`Invitación creada`,sentDescription:`Comparte el enlace de abajo con la persona invitada. Tendrá que iniciar sesión para aceptarla.`,linkLabel:`Enlace de aceptación`,invitedAs:`{{email}} invitado como {{role}}`,copyLinkLabel:`Copiar enlace de invitación`,loadFailed:`No se pudieron cargar las invitaciones`,inviteFailed:`No se pudo invitar al miembro`,status:{all:`Todas`,pending:`Pendiente`,accepted:`Aceptada`,rejected:`Rechazada`,canceled:`Cancelada`}},settings:{generalTitle:`General`,generalDescription:`Actualiza la información de tu organización.`,readOnlyNote:`Solo los propietarios pueden cambiar la configuración.`,nameLabel:`Nombre de la organización`,slugLabel:`Slug`,logoLabel:`Logo`,logoUpload:`Subir`,logoReplace:`Reemplazar`,logoClear:`Quitar`,logoUploaded:`Logo subido: guarda para aplicarlo`,logoUploadFailed:`No se pudo subir el logo`,save:`Guardar cambios`,saved:`Configuración guardada`,saveFailed:`No se pudo guardar la configuración`,leaveTitle:`Salir de la organización`,leaveDescription:`Perderás el acceso a esta organización.`,leaveAction:`Salir`,leaveConfirmTitle:`¿Salir de la organización?`,leaveConfirmDescription:`¿Seguro que quieres salir de {{name}}? Perderás el acceso de inmediato.`,leaveConfirmAction:`Salir`,leftOrg:`Has salido de la organización`,leaveFailed:`No se pudo salir de la organización`,dangerZone:`Zona de peligro`,deleteTitle:`Eliminar organización`,deleteDescription:`Elimina permanentemente esta organización y todos sus datos.`,deleteAction:`Eliminar`,deleteConfirmTitle:`¿Eliminar la organización?`,deleteConfirmDescription:`Esta acción es irreversible. Todos los datos se eliminarán de forma permanente. Escribe el slug de la organización para confirmar.`,deleteConfirmSlugLabel:`Escribe «{{slug}}» para confirmar`,deleteConfirmAction:`Eliminar organización`,deleted:`Organización eliminada`,deleteFailed:`No se pudo eliminar la organización`},accept:{title:`Te han invitado`,description:`Te han invitado a unirte a {{orgName}} como {{role}}.`,errorTitle:`Invitación no disponible`,goToOrgs:`Ir a las organizaciones`,loading:`Cargando la invitación…`,organization:`Organización`,role:`Rol`,expiresAt:`Caduca`,accept:`Aceptar invitación`,accepted:`Invitación aceptada`,acceptFailed:`No se pudo aceptar la invitación`,decline:`Rechazar`,declined:`Invitación rechazada`,declineFailed:`No se pudo rechazar la invitación`},current:{label:`Organización actual`},switcher:{label:`Cambiar de organización`,groupLabel:`Organización de trabajo`,groupHint:`Los registros nuevos se crean aquí. Las vistas muestran datos de todas tus organizaciones.`,manageMembers:`Administrar miembros`}},notifications:{regionLabel:`Notificaciones`,groupCount:`{{count}} notificaciones`,groupUnread:`{{count}} sin leer`,groupUnread_one:`{{count}} sin leer`,groupUnread_many:`{{count}} sin leer`,groupUnread_other:`{{count}} sin leer`,groupMarkRead:`Marcar como leídas`,groupMarkReadTitle:`Marcar como leídas todas las de este tipo`,empty:`Sin notificaciones`,markAllRead:`Marcar todo como leído`,viewAll:`Ver todas las notificaciones`,approvalsPending:`{{count}} aprobaciones pendientes`,approvalsPending_one:`{{count}} aprobación pendiente`,approvalsPending_many:`{{count}} de aprobaciones pendientes`,approvalsPending_other:`{{count}} aprobaciones pendientes`,viewApprovals:`Ver aprobaciones`,noPendingApprovals:`Sin aprobaciones pendientes`,openApprovalsInbox:`Abrir bandeja de aprobaciones`,badgeTotal:`{{total}} en total`,badgeNotifications:`{{unread}} notificaciones`,badgeApprovals:`{{approvals}} aprobaciones pendientes`,arrivalMany:`{{count}} mensajes nuevos`,arrivalMany_one:`{{count}} mensaje nuevo`,arrivalMany_many:`{{count}} de mensajes nuevos`,arrivalMany_other:`{{count}} mensajes nuevos`,arrivalRepeats:`{{count}} mensajes nuevos sobre este tema`,arrivalRepeats_one:`{{count}} mensaje nuevo sobre este tema`,arrivalRepeats_many:`{{count}} de mensajes nuevos sobre este tema`,arrivalRepeats_other:`{{count}} mensajes nuevos sobre este tema`,arrivalOpen:`Ver`,toastEnabled:`Avisos en la aplicación`,desktopEnabled:`Notificaciones de escritorio`,desktopBlocked:`Bloqueado. Permite las notificaciones de este sitio en la configuración del navegador.`,desktopUnsupported:`Este navegador no admite notificaciones de escritorio.`,emptyUnread:`Todo al día`,filterUnread:`No leídos`,filterAll:`Todos`},publicForm:{submit:`Enviar`,submitting:`Enviando…`,submitAnother:`Enviar otra respuesta`,poweredBy:`Desarrollado por ObjectStack`,secureNotice:`Su información se transmite de forma segura y solo se usa para atender su solicitud.`,thankYouTitle:`¡Gracias!`,thankYouMessage:`Su envío fue recibido correctamente.`,redirecting:`Redirigiendo en {{seconds}} segundos…`,redirectPending:`Redirigiendo…`,unavailableTitle:`Formulario no disponible`,unavailableDescription:`No hay formulario público disponible en esta URL. Asegúrese de que la vista subyacente tenga habilitado el uso compartido anónimo.`,tryDemo:`Probar demo`,retry:`Reintentar`,loading:`Cargando formulario…`,requiredHint:`* Campo obligatorio`,requiredFields:`Campos obligatorios: {{fields}}`,consentLabelDefault:`Acepto la política de privacidad y doy mi consentimiento para procesar mis datos para esta solicitud.`,consentLink:`Política de privacidad`,consentRequired:`Acepte la política de privacidad para continuar.`,rateLimited:`Tómese un momento para revisar sus respuestas antes de enviar.`,redirectBlocked:`Envío aceptado, pero la URL de redirección fue bloqueada por seguridad.`},connectAgent:{disabled:{title:`MCP está deshabilitado en esta implementación`,body:`La superficie MCP está apagada (OS_MCP_SERVER_ENABLED=false). Pida a su operador que la vuelva a habilitar.`},url:{title:`Endpoint MCP de este entorno`,body:`Cualquier cliente de IA compatible con MCP se conecta con esta URL. La identidad es autoservicio: la implementación es su propio servidor de autorización OAuth 2.1 — inicia sesión como usted mismo y cada llamada corre bajo sus permisos y seguridad a nivel de fila.`,downloadSkill:`Descargar SKILL.md`,skillHint:`La skill portátil del agente: enseña a cualquier agente compatible cómo trabajar con este entorno.`},claude:{body:`Configuración → Conectores → Añadir conector personalizado, pegue esta URL e inicie sesión en el navegador.`,reachability:`claude.ai (web) se conecta desde los servidores de Anthropic — la implementación debe ser accesible por HTTPS público. Claude Desktop y los clientes locales también alcanzan implementaciones de intranet.`},claudeCode:{body:`Un comando — el inicio de sesión OAuth se abre automáticamente en el primer uso:`,plugin:`O instale el plugin oficial (añade la skill de ObjectStack y el comando guiado /objectstack:connect):`},cursor:{addButton:`Añadir a Cursor`,body:`Use el botón de un clic o añada esto a .cursor/mcp.json:`},vscode:{body:`Añadir a .vscode/mcp.json (o mediante el comando MCP: Add Server):`},codex:{body:`Añadir a ~/.codex/config.toml. Si su versión de Codex no admite el flujo OAuth, use una cabecera de clave API (ver abajo):`},apiKey:{title:`Claves API`,badge:`headless`,body:`Para CI, scripts y agentes sin navegador. La clave actúa como usted — trátela como una contraseña. Se muestra UNA sola vez.`,namePlaceholder:`Nombre de la clave (p. ej. ci-agent)`,mint:`Crear clave`,minting:`Creando…`,showOnce:`Clave «{{name}}» creada — cópiela ahora, no se volverá a mostrar:`,done:`Listo — ocultar`}},excelImport:{noImportableFields:`Ese objeto no tiene campos importables.`,schemaReadFailed:`No se pudo leer el esquema del objeto.`,imported:`Se importaron {{count}} fila(s) en {{object}}.`,imported_one:`Se importó {{count}} fila en {{object}}.`,imported_many:`Se importaron {{count}} de filas en {{object}}.`,imported_other:`Se importaron {{count}} filas en {{object}}.`,importFrom:`Importar las filas reales desde`,into:`a`,opening:`Abriendo…`,importAction:`Importar`,dismiss:`Descartar`},cloudOnboarding:{hintCreate:`Cree su primer entorno: un espacio de trabajo privado con su propia URL, base de datos y plan. La creación de aplicaciones ocurre dentro de él.`,hintReady:`Su entorno de producción está listo. Ábralo para crear y ejecutar sus aplicaciones: todo ocurre dentro del entorno.`,createEnvironment:`Cree su entorno`,openProduction:`Abrir producción`,manageEnvironments:`Gestionar entornos`},cloudPlanStatus:{current:`Plan actual`},ai:{nlQuery:{placeholder:`Haga una pregunta sobre sus datos…`,ask:`Preguntar`,results:`Resultados`,match:`Coincidencia: {{percent}}`,simulatedSummary:`Resultados de: {{query}}`,noResults:`No se encontraron registros coincidentes`,recentQueries:`Consultas recientes`},formAssist:{title:`Sugerencias de IA`,suggestionCount:`{{count}} sugerencias`,suggestionCount_one:`{{count}} sugerencia`,suggestionCount_many:`{{count}} de sugerencias`,suggestionCount_other:`{{count}} sugerencias`,applyAll:`Aplicar todo`,confidence:`Confianza: {{percent}}`,appliedCount:`{{count}} sugerencias aplicadas`,appliedCount_one:`{{count}} sugerencia aplicada`,appliedCount_many:`{{count}} de sugerencias aplicadas`,appliedCount_other:`{{count}} sugerencias aplicadas`},recommendations:{title:`Recomendaciones`,generating:`Generando recomendaciones…`,empty:`No hay recomendaciones disponibles`}},aiApprovals:{title:`Aprobaciones de IA`,description:`Acciones propuestas por un agente de IA que necesitan revisión humana antes de ejecutarse.`,tabPending:`Pendientes`,tabDecided:`Decididas`,tabAll:`Todas`,statusPending:`Pendiente`,statusApproved:`Aprobada`,statusExecuted:`Ejecutada`,statusFailed:`Fallida`,statusRejected:`Rechazada`,colTool:`Herramienta`,colAction:`Acción`,colObject:`Objeto`,colStatus:`Estado`,colProposed:`Propuesta`,colDecision:`Decisión`,emptyTitle:`No hay acciones en espera`,emptyDescription:`Cuando la IA proponga una acción sensible, aparecerá aquí para su revisión.`,view:`Ver`,approve:`Aprobar`,reject:`Rechazar`,working:`Procesando…`,approveAndExecute:`Aprobar y ejecutar`,outcomeApprove:`Aprobación de {{id}}: {{message}}`,outcomeReject:`Rechazo de {{id}}: {{message}}`,outcomeExecuteFailed:`La acción falló durante su ejecución`,drawerFallbackTitle:`Acción pendiente`,drawerSubtitle:`Herramienta {{tool}} sobre {{object}}`,fieldProposedBy:`Propuesta por`,fieldDecidedBy:`Decidida por`,fieldConversation:`Conversación`,fieldToolInput:`Entrada de la herramienta`,fieldResult:`Resultado`,fieldError:`Error`,fieldRejectionReason:`Motivo del rechazo`,rejectTitle:`¿Rechazar esta acción?`,rejectBody:`El motivo se devuelve a la IA para que ajuste su siguiente respuesta.`,rejectPlaceholder:`Motivo opcional (p.\xA0ej.: «ID de registro incorrecto — confírmalo antes con la persona usuaria.»)`},aiModelStatus:{summary:`Crear / Preguntar usa {{conversational}} ({{conversationalSource}}); estructurado usa {{structured}} ({{structuredSource}}).`,summaryRouting:`Política de enrutamiento: planes gratuitos → {{free}}, planes de pago → {{paid}}.`,modelUnknown:`desconocido`,sourceUnknown:`no informado por el adaptador`,rowConversational:`Modelo Build / Ask`,rowStructured:`Estructurado (blueprint / seed)`,rowReasoning:`Esfuerzo de razonamiento`,readFailed:`No se pudo leer el modelo de IA efectivo. Puede que este entorno no ejecute un servicio de IA o que no tenga el permiso ai:read.`,readFailedWithStatus:`No se pudo leer el modelo de IA efectivo (HTTP {{status}}). Puede que este entorno no ejecute un servicio de IA o que no tenga el permiso ai:read.`,overridesInEffect:`Anulaciones vigentes: `,noOverrides:`ninguna: se usan los valores predeterminados del código desplegado.`,adapter:`Adaptador: `,sourceCodeDefault:`valor predeterminado del código (sin anulación env)`,sourceInherits:`igual que build/ask`,sourcePinned:`fijado por {{source}}`},chatbot:{tool:{aggregate_data:`Resumir datos`,get_record:`Obtener registro`,query_data:`Consultar datos`,query_records:`Consultar registros`,search_knowledge:`Buscar en la base de conocimiento`,visualize_data:`Crear gráfico`,add_field:`Añadir campo`,apply_blueprint:`Construir la aplicación`,apply_edit:`Aplicar cambios`,create_metadata:`Crear metadatos`,create_object:`Crear objeto`,create_package:`Crear paquete`,create_seed:`Generar datos de ejemplo`,delete_field:`Eliminar campo`,describe_metadata:`Consultar metadatos`,describe_object:`Consultar la estructura del objeto`,get_active_package:`Obtener el paquete activo`,get_authoring_rules:`Leer las reglas de autoría`,get_metadata_schema:`Obtener el esquema de metadatos`,get_package:`Obtener paquete`,list_metadata:`Listar metadatos`,list_objects:`Listar objetos`,list_packages:`Listar paquetes`,load_tools:`Cargar herramientas`,modify_field:`Modificar campo`,open_record:`Abrir registro`,propose_blueprint:`Diseñar el plan de la aplicación`,set_active_package:`Cambiar el paquete activo`,suggest_builder:`Sugerir cómo construirlo`,test_flow:`Probar el flujo`,todo_write:`Anotar tareas`,toggle_flow:`Activar o desactivar el flujo`,update_metadata:`Actualizar metadatos`,validate_expression:`Validar expresión`,verify_build:`Verificar la construcción`},toolState:{agentActivity:`Actividad del agente`,pending:`Pendiente`,running:`En curso`,awaitingApproval:`Esperando aprobación`,responded:`Respondido`,completed:`Completado`,error:`Error`,denied:`Denegado`,failed:`Fallido`},plan:{countObjects:`{{count}} objetos`,countObjects_one:`{{count}} objeto`,countObjects_many:`{{count}} de objetos`,countObjects_other:`{{count}} objetos`,countViews:`{{count}} vistas`,countViews_one:`{{count}} vista`,countViews_many:`{{count}} de vistas`,countViews_other:`{{count}} vistas`,countDashboards:`{{count}} paneles`,countDashboards_one:`{{count}} panel`,countDashboards_many:`{{count}} de paneles`,countDashboards_other:`{{count}} paneles`,countSeedData:`datos de ejemplo`},build:{building:`Creando {{app}}…`,built:`Creación de {{app}} completada`,appFallback:`su aplicación`,addingSampleData:`añadiendo datos de ejemplo`,group:{object:`Objetos`,view:`Vistas`,dashboard:`Paneles`,app:`Aplicación`,seed:`Datos de ejemplo`},moreArtifacts:`+{{n}} más`}},chatbotError:{title:`Error en la respuesta`,fallbackDetail:`Algo salió mal. Vuelva a intentarlo.`,details:`Detalles`,hide:`Ocultar`,retry:`Reintentar`},chatbotQuota:{title:`Se requiere actualizar`,fallbackMessage:`Ha alcanzado su cuota de IA.`,buyCredits:`Comprar un paquete de créditos`,upgradePlan:`Mejorar el plan`},environment:{addEnvironment:`Añadir entorno`,setUpProduction:`Configure su entorno de producción`,addDevelopment:`Añadir entorno de desarrollo`,entitlement:{productionLimitTitle:`Ya tiene su entorno de producción`,productionLimitBody:`Cada organización incluye exactamente un entorno de producción. Cree una organización aparte para tener otro, o contáctenos para conocer un acuerdo Enterprise.`,planLockedTitle:`Los entornos de desarrollo son una función de pago`,planLockedBody:`Su {{plan}} incluye un entorno de producción. Mejore su plan para añadir entornos de desarrollo: construya en desarrollo y luego publique en producción.`,limitTitle:`Límite de entornos de desarrollo alcanzado`,limitBody:`La capacidad crece con los puestos de IA. Añada un puesto de IA, o archive un entorno de desarrollo sin usar para liberar espacio.`,limitBodyWithCount:`Está usando {{used}} de {{limit}} entornos de desarrollo. La capacidad crece con los puestos de IA: añada un puesto de IA, o archive un entorno de desarrollo sin usar.`,freePlan:`plan gratuito`,namedPlan:`plan {{plan}}`,upgradeCta:`Mejorar plan`,contactSalesCta:`Contactar con ventas`}},cloudConnection:{checking:`Comprobando la conexión…`,retry:`Reintentar`,errors:{expired:`La solicitud caducó antes de ser aprobada. Vuelva a empezar.`,accessDenied:`La solicitud de conexión fue rechazada. Vuelva a empezar.`,bindFailed:`Error al vincular.`,deviceCodeFailed:`Error en la solicitud del código de dispositivo.`},waiting:{popupOpened:`Apruebe la conexión en la ventana que acaba de abrirse: esta página se actualiza sola.`,polling:`Esperando la aprobación en la consola de la nube…`,openApproval:`Abrir la página de aprobación`,copy:`Copiar`,copied:`Copiado`,codePrefilled:`El código ya está rellenado en la página de aprobación.`,openItHere:`¿No apareció la ventana? Ábrala aquí`,cancel:`Cancelar`},bound:{title:`Conectado a ObjectStack Cloud`,runtime:`Runtime`,organization:`Organización`,approvedBy:`Aprobado por`,runtimeId:`ID del runtime`,environment:`Entorno`,since:`Desde`,privatePackages:`Los paquetes privados de su organización ya aparecen en el Marketplace en «Su organización».`,disconnect:`Desconectar`},unbound:{title:`No conectado`,body:`Conecte este runtime a un plano de control de ObjectStack para explorar los paquetes privados de su organización e instalarlos aquí. La aprobación es un solo clic en su cuenta de la nube: no se escriben identificadores ni credenciales en esta página.`,connect:`Conectar`}},marketplace:{suggestedBindings:{promptEveryone:`Esta aplicación sugiere conceder «{{set}}» a todos los usuarios con sesión iniciada (la posición Everyone).`,promptGuest:`Esta aplicación sugiere conceder «{{set}}» a los visitantes no autenticados (la posición Guest).`,confirm:`Conceder`,confirming:`Concediendo…`,dismiss:`Descartar`,confirmedToast:`«{{set}}» ya está concedido a {{anchor}}.`,dismissedToast:`Sugerencia para «{{set}}» descartada.`},title:`Marketplace de aplicaciones`,subtitle:`Explore aplicaciones aprobadas publicadas en el catálogo de ObjectStack. Haga clic en una aplicación para ver detalles e instalarla en uno de sus entornos.`,searchPlaceholder:`Buscar aplicaciones por nombre o ID de aplicación…`,searchAria:`Buscar aplicaciones del marketplace`,installed:`Instalado`,installedCount:`Instaladas ({{count}})`,refresh:`Actualizar`,all:`Todas`,noApprovedYet:`Aún no hay aplicaciones aprobadas para el marketplace.`,noMatchFilters:`Ninguna aplicación coincide con sus filtros.`,noDescription:`Sin descripción disponible.`,back:`Volver al marketplace`,installedTitle:`Aplicaciones instaladas`,installedSubtitle:`Paquetes del marketplace instalados en el kernel de este runtime.`,installedEmpty:`Aún no hay aplicaciones del marketplace instaladas en este runtime.`,browseLink:`Explorar marketplace →`,installedAdditiveNote:`<strong>Nota:</strong> La API del kernel es solo aditiva — desinstalar elimina el manifiesto del disco para que el paquete no se cargue al próximo inicio, pero el kernel en ejecución mantiene la aplicación registrada hasta reiniciar.`,installedAt:`Instalado {{when}}`,installedBy:`por {{user}}`,installedPackageId:`Paquete`,cachedAs:`Almacenado en caché como <code>{{path}}</code>`,versionBadge:`v{{version}}`,installedBadge:`Instalado v{{version}}`,load:{failed:`No se pudo cargar el marketplace`,failedHintConfigured:`Este runtime accede al marketplace a través del plano de control en {{url}}. Compruebe que esté en línea y sea accesible desde aquí.`,failedHintSameOrigin:`Este runtime sirve el catálogo del marketplace por sí mismo. Compruebe que el runtime esté en línea.`,packageFailed:`No se pudo cargar el paquete`,notFound:`No encontrado.`},disabled:{title:`El marketplace de aplicaciones está desactivado`,description:`Este runtime no tiene ningún marketplace configurado, por lo que no hay nada que explorar ni instalar desde aquí.`,hint:`Ese es el estado esperado cuando el runtime se inicia con <code>OS_CLOUD_URL=off</code> (o <code>none</code>, <code>local</code>, <code>disabled</code>). Para activar el marketplace, apunte <code>OS_CLOUD_URL</code> a un plano de control y reinicie el runtime.`},detail:{homepage:`Página de inicio`,installedV:`Instalado · v{{version}}`,about:`Acerca de`,noReadme:`Sin readme disponible.`,versions:`Versiones`,noApprovedVersions:`Sin versiones aprobadas.`,prerelease:`Prelanzamiento`,moreOptions:`Más opciones de instalación`,uninstallFromRuntime:`Desinstalar de este runtime`,addSampleData:`Agregar datos de ejemplo`,reseedAgain:`Volver a cargar datos de ejemplo`,purgeSampleData:`Eliminar datos de ejemplo`,purgeConfirm:`¿Eliminar todos los registros de ejemplo creados por este paquete? Los registros añadidos por el usuario NO se verán afectados.`,purgeSuccess:`Se eliminaron {{count}} registro(s) de ejemplo.`,purgeSuccess_one:`Se eliminó {{count}} registro de ejemplo.`,purgeSuccess_many:`Se eliminaron {{count}} de registros de ejemplo.`,purgeSuccess_other:`Se eliminaron {{count}} registros de ejemplo.`,purgeNoData:`No se encontraron registros de ejemplo para eliminar.`,reseedQueued:`Los datos de ejemplo se volverán a cargar en el próximo acceso al entorno.`,reseedLocalSuccess:`Datos de ejemplo recargados: {{inserted}} insertados, {{updated}} actualizados.`,reseedPartialErrors:`({{count}} registro(s) no se pudieron escribir)`,reseedPartialErrors_one:`({{count}} registro no se pudo escribir)`,reseedPartialErrors_many:`({{count}} de registros no se pudieron escribir)`,reseedPartialErrors_other:`({{count}} registros no se pudieron escribir)`,sampleDataKernelUnavailable:`Este plano de control no tiene un kernel de entorno, por lo que los datos de ejemplo no se pueden volver a cargar ni eliminar desde aquí. Hágalo desde el propio runtime del entorno.`,updateAvailable:`Actualización disponible`},action:{installed:`Instalada`,install:`Instalar`,reinstall:`Reinstalar`,working:`Procesando…`,installToCloud:`Instalar en la nube…`,installing:`Instalando…`,uninstall:`Desinstalar`,uninstalling:`Desinstalando…`,details:`Detalles`,close:`Cerrar`,dismiss:`Descartar`,openOnCloud:`Abrir en la nube`,backHome:`Volver al inicio`,updateTo:`Actualizar`},install:{dialogTitle:`Instalar {{name}}`,dialogDescCurrent:`Instalar en este entorno ({{host}}).`,dialogDescPicker:`Elija un entorno donde instalar esta aplicación. Debe haber iniciado sesión en ObjectStack Cloud.`,environment:`Entorno`,environmentPlaceholder:`Seleccionar entorno`,includeSampleData:`Incluir datos de muestra`,noEnvs:`No se encontraron entornos en su organización activa.`,noPermission:`No tiene permiso para instalar aplicaciones en un entorno. Solo los propietarios y administradores de la organización pueden instalar.`,signInFirst:`Primero debe iniciar sesión en ObjectStack Cloud.`,success:`Instalado correctamente. Abra el entorno para ver la nueva aplicación.`,localSuccess:`v{{version}} instalado en este runtime. "{{name}}" debería aparecer en el selector de aplicaciones ahora.`,localManifestConflict:`{{message}}
2
+ Nota: Una aplicación local ya tiene este manifest_id. Primero elimínela de objectstack.config.ts.`,localUnauthorized:`Primero inicie sesión en este runtime.`,localMarketplaceUnavailable:`Este runtime no tiene configurado OS_CLOUD_URL.`,updateTo:`Actualizar → v{{version}}`,installedVersion:`Instalado v{{version}}`},org:{heading:`Su organización`,install:`Instalar`,installed:`{{name}} instalado`,installedBadge:`Instalado`,installing:`Instalando…`},disclosure:{containsCode:`Este paquete contiene código`,reviewed:`Revisado y aprobado`,unreviewed:`Sin revisar todavía`,signed:`Firmado`,grantsIntro:`Este paquete solicita:`,notEnforced:`Esta lista se registra al instalar y se vuelve a confirmar si una versión posterior solicita más, pero el runtime aún no restringe el paquete a ella.`,services:`Servicios de la plataforma`,hooks:`Hooks de ciclo de vida`,network:`Acceso a la red`,fs:`Acceso al sistema de archivos`,noPermissions:`No solicita permisos especiales.`,acknowledge:`Entiendo que este paquete ejecuta código y recibe los permisos anteriores.`,runtime:{node:`En el proceso · confianza total`,sandbox:`En sandbox`,worker:`Fuera del proceso`}},uninstall:{confirm:`¿Desinstalar {{manifestId}} v{{version}} de este runtime?
3
+
4
+ El manifiesto en caché será eliminado.`,successInList:`{{manifestId}} eliminado. Reinicie el runtime para descargarlo completamente.`,successInDetail:`Manifiesto en caché para {{manifestId}} eliminado.`},accessDenied:{title:`Marketplace solo para administradores`,description:`No tiene permiso para instalar aplicaciones en este entorno.`},category:{crm:`CRM`,erp:`ERP`,hr:`RRHH`,finance:`Finanzas`,project:`Gestión de proyectos`,collaboration:`Colaboración`,analytics:`Analítica`,integration:`Integración`,automation:`Automatización`,ai:`IA`,security:`Seguridad`,"developer-tools":`Herramientas de desarrollador`,"ui-theme":`Tema de UI`,storage:`Almacenamiento`,other:`Otro`},relativeTime:{today:`hoy`,daysAgo:`hace {{count}}d`,monthsAgo:`hace {{count}} meses`,monthsAgo_one:`hace {{count}} mes`,monthsAgo_many:`hace {{count}} meses`,monthsAgo_other:`hace {{count}} meses`,yearsAgo:`hace {{count}} años`,yearsAgo_one:`hace {{count}} año`,yearsAgo_many:`hace {{count}} años`,yearsAgo_other:`hace {{count}} años`}},approvalsInbox:{recordUnresolvable:`Este registro no se puede abrir`,loadMore:`Cargar más`,loadingMore:`Cargando…`,loadedOf:`{{loaded}} de {{total}} cargadas`,actEscalate:`SLA escalado`,systemSlaActor:`Sistema (SLA)`,reassignBtn:`Reasignar`,reassignTitle:`¿Pasar esta aprobación a otra persona?`,reassignBody:`Tu puesto de aprobador pasa a la persona elegida; se le notifica y puede actuar de inmediato.`,reassignTo:`Nuevo aprobador`,reassignToPlaceholder:`Elige un usuario o escribe un email / role:<nombre>`,reassignSuccess:`Reasignada a {{to}}`,requestInfoBtn:`Pedir información`,requestInfoTitle:`¿Pedir más información al solicitante?`,requestInfoBody:`La solicitud sigue pendiente; el solicitante recibe un aviso y puede responder en el hilo.`,requestInfoPlaceholder:`¿Qué necesitas del solicitante?`,requestInfoSent:`Devuelta al solicitante para más información`,remindBtn:`Recordatorio`,remindSuccess:`Recordatorio enviado a {{count}} aprobador(es)`,remindSuccess_one:`Recordatorio enviado a {{count}} aprobador`,remindSuccess_many:`Recordatorio enviado a {{count}} de aprobadores`,remindSuccess_other:`Recordatorio enviado a {{count}} aprobadores`,remindThrottled:`Ya se envió un recordatorio hace poco; inténtalo más tarde.`,replyPlaceholder:`Responder en esta solicitud…`,slaRemaining:`SLA: quedan {{dur}}`,slaOverdue:`SLA vencido {{dur}}`,actReassign:`Reasignada`,reassignFromTo:`de {{from}} a {{to}}`,actRemind:`Recordatorio`,actRequestInfo:`Pidió más información`,actComment:`Comentó`,stepProgress:`Pasos de aprobación`,prevRequest:`Anterior`,nextRequest:`Siguiente`,positionOf:`Solicitud {{index}} de {{total}}`,progressApprovals:`Aprobaciones — {{got}} de {{need}}`,progressGroups:`Progreso de firmas — {{got}} de {{need}} grupos`,progressEligible:`{{count}} aprobador(es) elegible(s)`,progressEligible_one:`{{count}} aprobador elegible`,progressEligible_many:`{{count}} de aprobadores elegibles`,progressEligible_other:`{{count}} aprobadores elegibles`,progressBar:`Progreso de la decisión`,declaredActions:`Acciones`,attachmentChip:`Adjunto`,attachmentOpenFailed:`No se pudo abrir el archivo adjunto: inténtalo de nuevo`,approveOneTitle:`¿Aprobar «{{title}}»?`,approveOneBody:`Esto aprueba la solicitud con tu identidad. Para añadir un comentario o un adjunto, abre la solicitud.`,flowOrigin:`Iniciada por flujo`,sortBy:`Ordenar`,sortRecent:`Más recientes primero`,sortOldest:`Más antiguas primero`,sortAmount:`Importe (mayor→menor)`,quickPhrase1:`Aprobada: cumple los requisitos.`,quickPhrase2:`Aprobada con condiciones: supervisar la ejecución.`,quickPhrase3:`Añade documentación de apoyo y vuelve a enviarla.`,title:`Centro de aprobaciones`,subtitle:`Revisa y gestiona las solicitudes de aprobación.`,refresh:`Actualizar`,tabMyPending:`Pendientes de mí`,tabSubmitted:`Enviadas por mí`,tabAll:`Todas`,searchPlaceholder:`Buscar registro, proceso, solicitante…`,clearSearch:`Borrar búsqueda`,statusFilter:`Estado`,allStatuses:`Todos los estados`,processFilter:`Proceso`,allProcesses:`Todos los procesos`,objectFilter:`Objeto`,allObjects:`Todos los objetos`,filterCount:`{{shown}} de {{total}}`,selected:`seleccionadas`,actionableCount:`({{count}} accionables)`,actionableCount_one:`({{count}} accionable)`,actionableCount_many:`({{count}} accionables)`,actionableCount_other:`({{count}} accionables)`,selectAll:`Seleccionar todo`,selectRow:`Seleccionar solicitud`,colRequest:`Solicitud`,colRecord:`Registro`,colRequester:`Solicitante`,colStatus:`Estado`,colWaiting:`Enviada`,colActions:`Acciones`,statusPending:`Pendiente`,statusApproved:`Aprobada`,statusRejected:`Rechazada`,statusRecalled:`Retirada`,statusReturned:`Devuelto para revisión`,sendBackBtn:`Devolver`,sendBackTitle:`¿Devolver esta solicitud para revisión?`,sendBackBody:`Esta ronda termina y el registro se desbloquea para que el solicitante corrija los datos. Al volver a enviarla, se abre una nueva ronda de aprobación para todos los aprobadores.`,sendBackPlaceholder:`¿Qué hay que corregir antes de poder aprobarla?`,sendBackSuccess:`Devuelta para revisión: el solicitante ya puede editar y volver a enviar`,sendBackAutoRejected:`Límite de revisiones alcanzado: la solicitud se rechazó automáticamente`,actRevise:`Devuelto para revisión`,actResubmit:`Reenviado`,roundChip:`Ronda {{n}}`,returnedHint:`Un aprobador te devolvió esta solicitud. El registro está desbloqueado: corrige los datos y vuelve a enviarla para iniciar una nueva ronda de aprobación.`,resubmitBtn:`Volver a enviar`,resubmitting:`Reenviando…`,resubmitSuccess:`Reenviada: se abrió una nueva ronda de aprobación`,resubmitPlaceholder:`¿Qué cambiaste?`,editRecordBtn:`Editar registro`,abandonTitle:`¿Abandonar esta revisión?`,abandonBody:`La solicitud se retira en lugar de reenviarse. La aprobación termina aquí.`,emptyTitle:`Sin solicitudes`,emptyPending:`Todo al día: nada espera tu aprobación.`,emptyOther:`Aún no hay nada aquí.`,emptyViewAll:`Ver todas las solicitudes`,noMatches:`Sin coincidencias con los filtros actuales.`,keyboardHint:`Teclado: j/k mover · Enter abrir · x seleccionar · a aprobar · r rechazar`,drawerTitle:`Solicitud de aprobación`,submittedAgo:`Enviada {{when}}`,completedAt:`Completada {{when}}`,waitingOn:`A la espera de`,approverNameSeparator:`, `,approverUnstaffed:`{{seat}} (actualmente sin titular)`,history:`Actividad`,noActions:`Aún no hay acciones.`,actSubmit:`Enviada`,actApprove:`Aprobada`,actReject:`Rechazada`,actRecall:`Retirada`,overrideActionLabel:`{{action}} (anulación)`,overrideNotice:`No ocupa ningún puesto de aprobador en este paso. Al continuar se usará su anulación de administrador: el paso se finaliza de inmediato y se omite a cualquier aprobador que aún no haya actuado. La decisión se registra como anulación de administrador.`,overrideNoticeWho:`No ocupa ningún puesto de aprobador en este paso. Al continuar se usará su anulación de administrador: el paso se finaliza de inmediato y se omite a los aprobadores que aún no han actuado — {{who}}. La decisión se registra como anulación de administrador.`,viaOverrideChip:`Anulación de administrador`,viaOverrideHint:`Quien actuó no ocupaba ningún puesto de aprobador en este paso: fue admitido por la vía de anulación de administrador.`,rawData:`Datos sin procesar (JSON)`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Error al copiar`,overrideActor:`Actuar como otra identidad (admin)`,actor:`Actor`,auto:`Auto`,overrideHint:`p. ej. role:sales_manager. Déjalo vacío para usar la identidad detectada.`,comment:`Comentario (opcional)`,approve:`Aprobar`,approving:`Aprobando…`,reject:`Rechazar`,rejecting:`Rechazando…`,recall:`Retirar`,recalling:`Retirando…`,cancel:`Cancelar`,clear:`Limpiar`,approveN:`Aprobar {{count}}`,rejectN:`Rechazar {{count}}`,bulkApproveTitle:`¿Aprobar {{count}} solicitudes?`,bulkApproveTitle_one:`¿Aprobar {{count}} solicitud?`,bulkApproveTitle_many:`¿Aprobar {{count}} de solicitudes?`,bulkApproveTitle_other:`¿Aprobar {{count}} solicitudes?`,bulkApproveBody:`Cada solicitud se aprueba con tu identidad y su flujo continúa por la rama de aprobación.`,bulkRejectTitle:`¿Rechazar {{count}} solicitudes?`,bulkRejectTitle_one:`¿Rechazar {{count}} solicitud?`,bulkRejectTitle_many:`¿Rechazar {{count}} de solicitudes?`,bulkRejectTitle_other:`¿Rechazar {{count}} solicitudes?`,bulkRejectBody:`Se rechazarán las solicitudes seleccionadas y se notificará a los solicitantes.`,bulkApproved:`{{count}} solicitudes aprobadas`,bulkApproved_one:`{{count}} solicitud aprobada`,bulkApproved_many:`{{count}} de solicitudes aprobadas`,bulkApproved_other:`{{count}} solicitudes aprobadas`,bulkRejected:`{{count}} solicitudes rechazadas`,bulkRejected_one:`{{count}} solicitud rechazada`,bulkRejected_many:`{{count}} de solicitudes rechazadas`,bulkRejected_other:`{{count}} solicitudes rechazadas`,bulkPartial:`{{ok}} con éxito, {{fail}} fallidas: {{which}}`,rejectOneTitle:`¿Rechazar "{{title}}"?`,rejectOneBody:`Se rechaza la solicitud y se notifica al solicitante.`,rejectTitle:`¿Rechazar esta solicitud?`,rejectBody:`La solicitud se marcará como rechazada y se notificará al solicitante.`,recallTitle:`¿Retirar esta solicitud?`,recallBody:`Al retirarla, los aprobadores ya no podrán actuar y el registro se desbloqueará.`,inlineApproved:`"{{title}}" aprobada`,inlineRejected:`"{{title}}" rechazada`,approvedFinal:`Aprobada`,approvedWaiting:`Aprobada — a la espera del resto de aprobadores`,rejectedToast:`Rechazada`,recalledToast:`Solicitud retirada`,whyDisabled:`Solo los aprobadores asignados pueden actuar. A la espera de: {{who}}.`,whyDisabledSubmitter:`Enviaste esta solicitud, así que puedes retirarla; pero solo los aprobadores asignados pueden aprobarla o rechazarla.`,noActor:`No se puede determinar la identidad`,actionFailed:`La acción falló`,loadFailed:`No se pudo cargar la solicitud`,recallUnavailable:`Retirar no está disponible en esta implementación.`,requestGone:`Esta solicitud ya no existe. Actualiza la lista.`,notAllowed:`No tienes permiso para realizar esta acción.`,alreadyDecided:`Esta solicitud ya fue decidida. Actualiza la lista.`,justNow:`justo ahora`,minutesAgo:`hace {{count}} min`,minutesAgo_one:`hace {{count}} min`,minutesAgo_many:`hace {{count}} min`,minutesAgo_other:`hace {{count}} min`,hoursAgo:`hace {{count}} h`,hoursAgo_one:`hace {{count}} h`,hoursAgo_many:`hace {{count}} h`,hoursAgo_other:`hace {{count}} h`,daysAgo:`hace {{count}} días`,daysAgo_one:`hace {{count}} día`,daysAgo_many:`hace {{count}} días`,daysAgo_other:`hace {{count}} días`},preview:{empty:{loadFailedTitle:`No se pudo cargar la vista previa del borrador`,loadFailedDescription:`No se pudo leer la capa de borrador. Reintenta o comprueba tu conexión.`,notReadyTitle:`«{{app}}» aún no está en el borrador`,notReadyDescription:`La compilación puede seguir en curso, o falló antes de preparar esta aplicación. Revise la conversación para ver el estado — este panel se actualiza cuando llegan borradores.`,nothingTitle:`Nada que previsualizar todavía`,retry:`Reintentar`},draftBar:{messageClean:`Vista previa del borrador — no hay cambios sin publicar; todo lo que ve aquí ya está activo.`,sampleDataTitle:`Los datos de ejemplo aparecen tras publicar`,sampleDataBody:`Está viendo la estructura de su aplicación. Publíquela para cargar registros de ejemplo y activarla.`,publishCta:`Publicar para verlo activo`,message:`Vista previa del borrador — está viendo cambios sin publicar. Nada de lo que ve aquí está activo hasta que publique.`,publish:`Publicar`,publishing:`Publicando…`,exit:`Salir de la vista previa`,changes:`Cambios`},changes:{title:`Cambios pendientes`,description:`Lo que cambiará al publicar. Los elementos nuevos se añaden; las actualizaciones sobrescriben la versión publicada.`,loading:`Cargando cambios pendientes…`,loadFailed:`No se pudieron cargar los cambios pendientes:`,empty:`Nada pendiente — todos los borradores se han publicado.`,kindNew:`Nuevo`,kindUpdate:`Actualización`,detailLoading:`Cargando detalles…`,detailLoadFailed:`No se pudieron cargar los detalles del cambio:`,detailNone:`No se detectaron diferencias — el borrador coincide con la versión publicada.`,detailChangedKeys:`También cambió:`,confirmNote:`Publicar libera atómicamente los {{count}} borradores pendientes de este paquete.`,confirmNote_one:`Publicar libera atómicamente {{count}} borrador pendiente de este paquete.`,confirmNote_many:`Publicar libera atómicamente los {{count}} de borradores pendientes de este paquete.`,confirmNote_other:`Publicar libera atómicamente los {{count}} borradores pendientes de este paquete.`,confirmNoteSeparate:`Publicar libera los {{count}} borradores pendientes uno por uno: el que falle sigue pendiente y los demás se publican igualmente.`,confirmNoteSeparate_one:`Publicar libera {{count}} borrador pendiente por sí solo: si falla, sigue pendiente.`,confirmNoteSeparate_many:`Publicar libera los {{count}} de borradores pendientes uno por uno: el que falle sigue pendiente y los demás se publican igualmente.`,confirmNoteSeparate_other:`Publicar libera los {{count}} borradores pendientes uno por uno: el que falle sigue pendiente y los demás se publican igualmente.`,publishConfirm:`Publicar todo`,securityBlockTitle:`La publicación será rechazada: {{count}} elemento(s) necesitan una decisión primero`,securityBlockTitle_one:`La publicación será rechazada: {{count}} elemento necesita una decisión primero`,securityBlockTitle_many:`La publicación será rechazada: {{count}} de elementos necesitan una decisión primero`,securityBlockTitle_other:`La publicación será rechazada: {{count}} elementos necesitan una decisión primero`,securityBlockWhere:`Corríjalo en el objeto en Configuración → Uso compartido de registros y vuelva a publicar.`},unpublishedBar:{message:`Aplicación sin publicar — totalmente funcional, pero solo la ven los creadores. Publíquela para que sus usuarios la vean.`,publish:`Publicar`,publishing:`Publicando…`,published:`¡Publicado! La aplicación ya es visible para sus usuarios.`,publishFailed:`Error al publicar`},history:{button:`Historial`,title:`Historial de compilaciones`,description:`Todos los cambios de esta aplicación, los más recientes primero. Deshaga cualquier paso para revertirlo — no hace falta confirmar la publicación.`,loadFailed:`No se pudo cargar el historial:`,loadFailedUnavailable:`Almacén de commits temporalmente inaccesible — esta lectura no se produjo, por lo que no se muestra ningún historial. Vuelva a intentarlo en un momento.`,loading:`Cargando historial…`,empty:`Aún no hay historial para esta aplicación.`,revertLabel:`Se deshizo un cambio`,applyLabel:`Cambio de compilación`,revert:`deshacer`,items:`Elementos: {{count}}`,revertAction:`Deshacer`,reverted:`Deshecho — el cambio se ha revertido.`,revertFailed:`Error al deshacer`,revertUnavailable:`Almacén de commits temporalmente inaccesible — es posible que la reversión no se haya aplicado. Vuelva a abrir este historial para comprobarlo antes de reintentar.`}},filterBuilder:{where:`Donde`,and:`Y`,or:`O`,clearAll:`Borrar todo`,selectField:`Seleccionar campo`,operator:`Operador`,selectValue:`Seleccionar valor`,value:`Valor`,addFilter:`Agregar filtro`,removeCondition:`Quitar condición`,trueLabel:`Verdadero`,falseLabel:`Falso`,noResults:`Sin resultados`,searchField:`Buscar {{label}}…`,enterId:`Ingresar ID de {{label}}`,addValue:`Escriba un valor y pulse Intro`,removeValue:`Quitar {{value}}`,rangeStart:`Desde`,rangeEnd:`Hasta`,operators:{equals:`Igual a`,not_equals:`Distinto de`,contains:`Contiene`,icontains:`Contiene (ignorar mayúsculas)`,not_contains:`No contiene`,is_empty:`Está vacío`,is_not_empty:`No está vacío`,greater_than:`Mayor que`,less_than:`Menor que`,greater_than_or_equal:`Mayor o igual`,less_than_or_equal:`Menor o igual`,before:`Antes de`,after:`Después de`,between:`Entre`,in:`En`,not_in:`No en`,starts_with:`Comienza por`,ends_with:`Termina en`,is_null:`Es null`,is_not_null:`No es null`,exists:`Está definido`,notExists:`No está definido`}},sortBuilder:{sortBy:`Ordenar por`,thenBy:`Luego por`,selectField:`Seleccionar campo`,ascending:`A → Z`,descending:`Z → A`,addSort:`Agregar orden`,removeSort:`Quitar orden`},collaboration:{commentCount:`{{count}} comentarios`,commentCount_one:`{{count}} comentario`,commentCount_many:`{{count}} de comentarios`,commentCount_other:`{{count}} comentarios`,resolvedSuffix:` · Resuelto`,sortComments:`Ordenar comentarios`,sortOldest:`Más antiguos`,sortNewest:`Más recientes`,resolve:`Resolver`,reopen:`Reabrir`,justNow:`ahora mismo`,minutesAgo:`hace {{count}} min`,minutesAgo_one:`hace {{count}} min`,minutesAgo_many:`hace {{count}} min`,minutesAgo_other:`hace {{count}} min`,hoursAgo:`hace {{count}} h`,hoursAgo_one:`hace {{count}} h`,hoursAgo_many:`hace {{count}} h`,hoursAgo_other:`hace {{count}} h`,daysAgo:`hace {{count}} d`,daysAgo_one:`hace {{count}} d`,daysAgo_many:`hace {{count}} d`,daysAgo_other:`hace {{count}} d`,edited:`(editado)`,reactionCount:`{{count}} reacciones`,reactionCount_one:`{{count}} reacción`,reactionCount_many:`{{count}} de reacciones`,reactionCount_other:`{{count}} reacciones`,addThumbsUp:`Agregar me gusta`,reply:`Responder`,reactThumbsUp:`Reaccionar con me gusta`,reactHeart:`Reaccionar con corazón`,cancelReply:`Cancelar respuesta`,replyingTo:`Respondiendo a {{name}}…`,replyingToComment:`Respondiendo al comentario…`,commentPlaceholder:`Agregar un comentario… (usa @ para mencionar)`,send:`Enviar`,presentUserCount:`{{count}} usuarios presentes`,presentUserCount_one:`{{count}} usuario presente`,presentUserCount_many:`{{count}} de usuarios presentes`,presentUserCount_other:`{{count}} usuarios presentes`,moreUserCount:`{{count}} usuarios más`,moreUserCount_one:`{{count}} usuario más`,moreUserCount_many:`{{count}} de usuarios más`,moreUserCount_other:`{{count}} usuarios más`,userStatusTitle:`{{name}} ({{status}})`,statusActive:`activo`,statusIdle:`inactivo`,statusAway:`ausente`},wizard:{missingRequired:`Complete los campos obligatorios: {{fields}}`,back:`Atrás`,submitting:`Enviando…`,stepFallback:`Paso {{n}}`,progressLabel:`Progreso`,emptyStep:`No hay campos configurados para este paso`},flowRunner:{title:`Entrada`,submitting:`Enviando…`,saveAndContinue:`Guardar y continuar`,nextStep:`Guardado — paso siguiente`,completed:`Flujo «{{flow}}» completado`},appManagement:{title:`Aplicaciones`,subtitle:`Gestione todas las aplicaciones configuradas`,newApp:`Nueva aplicación`,searchLabel:`Buscar aplicaciones`,searchPlaceholder:`Buscar aplicaciones…`,selectedCount:`{{n}} seleccionadas`,bulkEnable:`Habilitar`,bulkDisable:`Deshabilitar`,selectAll:`Seleccionar todo ({{n}})`,empty:`No se encontraron aplicaciones.`,defaultBadge:`Predeterminada`,active:`Activa`,inactive:`Inactiva`,selectApp:`Seleccionar {{name}}`,openApp:`Abrir aplicación`,openAppNamed:`Abrir {{name}}`,editApp:`Editar aplicación`,editAppNamed:`Editar {{name}}`,editWithAi:`Editar con IA`,editWithAiNamed:`Editar {{name}} con IA`,enableApp:`Habilitar aplicación`,disableApp:`Deshabilitar aplicación`,enableAppNamed:`Habilitar {{name}}`,disableAppNamed:`Deshabilitar {{name}}`,setDefault:`Establecer como predeterminada`,setDefaultNamed:`Establecer {{name}} como predeterminada`,deleteApp:`Eliminar aplicación`,deleteAppNamed:`Eliminar {{name}}`,confirmDelete:`Haga clic de nuevo para confirmar la eliminación`,confirmDeleteNamed:`Confirmar la eliminación de {{name}}`,toast:{noClient:`No se puede acceder al servicio de metadatos`,unknownError:`error desconocido`,appEnabled:`{{name}} habilitada`,appDisabled:`{{name}} deshabilitada`,toggleFailed:`Error al cambiar el estado de la aplicación: {{reason}}`,setDefaultDone:`{{name}} establecida como predeterminada`,setDefaultFailed:`Error al establecer la aplicación predeterminada: {{reason}}`,appDeleted:`{{name}} eliminada`,deleteFailed:`Error al eliminar la aplicación: {{reason}}`,bulkEnabled:`{{n}} aplicaciones habilitadas`,bulkDisabled:`{{n}} aplicaciones deshabilitadas`,bulkFailed:`Error en {{n}}: {{details}}`,bulkFailureEntry:`{{name}} ({{reason}})`,bulkFailureJoiner:`; `,bulkOperationFailed:`Error en la operación masiva: {{reason}}`}},packagedAutomation:{title:`Automatización de paquetes`,subtitle:`Flujos y acciones incluidos en los paquetes instalados. Desactiva uno en esta implementación o clona un flujo con un nombre nuevo para personalizarlo. La edición se hace en Studio.`,refresh:`Actualizar`,flowsHeading:`Flujos de paquete`,actionsHeading:`Acciones de paquete`,colFlow:`Flujo`,colActivation:`Activación`,colActions:`Acciones`,toggleLabel:`Activación de {{label}}`,on:`Activado`,off:`Desactivado`,clone:`Clonar`,cloneTitle:`Clonar flujo del paquete`,cloneBody:`La copia conserva toda la definición y necesita un nombre de máquina y una etiqueta nuevos. Edita la copia en Studio.`,cloneName:`Nuevo nombre de máquina`,cloneLabel:`Nueva etiqueta`,cancel:`Cancelar`,cloneConfirm:`Crear clon`,cloneCreated:`Flujo «{{name}}» creado.`,emptyTitle:`Sin flujos de paquete`,emptyBody:`Ningún paquete instalado incluye un flujo de automatización en esta implementación. Los flujos que creas tú están en Studio.`,loadFailed:`No se pudo cargar la automatización de paquetes.`,toggleFailedHttp:`No se pudo cambiar la activación (HTTP {{status}}).`,toggleFailed:`No se pudo cambiar la activación.`,cloneFailedHttp:`No se pudo clonar este flujo (HTTP {{status}}).`,cloneFailed:`No se pudo clonar este flujo.`,actionsSubtitle:`Acciones incluidas en los paquetes instalados. Desactiva una en esta implementación y dejará de ejecutarse en todos los lugares donde se ofrece. Crear tu propia acción junto a ella sigue estando disponible en Studio.`,colAction:`Acción`,colObject:`Objeto`,actionToggleLabel:`Activación de {{label}} en {{object}}`,actionsEmptyTitle:`Sin acciones de paquete`,actionsEmptyBody:`Ningún paquete instalado declara una acción en esta implementación. Las acciones que creas tú están en Studio.`,actionsLoadFailed:`No se pudieron cargar las acciones de paquete.`},element:{number:{noObject:`No se ha indicado ningún objeto: define object o dataSource.object.`}}};export{t};