@abtnode/blocklet-services 1.16.40-beta-20250314-125842-4252b590 → 1.16.40

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 (159) hide show
  1. package/api/index.js +8 -1
  2. package/api/services/auth/connect/approve-vault.js +81 -0
  3. package/api/services/auth/connect/config-vault.js +6 -3
  4. package/api/services/auth/index.js +2 -0
  5. package/dist/assets/{ArrowDropDown-DmtpNYzo.js → ArrowDropDown-DTIUpsvU.js} +1 -1
  6. package/dist/assets/{CheckCircle-22mGICoW.js → CheckCircle-CzzpsT-_.js} +1 -1
  7. package/dist/assets/{ChevronLeft-nyKliPzW.js → ChevronLeft-CTD-h_rc.js} +1 -1
  8. package/dist/assets/{ChevronRight-CGN5OMyp.js → ChevronRight-DPlXp_5c.js} +1 -1
  9. package/dist/assets/{DeleteOutline-DmMkZpzP.js → DeleteOutline-w4Yzs8Ot.js} +1 -1
  10. package/dist/assets/{Done-CbAS8-OB.js → Done-Dx6K5vD2.js} +1 -1
  11. package/dist/assets/{Download-Ddt8hUJ4.js → Download-DEOALcDO.js} +1 -1
  12. package/dist/assets/{Error-BOf9aSW8.js → Error-D9_qyCdz.js} +1 -1
  13. package/dist/assets/{ExpandLess-Dw9GEAg1.js → ExpandLess-DS6QkgFP.js} +1 -1
  14. package/dist/assets/{Google-D-TGVC9y.js → Google-CbbG9VdQ.js} +1 -1
  15. package/dist/assets/{InfoOutlined-BMCiKW9v.js → InfoOutlined-Ct8i_w2j.js} +1 -1
  16. package/dist/assets/{Launch-CBn143FW.js → Launch-C4r-vLEn.js} +1 -1
  17. package/dist/assets/{LaunchOutlined-CLz-zFfU.js → LaunchOutlined-DTz6v31f.js} +1 -1
  18. package/dist/assets/{MoreHoriz-CuPhJ_M0.js → MoreHoriz-DCVFk6U6.js} +1 -1
  19. package/dist/assets/{PlayArrow-DVMzoWFa.js → PlayArrow-D4W1VLQV.js} +1 -1
  20. package/dist/assets/{ViewList-Cn8Z2gBe.js → ViewList-DW0ttt9E.js} +1 -1
  21. package/dist/assets/{access-control-69qoqHJl.js → access-control-CQlsK--o.js} +1 -1
  22. package/dist/assets/{actions-n7zYHr3V.js → actions-Y1_Pfh6f.js} +1 -1
  23. package/dist/assets/{add-component-core-N7TSTzMu.js → add-component-core-CmPrgMzo.js} +1 -1
  24. package/dist/assets/{add-resource-DW9UiSnA.js → add-resource-BJ2I5Nim.js} +1 -1
  25. package/dist/assets/{addon-CQ91UN_n.js → addon-Dc7piAwK.js} +1 -1
  26. package/dist/assets/{analytics-CWvzY0Nu.js → analytics-zk_2wYWU.js} +1 -1
  27. package/dist/assets/api-BWVJC8TG.js +1 -0
  28. package/dist/assets/ar-B77PsiKa.js +3 -0
  29. package/dist/assets/{audit-logs-DfGQE3n3.js → audit-logs-BoHM_HyF.js} +1 -1
  30. package/dist/assets/{base32-DZlAk2SI.js → base32-CQFKTaAf.js} +1 -1
  31. package/dist/assets/{branding-ggBW3beZ.js → branding-DpndqP6k.js} +2 -2
  32. package/dist/assets/{bundle-avatar-POAN0U8t.js → bundle-avatar-Bq_sB0nW.js} +1 -1
  33. package/dist/assets/{button-yhcaNhcM.js → button-BSWqXQRz.js} +1 -1
  34. package/dist/assets/{click-to-copy-CJhkHAVQ.js → click-to-copy-CI7R5iIQ.js} +1 -1
  35. package/dist/assets/{cloneDeep-DF213yK-.js → cloneDeep-CGCT_jdp.js} +1 -1
  36. package/dist/assets/{complete-B26yR9F3.js → complete-CNKV5S-_.js} +1 -1
  37. package/dist/assets/{component-BB0eV6We.js → component-r_SlRgPz.js} +1 -1
  38. package/dist/assets/{config-Cm6upNSK.js → config-B81Nv9TH.js} +1 -1
  39. package/dist/assets/{config-navigation-BPF8977n.js → config-navigation-CyOmuZXZ.js} +3 -3
  40. package/dist/assets/{config-DRVEY4Er.js → config-pGZbA-tz.js} +1 -1
  41. package/dist/assets/{config-space-NO_R7G03.js → config-space-Pk5ZSFe0.js} +1 -1
  42. package/dist/assets/{confirm-DCMsgnlL.js → confirm-BYuwITgE.js} +1 -1
  43. package/dist/assets/{connect-CpWn7EZ1.js → connect-BveuJyGM.js} +1 -1
  44. package/dist/assets/{connect-B3JzM5R_.js → connect-DtTAFdpT.js} +1 -1
  45. package/dist/assets/{connect-to-BG-EPgcF.js → connect-to-B_HL38FH.js} +1 -1
  46. package/dist/assets/{dashboard-D2dTD4Xf.js → dashboard-Hq3Av45u.js} +3 -3
  47. package/dist/assets/de-DxPd91kE.js +3 -0
  48. package/dist/assets/{delete-confirm-CuGV92e-.js → delete-confirm-uplmvk2M.js} +1 -1
  49. package/dist/assets/{did-address-CMCaVzQe.js → did-address-PelewYI_.js} +1 -1
  50. package/dist/assets/{domain-0bLmuL-h.js → domain-D4nfVnWJ.js} +1 -1
  51. package/dist/assets/{domain-action-card-BfHXBm7S.js → domain-action-card-Co6TulUF.js} +1 -1
  52. package/dist/assets/domains-Li-_IwLS.js +1 -0
  53. package/dist/assets/{email-C5RV488-.js → email-B_1hqyK3.js} +1 -1
  54. package/dist/assets/es-BLYV0NxM.js +3 -0
  55. package/dist/assets/{exchange-passport-BF0S0ga0.js → exchange-passport-6z8a0fQI.js} +1 -1
  56. package/dist/assets/{form-text-input-C5DJXfxO.js → form-text-input-DAPTY5q6.js} +1 -1
  57. package/dist/assets/fr-CKRgIc8I.js +3 -0
  58. package/dist/assets/{fuel-Bm_GT-HK.js → fuel-D_IQFNTE.js} +1 -1
  59. package/dist/assets/{fullpage-DpYwwEyr.js → fullpage-jSvRC_iC.js} +1 -1
  60. package/dist/assets/{get-safe-url-DDWTOyk0.js → get-safe-url-CGHe00Fj.js} +1 -1
  61. package/dist/assets/{get-safe-url-V-8dBkAc.js → get-safe-url-kcr2xpfY.js} +1 -1
  62. package/dist/assets/hi-C7aBkqb5.js +1 -0
  63. package/dist/assets/{home-fd8QSIqm.js → home-CSVlqCBH.js} +1 -1
  64. package/dist/assets/id-CCxzaFVu.js +3 -0
  65. package/dist/assets/{iframe-5hGtHfkt.js → iframe-C568-Rhw.js} +1 -1
  66. package/dist/assets/{index-NuBumuYu.js → index-2Xuj6a8j.js} +4 -4
  67. package/dist/assets/{index-BaI4_yp0.js → index-BFtb9HJu.js} +1 -1
  68. package/dist/assets/index-BSuB7fUn.js +144 -0
  69. package/dist/assets/{index-m37gr30E.js → index-BUeCKhlO.js} +1 -1
  70. package/dist/assets/{index-DwH926Ud.js → index-C88mB4xd.js} +3 -3
  71. package/dist/assets/{index-CgYiG0cW.js → index-C98i4Z5e.js} +1 -1
  72. package/dist/assets/{index-CRs_LIDx.js → index-CIs9e9-H.js} +1 -1
  73. package/dist/assets/{index-UR-1oZfs.js → index-CX8EKUzH.js} +1 -1
  74. package/dist/assets/{index-0WsVsCEi.js → index-CbAUBNWA.js} +1 -1
  75. package/dist/assets/{index-D6EZ_sYG.js → index-DD3tf-eB.js} +1 -1
  76. package/dist/assets/{index-C82gXhDc.js → index-DEjeqL4F.js} +1 -1
  77. package/dist/assets/{index-BiU67afx.js → index-DrgDxjh0.js} +1 -1
  78. package/dist/assets/{index-Tb4oGNQa.js → index-GIzJD7EB.js} +1 -1
  79. package/dist/assets/{index-83m4R1DV.js → index-LXcg_Jx9.js} +1 -1
  80. package/dist/assets/{index-5-gUh4-d.js → index-Rre6YdMu.js} +1 -1
  81. package/dist/assets/{index-CPqlGSGX.js → index-nrlaL_bT.js} +15 -15
  82. package/dist/assets/{index-C_c1rDIt.js → index-rNb18jwy.js} +1 -1
  83. package/dist/assets/{invitation-CXRnahVL.js → invitation-B3Pr_QnN.js} +1 -1
  84. package/dist/assets/{invite-BoBOBm_O.js → invite-D_-waytz.js} +1 -1
  85. package/dist/assets/{issue-passport-D4MKZRy7.js → issue-passport-DTBh3Nlx.js} +1 -1
  86. package/dist/assets/{item-B_fWg3rZ.js → item-CJxQj1-I.js} +1 -1
  87. package/dist/assets/ja-CtW6nj42.js +3 -0
  88. package/dist/assets/ko-DnLZZMTR.js +3 -0
  89. package/dist/assets/{layout-Jx_Q72bk.js → layout-bBj53r-g.js} +1 -1
  90. package/dist/assets/{list-DJvPYCdB.js → list-qVCZQcmD.js} +1 -1
  91. package/dist/assets/localization-D_Z7EzWp.js +1 -0
  92. package/dist/assets/{log-CzEyjVOb.js → log-DDDTEmf3.js} +1 -1
  93. package/dist/assets/{login-CG2TY_nO.js → login-DuEufrex.js} +1 -1
  94. package/dist/assets/{login-oauth-callback-C9taQLkp.js → login-oauth-callback-BPoIie4s.js} +1 -1
  95. package/dist/assets/{logo-uploader-BcqhlU86.js → logo-uploader-C9lDQRIH.js} +3 -3
  96. package/dist/assets/{lost-passport-CqtUkwAY.js → lost-passport-CybTz-Q-.js} +1 -1
  97. package/dist/assets/{omit-C0WQ6FUI.js → omit-ffJEQRcV.js} +1 -1
  98. package/dist/assets/{open-window-D38MKPsf.js → open-window-CIvo_xpS.js} +1 -1
  99. package/dist/assets/overview-OevWzZFS.js +12 -0
  100. package/dist/assets/{page-header-D6QZKsdM.js → page-header-BUZCR196.js} +1 -1
  101. package/dist/assets/{permission-DCNnkpMJ.js → permission-BrYe4IKY.js} +1 -1
  102. package/dist/assets/{preferences-DBCWz9WQ.js → preferences-BbUP7tXT.js} +1 -1
  103. package/dist/assets/{profile-embed-uEGAVbd0.js → profile-embed-D9SuPB-8.js} +1 -1
  104. package/dist/assets/pt-Do2DB7RU.js +1 -0
  105. package/dist/assets/publish-resource-B4-LVQhe.js +1 -0
  106. package/dist/assets/{react-beautiful-dnd.esm-BPYaXpP_.js → react-beautiful-dnd.esm-BTh1sICy.js} +1 -1
  107. package/dist/assets/{relative-time-C7FqzcQH.js → relative-time-CjoOTJYM.js} +1 -1
  108. package/dist/assets/ru-DLPypCUz.js +1 -0
  109. package/dist/assets/sdk-CbFje8cD.js +1 -0
  110. package/dist/assets/{session-CnhY23UV.js → session-YROkTMbv.js} +1 -1
  111. package/dist/assets/{setup-BAIiPA1N.js → setup-kW9Hw0QJ.js} +3 -3
  112. package/dist/assets/{start-L-rrLw4I.js → start-CNSyIzxB.js} +1 -1
  113. package/dist/assets/status-DN8B-8eV.js +1 -0
  114. package/dist/assets/{step-actions-CVhW-J2j.js → step-actions-BWqVLkj0.js} +1 -1
  115. package/dist/assets/{studio-Bs3iMbIO.js → studio-H9D8V363.js} +1 -1
  116. package/dist/assets/{switch-control-BquaOus6.js → switch-control-DVDBhXMn.js} +1 -1
  117. package/dist/assets/th-BgGjupIV.js +1 -0
  118. package/dist/assets/{traffic-BY5iQrJg.js → traffic-C-Yt2Hoa.js} +3 -3
  119. package/dist/assets/{transfer-IdBjGEF-.js → transfer-D5q3Q0Sk.js} +1 -1
  120. package/dist/assets/{unsubscribe-CVGaq47N.js → unsubscribe-B37KVJnN.js} +1 -1
  121. package/dist/assets/{useAsync-DQYHl9bb.js → useAsync-Wq2TmdyR.js} +1 -1
  122. package/dist/assets/{useAsyncRetry-Ct3L29eb.js → useAsyncRetry-BCS65x2-.js} +1 -1
  123. package/dist/assets/{useLocalStorage-c-wZ0ECB.js → useLocalStorage-BJwBnnTy.js} +1 -1
  124. package/dist/assets/{user-center-sixiUYHD.js → user-center-F_9A9Saz.js} +1 -1
  125. package/dist/assets/{util-DDVNp9EQ.js → util-CNtY10Ve.js} +1 -1
  126. package/dist/assets/{util-C9-QtYcY.js → util-HbwiSh9X.js} +1 -1
  127. package/dist/assets/{vendor-arcblock-OIRn5ReL.js → vendor-arcblock-BsgV25xS.js} +2 -2
  128. package/dist/assets/{vendor-hooks-DmBS41py.js → vendor-hooks-DOWFmXOH.js} +1 -1
  129. package/dist/assets/{vendor-utils-Bn0QoP7y.js → vendor-utils-B3B5Y2Te.js} +1 -1
  130. package/dist/assets/{vendor-ux-did-connect-D-3LgfES.js → vendor-ux-did-connect-D0ByM4P8.js} +3 -3
  131. package/dist/assets/vi-Bye_bkKy.js +1 -0
  132. package/dist/assets/wrap-locale-DbYaRzkV.js +1 -0
  133. package/dist/assets/{zh-B8zTcXDB.js → zh-Dr6QyOeU.js} +1 -1
  134. package/dist/assets/zh-tw-3LQ5YEkc.js +3 -0
  135. package/dist/index.html +5 -5
  136. package/dist/service-worker.js +1 -1
  137. package/package.json +28 -28
  138. package/dist/assets/api-ik9q5har.js +0 -1
  139. package/dist/assets/ar-oaWJaSgg.js +0 -3
  140. package/dist/assets/de-OkhxYuYW.js +0 -3
  141. package/dist/assets/domains-CNkV9ebq.js +0 -1
  142. package/dist/assets/es-DvI64pNP.js +0 -3
  143. package/dist/assets/fr-BxeAp5Te.js +0 -3
  144. package/dist/assets/hi-B2Y19vzy.js +0 -1
  145. package/dist/assets/id-CgXhJVJG.js +0 -3
  146. package/dist/assets/index-C271zsyh.js +0 -144
  147. package/dist/assets/ja-CymTjYcs.js +0 -3
  148. package/dist/assets/ko-DDiYiv4c.js +0 -3
  149. package/dist/assets/localization-jiswe59x.js +0 -1
  150. package/dist/assets/overview-CCDiDFB7.js +0 -12
  151. package/dist/assets/pt-PAbbwNHg.js +0 -1
  152. package/dist/assets/publish-resource-CWv_eips.js +0 -1
  153. package/dist/assets/ru-BuoS71Dj.js +0 -1
  154. package/dist/assets/sdk-BDhcnQeB.js +0 -1
  155. package/dist/assets/status-DwzWFDRG.js +0 -2
  156. package/dist/assets/th-GXXB9SGr.js +0 -1
  157. package/dist/assets/vi-DgMjdvjE.js +0 -1
  158. package/dist/assets/wrap-locale-DgEqQZoj.js +0 -1
  159. package/dist/assets/zh-tw-C1V4uPsH.js +0 -3
@@ -1 +0,0 @@
1
- import{r as m}from"./vendor-react-DoD83n6N.js";import{u as p}from"./vendor-ux-did-connect-D-3LgfES.js";import{C as a,z as n,K as l,f as c}from"./index-CPqlGSGX.js";import{a as u,b as x}from"./domain-action-card-BfHXBm7S.js";import{j as t,a3 as f,ad as d,ac as h}from"./vendor-mui-core-hTL6kZTm.js";import"./vendor-utils-Bn0QoP7y.js";import"./vendor-hooks-DmBS41py.js";import"./lottie-web-B6s7dDoL.js";import"./vendor-arcblock-OIRn5ReL.js";import"./ExpandLess-Dw9GEAg1.js";import"./permission-DCNnkpMJ.js";import"./session-CnhY23UV.js";import"./useAsyncRetry-Ct3L29eb.js";import"./useAsync-DQYHl9bb.js";import"./confirm-DCMsgnlL.js";import"./format-error-LAoTjvJe.js";import"./actions-n7zYHr3V.js";import"./MoreHoriz-CuPhJ_M0.js";import"./delete-confirm-CuGV92e-.js";import"./click-to-copy-CJhkHAVQ.js";import"./shorten-label-cM9qLz7K.js";import"./util-C9-QtYcY.js";import"./useSetState-BL3ktMon.js";import"./InfoOutlined-BMCiKW9v.js";import"./api-ik9q5har.js";import"./index-CgYiG0cW.js";import"./CheckCircle-22mGICoW.js";function j(){const{blocklet:o}=a(),{inService:i}=n(),{t:s}=p(),e=m.useMemo(()=>{let r=!0;return l(o)&&(r=r&&i),r},[i,o]);return t.jsxs(f,{component:d,sx:{maxWidth:820},gap:3,children:[t.jsxs(t.Fragment,{children:[c.isAccessible(o.status)===!1&&t.jsx(h,{severity:"warning",children:s("blocklet.router.noRunning")}),e&&t.jsx(u,{blocklet:o})]}),t.jsx(x,{showAllDomains:!0})]})}j.propTypes={};export{j as default};
@@ -1,3 +0,0 @@
1
- const e={setup:{connect:{title:"Configurar servidor Blocklet",scan:"Utilice los siguientes métodos para convertirse en el propietario de este servidor",confirm:"Revisa esta operación en tu billetera DID",success:"Tu cuenta está conectada a este servidor"},keyPair:{title:"Par de claves derivadas requerido",scan:"Conecta tu billetera DID para generar un par de claves para esta aplicación",confirm:"Revise esta operación en su billetera DID",success:"Tu par de claves se almacena de forma segura"},verify:{title:"Se requiere credencial de propiedad",scan:"Conecta tu billetera DID para proporcionar credenciales de propiedad",confirm:"Revise esta operación en su billetera DID",success:"Tu cuenta está conectada a este servidor"},accept:{title:"Aceptando certificados de propiedad del servidor",scan:"Conecta tu billetera DID para proporcionar credenciales de propiedad",confirm:"Revise esta operación en su billetera DID",success:"Tu cuenta está conectada a este servidor"},title:"Configurar el servidor de Blocklet",steps:{eula:"Acuerdo de licencia de usuario final",eulaFooter:"He leído y aceptado los términos del EULA",connect:"Conectar billetera de propiedad del DID",verify:"Verificar Propiedad",basicSettings:"Configuración básica",launchApp:"Iniciar aplicación",complete:"Completo"},congratulation:"¡Felicitaciones! Tu servidor de Blocklet es seguro y listo para usar.",redirectButton:"Llévame al panel de control!"},login:{loginTo:"Conectar a",description:"Solo el propietario del servidor y los miembros aprobados pueden acceder al panel de control",switchDid:{title:"Cambiar cuenta",scan:"Use los siguientes métodos para agregar una cuenta",confirm:"Confirma el cambio en tu billetera DID",success:"Cambiado exitosamente"},switchSpecifiedDid:{title:"Cambiar cuenta",scan:"Necesitas cambiar el DID a {did} para completar las siguientes acciones",confirm:"Confirma el cambio en tu billetera de DID",success:"Cambiado con éxito"},connect:{title:"Servidor Blocklet de inicio de sesión",scan:"Solo el propietario del servidor y los miembros aprobados pueden acceder al panel",confirm:"Confirma en tu billetera DID",success:"Estás conectado exitosamente"},verify:{title:"Verificar acceso",scan:"Conecta tu billetera DID para presentar el pasaporte de propietario o administrador",confirm:"Confirma en tu DID Wallet",success:"Tu acceso está verificado",abort:"Verificación de acceso abortada",description:"Debe proporcionar el pasaporte de {roles} para realizar esta operación, solo se le pedirá verificar nuevamente después de 1 hora de inactividad.",descriptionForDestroy:"Necesitas proporcionar el pasaporte de {roles} para realizar esta operación peligrosa para garantizar la seguridad."}},acceptServer:{title:"Reclamar servidor con NFT de propiedad",tooltip:"Si recibiste un NFT de propiedad del servidor, puedes reclamar tu pasaporte de propietario con este enlace."},exchangePassport:{title:"Intercambia el pasaporte por NFT",success:"Has intercambiado tu pasaporte correctamente e iniciado sesión con el pasaporte {name}",login:"Iniciar sesión",dialog:{title:"Obtener el pasaporte con NFT",scan:"Conecta tu billetera DID para presentar tu NFT y obtener un pasaporte",confirm:"Selecciona NFT en tu billetera DID",success:"El pasaporte ha sido intercambiado exitosamente"},tooltip1:"Si posees un NFT de la colección,",tooltip2:"Puedes canjear tu pasaporte con este enlace."},payablePassport:{title:"Compra pasaporte con pago",tooltip:"Si no tienes pasaporte, puedes comprar uno con este enlace."},sidebar:{dashboard:"Panel de control",blocklets:"Blocklets",console:"Consola",settings:"Ajustes"},system:{total:"Total",used:"Usado",free:"Libre",cores:"Número de núcleos",instances:"Número de instancias"},common:{invalid:"Inválido",about:"Acerca de",access:"Acceso",accessKey:"Claves de acceso",action:"Acción",actions:"Acciones",add:"Agregar",address:"Dirección",afterTime:"Después de {time}",allow:"Permitir",alreadyExist:"Ya existe",approve:"Aprobar",approved:"Aprobado",appUrl:"URL de la APP",auditLogs:"Registro de auditoría",author:"Autor",avatar:"Avatar",back:"Volver",basic:"Básico",basicInfo:"Información Básica",profile:"Perfil",bind:"Enlazar",blocklet:"Bloqueo",blocklets:"Blocklets",blockletsStorage:"Almacenamiento de Bloques",cacheStorage:"Almacenamiento en caché",cancel:"Cancelar",certificate:"Certificado",category:"Tema del registro",click:"Haz clic para copiar",close:"Cerrar",selectAll:"Seleccionar todo",unselectAll:"Deseleccionar todo",collapseAll:"Colapsar todo",community:"URL de la comunidad",complete:"Completo",componentBasicInfo:"Información básica del componente",components:"Blocklets",config:"Configurar",configuration:"Configuración",configNavigation:"Navegación",configSuccess:"Configuración exitosa",confirm:"Confirmar",connect:"Conectar",console:"Consola",continue:"Continuar",continueWith:"Continuar con",copiedTip:"Copiado",copyAndClose:"Copiar y cerrar",copyTip:"Haga clic para copiar",coreStorage:"Almacenamiento principal",cpu:"CPU",create:"Crear",createSuccess:"Crear clave de acceso",created:"Creado en",createdAt:"Creado en",createdBy:"Creado por",dAddress:"Identificadores Descentralizados (DID)",dataStorage:"Almacenamiento en Disco Local",delConfirm:"Eliminar",delConfirmDescription:"¿Confirmar eliminar {data}?",delete:"Eliminar",dependents:"Dependientes",description:"Descripción",detail:"Detalle",did:"DID",disk:"Disco",diskInfo:"Información del disco",docker:"ES Docker",documentation:"Documentación",domain:"Dominio",downgradeTo:"Bajar de categoría a",download:"Descargar",downloading:"Descargando",edit:"Editar",email:"Email",phone:"Teléfono",empty:"Vacío",emptyData:"No se encontraron resultados",enable:"Habilitar",engine:"Motor",env:"Entorno",environment:"Ambiente",expandAll:"Expandir todo",expired:"Caducado",expires:"Expira",export:"Exportar",externalIp:"IP Externa",failed:"Fallido",filter:"Filtro de registro",fingerprint:"Huella digital",finish:"Terminar",forbid:"Prohibir",free:"Libre",general:"General",gitpod:"ES Gitpod",goEULA:'Haz clic para ver "Contrato de licencia de usuario final"',group:"Grupo",image:"Imagen IS",install:"Instalar",installed:"Instalado",installedAt:"Instalado en",installSuccess:"La instalación se realizó correctamente",installing:"Instalando",internalIp:"IP interna",introduction:"Introducción",invite:"Invitar",inviting:"Invitando",ip:"IP",isPublic:"Público",issue:"Problema",issuer:"Emisor",item:"Artículo",joined:"Unido",key:"Clave",lastPublishedAt:"Publicado en",launcher:"Información del lanzador",leavePageTip:"¿Estás seguro de abandonar la página?",link:"Enlace",loading:"Cargando",log:"Ver Registros",logStorage:"Almacenamiento de registros",login:"Iniciar sesión",logo:"Logo",logout:"Cerrar sesión",logs:"Registros",manageTeam:"Administrar Equipo",marketplace:"Mercado",member:"Miembro",members:"Miembros",memory:"Memoria",meta:"Meta Datos",analytics:"Análisis",runtime:"Tiempo de ejecución",traffic:"Tráfico",more:"Más",mountPoint:"Punto de Montaje",name:"Nombre",next:"Siguiente",no:"No",noData:"No hay registros para mostrar",notice:"¡Habrá problemas inesperados si no lees esto!",noticeTitle:"Aviso",notification:"Notificación",open:"Abrir",management:"Gestión",os:"Sistema operativo",overview:"Resumen",owner:"Dueño",page404:"Página 404",passport:"Pasaporte",permission:"Permiso",port:"Puerto",pre:"Anterior",preferences:"Preferencias",preview:"Vista previa",protected:"Protegido",protocol:"Protocolo",purchase:"Compra",readMore:"Más",redirect:"Redirigir",redirectCode:"Código de redirección",redirectPermanently:"Redirección permanente",redirectTemporary:"Redirección Temporal",redirectUrl:"URL de redireccionamiento",rewrite:"Reescribir",release:"Liberación",rewriteUrl:"Reescribe la URL",reject:"Rechazar",reload:"Recargar",remark:"Observación",remove:"Eliminar",removeSuccess:"Eliminado con éxito",renew:"Renovar",reportIssue:"Reportar un problema",required:"Requerido",requiredErrorText:"{name} es requerido",resource:"Recurso",restart:"Reiniciar",restore:"Restaurar",retry:"Reintentar",revoke:"Revocar",role:"Rol",running:"Corriendo",runtimeInfo:"Información de tiempo de ejecución",save:"Guardar",saveChanges:"Guardar cambios",saveSuccess:"Guardado exitosamente",scheduleFailed:"Programación fallida",scheduleSuccess:"Programado exitosamente",scope:"Alcance",screenshot:"Capturas de pantalla",search:"Buscar",security:"Seguridad",serverDid:"Servidor DID",serverVersion:"Versión del servidor",setting:"Configuración",start:"Comenzar",status:"Estado",stop:"Detener",storage:"Almacenamiento",backup:"Respaldo",store:"Tienda",succeeded:"Éxito",subscription:"Suscripción",support:"URL o correo electrónico de soporte",switch:"Interruptor",team:"Equipo",the:"El",timeAgo:"{time} atrás",title:"Título",type:"Tipo",unavailable:"No disponible",update:"Actualización",updateAvailable:"Nueva versión {version} disponible",updatedAt:"Actualizado a las {time}",updatedBy:"Actualizado por",upgrade:"Mejorar",upgradeTo:"Actualiza a",upgrading:"Actualización",uptime:"Tiempo activo",url:"URL",valid:"Válido",value:"Valor",version:"Versión",visit:"Visitar",waiting:"Esperando",webhook:"Integraciones",yes:"Sí",invalidParam:"Parámetros inválidos",launch:"Lanzamiento",price:"Precio",redirecting:"Redirigiendo",error:"Error",reminder:"Recordatorio",normal:"Normal",gateway:"Puerta de enlace",verifyNFT:"Verificar NFT",errorMessage:"Mensaje de error:",slugifyHint:"El punto de montaje real será: {value}",strategy:"Estrategia",auto:"Auto",manual:"Manual",progress:"En progreso",startTime:"Hora de inicio",endTime:"Hora de finalización",selected:"Seleccionado",timeoutError:"Error de tiempo de espera",tags:"Etiquetas",connectToStore:"Conectar a la tienda",uploaded:"Subido",upload:"Subir",blockletStudio:"Estudio",visitStore:"Visitar tienda",reconnect:"Reconecta",change:"Cambiar",disconnect:"Desconectar",sourceApp:"Pertenece a la aplicación",visitTarget:"Visita {name}",upgradeServer:"Actualizar el servidor",display:"Mostrar",requiredInputPlaceholder:"Introduce {name}",refresh:"Actualizar",moveUp:"Mover hacia arriba",moveDown:"Desplazar hacia abajo",enabled:"Habilitado",disabled:"Desactivado",homepage:"Página de inicio",buy:"Comprar",view:"Ver",homepageTip:"Página de inicio o URL de demostración en vivo",repository:"Repositorio",expand:"Expandir",collapse:"Contraer",all:"Todo",notificationRecords:"Notificaciones",unrecordedUser:"Nombre no registrado",unrecordedRole:"Rol no registrado",auditLogsSearch:"Buscar por acción o contenido",optional:"Opcional",bugOrConnectDomain:"Comprar o conectar un dominio existente",bugOrConnectDomainTip:"Un nombre de dominio es la dirección única de tu sitio web en internet. Puedes comprar un nuevo dominio desde DID Names o cualquier registrador de dominios, o configurar un dominio existente que ya poseas.",connectExistingDomain:"Conectar dominio existente",domains:"Dominios",didDomains:"Dominios DID",manualDomains:"Mis Dominios",didDomainsDescription:"Los siguientes dominios son administrados automáticamente por el servicio DID:Names.",systemDomains:"Sistema Asignado",systemDomainsDescription:"Los siguientes dominios se asignan automáticamente de forma predeterminada. Si bien son accesibles, no están destinados para uso en producción y no deben compartirse con los clientes. Estos dominios son principalmente para fines de desarrollo.",manualDomainsDescription:"Los siguientes dominios son gestionados por su proveedor de dominios y se han configurado manualmente para apuntar aquí."},blocklet:{external:"Externo",notFound:"Bloqueo no encontrado en este servidor, tal vez ha sido eliminado",installFromMarket:"Instalar nuevos Blocklets",installFromUrl:"Instalar desde URL",installFromCreate:"Crear Blocklet",installFromDiskBackup:"Restaurar desde este servidor",installedAt:"Instalado en",internal:"Interno",startedAt:"Comenzado en",stoppedAt:"Detenido en",urlEmptyTip:"URL sin acceso",goToAddRule:"Ir a Agregar",services:"Servicios expuestos",upstreamPort:"Puerto ascendente",noService:"No hay servicios",appId:"App DID",appPid:"DID permanente",alsoKnownAs:"También conocido como",skSource:"Propietario de la billetera",reloadSuccess:"Blocklet se recargó exitosamente",statusTip:"Blocklet es {status}",initialUptime:"Menos de 1 metro",dashboard:"Panel de Bloqueos",noComponent:"La aplicación no tiene componentes y no se puede iniciar",fromUrl:{title:"Instalar Blocklet",label:"URL del Meta Blocklet",description:"La URL debería apuntar al Archivo Meta del Blocklet. Si necesitas referirte a un archivo local, por favor agrega el prefijo file://, por ejemplo: file:///Users/foo/blocklet.json.",confirm:"Instalar",step0:"URL de entrada",step1:"Confirmar Meta Información",existTipPrefix:"El Blocklet con el mismo DID ya existe, la versión es {version}",existTipSuffix:"Por favor, instale una versión superior."},action:{stopDescription:"Detener el bloqueo hará que sus interfaces públicas no sean accesibles, lo cual puede causar fallos en el usuario final",stopComponentDescription:"Detener el componente hará que sus interfaces públicas no estén accesibles, lo que puede causar fallos para el usuario final",confirmStop:"Sí, Detente",cancelDownloadDescription:"¿Cancelar la descarga de {name}?",removeApplicationDescription:"Borrar la aplicación eliminará el código y los datos generados por esta aplicación, los cuales no se podrán recuperar si no tienes copias de seguridad",removeApplicationAfterBackup:"Respaldar y eliminar la aplicación. Puedes restaurar la aplicación desde este servidor si lo necesitas",removeApplicationComplete:"Eliminar tanto el código como los datos para esta aplicación",removeComponentDescription:"Eliminar el componente borrará el código y los datos generados por este componente, los cuales no se pueden recuperar si no tienes ninguna copia de seguridad",removeComponentKeepData:"Mantén los datos para este componente, solo elimina el código",removeComponentComplete:"Eliminar tanto el código como los datos de este componente",confirmRemove:"Sí, Eliminarlo",confirmComponentRemove:"Sí, Elimínalo",upgradeDescription:"Actualizar el bloque hará que esté temporalmente no disponible, ¿estás seguro de continuar?",confirmUpgrade:"Sí, Mejóralo",confirmRestart:"Sí, Reiniciarlo",restartDescription:"Reiniciar el bloque se suspenderá temporalmente y es posible que no se inicie debido a un cambio de configuración"},dev:{modeTip:"Por favor cambia el servidor Blocklet a modo DEBUG"},index:{tableTitle:"Administra tus Blocklets",noBlocklet:"No se encontraron blocklets en este servidor de Blocklet, instala un blocklet desde el mercado para comenzar."},admin:{iframeTitle:"Interfaz de administración de Blocklet",title:"Interfaz de administración",noContent:"Este bloque no tiene una interfaz de administración",securityError:"Error de seguridad: No se puede abrir la URL de administración desde un marco de origen cruzado"},config:{name:"Nombre de la aplicación",description:"Descripción de la aplicación",sk:"Clave secreta para la billetera de la aplicación",logoSquare:"Logo de la aplicacion",logoRect:"Logo rectangular",logoRectDesc:"Normalmente se muestra en la parte superior de la página, por defecto el logo de la aplicación",logoFavicon:"Favicon",logoFaviconDesc:"Usualmente se muestra en la barra de direcciones del navegador o en la página de pestaña, por defecto con el logo de la aplicación",clusterSize:"Cantidad de instancias cuando se ejecuta este blocklet en modo de clúster",copyrightOwner:"Propietario de los derechos de autor (Mostrar en el pie de página)",copyrightYear:"Año de copyright (Mostrado en el pie de página)",deletable:{name:"Protección de eliminación",enable:"Este bloque no se puede eliminar actualmente",disable:"Este bloque puede ser eliminado actualmente"},walletType:{name:"Tipo de billetera",description:"Tipo de billetera de instancia de la Blocklet, cambiará el DID derivado"},languages:"Idiomas compatibles",selectLanguagesTip:"Ajusta el orden eliminando y volviendo a añadir",languagesSearch:"Buscar por Nombre Local del País, Nombre en Inglés o Código ISO...",passportColor:"Color del pasaporte",appUrl:"URL de la aplicación",access:{title:"¿Quién puede acceder?",description:"Elige cómo quieres controlar el acceso a tu aplicación.",useDefault:"Usar predeterminado",defaultDescription:"Usa la configuración predeterminada de la aplicación",whoCanAccess:{all:{title:"Accesible para todos",description:"Abierto al mundo, cualquiera puede acceder sin pasaporte"},owner:{title:"Solo yo puedo acceder",description:"Debes proporcionar el pasaporte del propietario para acceder a esta aplicación"},invited:{title:"Solo las personas invitadas pueden acceder",description:"Puedes invitar a miembros más tarde en la página de administrador"}},publicToStore:"Público en tienda",publicInstanceTip:"La dirección de acceso de este bloque se mostrará en la Tienda (junto con tu DID para aceptar donaciones)",updatedTip:"Acceso Controlado Modificado"},changedTip:"Configuración actualizada, por favor reinicia Blocklet",missingRequired:"Falta la configuración requerida para iniciar el blocklet",gotoFix:"Ir a arreglar",environment:{key:"Clave de configuración",value:"Valor de configuración",keyValueRequired:"La clave de configuración y el valor deben ser especificados",invalidKey:"La clave de configuración no debe comenzar con BLOCKLET_ o COMPONENT_",deleteForbidden:"Esta configuración es requerida y no debe ser borrada",tip:"Las configuraciones que comienzan con BWA_ no deben contener información confidencial ya que serán enviadas al navegador"},dangerZone:"Zona de peligro",blockletTypeChangeTip:"El tipo de billetera se cambiará a <b>{value}</b>",appDidChangeTip:"Esta operación cambiará el DID de la aplicación, lo cual provocará los siguientes problemas. Por favor, confirma después de una cuidadosa evaluación:",appDidChangeTipL1:"La cuenta del usuario conectado a esta aplicación cambiará",appDidChangeTipL2:"El nombre de dominio DID de la aplicación cambiará y el nombre de dominio original se volverá inválido",appSkChangeTip:"Cambias la clave secreta de la aplicación",walletTypeTitle:"Actualizar tipo de billetera",appSkTitle:"Actualizar Clave Secreta de la Aplicación",sharedToAllComponents:"Se compartirá con todos los componentes",session:{ttl:"Se pedirá al usuario que vuelva a iniciar sesión si no tiene actividad en este sitio durante {day} días",day:"{day} día",days:"{day} días",period:"Periodo de validez de sesión",profile:"Requisitos del perfil de usuario",cacheTtl:"Duración de caché para datos de sesión de usuario (en segundos)",fullNameEnabled:"Solicitar nombre de usuario al iniciar sesión (habilitado de forma predeterminada)",avatarEnabled:"Solicitar avatar de usuario al iniciar sesión (habilitado por defecto)",emailEnabled:"Solicitar correo electrónico del usuario al iniciar sesión",emailRequireVerified:"Requiere que el correo electrónico del usuario sea verificado antes de iniciar sesión",emailRequireUnique:"Requerir que el correo electrónico del usuario sea único en todos los usuarios",phoneEnabled:"Solicitar número de teléfono del usuario al iniciar sesión (aún no compatible)",phoneRequireVerified:"Requerir verificación del número de teléfono del usuario antes de iniciar sesión",phoneRequireUnique:"Requerir que el número de teléfono del usuario sea único entre todos los usuarios",emailTrustOauthProviders:"Confíe en los proveedores de OAuth para verificar el estado del correo electrónico",enableDomainBlackList:"Habilitar lista negra de dominios de correo electrónico (rechazar dominios de correo electrónico listados)",enableDomainWhiteList:"Permitir lista blanca de dominios de correo electrónico (solo permitir que los dominios de correo electrónico enumerados inicien sesión)",addDomain:"Añadir fuente para obtener la lista (en formato de texto plano, un dominio por línea)"},clearCache:{name:"Gestión de la Caché",purpose:"Gestionar archivos almacenados en servicios de enrutador y blocklet",title:"¿Confirmar borrado de caché?",action:"Borrar caché",success:"Se eliminaron correctamente {count} entradas de caché",description:"¿Estás seguro de que quieres borrar los archivos en caché en el router y el servicio de blocklet? Esta operación puede causar una ligera disminución en el rendimiento a corto plazo."},tenantMode:{name:"Modo multiinquilino",multiple:"Este blocklet se ejecuta en modo de múltiples inquilinos, los datos deben estar aislados para cada inquilino",single:"Este blocklet se ejecuta en modo de inquilino único, todos los datos son compartidos"},splashPortrait:"Retrato Splash",splashLandscape:"Paisaje de Salpicaduras",splashPortraitDesc:"Se muestra cuando el blocklet se abre en modo retrato",splashLandscapeDesc:"Se muestra cuando el blocklet se lanza en modo paisaje",rotateSessionKey:{name:"Rotación de sal de sesión",purpose:"El salt de sesión es un valor aleatorio utilizado para mejorar la seguridad de los tokens de sesión. Haz clic en el botón para rotar manualmente el salt de sesión, lo que ayuda a reducir el riesgo de compromiso del token de inicio de sesión.",title:"¿Confirmar rotación de sal de sesión?",action:"Girar Sal",success:"Sal cambiado con éxito",description:"¿Estás seguro de que deseas rotar la sal de sesión? Esta operación invalidará todos los tokens de inicio de sesión existentes y obligará al usuario a iniciar sesión nuevamente, incluido tu propio token de inicio de sesión."},ogImage:"Fondo de Open Graph",ogImageDesc:"Personaliza la imagen de fondo de todas las imágenes de gráfico abierto, debe funcionar bien con texto blanco",migrate:{button:"Migrar con DID Wallet",title:"¿Confirmar rotación de App DID?",description:"¿Está seguro de que desea rotar App DID? Esta operación invalidará todas las sesiones existentes y obligará a los usuarios a iniciar sesión nuevamente, incluida la suya."},vault:{name:"Vault DID",title:"Configurar Vault",desc:"Utiliza vault para añadir una capa extra de seguridad a los fondos gestionados por este Blocklet.",tip:"Ingresa la dirección del vault para continuar, debes probar la propiedad de la dirección del vault antes de que pueda ser usada.",address:"Dirección del Vault",verified:"Vault está verificado",current:"Vault actual",error:{invalid:"La dirección del Vault debe ser un DID válido",holder:"La dirección de Vault debe ser un titular de token válido en blockchain, la dirección de token/asset/factory/stake no son compatibles",duplicate:"La dirección de Vault ya existe"},role:"Tipo de rol",firstSeen:"Visto por primera vez",lastSeen:"Visto por última vez",migratedFrom:"Migrado desde",migratedTo:"Migrado a",commit:{title:"Verificar propiedad de Vault",scan:"Use los siguientes métodos para verificar la propiedad de la bóveda",confirm:"Confirmar usando DID Wallet",success:"Vault se configuró correctamente"}},changeImageTip:"Consejo: Si quieres cambiar la imagen, haz clic en Vista previa de imagen para cambiarla."},overview:{source:"Fuente",deployedFrom:"Desplegado desde",accessControl:"Control de acceso",viewInStore:"Verlo en la tienda"},diskInfo:{empty:"¡Información del disco no disponible en este momento!",appDir:"Directorio de aplicaciones",dataDir:"Directorio de datos",logDir:"Directorio de registro",cacheDir:"Directorio de caché"},runtimeInfo:{noRunning:"¡La información de tiempo de ejecución estará disponible cuando el blocklet esté en ejecución!",memoryUsage:"Uso de memoria",cpuUsage:"Uso de la CPU",uptime:"Tiempo de actividad",port:"Puerto",processId:"ID de proceso"},dist:{downloadLink:"Enlace de descarga",verify:"Verificar"},status:{added:"Añadido",waiting:"Esperando",downloading:"Descargando",extracting:"Extrayendo",installing:"Instalando",upgrading:"Actualizando",installed:"Instalado",created:"Creado",starting:"Comenzando",running:"Corriendo",stopping:"Deteniendo",stopped:"Detenido",error:"Error",deleting:"Borrando",corrupted:"Corrompido",purchasing:"Esperando la compra",purchased:"Comprado",verifying:"Verificando compra",resource:"Recurso"},list:{download:"Descargar",star:"Estrella",searchPlaceholder:"Buscar por nombre de Blocklet o DID"},component:{container:"Configuración Global",showContainer:"Mostrar configuración global",didSpaceConfig:"Configurar espacios DID",didSpaceConfigTip:"Completa el siguiente proceso de autorización para almacenar datos de aplicación en DID Spaces",didSpaceConnected:"Almacenamiento autorizado para: {endpoint}",checkUpdateTitle:"Buscar actualizaciones",updateTitle:"Actualizar Componentes",noUpdate:"No hay componentes para actualizar",add:"Agregar componente",selectComponent:"Seleccionar Blocklet",selectRegistry:"Selecciona la Tienda de Blocklets",selectRegistryTip:"Puedes cambiar la tienda de blocklets para ver más componentes",selectInstance:"Seleccionar instancia",selectInstanceTip:"Puedes seleccionar una instancia existente o crear una nueva instancia. Las instancias existentes utilizarán la configuración y datos guardados previamente",newInstance:"Crear nueva instancia",noComponent:"No hay componentes",mountPoint:"¿Cuál es el punto de montaje?",mountPointTip:"Si estableces el punto de montaje en '/my-prefix', entonces todas las solicitudes que comiencen con ese punto de montaje se enrutarán al componente seleccionado.",delete:"Eliminar Componente",deleteDescription:"Este componente no estará accesible después de ser eliminado. ¿Confirmar eliminación?",purchase:"Pago requerido",tip:{stopBlocklet:"Por favor, detén la ejecución de Blocklet primero",requiredBy:"El componente es requerido por {name}"},choose:"Elige",addWithName:"Agregar Bloque a {name}",installingCanCloseWindowTip:"Instalando componente en segundo plano, puedes cerrar esta ventana de forma segura",installSuccessTip:"¡Felicidades, el componente se instaló correctamente!",missDownloadTokenTip:"No se puede agregar un componente de pago sin un token de descarga válido",purchaseComponentSecondCheckTip:"Por favor, presenta tu NFT de compra de blocklet para continuar",installComponentError:"Hubo un error al instalar el componente, por favor inténtelo de nuevo",downloadComponentError:"Hubo un error al descargar el componente, por favor intenta de nuevo",addComponentTip:{introduction:"Bienvenido/a al Asistente para agregar componentes",isPurchase:"Necesitas verificar NFT antes de usar <b>{name}</b> como componente",belowInformation:"A continuación se muestra la información para el componente:",verifyNFT:"Por favor selecciona el método de verificación de NFT",config:"Por favor, complete la configuración del componente",environment:"Por favor rellene el entorno del componente",fromUrl:"Agregar Blocklet desde URL"},addNext:"Agregar {name}",upgradeNext:"Actualizar {name}",setting:"Ajustes",noDependencies:"{name} no tiene dependencias",relatedComponents:"Bloques relacionados",required:"Requerido",installed:"Instalado",installingTip:"Instalando componente, por favor espere...",upgrade:"Mejorar"},router:{urlPath:"URL Path",noRunning:"El blocklet no está actualmente iniciado. ¡No se puede acceder a través de la siguiente dirección!",securitySetting:"Configuración de seguridad",checkUrlAccessible:"Verifique la accesibilidad de la dirección",urlInaccessible:"Puede ser debido a problemas de red, la dirección no está accesible temporalmente",noAccessibleUrl:"No hay una URL accesible",domainLockTooltip:"El dominio generado por el sistema no se puede editar.",urlLockTooltip:"La ruta de URL generada por el sistema no se puede editar.",showAllDomains:"Mostrar todos los dominios",showAllDIDs:"Mostrar todos los DIDs",currentDomainTip:"Estás accediendo a la página actual a través de este dominio"},export:{title:"Exportar Blocklet",name:"Nombre del paquete",nameTip:"mi-nombre-de-bloque",result:"¿Qué sigue?",exportSource:"Fuente de exportación",success:"Blocklet exportado con éxito",resultTipStart:"Con",resultTipEnd:"Puedes construir y publicar esta blocklet en minutos",uploadedComponentTip:"Los componentes cargados directamente no pueden ser exportados"},migrate:{title:"Migrar Aplicación",scan:"Conecta tu billetera DID para generar un par de claves para esta aplicación",confirm:"Revise esta operación en su Monedero de DID",success:"Tu aplicación se ha migrado correctamente, la página se actualizará en {sec} segundos",intro:{l1:"Haz clic aquí",l2:"Para migrar tu aplicación a una nueva versión (los cambios están desactivados hasta que se complete la migración)",l3:"La aplicación DID será completamente controlada desde tu billetera DID.",l4:"2. Los datos de la aplicación serán migrados y no se requieren cambios adicionales.",l5:"3. La nueva estructura de la aplicación te dará más flexibilidad al cambiar componentes.",l6:"4. Por favor, no cambies los puntos de montaje de los componentes antes de que salga la nueva versión del componente."},tip:{duplicate:"Encuentra el componente duplicado {name}, por favor elimina los componentes inútiles y migrar nuevamente",running:"Por favor detén el blocklet antes de la migración"}},error:{isRunning:"Blocklet está en ejecución, por favor deténgalo primero",isInProgress:"Blocklet está en progreso, por favor espera a que termine"},publish:{createResource:"Crear Recurso",addResource:"Agregar lanzamiento",productTitle:"Producto",versionTitle:"Versionando",imgTitle:"Imágenes",resourceTitle:"Contenido",blockletEmptyTip:"Aquí no hay bloqueadores",createBlockletTip:"Puede crear un nuevo blocklet a través de recursos, componentes y configuración existentes en esta aplicación",createBlocklet:"Nuevo bloque",componentNotRunning:"El Blocklet {name} no está en ejecución, por favor inícialo primero",releaseEmptyTip:"No hay ninguna versión aquí",createReleaseTip:"Puedes crear una versión de la blocklet, junto con notas de lanzamiento y recursos, para que otras personas la puedan utilizar",createRelease:"Crear versión",deleteReleaseTip:"La versión no se puede recuperar después de la eliminación",createBlockletDid:"Crear desde la billetera DID",createReleaseSuccess:"Liberación creada exitosamente",saveDraftSuccess:"Borrador guardado exitosamente",connect:{title:"Crear Blocklet DID",scan:"Usa los siguientes métodos para generar Blocklet DID",confirm:"Confirma usando DID Wallet",success:"Se ha generado el DID de Blocklet, por favor continúa con tu operación"},saveDraft:"Guardar Borrador",releaseNote:"Nota de lanzamiento",errorTip:{noDid:"El DID de Blocklet es requerido",noTitle:"Se requiere el título de Blocklet",noVersion:"Se requiere la versión de Blocklet",noDescription:"La descripción de Blocklet es requerida",noNote:"Se requiere la Nota de Lanzamiento",inValidVersion:"Versión de Blocklet no válida",noResource:"Por favor seleccione cargar recurso para incluirlo en el blocklet",noFirstDid:"Por favor, crea Blocklet DID primero",invalidUrl:"Por favor, ingrese una URL válida",invalidUrlOrEmail:"Por favor ingrese una URL o correo electrónico válido"},packTip:"Actualmente, los blocklets se pueden instalar directamente como aplicaciones. Los componentes y las configuraciones de la aplicación se incluirán automáticamente en el Blocklet",resourceChangedWarning:"Ha modificado el recurso, por favor guárdelo a tiempo",installResourceTip:"URL de instalación:",installResourceTip2:"Si desea ver más consejos, visite {name}",installResourceHelp:"Ayuda Documento",componentIncluded:"Incluido",componentForceRequired:"Requerido",download:"Descargar {name}",delete:"Eliminar {name}",copyInstallUrl:"Copiar URL de instalación",install:"Instalar {name}",publishToStoreSuccess:"Blocklet publicado en la tienda con éxito",connectStoreSuccess:"La tienda de Blocklet se conectó correctamente",uploadToStoreSuccess:"Bloque de carga a la tienda exitosamente, necesitas publicarlo en la tienda",viewLastRelease:"Ver última versión",reconnectStoreTip:"Después de reconectar, se vinculará un nuevo desarrollador. ¿Estás seguro de que deseas reconectar?",deleteProject:{title:"Borrar {name}",scan:"Usa los siguientes métodos para eliminar {name}",confirm:"Confirmar usando el monedero DID",success:"El proyecto Blocklet ha sido eliminado, por favor continúa tu operación",tip1:"El proyecto de Blocklet no será recuperable después de su eliminación",tip2:"Ya no podrás publicar nuevas versiones del Blocklet eliminado, lo que significa que el Blocklet ya no se actualizará en la tienda.",tip3:"Borrar el Bloque no afectará su versión actualmente publicada en la Tienda.",description:"Después de eliminar el Blocklet, te encontrarás con los siguientes problemas, ¿estás seguro de que quieres eliminarlo?"},resourceTip:"Actualmente, como un Bloque de Recursos, no se puede instalar directamente desde la Tienda.",whyCantSeeInStore:"¿Por qué no puedo ver este blocklet en la Tienda?",whyCantSeeResourceBlockletInStore:"Los Blocklets de recurso están ocultos de la página de listado de la tienda de forma predeterminada",tenantScope:"Inquilino",blockletStudio:"Blocklet Studio",allComponentsNotRunning:"Blocklets no está ejecutándose, por favor inícialo primero",resourceEmptyTip:"No hay recursos disponibles",steps:{resources:"Por favor selecciona los recursos que necesitan ser asociados con el Blocklet actual, ya que estos recursos se instalarán junto con el Blocklet.",blocklets:"Selecciona los blocklets a asociar.",version:"Establecer la versión de lanzamiento y el registro de cambios.",introduction:"Una introducción clara puede resaltar eficazmente tu Blocklet. Puedes usar la sintaxis de Markdown para escribir y previsualizarlo.",branding:"Describe la información básica de tu Blocklet. Esta información se presentará a los usuarios en la tienda."},branding:"Branding",brandingHelp:"Se mostrará más información sobre el blocklet en la tienda",resourceSelect:"Seleccionar recurso de blocklets",resourceUpload:"Cargar recurso desde tu disco (index.html es requerido en el archivo)",deleteStoreTip:"¿Estás seguro de que quieres eliminar a {name} de la lista de la tienda Connect?",disconnectStoreTip:"Después de la desconexión, se eliminará el blocklet de la tienda. ¿Seguro que desea desconectar?",connectOrUpload:"Conectar o Subir",developerInfo:"Información del desarrollador",autoUploadTip:"Cargar automáticamente el blocklet en la tienda después de la versión de creación",possibleSameStoreTip:"Intenta resolver las dependencias de los blocklets en la misma tienda de blocklets antes de cada carga cuando sea posible",needProjectId:"Por favor, crea un proyecto primero",projectSettings:"Configuraciones del Proyecto",noStoreSelected:"Por favor, seleccione una de las tiendas existentes o agregue una nueva tienda para continuar",installToThisServer:"Instalar en este servidor",forceResourceBlocklet:"Fuerza definida como un blocklet basado en recursos",resourceDocker:"Crear Blocklet desde Docker",resourceSelectTitle:"Recurso",resourceUploadTitle:"Subir",resourceDockerTitle:"Docker",resourceDockerInputTip:"Por favor, introduzca el comando docker run",docker:{pleaseInputDockerCommand:"Por favor ingrese el comando docker run",volumeTip:"El volumen debe comenzar con $BLOCKLET_DATA_DIR o $BLOCKLET_APP_DIR",volumeTip2:'El volumen no puede contener ".."',noAllowTheArg:"No se permite usar el argumento en el comando docker run",needCustomInput:"Configure el valor al instalar Blocklet",dockerParams:"Parámetros de Docker",dockerCommand:"Comando Docker",dockerImageName:"Nombre de la imagen de Docker",addItem:"Agregar parámetro de ejecución de Docker",envKey:"Clave de variable de entorno",publishTips:"El puerto externo final será asignado automáticamente por el blocklet",volumeTips:"El volumen debe comenzar con $BLOCKLET_DATA_DIR o $BLOCKLET_APP_DIR",modifyParam:"Modificar parámetro de ejecución de Docker",modifyEnv:"Modificar variable de entorno",paramDetail:"Detalle de parámetro",description:"Descripción",secure:"Seguro",shared:"Compartido",required:"Requerido",prefix:"Prefijo",path:"Ruta",name:"Nombre",portType:"Tipo de puerto",dockerImageNameError:"El nombre de la imagen de Docker no puede contener espacios",autoGenerated:"Generado automáticamente",dockerCMDError:"Docker CMD solo admite caracteres simples",proxyBehavior:"Comportamiento del proxy",serviceProxy:"Servicio",directProxy:"Directo"},storeRule:{maxImageCount:"La tienda permite como máximo {max} capturas de pantalla.",minImageCount:"La tienda requiere al menos {min} {unit}.",minImageSize:"El tamaño de la imagen de la captura de pantalla de {name} debe ser de al menos {width}x{height}.",logoFormat:"El formato de imagen del logo solo admite [{format}]",warning:"Advertencia",screenshot:"Captura de pantalla",screenshots:"Capturas de pantalla",first:"Primero",second:"2º",third:"3º"}},titleValidationError:"La longitud del título debe estar entre 3 y 40 caracteres",descriptionValidationError:"La longitud de la descripción debe estar entre 3 y 80 caracteres",whyNeedAppPid:"Si se ha migrado su aplicación, el DID permanente es el DID generado cuando este Blocklet se instaló originalmente.",usingDocker:"Este Blocklet se ejecutará usando docker",gotoVisitError:"No se puede acceder a la URL de Blocklet, por favor intenta de nuevo más tarde",usingIsolation:"Este Blocklet se ejecutará con aislamiento de red",dockerImage:"Soporta Docker",mountPoint:{description1:"Este cambio puede romper URLs que contengan el antiguo punto de montaje, lo que puede llevar a:",case1:"Referencias de recursos rotas entre Blocklets en esta aplicación",case2:"URL roto si los has compartido públicamente",description2:"Puedes configurar una redirección desde el antiguo punto de montaje al nuevo para minimizar posibles cambios que rompan la funcionalidad."}},dashboard:{nodeDid:"Nodo",ownerDid:"Propietario",routingEngine:"Motor de Enrutamiento",ownerNftURL:"Propietario NFT",expirationLeft:"Vencimiento Restante",startFromCrashTip:"El servidor de Blocklet no se cerró correctamente la última vez, por favor inicie manualmente los blocklets que deben ejecutarse.",runtimeConfig:{blockletMaxMemoryLimit:"Límite máximo de memoria de Blocklet",daemonMaxMemoryLimit:"Límite Máximo de Memoria del Servidor",proxyMaxMemoryLimit:"Límite máximo de memoria del Bus de Eventos"}},store:{nameSort:"Nombre",popularSort:"Popularidad",headerDescription:"Encuentra e instala tus Blocklets",detail:{purchase:"Compra {name}",open:"Abrir {name}",install:"Instalar {name}",upgrade:"Actualiza {name}",empty:"No introducción"},blockletRegistry:{changeFailed:"Fallo en cambiar la Tienda de Blocklet",addFailed:"Error al agregar Blocklet Store",editFailed:"Error al editar la tienda de Blocklet",switchRegistry:"Cambiar tienda de Blocklet",addRegistry:"Añadir Blocklet Store",editRegistry:"Editar Bloque Tienda",deleteRegistry:"Eliminar Blocklet Store",haveSameRegistry:"Existe la misma tienda de blocklets",registryName:"Nombre de la tienda de Blocklet",registryUrl:"URL de Blocklet Store",registryNameEmpty:"El nombre de la tienda de Blocklet no puede estar vacío",registryUrlEmpty:"La URL de la tienda de Bloquelets no puede estar vacía",deleteDesc:'¿Confirmar eliminar la tienda de blocklets {name}?<br/><span style="color: {color}">*Después de eliminar esta tienda de blocklets, no podrás actualizar las aplicaciones instaladas desde esta tienda a menos que las vuelvas a añadir.</span>',confirmDesc:"Por favor ingrese {name} para eliminar"},purchase:{title:"Compra {name}",confirmed:"Tu compra de NFT de Blocklet ha sido verificada",declined:"No has proporcionado la compra válida de Blocklet NFT",waiting:"Esperando completar la compra...",purchase:{title:"Compra NFT",description:"Paga un token antes de instalar esta blocklet si no la has comprado"},verify:{title:"Verificar NFT",description:"Tu NFT será verificado antes de instalar este blocklet si has comprado y tienes el NFT de compra en tu billetera DID",auth:{title:"Compra de credenciales requerida",scan:"Conecta la billetera DID para adquirir NFT de blocklet",confirm:"Revisa esta operación en tu billetera de DID",success:"Tu compra de NFT está verificada y la instalación ha comenzado"}},auth:{title:"Comprar {name}",scan:"Escanee el siguiente código QR con su billetera DID",confirm:"Confirma en tu billetera DID",success:"Compra de NFT enviada a tu billetera DID"},launch:"Lanzamiento {name}",autoLaunch:"{name} ha comprado con éxito, redirigiendo a la página de inicio..."},tooltip:{upgradeServer:"Se necesita la versión {version} del servidor de Blocklet, la versión actual del servidor de Blocklet es {serverVersion}"}},setting:{saveSuccess:"Configuración guardada exitosamente",unSavedTip:'Hay cambios no guardados, por favor haz clic en "Guardar cambios" para guardarlos.',unSavedLeaveTip:"Hay cambios no guardados, ¿estás seguro de abandonar la página?",form:{name:"Nombre de tu servidor",nameRequired:"Se requiere una descripción del servidor",namePlaceholder:"Nombre del servidor",description:"Description tu servidor",descriptionHolder:"Descripción del servidor",descriptionRequired:"Se requiere una descripción del servidor",domain:"Tu nombre de dominio del servidor",domainPlaceholder:"Nombre de dominio del servidor",domainRequired:"Se requiere el dominio del servidor",ipPlaceholder:"IP",ipRequired:"La IP es requerida",registry:"Blocklet Store",registryPlaceholder:"Tienda de Blocklet para obtener blocklets",registryRequired:"Se requiere Blocklet store",registerUrl:"URL de Blocklet Launcher",registerUrlPlaceholder:"Ingresa la URL de tu Blocklet Launcher preferido, puedes usar el oficial de forma segura",webWalletUrl:"URL de DID Wallet",webWalletUrlPlaceholder:"Por favor ingresa la URL de tu 'DID Wallet' alojada, puedes usar la oficial con seguridad",nftDomainUrl:"URL de dominio NFT",nftDomainUrlPlaceholder:'Por favor ingresa la URL de tu "Dominio NFT" alojado, puedes usar el oficial de forma segura',enableWelcomePage:"Habilitar página de bienvenida",welcome:{switchLabel:"Página de bienvenida"},upgrade:{title:"Actualiza el servidor de Blocklet a {version}",description:"Durante la actualización, tu servidor de Blocklet entrará en modo de mantenimiento durante unos minutos mientras se completa la actualización.",dialog:'Haz clic en "confirmar" para instalar la actualización. El servidor Blocklet entrará en modo de mantenimiento hasta que la actualización se complete y volverá automáticamente al modo de producción.',confirm:"Mejora",switchLabel:"Verificación automática de actualizaciones",enableBetaRelease:"Habilitar lanzamiento beta",setup:"Preparando la actualización",installing:"Instalando Blocklet Server v{version}",restarting:"Reiniciando el servidor Blocklet",cleanup:"Migrando datos del servidor Blocklet",verifying:"Verificando el servidor de Blocklet v{version}",rollback:"Revertir servidor de Blocklet",complete:"¡Actualización completa!",progress:"Mejorando {name}",check:"Buscar actualizaciones",latest:"Estás ejecutando la última versión."},restart:{title:"Reiniciar el servidor de Blocklet",description:"Durante el reinicio, tu Servidor de Blocklets entrará en modo de mantenimiento mientras se completa el reinicio.",dialog:'Haz clic en "confirmar" para reiniciar. El servidor de Blocklet entrará en modo de mantenimiento hasta que se complete el reinicio y volverá automáticamente al modo de producción.',confirm:"Reiniciar",setup:"Preparando el reinicio",verifying:"Verificación del servidor de Blocklet",restarting:"Reiniciando el servidor Blocklet",cleanup:"Asegúrate de que todo esté bien",rollback:"Limpiar el estado sucio",complete:"¡Mantenimiento completo!",progress:"Reiniciando {name}"},register:{title:"Regístrate en Blocklet Launcher",description:"Una vez agregado, puedes lanzar blocklets a este servidor de blocklets desde {url}",button:"Registrar"},monitor:{diskThreshold:"Enviar alerta cuando el uso del disco exceda (%)",diskThresholdPlaceholder:"Por favor, establezca el umbral de alerta para el uso del disco"},security:{switchLabel:"Aislamiento del sistema de archivos",switchTips:"Después de deshabilitar esta opción, el sistema de archivos del Blocklet ya no estará aislado, lo que podría representar un riesgo de que software malicioso dañe el sistema de archivos.",warningTips:"La función de aislamiento del sistema de archivos no puede tener efecto. Actualiza la versión de node.js (la versión actual es {version}) a la versión 21.6.0 o superior."},docker:{switchLabel:"Ejecutar Blocklets en Contenedores",switchTips:"Después de habilitar esta opción, los blocklets se ejecutarán utilizando contenedores, lo que puede mejorar la seguridad general del servidor.",notInstalled:"No se puede activar el contenedor de ejecución porque Docker no está instalado o no tiene los permisos necesarios para ejecutar",needCloseFileSystemIsolation:"El aislamiento del sistema de archivos y el modo de contenedor Docker no se pueden habilitar al mismo tiempo"},dockerNetwork:{switchLabel:"Aislamiento de red de contenedor",switchTips:"Tras habilitar esta opción, los blocklets se ejecutan de un modo más seguro: un blocklet no puede acceder al servidor de blocklets ni a otros blocklets en las aplicaciones.",needEnableDocker:"El modo contenedor debe estar activado para activar el aislamiento de red"},restartAllContainers:{title:"Reiniciar todos los contenedores",description:"Reiniciar todos los contenedores y mantener los Blocklets en ejecución.",dialog:'Haz clic en "confirmar" para reiniciar todos los blocklets de contenedor y mantener el estado de blocklets en ejecución.',confirm:"Reiniciar",setup:"Preparando el reinicio",verifying:"Verificando Blocklet Server",restarting:"Reiniciando todos los contenedores en segundo plano",cleanup:"Asegúrese de que todo esté bien",rollback:"Limpiar el estado sucio",complete:"¡Mantener completo!",progress:"Reiniciando todos los contenedores en segundo plano"},restartAllBlocklet:{title:"Reiniciar todos los Blocklets",description:"Reiniciar todos los Blocklets que se estén ejecutando o tengan errores en este servidor.",dialog:'Haz clic en "confirmar" para reiniciar todos los blocklets en segundo plano.',confirm:"Reiniciar",setup:"Preparando el reinicio",verifying:"Verificando Blocklet Server",restarting:"Reiniciando todos los Blocklets en ejecución o con errores en segundo plano",cleanup:"Asegúrese de que todo esté bien",rollback:"Limpiar el estado sucio",complete:"¡Mantenimiento completado!",progress:"Reiniciando todos los Blocklets en ejecución o con errores en segundo plano"},enableSessionHardening:{switchLabel:"Habilitar endurecimiento de sesión",switchTips:"Después de habilitar esta opción, las operaciones de mutación requerirán verificación estricta, lo que puede mejorar la seguridad general del servidor."}},accessKey:{accessKeyId:"CLAVE DE ACCESO",lastUsed:"Último utilizado en",tip:"Por favor ingrese un nombre para esta clave de acceso para referencia futura.",saveSecretTip:"Esta es la única vez que se puede ver la clave secreta de acceso y no se puede recuperar. Sin embargo, en cualquier momento puedes crear nuevas claves de acceso",iKnow:"He copiado y guardado el Acceso Secret",showSecret:"Mostrar clave de acceso secreta",hideSecret:"Ocultar Secreto",title:"Eliminar clave de acceso",descriptionNoTime:"Esto eliminará de forma permanente la clave de acceso {key} con nombre {name}, la cual nunca se ha utilizado antes",description:"Esto eliminará permanentemente la clave de acceso {key} con el nombre {name}, la cual fue utilizada por última vez el {time}, {timeAge}",confirm_desc:"Por favor ingresa {name} para eliminar",remark:"Nombre de clave de acceso",remarkInvalid:"Se requiere el nombre de la clave de acceso"},webhook:{add:"Agregar Integración",delTitle:"Borrar Integración",requiredError:"Por favor proporcione un {type} válido",confirm_desc:"Por favor ingrese {name} para eliminar",test:"Prueba",description:"Esto eliminará permanentemente la integración con ID {id}",columns:{description:"ID",params:"Parámetros",createdAt:"Creado en"}}},notification:{title:"Notificaciones",empty:"No hay actividades aun",viewAll:"Ver Todo",showRead:"Mostrar leer",markAllAsRead:"Marcar todo como leído",markAsRead:"Marcar como leído",proceed:"Proceder",checkingForUpdates:"Comprobando actualizaciones...",email:{enable:"Habilitar notificación por correo electrónico",from:"Remitente de correo electrónico",host:"Host del servidor SMTP",port:"Puerto del servidor SMTP",user:"Nombre de usuario del servidor SMTP",secure:"Habilitar conexión segura",password:"Contraseña del usuario del servidor SMTP",fromRequired:"Se requiere el remitente de correo electrónico",fromInvalid:"El remitente del correo electrónico no es válido",receiverRequired:"Se requiere destinatario de correo electrónico",receiverInvalid:"El destinatario del correo electrónico es inválido",hostRequired:"Se requiere el host del servidor SMTP",hostInvalid:"El servidor SMTP es inválido",portRequired:"El puerto del servidor SMTP es requerido",portInvalid:"El puerto del servidor SMTP es inválido, el puerto debe estar entre 1 y 65535",userRequired:"Se requiere nombre de usuario del servidor SMTP",passwordRequired:"Se requiere contraseña de usuario del servidor SMTP.",testSuccess:"El correo de prueba se ha enviado con éxito",testFailed:"Fallo al enviar correo de prueba",testReceiver:"Destinatario del correo electrónico",testSendEmail:"Prueba de envío de correo electrónico",inputTestReceiver:"Por favor ingresa el correo electrónico de prueba del receptor",disable:"Cancelar notificación por correo electrónico",disableDescription:"Después de darte de baja, dejarás de recibir notificaciones por correo electrónico. Para recibir notificaciones por correo electrónico, puedes suscribirte nuevamente en esta página.",unsubscribe:"Cancelar suscripción notificación por correo electrónico",unsubscribeDescription:"Después de darte de baja, ya no recibirás notificaciones por correo electrónico.",subscribe:"Suscribirse",subscribeDescription:"Para recibir notificaciones por correo electrónico, puedes suscribirte de nuevo en la página de configuración."},comingSoon:"Más canales de notificación se encuentran en construcción",unsubscribe:"Cancelar subscripción",unsubscribeSucceed:"La cancelación se realizó con éxito",unsubscribeFailed:"La cancelación de la suscripción falló",unsubscribeTokenRequired:"El token de cancelación es requerido",unsubscribeTokenExpired:"El token de cancelación de suscripción ha caducado",unsubscribeTokenInvalid:"El token de cancelación de suscripción no es válido",installComponentError:"Componente {name} no encontrado o desinstalado",installingComponent:"Instalando componente {name}",pushKit:{enable:"Habilitar notificaciones PushKit",endpoint:"Punto final PushKit",endpointInvalid:"El punto final PushKit no es una URL válida",testSuccess:"La prueba de PushKit se envió correctamente",testFailed:"Test PushKit enviar falló",testReceiver:"Receptor PushKit",testSend:"Probar enviar push-kit",inputTestReceiver:"Introduzca el receptor de prueba did",receiverRequired:"Se requiere receptor PushKit",pushPath:"Ruta de API para push-kit (predeterminado /api/push)",did:"PushKit Blocklet DID",customOptions:"Opciones personalizadas"},notificationDetails:"Detalles de la notificación",receiver:"Receptor",sendStatus:{success:"Enviado",failed:"Error",sentTime:"Hora de envío: {date}",pending:"Pendiente",reason:{enabled:"El usuario ha activado la notificación de {channel}",disabled:"El usuario no ha habilitado la notificación de {channel}",unavailable:"El Blocklet actual no ha configurado la notificación de {channel}",available:"El Blocklet actual ha configurado la notificación {channel}",notSent:"El mensaje actual no se ha enviado a {channel}",offline:"Usuario está desconectado"},count:"{count}",total:"Total"},filter:"Filtrar",notificationPreview:"Vista previa de notificación",resend:"Reenviar",resendLimit:"Puedes reenviar una notificación hasta tres veces al día.",from:"Desde",to:"Para",body:"Cuerpo",notificationTitle:"Título",createdAt:"Creado en",status:"Estado",system:"Sistema",severity:"Severidad",config:"Configuraciones",selectChannels:"Seleccionar Canales",selectChannelsTip:"Selecciona los canales para reenviar",resendFailedOnly:"Reenviar solo a canales fallidos",statistics:"Estadísticas",allSender:"Todos los remitentes",allSeverity:"Todas las Gravedades",severityType:{info:"Info",success:"Éxito",warning:"Advertencia",error:"Error"}},router:{routerSetting:"Dominios y URL",certSetting:"Certificados SSL",defaultSite:"Predeterminado",urlHelperText:"Las URL que no comienzan con HTTP/HTTPS se consideran rutas relativas",empty:"Haz clic en Acciones para configurar el mapeo de URL",healthy:{ok:"El bloque o servicio está en ejecución",error:"Blocklet o servicio no está en funcionamiento o no está instalado"},service:{select:"Seleccionar Servicios de Bloquelet (opcional)",what:"Los servicios de Blocklet son tuberías ejecutadas contra la solicitud antes de redirigirla a la blocklet superior"},nonProvider:{title:"Advertencia de cambio de motor",description:"Si cambias el motor a ninguno, es posible que tu página actual no funcione correctamente porque el motor anterior se detendrá. ¿Estás seguro de continuar?",confirm:"Entiendo, continúa"},validation:{urlRequired:"Se requiere la URL",redirectCodeRequired:"Es necesario el código de redirección",didRequired:"Se requiere Blocklet",pathPrefixTooLong:"El prefijo de URL no puede exceder los {length} caracteres",pathPrefixCannotBeEmpty:"El prefijo de URL no puede estar vacío",domainRequired:"Se requiere el dominio del servidor",invalidUrl:"Por favor proporciona una URL válida",pathPrefixRequired:"Se requiere un prefijo de URL",redirectUrlRequired:"La URL de redireccionamiento es requerida",rewriteUrlRequired:"Se requiere una url de redirección"},domain:{addSite:"Agregar sitio",validate:{emptyTip:"El dominio del sitio no puede estar vacío",suffixTip:"El dominio del sitio no puede incluir {suffix}"},add:{title:"Agregar Nombre de Dominio",description:"Por favor proporciona un nombre de dominio válido",confirm:"Agregar",cancel:"Cancelar",blocklet:"Seleccionar Blocklet",redirect:"¿A dónde redirigir el tráfico?",port:"¿A qué puerto necesita escuchar su controlador de solicitudes?",portTip:"Esto se establece por defecto en el puerto principal del controlador de solicitudes, puedes personalizarlo",type:"Controlador de Tráfico",component:"Seleccionar Componente",pageGroup:"Grupo de Página",pageGroupTip:"Este componente puede renderizar cualquier grupo de páginas enumeradas arriba, dejar vacío para renderizar todas las páginas"},update:{title:"Actualizar dominio del sitio",label:"Dominio del sitio",description:"Por favor, proporcione un dominio de sitio válido"},setup:{tipStart:"Agregue los registros DNS para el dominio",tipEnd:"Según las siguientes pautas",recordType:"Tipo de Registro",recordValue:"Valor de registro"},verify:{ok:"La resolución de dominio es normal",notResolved:"Este dominio no se resuelve ni se puede acceder, por favor verifica la configuración de tu DNS"},https:{ok:"Este dominio tiene habilitado el protocolo https",bad:"Este dominio no ha habilitado https"},delete:{title:"Eliminar sitio",description:'Al confirmar, eliminarás tu sitio existente "{name}". Escribe "{name}" a continuación y selecciona Eliminar para completar el cambio, o selecciona Cancelar si deseas dejar tu sitio.',confirm_desc:"Por favor ingrese {name} para confirmar"}},domainAlias:{nftDomain:"Configuración automática con dominio de DID",showTipHint:"¿Cómo configuro la resolución de nombres de dominio?",add:{title:"Agregar dominio adicional",domainDescription:"Por favor proporcione un nombre de dominio válido",forceTip:"Agregue forzosamente si el nombre de dominio ya existe",helperText:"Si se ingresa una URL HTTP o HTTPS, se convertirá automáticamente en un nombre de dominio.",isDidDomainError:"Este dominio es un Dominio DID. Por favor, agréguelo utilizando el método de configuración automática de dominios.",tips:"Puede ingresar un nombre de dominio comprado desde DID Domain o cualquier otro dominio. Si es un DID Domain, debe presentar el NFT de DID Domain para continuar."},addCustomDomain:{name:"Dominio personalizado"},addDomainNFT:{showNFT:"Configurar dominio automáticamente",tips:"Puedes ingresar a un dominio comprado del DID Domain. Si se detecta un DID Domain, debes presentar el NFT DID Domain para continuar.",connect:{title:"Por favor muestra tu NFT de dominio",scan:"Use los siguientes métodos para autorizar el Blocklet a usar su dominio",confirm:"Confirma en tu billetera de DID",success:"Autorización Exitosa"},buyTip:"El dominio DID hará la resolución del nombre del dominio automáticamente, sin necesidad de configurarlo manualmente, y la aplicación actualizará el registro de resolución del nombre de dominio automáticamente cuando sea necesario. Si todavía no tienes NFT de dominio DID,",buy:"Comprar dominio DID",topLevelDidDomainHint:"Para el Dominio DID, si ingresa un dominio de nivel superior (ej. example.com), se configurará automáticamente como www.example.com"},delete:{title:"Borrar",description:'Después de eliminar "{domain}", el acceso a ese alias puede no funcionar correctamente.',confirmPlaceholder:'Por favor, ingrese "{domain}" para eliminar'}},domainSecurity:{title:"Seguridad del Dominio",cors:{title:"Dominios CORS permitidos",description:'Lista de dominios que pueden enviar solicitudes de origen cruzado a {name}, separados por comas, usa "*" para permitir a cualquiera, lo cual no se recomienda',domainInvalid:"Por favor ingrese una lista válida de nombres de dominio"}},rule:{add:{title:"Agregar mapeo de URL",confirm:"Agregar",pathPrefix:"¿Cuál es el prefijo de URL?",pathPrefixTip:"Si configuras el prefijo como '/my-prefix', todas las solicitudes que comiencen con ese prefijo se dirigirán al bloque configurado",blocklet:"¿Qué Blocklet se encargará de manejar esas solicitudes?",port:"¿Qué puerto del blocklet manejará las solicitudes?",portTip:"Esto se establece por defecto en el puerto principal de blocklet, si tu blocklet escucha en varios puertos, puedes personalizar esto",responseType:"Tipo de respuesta",responseBody:"Contenido de respuesta",responseBodyTip:"Pega tu contenido de respuesta aquí, no debe exceder los 4096 caracteres",responseBodyRequired:"El contenido de respuesta no puede estar vacío"},delete:{title:"Eliminar asignación de URL",description:'Al confirmar, eliminarás tu URL Mapping existente de "{name}". Escribe "{name}" a continuación y selecciona Eliminar para completar el cambio, o selecciona Cancelar si deseas mantener tu URL Mapping.',confirm_desc:"Por favor ingresa {name} para eliminar",cancel:"Cancelar"},update:{title:"Actualizar asignación de URL",confirm:"Sí, Actualizar",cancel:"Cancelar"}},cert:{name:"Nombre del certificado",domain:"Nombre de Dominio",action:"Acción",commonName:"Nombre común",boundDomains:"Dominios",source:"Fuente",expired:"Caducado",leftDays:"Días restantes",issuedOn:"Emitido el",expiryOn:"Vencimiento en",fingerprintAlg:"Algoritmo de huella digital",validityPeriod:"Período de validez",matchedSites:"Sitios coincidentes",upload:"Carga manual",publicCertHelperText:"Los certificados públicos se pueden descargar",nonPublicCertHelperText:"No se pueden descargar certificados no públicos",protectedCertHelperText:"Los certificados protegidos no se pueden editar",unprotectedCertHelperText:"Los certificados sin protección pueden ser editados",issuing:"Certificado siendo generado",sourceTypes:{upload:"Subida manual",lets_encrypt:"Vamos a Encriptar"},table:{nodata:"No hay datos"},delete:{title:"Eliminar Certificado",description:"¿Confirma la eliminación del certificado del dominio {domain}? Su eliminación podría afectar a los servicios relacionados. Confirme que es seguro antes de continuar con la eliminación.",confirm:"Confirmar"},nginx:{title:"Actualizar Certificado",titleAdd:"Agregar Certificado",pem:"Archivo de Certificado SSL",pemTip:'Por favor, coloca tu archivo de certificado de servidor aquí, debe terminar con ".pem" o ".crt"',key:"Archivo de Clave Privada",keyTip:'Por favor, coloca aquí tu archivo de clave privada del servidor, debería terminar con ".pem" o ".key"',confirm:"Guardar",cancel:"Cancelar",invalidFile:"Has seleccionado un archivo inválido",empty:"No se ha seleccionado ningún archivo todavía",source:"Fuente",sourceTypes:{upload:"Subida manual",lets_encrypt:"Vamos a Encriptar"}},detail:{title:"Detalles de Certificado"},genLetsEncryptCert:{title:"Generar certificado Let's Encrypt",dnsTip:"Por favor asegúrese de que el nombre de dominio apunte al servidor Blocklet actual.",description:"Agregar un certificado hará que el servicio sea más seguro, y Blocklet Server renovará automáticamente el certificado antes de que expire."}},gateway:{reqLimit:{switchLabel:"Limitación de solicitudes",rate:"Límite de solicitud ({rate} solicitud/segundo)",title:"Limitación de solicitudes"},cacheEnabled:{switchLabel:"Habilitar caché del gateway para mejorar el rendimiento",title:"Caché de Gateway"},blockPolicy:{switchLabel:"Bloqueo de solicitudes",addItem:"Agregar ítem",blacklistDesc:"Las solicitudes de estas direcciones IP serán bloqueadas para acceder a este Servidor y a todos los Blocklets",inputPlaceholder:"Ingrese la dirección IP, rango CIDR o URL",invalidItem:"Dirección IP, rango CIDR o URL inválidos",title:"Solicitud bloqueando",autoBlocking:{switchLabel:"Bloquear solicitudes incorrectas mediante detección en tiempo real",windowSize:"El tamaño de la ventana de tiempo para contar solicitudes (segundos)",windowQuota:"El número máximo de solicitudes (por IP) permitidas dentro de la ventana",blockDuration:"Duración para bloquear usuario por IP cuando la cuota se excede dentro de la ventana (segundos)",statusCodes:"Los códigos de estado a verificar"}},proxyPolicy:{switchLabel:"Corriendo detrás de proxies",trustRecursive:"Confíe en los proxies recursivamente",trustRecursiveDesc:"Use la IP más a la izquierda en la cadena X-Forwarded-For",trustedProxies:"Proxies de confianza",trustedProxiesDesc:"Las solicitudes de estas IP serán confiables para obtener la IP real del cliente",realIpHeaderLabel:"Encabezado de IP del cliente",realIpHeaderDesc:"Si el Servidor de Blocklets se está ejecutando detrás de proxies como CloudFront, puedes establecer la cabecera de la IP real del cliente aquí.",addItem:"Agregar artículo",inputPlaceholder:"Ingrese la dirección IP, rango CIDR",invalidItem:"Dirección IP no válida, rango CIDR",title:"Política de Proxy"},wafPolicy:{switchLabel:"Detecta y bloquea solicitudes malas con ModSecurity",modeDesc:"El modo de modsecurity (se requiere el módulo modsecurity)",mode:{detectOnly:"Detectar solo (no bloqueará solicitudes)",on:"Activado (bloqueará solicitudes)"},logLevelDesc:"El nivel de registro para ModSecurity (0-9), 0 significa deshabilitar el registro de auditoría",inboundAnomalyScoreThresholdDesc:"El umbral de puntuación de anomalía entrante (1-100), valor más bajo significa más estricto",outboundAnomalyScoreThresholdDesc:"El umbral de puntuación de anomalía saliente (1-100), un valor más bajo significa más estricto",docDesc:"Consulta la documentación para ver cómo configurar modsecurity",title:"Cortafuegos de aplicaciones web"}}},noMatch:{desc:"No podemos encontrar la página que estás buscando"},health:{connectionErrorTip:"El servidor de Blocklet no puede conectarse a la red, por favor verifica si el servidor de Blocklet ha sido detenido o si hay un problema de red",connectionRecoveryTip:"Se ha recuperado la conectividad del servidor de Blocklet",connectionStoppedTip:"El servidor Blocklet se ha detenido",wrongAccessUrlTip:"La dirección de acceso al servidor de Blocklet es incorrecta, por favor use la dirección de acceso correcta"},debug:{title:"¡Tu servidor de Blocklet está activo y funcionando!"},team:{invite:{action:"Invitar Nuevo",setting:"Configuración de Invitación",enabled:"Desactive esta configuración para restringir las nuevas invitaciones de usuarios solo a propietarios/administradores",disabled:"Activa esta configuración para permitir que cualquier usuario invite a nuevos usuarios",inviter:"Invitado por"},add:"Agregar Nuevo",member:{name:"Nombre",passport:"Pasaporte",passports:"Pasaportes",lastLogin:"Último inicio de sesión",lastLoginIp:"Última dirección IP de inicio de sesión",source:"Registrar fuente",source_derived:"Derivado de oauth",source_wallet:"Billetera DID",filter:"Filtrar por",blockAccess:"Prohibir inicio de sesión",blockAccessDescription:"El usuario no podrá conectarse a esta aplicación",allowAccess:"Permitir Iniciar sesión",allowAccessDescription:"El usuario podrá conectarse a esta aplicación",updateRole:"Actualizar Rol",removeUser:"Eliminar Usuario",removeUserDescription:'¿Confirmar eliminar usuario "{name}"?',revokePassport:"Revocar Pasaporte",revokePassportDescription:"Una vez que se revoca el pasaporte, el titular del pasaporte no puede usarlo para iniciar sesión nuevamente, ¿estás seguro de continuar?",enablePassport:"Habilitar Pasaporte",enablePassportDescription:"Una vez que se habilite nuevamente el pasaporte revocado, el titular del pasaporte podrá volver a usarlo para iniciar sesión, ¿seguro que deseas continuar?",passportPermissionTitle:"El pasaporte tiene los siguientes permisos:",search:"Buscar miembro",onlyApprovedMember:"Mostrar solo Aprobados",inviteDialog:{createInviteLink:"Generar enlace de invitación",createSuccessTip:"El enlace de invitación se ha creado correctamente. Haz clic para copiar y enviar el enlace al miembro invitado. Por favor, ten en cuenta que este enlace de invitación no se puede reutilizar y caducará el {expireDate}"},error:{passportEmpty:"El pasaporte no debe estar vacío"},connectedAccounts:"Cuentas Conectadas",connections:"Conexiones",federated:"Federado",switch:{did:"Cambiar DID",profile:"Cambiar Perfil",passport:"Cambiar pasaporte"},settings:{notification:"Notificaciones",email:"Envíame un correo electrónico cuando ocurran algunos eventos",wallet:"Envía notificación a mi billetera cuando ocurran algunos eventos",phone:"Envíame un mensaje de texto cuando ocurra algún evento",webhook:"Webhooks",add:"Agregar nuevo webhook",url:"URL personalizada",slack:"Slack Webhook",tested:"Mensaje de prueba enviado"},activeUserSessions:"Sesiones de usuario activas",forceLogout:"Cerrar sesión forzada",forceLogoutDescription:"¿Confirmar para forzar el cierre de sesión de este usuario?",openProfile:"Ver Perfil",removeUserSuccess:"Usuario eliminado exitosamente"},transferNode:{name:"Transferir propiedad",inviteDialog:{title:"Transferir el servidor de Blocklet",tips:{progress:"Para completar la operación de transferencia, el receptor debe aceptar la solicitud de transferencia del servidor. Una vez aceptada, no podrás acceder al servidor nuevamente con el pasaporte actual.",newOwnerPermissions:"El nuevo Propietario tendrá el derecho de gestionar todas las operaciones como miembros, pasaportes y Blocklets.",revoke:"Si quieres retirar la invitación de transferencia, puedes eliminar el enlace de invitación en la página 'Equipo -> Miembros -> Invitar'."},createInviteLink:"Generar enlace de invitación",createSuccessTip:"El enlace de invitación se ha creado correctamente, haz clic para copiar y enviar el enlace al miembro invitado. Ten en cuenta que este enlace de invitación no se puede reutilizar y caducará el {expireDate}"},delegateDialog:{title:"Se requiere autorización",scan:"Use los siguientes métodos para autorizar al servidor a transferir la propiedad NFT del servidor.",confirm:"Confirma en tu billetera DID",success:"Autorización Exitosa"}},transferApp:{name:"Transferir propietario",transferDialog:{title:"Solicitud de transferencia",tips:{progress:"El receptor debe aceptar la transferencia de la aplicación para completar la operación de transferencia, y una vez que el receptor la acepte, no podrás iniciar sesión en la aplicación con el pasaporte actual nuevamente.",newOwnerPermissions:"El nuevo Propietario tendrá el derecho de gestionar todas las operaciones, como miembros, pasaportes y configuraciones."},createTransferLink:"Generar enlace de transferencia",createSuccessTip1:'El enlace de transferencia se ha creado correctamente, el invitado debe usar <a style="color: rgb(29, 193, 199)" target="_blank" href="https://www.didwallet.io/">DID Wallet</a> para recibir la propiedad de la aplicación',createSuccessTip2:"Por favor, haz clic para copiar y enviar el enlace al miembro invitado. Ten en cuenta que este enlace de transferencia no se puede reutilizar y caducará el {expireDate}. Tu enlace de transferencia solo se mostrará una vez y no será visible de nuevo después de cerrar este diálogo.",createSuccessTip3:"Después de que la transferencia sea exitosa, la aplicación se reiniciará automáticamente para que los cambios surtan efecto",link:"Enlace de transferencia",iKnow:"He copiado y guardado el enlace"},connectDialog:{title:"Autorización requerida",scan:"Utilice los siguientes métodos para autorizar la aplicación a transferir la propiedad.",confirm:"Confirma en tu billetera DID",success:"Autorización exitosa"},receiveDialog:{title:"Recibir la propiedad de la solicitud",scan:"Utilice los siguientes métodos para recibir la propiedad de la aplicación.",confirm:"Confirma en tu billetera DID",success:"Recibir propiedad con éxito"},successTitle:"Te has convertido en el nuevo propietario de esta aplicación",visitDashboard:"Visita el panel de control de la aplicación",description:'Si quieres cambiar la propiedad de tu proyecto, haz clic en "transfer ownership" para empezar'},permission:{create:{title:"Crear Permiso",description:"Formato: <acción>_<recurso> por ejemplo: 'consulta_usuario', 'modifica_usuario'"},delete:{title:"Eliminar permiso",description:"¿Confirmar eliminar {name}?"},error:{actionEmpty:"La acción no puede estar vacía",resourceEmpty:"El recurso no puede estar vacío",permissionTooLong:"La permiso no puede exceder {length} caracteres",descriptionTooLong:"La descripción no puede superar los {length} caracteres"}},passport:{create:{title:"Crear Pasaporte",titleTip:"El título no puede modificarse después de ser creado, se recomienda que tenga un máximo de 14 letras"},bind:{title:"Permiso de enlace",roleTip:"Obtendrás todos los permisos del pasaporte seleccionado después de la vinculación.",permissionTip:"Obtendrás los permisos seleccionados después de vincularlos",transferLeftTitle:"Todos los permisos",transferRightTitle:"Permisos otorgados"},delete:{title:"Eliminar Pasaporte",description:"Los pasaportes que tenga el usuario perderán todos los permisos después de ser eliminados. ¿Está seguro de que desea continuar?"},error:{titleEmpty:"El título no puede estar vacío",titleTooLong:"El título no puede exceder {length} caracteres",descriptionEmpty:"La descripción no puede estar vacía"},issuance:{pending:"Pendiente",create:{title:"Generar Enlace"},delete:{title:"Eliminar recibir enlace",description:"¿Confirmar eliminar {link}?"}},issue:"Emitir pasaporte",disableIssuance:"Deshabilitar Emisión de Pasaportes",enableIssuance:"Habilitar emisión de pasaportes",disableIssuanceTip:'Se desactivarán las operaciones "Issue Passport", "Invite Member" y otras.',enableIssuanceTip:"Emitir Pasaporte",trustedPassportIssuers:"Emisores de pasaportes confiables",trustedIssuers:"Emisores confiables",trustedFactories:"Colecciones de NFT de confianza",trustedFactoriesTip:"Administrar colecciones de NFT confiables que se pueden utilizar para intercambiar por un pasaporte",searchFactoryAddress:"Buscar Colección DID",configFactories:"Configurar colecciones confiables de NFT",configFactoriesTip:"Permitir a los usuarios intercambiar NFTs por pasaportes",factoryAddress:"Dirección de la colección NFT",factory404:"Colección de NFT no encontrada",factoryAddressTip:"La dirección de la colección NFT debe existir en la cadena principal de ArcBlock",role:"Tipo de pasaporte",ttl:"Política de vencimiento de pasaportes",ttlNever:"Nunca Caducar",ttlMint:"Desde la compra de NFT",ttlExchange:"Desde el intercambio de pasaporte",ttlNeverTip:"El pasaporte será válido hasta que sea revocado",ttlMintTip:"El pasaporte será válido desde que se compre el NFT hasta que especifiques ttl o lo revoques",ttlExchangeTip:"El pasaporte será válido desde el momento en que el usuario lo intercambie con éxito hasta que especifique el ttl o revoque",ttlTip:"365d significa 365 días, también puedes usar 30 días o 24h",validUntil:"Válido hasta: {date}",externalPassport:"Pasaporte Externo",notTrustedIssuerTip:"El pasaporte no puede ser utilizado porque el emisor no está en la lista de emisores confiables",issuerDid:"DID del emisor",addNodeToTrustedIssuers:"Agregar el servidor actual como un emisor de pasaportes confiable",revoked:"Revocado",noPermission:"No tienes permiso para realizar esta operación",shouldNotDeleteCurrent:"No puedes revocar tu pasaporte actualmente en uso",mappingRule:"Regla de mapeo",defaultRule:"Regla predeterminada",search:"Buscar Pasaporte",searchIssuerDid:"Buscar Identificador del Emisor DID",issueBy:"Problema por {name}",configColor:"Configurar el color del pasaporte",configColorTip:"Personaliza el color del pasaporte",color:"Color del pasaporte",description:"Usa este pasaporte para conectarte como {title} en {teamName}",displayBuiltin:"Incorporado",displayCustom:"Personalizado",typesTip:"Personaliza los tipos de pasaporte, separados por coma",issuanceDate:"Fecha de emisión: {date}"},inviting:{link:"Enlace de invitación",inviter:"Invitador",delete:{title:"Eliminar enlace de invitación",description:"¿Confirmar eliminar {link}?"},disabledTip:"La invitación no está habilitada"},whoCanAccess:{all:{title:"Accesible para todos"},owner:{title:"Dueño solamente"},invited:{title:"Usuario invitado solamente"}}},launcher:{provider:"Proveedor",adminUrl:"URL"},session:{blockAccess:"Has sido bloqueado de acceder a este servidor"},launchBlocklet:{appInfo:"Información de la aplicación",appInfoDesc:"Confirma la información de la solicitud",author:"Autor de la aplicación: {author}",setup:"Configurar Blocklet",redirect:"Redireccionar",alreadyRunning:"La aplicación {name} ya está en ejecución en este servidor de Blocklet",alreadyInstalled:"La aplicación {name} ya está instalada en este servidor de Blocklet",alreadyExists:"Esta aplicación ya existe, redirigiendo...",purchased:"Ya comprado",purchase:"Compra",nextStep:"Siguiente paso",agreement:"Contrato de Licencia",agreeAll:"Aceptar y continuar",installing:"Instalando {appName} en {serverName}, puede tomar minutos completar, por favor manténgase atento...",redirecting:"{appName} se ha instalado correctamente, ahora comenzando...",start:"Lanzamiento",launch:"Instalar Blocklet en el servidor",launchSuccess:"{appName} se ha lanzado con éxito!",installSuccess:"Blocklet se ha instalado y lanzado correctamente en {serverName}",openInRegistry:"Ver en Blocklet Store",subTitle:"Listo para instalar Blocklet {appName} en {serverName}",installingSubTitle:"{appName} instalando",access:"Abre la aplicación",viewApplication:"Ver Aplicación",newVersion:"Nueva Versión",newVersionDesc:"La aplicación ya existe, pero la versión actual se puede actualizar",upgradeNow:"Mejora ahora",later:"Más tarde",introduction:"Introducción",welcome:"Bienvenido al Asistente de Lanzamiento de Blocklet",accept:"Estoy de acuerdo con el EULA de Blocklet",license:"Licencia de la aplicación",next:"Acepta el EULA y continúa",purchaseApp:"Comprar Blocklet",setupAppDesc:"Inicialice su Blocklet",launched:"Completar",confirmInstall:"Confirmar Instalación",dialog:{title:"Conviértete en propietario de la aplicación",nftFreeDescription:"Por favor, presenta el espacio NFT de la aplicación y crea una cuenta de la aplicación para continuar",nftPaidDescription:"Por favor presenta el espacio de la aplicación NFT y la compra de la aplicación NFT para continuar",freeDescription:"Por favor crea una cuenta en la aplicación para continuar",paidDescription:"Por favor, presenta la compra de la aplicación NFT y crea una cuenta de aplicación para continuar",confirm:"Confirma en tu billetera de DID",success:"Autorización exitosa",authorizationTimeout:"Tiempo de autorización superado"},waiting:{verifying:"Verificando metadatos de la aplicación...",downloading:"Descargando paquete de la aplicación...",downloadingComponent:"Descargando {name}",extractingComponent:"Extrayendo {name}",extracting:"Extrayendo paquete de la aplicación...",installing:"Instalando componentes de la aplicación...",installed:"Instalado",starting:"Iniciando la aplicación...",done:"Tu aplicación se está lanzando..."},error:{loadMetaFailed:"Error al cargar la información de la aplicación",appMetaNotFound:"No se encontraron datos para esta aplicación",downloadFailed:"Error al descargar la aplicación, por favor intenta nuevamente",installFailed:"Error al instalar la aplicación, por favor intenta nuevamente",startFailed:"Error al iniciar la aplicación, por favor inténtalo de nuevo",launchFailed:"Error al iniciar la aplicación, por favor intenta de nuevo",installedButStopped:"La aplicación se instaló correctamente, pero no se puede iniciar. Puede iniciarlo manualmente después de resolver los problemas de bloqueo",installedButError:"La aplicación se instaló correctamente, pero no se pudo iniciar",restoreFailed:"Error al restaurar la aplicación, por favor intente nuevamente",resourceBlocklet:"Este Blocklet no puede ser lanzado directamente, pero puedes añadirlo a una aplicación existente."},steps:{introduction:"Introducción",installApp:"Instalar aplicacion",purchaseSpace:"Comprar Espacio",prepareSpace:"Preparar Espacio"},installRelatedComponents:"Instalar Blocklets relacionados",canNotInstall:"No se puede instalar",dockerBlockletCantInstall:"No se puede instalar el Blocklet, porque el Blocklet Server no ha habilitado Docker o Docker Network"},issuePassport:{title:"Recibir pasaporte",description:"Utilice los siguientes métodos para recibir el pasaporte emitido por {name}",dialog:{scan:"Utilice los siguientes métodos para reclamar el pasaporte",confirm:"Confirma en tu billetera de DID",success:"El pasaporte se ha añadido correctamente a tu billetera",loginWithPassport:"Conéctate con este Pasaporte",autoClose:"La página se cerrará automáticamente en {seconds}s",autoJump:"La página saltará automáticamente en {seconds}s"}},lostPassport:{title:"Pasaporte perdido",description:"El propietario de {name} puede usar los siguientes métodos para recuperar el pasaporte; los miembros deben contactar al propietario para reemitir el pasaporte",return:"Cancelar operación de recuperación, volver a la página principal",receivePassport:"Recibir pasaporte",recoverDialog:{title:"Recuperar pasaporte",scan:"Utilice los siguientes métodos para recuperar su pasaporte",confirm:"Confirmar en tu DID wallet",success:"Recuperado correctamente"},receiveDialog:{title:"Recibir pasaporte",scan:"Utilice los siguientes métodos para recibir el pasaporte",confirm:"Confirmar en tu DID wallet",success:"Recibido correctamente"},recoverPassport:"Recuperar pasaporte"},invite:{message:"{name} te invita a ser el {role} de {dapp}",success:"Te has unido correctamente a {dapp}",receive:"Recibir con",validUntil:"Válido hasta:",viewPermission:"Permiso de vista",emptyPermission:"Permiso vacío",open:"Abrir",description:{step1:"Descarga e instala tu {wallet}",step2:"Haz clic en el botón de arriba para recibir el pasaporte",step3:"Inicia sesión en {dapp} con el pasaporte recibido"},transferNFTDialog:{title:"Aceptar Blocklet Server {name}",scan:"Conecta el lanzador para completar la recepción del servidor Blocklet.",confirm:"Revise esta operación en su billetera DID",success:"Conexión exitosa, esperando confirmación de recibir el servidor"}},receive:{dialog:{title:"Recibir pasaporte",scan:"Después de recibir el pasaporte, puede usarlo para iniciar sesión en la aplicación",confirm:"Confirma en tu billetera de Identidad Digital",success:"Estás conectado exitosamente"}},navigation:{navigation:"Navegación",actionFailed:"Acción fallida",form:{title:"Título",titlePlaceholder:"Por favor ingrese el título de navegación",titleTooLong:"El largo del título debería ser inferior a {len}",description:"Descripción",descriptionPlaceholder:"Por favor ingrese la descripción de navegación",descriptionTooLong:"El largo de la descripción debería ser inferior a {len}",icon:"Ícono de navegación",iconPlaceholder:"Por favor ingrese el icono de navegación",invalidIcon:"El icono no es válido",findMoreIcon:"Encuentra más iconos",link:"Enlace",linkPlaceholder:"Por favor ingrese el enlace de navegación",invalidLink:"El enlace no es válido",component:"Componente",componentPlaceholder:"Por favor selecciona el componente de navegación",role:"Rol",rolePlaceholder:"Por favor seleccione un rol de navegación",locale:"Locale",localePlaceholder:"Por favor ingrese la configuración regional que desea agregar",localeExists:"{value} ya existe",activeIcon:"Icono activo",activeIconPlaceholder:"Por favor, ingrese el icono de navegación activo",activeColor:"Color activo",activeColorPlaceholder:"Por favor, ingrese el color activo de navegación",color:"Color",colorPlaceholder:"Por favor, introduce el color predeterminado de la navegación"},action:{add:"Agregar navegación",addSub:"Agregar subnavegación",edit:"Editar navegación",hide:"Ocultar navegación",show:"Mostrar navegación",del:"Eliminar navegación",new:"Nuevo",noAddSub:"El componente desinstalado no puede agregar subnavegación",noEdit:"No se puede editar el componente desinstalado",noDel:"No se permite eliminar la navegación incorporada",reset:"Reiniciar",restConfirmTitle:"¿Deseas borrar todas las navegaciones personalizadas?",restConfirmDesc:"Después de borrar, la navegación se restablecerá a la configuración predeterminada original de Blocklet",resetSuccessful:"Restablecimiento exitoso"},access:"Acceso",members:"Miembros",passport:"Pasaporte",analytics:"Analítica",dashboard:"Tablero",studio:"Estudio",blockletService:"Servicio de Blocklet"},storage:{spaces:{title:"DID Spaces",tips:"Consejos",label:"Ingresa el espacio de puerta DID",connected:{title:"Espacios de DID conectados",tag:"Conectado"},connectedWithName:"Te has conectado exitosamente a {name}",addedWithName:"Has añadido exitosamente a {name}",connects:"Conectar",reconnect:"Reconectar",addressCannotEmpty:"La dirección no puede estar vacía",addressNotValid:"{url} no es una dirección válida",authorize:{title:"Conecta {appName} a DID Spaces",scan:"Utilice los siguientes métodos para permitir que la app {appName} se conecte a DID Spaces",success:"Conexión exitosa"},provideNFT:{title:"Por favor muestra el DID Spaces NFT para {appName}",scan:"Utilice los siguientes métodos para permitir que la app {appName} muestre el NFT de DID Space",success:"Conexión exitosa"},backup:{title:"Copia de seguridad",records:"Respaldo de Registros"},autoBackup:{title:"Copia de seguridad automática",enabled:"La copia de seguridad automática está activada",disabled:"La copia de seguridad automática está apagada"},autoCheckUpdate:{title:"Comprobando automáticamente la notificación de nuevas versiones",enabled:"La opción de verificar automáticamente nuevas versiones está activada.",disabled:"La verificación automática de nuevas versiones está desactivada"},backupSuccessfully:"Copia de seguridad realizada correctamente",restore:"Restaurar",restoreSuccessfully:"Restauración exitosa",gateway:{title:"Puerta de enlace",select:"Seleccione un espacio DID",add:{title:"Agregar Espacios DID",label:"Por favor ingrese la URL de los Espacios DID",failed:"No se pudo agregar los Espacios de DID",invalidUrl:"URL de puerta de enlace de espacios de DID no válida",duplicate:"{name} ya está conectado a este Blocklet"},delete:{title:"Desconectar",succeeded:"Desconectado de DID Spaces {name}",failed:"Error al desconectar de la puerta de enlace",failedForSelected:"No se puede desconectar del DID Space seleccionado",descForBackup:`Después de desconectar de {name}, no podrás hacer copias de seguridad de Blocklet a este DID Space. ¿Estás seguro de que quieres desconectar?
2
- Puedes restaurar las operaciones de copia de seguridad conectando nuevamente con {name}.`,descForStorage:`Después de desconectar de {name}, no podrás hacer copias de seguridad de Blocklet a este DID Space. ¿Estás seguro de que quieres desconectar?
3
- Puedes restaurar las operaciones de copia de seguridad conectando nuevamente con {name}.`},connect:{title:"Conectar espacios de DID",add:"Conéctate a DID Spaces ahora",addTips:"Aún no estás conectado a ningún DID Space",switch:"Cambiar espacios DID",switchTips:"Estás conectado a {name}",connected:"Conectado"},switch:{failedForMismatchSpace:"Por favor, conéctate al espacio DID correcto {name}"},connectTo:"Conéctese a Espacios DID"},strategy:{title:"Estrategia de respaldo",autoBackup:"Respaldo automático",backupNow:"Copia de seguridad ahora",viewBackupFiles:"Ver archivos de respaldo"},progress:{title:"Progreso de respaldo"},record:{title:"Respaldo de registros",emptyData:"No hay registros"},notYet:"Todavía no tienes una copia de seguridad en progreso...",connect:{now:"Conectar ahora",title:"Conectar DID Spaces",provider:"Proporcione su DID Space para comenzar las copias de seguridad",providerForStorage:"Proporcione su DID Space para almacenamiento de datos",useWallet:"Conectar con DID Wallet",useWalletReconnect:"Reconectar con DID Wallet",useSpaceGateway:"Conectar usando DID Space Gateway",useSpaceGatewayReconnect:"Reconectar usando DID Space Gateway",switchToSpace:"Cambiar a DID Space",switchToSpaceSucceeded:"Cambiado a DID Space {name}",succeeded:"Conectado exitosamente a DID Space",disconnect:"Desconectar",abortBlockletBackup:"Abortar copia de seguridad"},disconnected:{tag:"Desconectado",reconnectNow:"Reconectar ahora"}},appLevel:{title:"Almacenamiento a nivel de aplicación",description:"Todos los datos generados por la aplicación se almacenan en este DID Space"}},log:{lastDays:{1:"Último 1 día",7:"Última 1 semana"}},oauth:{commonSettings:"Configuraciones comunes",save:"Guardar",saveSuccess:"Guardado exitosamente",saveFailed:"Error al guardar",issued:"Emitido",thirdPartyLogin:"Inicio de sesión de terceros",alreadyBindOAuth:"Ya has vinculado el inicio de sesión de terceros",alreadyBindWallet:"Ya vinculado a la billetera DID",auth0:{enable:"Habilitar inicio de sesión de Auth0",domain:"Dominio",domainDescription:"Se requiere el dominio de Auth0",clientId:"ID de cliente",clientIdDescription:"Se requiere el clientId de Auth0",clientSecret:"Clave secreta de cliente",clientSecretDescription:"Se requiere el secreto de cliente de la aplicación Auth0 OAuth"},comingSoon:"Más métodos de inicio de sesión están en construcción",moreLogin:"Inicio de sesión",federated:"Inicio de sesión federado",runTest:"Prueba",github:{enable:"Habilitar inicio de sesión de GitHub",clientId:"Id. de cliente",clientIdDescription:"Se requiere clientId de la aplicación OAuth de Github",clientSecret:"Cliente Secreto",clientSecretDescription:"La información clientSecret de la aplicación de Github OAuth es obligatoria"},google:{enable:"Habilitar inicio de sesión de Google",clientId:"ID de Cliente",clientIdDescription:"Se requiere el clientId de la aplicación de Google OAuth",clientSecret:"secreto del cliente",clientSecretDescription:"La clave secreta del cliente de la aplicación OAuth de Google es obligatoria"},apple:{enable:"Habilitar inicio de sesión con Apple",teamId:"Identificación del equipo",teamIdDescription:"Se requiere el Id del equipo para la aplicación OAuth de Apple",serviceId:"ID de Servicio",serviceIdDescription:"Se requiere el ID del servicio de la aplicación Apple OAuth",keyId:"ID de la clave",keyIdDescription:"Se requiere la identificación de clave de aplicación OAuth de Apple",authKey:"Clave de Autenticación",authKeyDescription:"Se requiere la clave de autenticación de la aplicación OAuth de Apple",bundleId:"Bundle ID",bundleIdDescription:"Se requiere el ID del paquete de la aplicación OAuth de Apple"},oauth:"Ingreso de Tercera Parte"},expiration:{mobile:{tips:{success:"Hola, {validity}",warning:"{validity}",error:"Expirado"},loadFailed:"Reintentar!"},desktop:{tips:{success:"La suscripción expirará después de {validity}",warning:"La suscripción caducará después de {validity}",error:"Suscripción vencida"},loading:"Cargar suscripción...",loadFailed:"No se pudo cargar la información de la suscripción, ¡por favor intente de nuevo!",nextInvoice:"Próxima factura: {date}"}},analytics:{trend:"Tendencias",detail:"Descomposición",traffic:{totalRequests:"Total de Solicitudes",validRequests:"Solicitudes exitosas",failedRequests:"Solicitudes fallidas",uniqueVisitors:"Visitantes únicos",uniqueFiles:"URLs únicas",uniqueReferrers:"Referentes únicos",uniqueNotFound:"Único 404",uniqueStaticFiles:"Archivos estáticos únicos",logSize:"Tamaño del registro",bandwidth:"Ancho de banda"},runtime:"Tiempo de ejecución"},federated:{inviteJoinFederatedLogin:"Invitar a unirse a inicio de sesión federado",inviteJoinFederatedLoginDescription:"Copia la siguiente dirección y complétala en la solicitud donde necesitas unirte para solicitar el inicio de sesión federado.",federatedLogin:"Inicio de sesión federado",joinFederatedLogin:"Unirse a inicio de sesión federado",joinFederatedLoginDescription:"Por favor ingrese la dirección de inicio de sesión federada proporcionada por Master Blocklet para unirse al inicio de sesión federado",quitFederatedLogin:"Salir del inicio de sesión federado",quitFederatedLoginDescription:"Después de salir de la sesión federada, el inicio de sesión normal siempre está disponible",federatedJoinAppUrl:"Unirse a la aplicación de inicio de sesión federado en appUrl",federatedJoinAppUrlRequired:"Por favor ingrese el inicio de sesión federado unirse a la appUrl",failedToGetFederatedLoginAppUrl:"No se pudo obtener la URL de inicio de sesión federado de la aplicación",federatedJoinAppUrlInvalid:"La appUrl del inicio de sesión federado no es válida",siteDetail:"Detalles del sitio",approveToJoinLogin:"Aprobar unirse a inicio de sesión federado",approve:"Habilitar inicio de sesión",revoke:"Desactivar inicio de sesión",enableFederatedLogin:"Habilitar inicio de sesión federado",disableFederatedLogin:"Deshabilitar inicio de sesión federado",enableFederatedLoginDescription:"Después de habilitar el inicio de sesión federado, este sitio se iniciará automáticamente",disableFederatedLoginDescription:"Después de desactivar el inicio de sesión federado, este sitio no se iniciará sesión automáticamente",enableFederatedAutoLogin:"Activar inicio de sesión automático",enableFederatedAutoLoginDescription:"Tras habilitar el inicio de sesión automático, si actualmente hay un estado de inicio de sesión unificado, el sitio iniciará sesión automáticamente con la identidad del inicio de sesión federado.",disableFederatedAutoLogin:"Deshabilitar inicio de sesión automático",disableFederatedAutoLoginDescription:"Después de desactivar el inicio de sesión automático, el sitio no iniciará sesión automáticamente con la información del usuario registrado de inicio de sesión unificado, y aún puedes elegir iniciar sesión manualmente con la identidad de inicio de sesión federado.",info:{appId:"APP HIZO",appPid:"ID permanente",migratedFrom:"También conocido como",appName:"Nombre del Blocklet",appDescription:"Descripción del bloque",appUrl:"URL del Blocklet",appLogo:"Logo de Blocklet",did:"Bloquear DID",serverId:"Identificador del servidor Blocklet",serverVersion:"Versión del servidor Blocklet",version:"Versión de Blocklet",appliedAt:"Aplica en",status:"Estado"},status:{pending:"Pendiente",approved:"Aprobado",rejected:"Rechazado",revoked:"Revocado"},disbandFederatedLogin:"Cerrar sesión federada",disbandFederatedLoginDescription:"Después de disolver la conexión federada, todos los sitios miembros abandonarán automáticamente la conexión federada.",syncConfig:"Sincronizar configuración de sitios federados",quitMember:"Eliminar",quitMemberDescription:"Eliminar miembros específicos del grupo del sitio",removeFederatedLogin:"Eliminar miembro",removeFederatedLoginDescription:"Después de eliminar miembros específicos del grupo del sitio, los miembros solo pueden usar el inicio de sesión normal."},optionsOrder:{1:"Opción Uno",2:"Opción Dos"},securityRule:{title:"Regla de seguridad",sortByDescription:"Ordenar por prioridad coincidente",add:"Agregar regla de seguridad",edit:"Editar regla de seguridad",view:"Ver la regla de seguridad",form:{precede:"Precede",pathPattern:"Patrón de ruta",pathPatternPlaceholder:"Introduce el patrón de ruta",pathPatternErrorText:"El patrón de ruta no es válido",accessPolicyOrResponseHeaderPolicyRequired:"Se requiere una política de acceso o una política de encabezado de respuesta",accessPolicy:"Política de acceso",accessPolicyPlaceholder:"Seleccionar política de acceso",accessPolicyHelperText:"Selecciona la política de acceso",responseHeaderPolicy:"Política de encabezado de respuesta",responseHeaderPolicyPlaceholder:"Selecciona la política de encabezados de respuesta",responseHeaderPolicyHelperText:"Selecciona una política de encabezados de respuesta",remark:"Observar",remarkPlaceholder:"Por favor, ingresa el comentario",component:"Componente",componentPlaceholder:"Por favor, elija componente"},delete:{title:"¿Eliminar regla de seguridad?",description:"Después de eliminar una regla de seguridad, la regla ya no tendrá efecto"}},responseHeaderPolicy:{title:"Política de encabezado de respuesta",add:"Agregar política de encabezado de respuesta",edit:"Editar la directiva del encabezado de respuesta",view:"Política de cabecera de respuesta de vista",form:{name:"Nombre",namePlaceholder:"Por favor, introduce tu nombre",description:"Descripción",descriptionPlaceholder:"Introduzca la descripción",cors:{origin:"Origin",originPlaceholder:"Admite los siguientes formatos de dominio: http://www.example.com, http://*.example.com, http://www.example.com:8080, * (no se recomienda el comodín)",originHelperText:"El nombre de dominio empieza por http:// o https://, uno por línea, un comodín * por línea",methods:"Métodos",allowedHeaders:"Cabeceras permitidas",allowedHeadersPlaceholder:"Se recomienda rellenar *, admite entradas de varias líneas",allowedHeadersHelperText:"Dile al servidor qué encabezados de petición HTTP personalizados pueden usarse en la próxima petición al enviar una petición OPTIONS, como: x-blocklet-version",exposedHeaders:"Cabeceras expuestas",exposedHeadersPlaceholder:"Admite entrada de varias líneas",exposedHeadersHelperText:"Configura Expose-Headers, por ejemplo: X-Content-Range",maxAge:"Max-Age (segundos)",maxAgeHelperText:"El período de validez del resultado obtenido por la solicitud de OPCIONES, el cual debe ser un entero positivo",optionsSuccessStatus:"Opciones Éxito Estado",preflightContinue:"Continuar con la revisión previa",credentials:"Credenciales",smartModeHelperText:"Añade automáticamente todos los nombres de dominio de la aplicación actual, así como los nombres de dominio del grupo de sitio de inicio de sesión federado",smartMode:"Modo Inteligente"},originOverride:"Anulación de origen",originOverrideHelperText:"¿Permitir que la lógica de la aplicación invalide esta cabecera de respuesta?"},delete:{title:"¿Eliminar la política de encabezado de respuesta?",description:"Después de eliminar una política de encabezado de respuesta, la política no surtirá efecto"}},accessPolicy:{title:"Política de acceso",add:"Agregar política de acceso",edit:"Editar política de acceso",view:"Ver política de acceso",form:{name:"Nombre",namePlaceholder:"Introduce un nombre",description:"Descripción",descriptionPlaceholder:"Por favor, introduce la descripción",roles:"Roles de acceso",accessType:"Tipo de acceso"},delete:{title:"¿Eliminar política de acceso?",description:"La política dejará de surtir efecto después de quitarla"}},didConnect:{genKeyPair:{title:"Generar DID de Blocklet",scan:"Utilice los siguientes métodos para generar un Blocklet DID",success:"Se generó correctamente el DID de Blocklet",successDesc:"El Blocklet DID se ha generado correctamente (Las publicaciones posteriores requieren la cartera que generó el DID para operar)"},common:{invalidSession:"Sesión inválida",invalidSessionDesc:"La sesión no existe o ha expirado",connectionError:"Fallo de conexión"}},pagination:{next:"Página siguiente",previous:"Página anterior",rowsPerPage:"Por página:",displayRows:"de",jumpToPage:"Ir a la página:"},webhookEndpoint:{createWebhook:"Crear Webhook",createWebhookTitle:"Crear Webhook",selectAllEvents:"Seleccionar todos los eventos",selectAllEventsTooltip:"Seleccionar todos los eventos disponibles",selectedEventsCount:"{count} eventos seleccionados",selectedCount:"{count} seleccionados",eventsCount:"{count} eventos",saveWebhook:"Crear Webhook",noAvailableEvents:"No hay eventos disponibles",loadingEvents:"Cargando eventos...",loadingError:"Error al cargar eventos: {message}",title:"Webhooks",noWebhooksAdded:"No hay webhooks agregados",validation:{urlRequired:"Se requiere URL",urlInvalid:"Ingrese una URL válida",descriptionRequired:"Se requiere descripción",eventRequired:"Selecciona al menos un evento"},hosted:"Puntos finales alojados",add:"Crear Webhook",addTip:"Configura tu endpoint webhook para recibir eventos en vivo",listen:"Escuchar para",version:"Versión de API",attempts:"Intentos de Webhook",url:{label:"URL",description:"URL del punto final de Webhook"},description:{label:"Descripción",description:"Descripción opcional del uso de este punto final"},events:{label:"Seleccionar eventos para escuchar",description:"Hola, {name}."},disabled:"Deshabilitado",enabled:"Activado",disable:"Deshabilitar",enable:"Habilitar",editWebhookTitle:"Actualizar Webhook",updateWebhook:"Actualizar Webhook",waitingForEvents:"Esperando eventos...",loadingMore:"Cargando más...",loadMore:"Cargar más",response:"Respuesta",request:"Solicitud",eventData:"Datos del evento",deleteWebhook:{title:"¿Eliminar Webhook?",description:"Después de eliminar un webhook, este dejará de recibir eventos"},success:"Éxito"}};export{e as default};
@@ -1,3 +0,0 @@
1
- const e={setup:{connect:{title:"Configurer le serveur Blocklet",scan:"Utilisez les méthodes suivantes pour devenir propriétaire de ce serveur",confirm:"Veuillez examiner cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},keyPair:{title:"Clépaire dérivée requise",scan:"Connectez votre portefeuille DID pour générer une paire de clés pour cette application",confirm:"Veuillez vérifier cette opération sur votre portefeuille DID",success:"Votre paire de clés est stockée en toute sécurité"},verify:{title:"Justificatif de propriété requis",scan:"Connectez votre portefeuille DID pour fournir des justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur."},accept:{title:"Accepter les certificats de propriété requis par le serveur",scan:"Connectez votre portefeuille DID pour fournir les justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},title:"Configurer le serveur de Blocklet",steps:{eula:"Contrat de licence utilisateur final",eulaFooter:"J'ai lu et accepté les termes de l'EULA.",connect:"Connecter le portefeuille DID du propriétaire",verify:"Vérifier la propriété",basicSettings:"Paramètres de base",launchApp:"Lancer l'application",complete:"Complet"},congratulation:"Félicitations ! Votre serveur Blocklet est sécurisé et prêt à être utilisé",redirectButton:"Emmenez-moi au tableau de bord !"},login:{loginTo:"Connectez-vous à",description:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord",switchDid:{title:"Changer de compte",scan:"Utilisez les méthodes suivantes pour changer de compte",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Changement réussi"},switchSpecifiedDid:{title:"Changer de compte",scan:"Vous devez commuter DID sur {did} pour effectuer les actions suivantes",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Passage réussi"},connect:{title:"Connexion Blocklet Server",scan:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord.",confirm:"Confirmez sur votre portefeuille DID",success:"Vous êtes connecté avec succès"},verify:{title:"Vérifier l'accès",scan:"Connectez votre DID Wallet pour présenter le passeport du propriétaire ou de l'admin",confirm:"Confirmez sur votre portefeuille DID",success:"Votre accès est vérifié",abort:"Vérification d'accès annulée",description:"Vous devez fournir le passeport {roles} pour effectuer cette opération, vous ne serez invité à vérifier à nouveau qu'après 1 heure d'inactivité.",descriptionForDestroy:"Vous devez fournir un passeport {roles} pour effectuer cette opération dangereuse afin d'assurer la sécurité."}},acceptServer:{title:"Revendiquer le serveur avec la propriété NFT",tooltip:"Si vous avez reçu un nft de propriété de serveur, vous pouvez réclamer votre passeport de propriétaire avec ce lien."},exchangePassport:{title:"Échanger le passeport avec NFT",success:"Vous avez réussi à échanger votre passeport et vous êtes connecté avec le passeport",login:"Connexion",dialog:{title:"Obtenez un passeport avec NFT",scan:"Connectez votre portefeuille DID pour présenter votre NFT et obtenir un passeport",confirm:"Sélectionnez NFT dans votre portefeuille DID",success:"Le passeport a été échangé avec succès"},tooltip1:"Si vous possédez un NFT de la collection,",tooltip2:"Vous pouvez échanger votre passeport via ce lien."},payablePassport:{title:"Acheter un passeport avec paiement",tooltip:"Si vous n'avez pas de passeport, vous pouvez en acheter un via ce lien."},sidebar:{dashboard:"Tableau de bord",blocklets:"Blocklets",console:"Console",settings:"Paramètres"},system:{total:"Total",used:"Utilisé",free:"Libre",cores:"Nombre de cœurs",instances:"Nombre d'instances"},common:{invalid:"Invalide",about:"À propos de",access:"Accès",accessKey:"Clés d'accès",action:"Action",actions:"Actions",add:"Ajouter",address:"Adresse",afterTime:"Après {time}",allow:"Permettre",alreadyExist:"Existe déjà",approve:"Approuver",approved:"Approuvé",appUrl:"URL de l'application",auditLogs:"Piste d'audit",author:"Auteur",avatar:"Avatar",back:"Retour",basic:"Basique",basicInfo:"Informations de base",profile:"Profil",bind:"Lier",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Stockage de Blocklets",cacheStorage:"Stockage du cache",cancel:"Annuler",certificate:"certificat",category:"Sujet du journal",click:"Cliquez pour copier",close:"Fermer",selectAll:"Sélectionner tout",unselectAll:"Désélectionner tout",collapseAll:"Tout réduire",community:"URL de la communauté",complete:"Compléter",componentBasicInfo:"Informations de base sur le composant",components:"Blocklets",config:"Configurer",configuration:"Configuration",configNavigation:"Navigation",configSuccess:"Configuration réussie",confirm:"Confirmer",connect:"Connecter",console:"Console",continue:"Continuer",continueWith:"Continuer avec",copiedTip:"Copié",copyAndClose:"Copier et Fermer",copyTip:"Cliquez pour copier",coreStorage:"Stockage principal",cpu:"CPU",create:"Créer",createSuccess:"Créer une clé d'accès",created:"Créé le",createdAt:"Créé le",createdBy:"Créé par",dAddress:"Identifiants décentralisés (DID)",dataStorage:"Stockage sur disque local",delConfirm:"Supprimer",delConfirmDescription:"Confirmer la suppression de {data} ?",delete:"Supprimer",dependents:"Personnes à charge",description:"Description",detail:"Détail",did:"A FAIT",disk:"Disque",diskInfo:"Info disque",docker:"DOCKER est",documentation:"Documentation",domain:"Domaine",downgradeTo:"Rétrograder à",download:"Télécharger",downloading:"Téléchargement",edit:"Modifier",email:"Email",phone:"Téléphone",empty:"Vide",emptyData:"Aucun résultat trouvé",enable:"Activer",engine:"Moteur",env:"Environnement",environment:"Environnement",expandAll:"Tout développer",expired:"Expiré",expires:"Expire",export:"Exporter",externalIp:"IP Externe",failed:"Échec",filter:"Filtre de journal",fingerprint:"Empreinte digitale",finish:"Finir",forbid:"Interdire",free:"Libre",general:"Général",gitpod:"Gitpod EST",goEULA:"Cliquez pour afficher le 'Contrat de licence utilisateur final'",group:"Groupe",image:"C'EST l'image",install:"Installer",installed:"Installé",installedAt:"Installé à",installSuccess:"Installation réussie",installing:"Installation",internalIp:"Adresse IP interne",introduction:"Introduction",invite:"Inviter",inviting:"Invitant",ip:"IP",isPublic:"Public",issue:"Problème",issuer:"Émetteur",item:"Article",joined:"Rejoint",key:"Clé",lastPublishedAt:"Publié le",launcher:"Informations sur le lanceur",leavePageTip:"Êtes-vous sûr de vouloir quitter la page?",link:"Lien",loading:"Chargement",log:"Afficher les journaux",logStorage:"Stockage des journaux",login:"Connexion",logo:"Logo",logout:"Déconnexion",logs:"Journaux",manageTeam:"Gérer l'équipe",marketplace:"Marché",member:"Membre",members:"Membres",memory:"Mémoire",meta:"Métadonnées",analytics:"Analytique",runtime:"Exécution",traffic:"Trafic",more:"Plus",mountPoint:"Point de montagne",name:"Nom",next:"Prochain",no:"Non",noData:"Aucun enregistrement à afficher",notice:"Des choses mauvaises et inattendues se produiront si vous ne lisez pas ceci !",noticeTitle:"Avis",notification:"Notification",open:"Ouvrir",management:"Gestion",os:"Système d'exploitation",overview:"Aperçu",owner:"Propriétaire",page404:"Page 404",passport:"Passeport",permission:"Permission",port:"Port",pre:"Précédent",preferences:"Préférences",preview:"Aperçu",protected:"Protégé",protocol:"Protocole",purchase:"Achat",readMore:"Plus",redirect:"Rediriger",redirectCode:"Code de redirection",redirectPermanently:"Redirection permanente",redirectTemporary:"Redirection temporaire",redirectUrl:"Rediriger l'URL",rewrite:"Reformuler",release:"Libération",rewriteUrl:"Réécrire URL",reject:"Rejeter",reload:"Recharger",remark:"Remarque",remove:"Supprimer",removeSuccess:"Supprimé avec succès",renew:"Renouveler",reportIssue:"Signaler un problème",required:"Requis",requiredErrorText:"{name} est requis",resource:"Ressource",restart:"Redémarrer",restore:"Restaurer",retry:"Réessayer",revoke:"Révoquer",role:"Rôle",running:"En train de courir",runtimeInfo:"Informations d'exécution",save:"Enregistrer",saveChanges:"Enregistrer les modifications",saveSuccess:"Enregistré avec succès",scheduleFailed:"Échec de l'agenda",scheduleSuccess:"Planifié avec succès",scope:"Portée",screenshot:"Captures d'écran",search:"Rechercher",security:"Sécurité",serverDid:"Serveur DID",serverVersion:"Version du serveur",setting:"Paramètres",start:"Début",status:"Statut",stop:"Arrêtez",storage:"Stockage",backup:"Sauvegarde",store:"Magasin",succeeded:"Réussi",subscription:"Abonnement",support:"URL d'assistance ou e-mail",switch:"Interrupteur",team:"Équipe",the:"Le",timeAgo:"Il y a {time}",title:"Titre",type:"Type",unavailable:"Indisponible",update:"Mettre à jour",updateAvailable:"Nouvelle version {version} disponible",updatedAt:"Mis à jour le",updatedBy:"Mis à jour par",upgrade:"Mise à niveau",upgradeTo:"Mettre à niveau vers",upgrading:"Mise à niveau",uptime:"Temps de fonctionnement",url:"URL",valid:"Valide",value:"Valeur",version:"Version",visit:"Visite",waiting:"En attente",webhook:"Intégrations",yes:"Oui",invalidParam:"Paramètres non valides",launch:"Lancer",price:"Prix",redirecting:"Redirection",error:"Erreur",reminder:"Rappel",normal:"Normal",gateway:"Passerelle",verifyNFT:"Vérifier NFT",errorMessage:"Message d'erreur",slugifyHint:"Le point de montage réel sera : {value}",strategy:"Stratégie",auto:"Voiture",manual:"Manuel",progress:"En cours",startTime:"Heure de début",endTime:"Heure de fin",selected:"Sélectionné",timeoutError:"Erreur de délai d'attente",tags:"Étiquettes",connectToStore:"Se connecter au magasin",uploaded:"Téléchargé",upload:"Télécharger",blockletStudio:"Studio",visitStore:"Visiter le magasin",reconnect:"Reconnecter",change:"Changer",disconnect:"Déconnecter",sourceApp:"Appartient à l'application",visitTarget:"Visitez {name}",upgradeServer:"Mettre à niveau le serveur",display:"Affichage",requiredInputPlaceholder:"Veuillez saisir {name}",refresh:"Actualiser",moveUp:"Déplacer vers le haut",moveDown:"Déplacer vers le bas",enabled:"Activé",disabled:"Désactivé",homepage:"Page d'accueil",buy:"Acheter",view:"Voir",homepageTip:"Page d'accueil ou URL de démonstration en direct",repository:"Référentiel",expand:"Développer",collapse:"Réduire",all:"Tous",notificationRecords:"Notifications",unrecordedUser:"Nom non enregistré",unrecordedRole:"Rôle non enregistré",auditLogsSearch:"Rechercher par action ou contenu",optional:"Facultatif",bugOrConnectDomain:"Acheter ou connecter un domaine existant",bugOrConnectDomainTip:"Un nom de domaine est l'adresse unique de votre site web sur internet. Vous pouvez acheter un nouveau domaine auprès de DID Names ou de n'importe quel registrar de domaine, ou configurer un domaine existant que vous possédez déjà.",connectExistingDomain:"Connecter le domaine existant",domains:"Domaines",didDomains:"Domaines DID",manualDomains:"Mes domaines",didDomainsDescription:"Les domaines suivants sont automatiquement gérés par le service DID:Names.",systemDomains:"Système alloué",systemDomainsDescription:"Les domaines suivants sont automatiquement attribués par défaut. Bien qu'ils soient accessibles, ils ne sont pas destinés à une utilisation en production et ne doivent pas être partagés avec les clients. Ces domaines sont principalement destinés au développement.",manualDomainsDescription:"Les domaines suivants sont gérés par votre fournisseur de domaine et ont été configurés manuellement pour pointer ici."},blocklet:{external:"Externe",notFound:"Blocklet non trouvé sur ce serveur, peut-être qu'il a été supprimé",installFromMarket:"Installer de nouveaux blocklets",installFromUrl:"Installer depuis une URL",installFromCreate:"Créer un Blocklet",installFromDiskBackup:"Restaurer à partir de ce serveur",installedAt:"Installé le",internal:"Interne",startedAt:"Débuté à",stoppedAt:"Arrêté à",urlEmptyTip:"Pas d'accès à l'URL",goToAddRule:"Aller à Ajouter",services:"Services exposés",upstreamPort:"Port amont",noService:"Aucun service",appId:"App DID",appPid:"DID permanent",alsoKnownAs:"Également connu sous le nom de",skSource:"Portefeuille du propriétaire",reloadSuccess:"Le Blocklet a été rechargé avec succès",statusTip:"Blocklet est {status}",initialUptime:"Moins d'1m",dashboard:"Tableau de bord Blocklet",noComponent:"L'application n'a pas de composants et ne peut pas être démarrée",fromUrl:{title:"Installer le Blocklet",label:"URL du méta bloc",description:"L'URL doit pointer vers le fichier Meta du Blocklet. Si vous avez besoin de référencer un fichier local, veuillez ajouter le préfixe file://, par exemple file:///Users/foo/blocklet.json.",confirm:"Installer",step0:"URL d'entrée",step1:"Confirmer les informations de méta",existTipPrefix:"Le bloclet avec le même DID existe déjà, la version est",existTipSuffix:"Veuillez installer une version supérieure."},action:{stopDescription:"Arrêter le bloclet rendra ses interfaces publiques inaccessibles, ce qui peut entraîner des échecs pour l'utilisateur final",stopComponentDescription:"Arrêter le composant rendra ses interfaces publiques inaccessibles, ce qui peut causer des échecs pour les utilisateurs finaux.",confirmStop:"Oui, Arrêtez",cancelDownloadDescription:"Annuler le téléchargement de {name} ?",removeApplicationDescription:"La suppression de l'application effacera le code et les données générés par cette application, qui ne pourront pas être récupérés si vous n'avez pas de sauvegardes",removeApplicationAfterBackup:"Sauvegardez et supprimez l'application. Vous pouvez restaurer l'application à partir de ce serveur si vous en avez besoin.",removeApplicationComplete:"Supprimez à la fois le code et les données de cette application",removeComponentDescription:"La suppression du composant effacera le code et les données générées par ce composant, qui ne peuvent pas être récupérés si vous n'avez pas de sauvegardes.",removeComponentKeepData:"Gardez les données pour ce composant, supprimez uniquement le code",removeComponentComplete:"Supprimez à la fois le code et les données de ce composant",confirmRemove:"Oui, supprimez-le",confirmComponentRemove:"Oui, Enlevez-le",upgradeDescription:"La mise à niveau du bloclet le rendra temporairement indisponible, êtes-vous sûr de vouloir continuer ?",confirmUpgrade:"Oui, améliorez-le",confirmRestart:"Oui, redémarrez-le",restartDescription:"Le bloclet sera temporairement suspendu et il se peut qu'il ne démarre pas en raison d'un changement de configuration."},dev:{modeTip:"Veuillez passer le serveur Blocklet en mode DEBUG"},index:{tableTitle:"Gérer vos Blocklets",noBlocklet:"Aucun blocklet trouvé dans ce serveur de blocklets, installez un blocklet depuis la place du marché pour commencer."},admin:{iframeTitle:"Interface d'administration de Blocklet",title:"Interface d'administration",noContent:"Ce blocklet n'a pas d'interface administrateur",securityError:"Erreur de sécurité : Impossible d'ouvrir l'URL d'administration en accédant à une iframe de domaine différent"},config:{name:"Nom de l'application",description:"Description de l'application",sk:"Clé secrète pour le portefeuille de l'application",logoSquare:"Logo de l'application",logoRect:"Logo rectangulaire",logoRectDesc:"Généralement affiché en haut de la page, par défaut avec le logo de l'application",logoFavicon:"Favicon",logoFaviconDesc:"Généralement affiché dans la barre d'adresse du navigateur ou sur la page d'onglets, par défaut, le logo de l'application",clusterSize:"Nombre d'instances lorsque ce blocklet est exécuté en mode cluster",copyrightOwner:"Propriétaire du droit d'auteur (Afficher dans le pied de page)",copyrightYear:"Droits d'auteur {year} (Afficher dans le pied de page)",deletable:{name:"Supprimer la protection",enable:"Ce blocklet ne peut actuellement pas être supprimé",disable:"Ce bloc peut actuellement être supprimé."},walletType:{name:"Type de portefeuille",description:"Type de portefeuille d'instance Blocklet, modifiera le DID dérivé"},languages:"Langues supportées",selectLanguagesTip:"Ajustez l'ordre en supprimant et en ré-ajoutant",languagesSearch:"Rechercher par nom local du pays, nom anglais ou code ISO...",passportColor:"Couleur du passeport",appUrl:"URL de l'application",access:{title:"Qui peut accéder ?",description:"Choisissez comment contrôler l'accès à votre application.",useDefault:"Utiliser les paramètres par défaut",defaultDescription:"Utilisez la configuration par défaut de l'application",whoCanAccess:{all:{title:"Accessible à tous",description:"Ouvert au monde, n'importe qui peut y accéder sans passeport"},owner:{title:"Seul moi peux y accéder",description:"Vous devez fournir le passeport du propriétaire pour accéder à cette application"},invited:{title:"Seules les personnes invitées peuvent accéder",description:"Vous pouvez inviter des membres ultérieurement sur la page d'administration"}},publicToStore:"Public sur le magasin",publicInstanceTip:"L'adresse d'accès de ce bloc sera affichée dans le Store (avec votre DID pour accepter les dons)",updatedTip:"Contrôle d'accès modifié"},changedTip:"Configuration mise à jour, veuillez redémarrer le Blocklet",missingRequired:"Configuration requise manquante pour démarrer le blocage",gotoFix:"Allez réparer",environment:{key:"Clé de configuration",value:"Valeur de configuration",keyValueRequired:"La clé de configuration et la valeur doivent être spécifiées",invalidKey:"La clé de configuration ne doit pas commencer par BLOCKLET_ ou COMPONENT_.",deleteForbidden:"Cette configuration est requise et ne doit pas être supprimée",tip:"Les configurations préfixées avec BWA_ ne doivent pas contenir d'informations sensibles car elles seront envoyées au navigateur."},dangerZone:"Zone dangereuse",blockletTypeChangeTip:"Le type de portefeuille sera modifié en <b>{value}</b>",appDidChangeTip:"Cette opération changera le DID de l'application, ce qui entraînera les problèmes suivants. Veuillez confirmer après une évaluation minutieuse :",appDidChangeTipL1:"Le compte de l'utilisateur lié à cette application va changer",appDidChangeTipL2:"Le nom de domaine DID de l'application changera et le nom de domaine original deviendra invalide",appSkChangeTip:"Vous changez la clé secrète de l'application",walletTypeTitle:"Mise à jour du type de portefeuille",appSkTitle:"Mettre à jour la clé secrète de l'application",sharedToAllComponents:"Sera partagé à tous les composants",session:{ttl:"L'utilisateur sera invité à se connecter à nouveau s'ils n'ont aucune activité sur ce site pendant {day} jours.",day:"{day} jour",days:"{day} jours",period:"Durée de validité de la session",profile:"Exigences du profil utilisateur",cacheTtl:"Durée du cache pour les données de session utilisateur (en secondes)",fullNameEnabled:"Demander le nom d'utilisateur à la connexion (activé par défaut)",avatarEnabled:"Demander l'avatar de l'utilisateur à la connexion (activé par défaut)",emailEnabled:"Demander l'e-mail de l'utilisateur lors de la connexion",emailRequireVerified:"Exiger la vérification de l'e-mail de l'utilisateur avant la connexion",emailRequireUnique:"Exiger que l'e-mail de l'utilisateur soit unique pour tous les utilisateurs",phoneEnabled:"Demander le numéro de téléphone de l'utilisateur lors de la connexion (non pris en charge pour le moment)",phoneRequireVerified:"Le numéro de téléphone de l'utilisateur doit être vérifié avant de se connecter",phoneRequireUnique:"Exiger un numéro de téléphone unique pour l'ensemble des utilisateurs",emailTrustOauthProviders:"Faites confiance aux fournisseurs OAuth pour le statut de vérification de l'email",enableDomainBlackList:"Activer la liste noire de domaine de messagerie électronique (rejeter les domaines de messagerie électronique répertoriés)",enableDomainWhiteList:"Activer la liste blanche de domaine d'e-mails (autoriser uniquement les domaines d'e-mails répertoriés à se connecter)",addDomain:"Ajouter une source pour récupérer la liste (au format texte brut, un domaine par ligne)"},clearCache:{name:"Gestion du cache",purpose:"Gérez les fichiers mis en cache dans les services de routeur et de blocklet",title:"Confirmer la suppression du cache ?",action:"Effacer le cache",success:"{count} entrées de cache effacées avec succès",description:"Êtes-vous sûr de vouloir effacer les fichiers mis en cache dans le routeur et le service de blocage? Cette opération peut entraîner une légère baisse des performances à court terme."},tenantMode:{name:"Mode multi-locataires",multiple:"Ce bloclet fonctionne en mode locataire multiple, les données doivent être isolées pour chaque locataire",single:"Ce blocklet fonctionne en mode locataire unique, toutes les données sont partagées."},splashPortrait:"Portrait d'écran",splashLandscape:"Paysage de projection",splashPortraitDesc:"Affiché lorsque le blocklet est lancé en mode portrait",splashLandscapeDesc:"Affiché lorsque le blocklet est lancé en mode paysage",rotateSessionKey:{name:"Rotation du sel de session",purpose:"Le sel de session est une valeur aléatoire utilisée pour améliorer la sécurité des jetons de session. Cliquez sur le bouton pour faire tourner manuellement le sel de session, ce qui aide à réduire le risque de compromission du jeton de connexion.",title:"Confirmer la rotation du sel de session ?",action:"Faire tourner le sel",success:"Sel de session pivoté avec succès",description:"Êtes-vous sûr de vouloir faire pivoter le sel de session ? Cette opération invalidera tous les jetons de connexion existants et obligera l'utilisateur à se reconnecter, y compris votre propre jeton de connexion."},ogImage:"Arrière-plan Open Graph",ogImageDesc:"Personnalisez l'image de fond de toutes les images open graph, devrait bien fonctionner avec le texte blanc",migrate:{button:"Migrer avec DID Wallet",title:"Confirmer la rotation de l'App DID ?",description:"Êtes-vous sûr de vouloir faire pivoter l'App DID ? Cette opération invalidera toutes les sessions existantes et forcera les utilisateurs à se reconnecter, y compris votre propre session."},vault:{name:"Vault DID",title:"Configurer Vault",desc:"Utilisez Vault pour ajouter une couche supplémentaire de sécurité aux fonds gérés par ce blocklet",tip:"Entrez l'adresse du coffre pour continuer, vous devez prouver la propriété de l'adresse du coffre avant de pouvoir l'utiliser.",address:"Adresse du coffre",verified:"Le Vault est vérifié",current:"Coffre actuel",error:{invalid:"L'adresse du Vault doit être un DID valide",holder:"L'adresse Vault doit être un détenteur de jeton valide sur la blockchain, les adresses de token/actif/usine/participation ne sont pas prises en charge",duplicate:"Adresse de Vault existe déjà"},role:"Type de rôle",firstSeen:"Vu pour la première fois",lastSeen:"Vu pour la dernière fois",migratedFrom:"Migré de",migratedTo:"Migré vers",commit:{title:"Vérifiez la propriété du Vault",scan:"Utilisez les méthodes suivantes pour vérifier la propriété du coffre-fort",confirm:"Confirmer avec DID Wallet",success:"Le coffre est configuré avec succès"}},changeImageTip:"Conseil : Cliquez sur Aperçu de l’image pour la modifier."},overview:{source:"Source",deployedFrom:"Déployé depuis",accessControl:"Contrôle d'accès",viewInStore:"Voir en magasin"},diskInfo:{empty:"Informations sur le disque non disponibles actuellement !",appDir:"Répertoire des applications",dataDir:"Répertoire des données",logDir:"Répertoire des journaux",cacheDir:"Répertoire de cache"},runtimeInfo:{noRunning:"Les informations d'exécution seront disponibles lorsque le blocklet sera en cours d'exécution !",memoryUsage:"Utilisation de la mémoire",cpuUsage:"Utilisation du CPU",uptime:"Temps de fonctionnement",port:"Port",processId:"Identifiant de processus"},dist:{downloadLink:"Lien de téléchargement",verify:"Vérifier"},status:{added:"Ajouté",waiting:"Attente",downloading:"Téléchargement",extracting:"Extraction",installing:"Installation",upgrading:"Mise à niveau",installed:"Installé",created:"Créé",starting:"Commencement",running:"Courir",stopping:"Arrêt",stopped:"Arrêté",error:"Erreur",deleting:"Suppression",corrupted:"Corrompu",purchasing:"En attente d'achat",purchased:"Acheté",verifying:"Vérification de l'achat",resource:"Ressource"},list:{download:"Télécharger",star:"Étoile",searchPlaceholder:"Rechercher par nom de Blocklet ou DID"},component:{container:"Configuration globale",showContainer:"Afficher la configuration globale",didSpaceConfig:"Configurer les espaces DID",didSpaceConfigTip:"Veuillez remplir le processus d'autorisation suivant pour stocker les données de l'application dans les espaces DID",didSpaceConnected:"Autorisation de stockage pour: {endpoint}",checkUpdateTitle:"Vérifier les mises à jour",updateTitle:"Mise à jour des composants",noUpdate:"Aucun composant à mettre à jour",add:"Ajouter un composant",selectComponent:"Sélectionnez un Blocklet",selectRegistry:"Sélectionnez le Blocklet Store",selectRegistryTip:"Vous pouvez passer au magasin de blocs pour voir plus de composants",selectInstance:"Sélectionnez une instance",selectInstanceTip:"Vous pouvez sélectionner une instance existante ou créer une nouvelle instance. Les instances existantes utiliseront les configurations et les données préalablement enregistrées.",newInstance:"Créer une nouvelle instance",noComponent:"Aucun composant",mountPoint:"Quel est le point de montage?",mountPointTip:"Si vous définissez le point de montage sur '/mon-préfixe', alors toutes les requêtes commençant par ce point de montage seront routées vers le composant sélectionné.",delete:"Supprimer le composant",deleteDescription:"Ce composant ne sera pas accessible après sa suppression. Confirmer la suppression?",purchase:"Paiement requis",tip:{stopBlocklet:"Veuillez arrêter d'abord l'exécution de Blocklet",requiredBy:"Le composant est requis par {name}"},choose:"Choisir",addWithName:"Ajouter Blocklet à {name}",installingCanCloseWindowTip:"Installation du composant en arrière-plan, vous pouvez fermer cette fenêtre en toute sécurité",installSuccessTip:"Félicitations, le composant a été installé avec succès !",missDownloadTokenTip:"Impossible d'ajouter de composant payant sans jeton de téléchargement valide",purchaseComponentSecondCheckTip:"Veuillez présenter votre achat de blocklet NFT pour continuer",installComponentError:"Une erreur s'est produite lors de l'installation du composant, veuillez réessayer",downloadComponentError:"Une erreur s'est produite lors du téléchargement du composant, veuillez réessayer",addComponentTip:{introduction:"Bienvenue dans l'Assistant Ajouter un composant",isPurchase:"Vous devez vérifier le NFT avant d'utiliser <b>{name}</b> en tant que composant",belowInformation:"Ci-dessous se trouvent les informations pour le composant:",verifyNFT:"Veuillez sélectionner la méthode de vérification NFT",config:"Veuillez remplir la configuration du composant",environment:"Veuillez remplir l'environnement du composant",fromUrl:"Ajouter un blocklet à partir d'une URL"},addNext:"Ajouter {name}",upgradeNext:"Mise à niveau de {name}",setting:"Paramètres",noDependencies:"{name} n'a aucune dépendance",relatedComponents:"Blocklets associés",required:"Obligatoire",installed:"Installé",installingTip:"Installation du composant, veuillez patienter...",upgrade:"Mise à niveau"},router:{urlPath:"Chemin d'URL",noRunning:"Le blocklet n'est pas actuellement démarré. Impossible d'y accéder via l'adresse suivante!",securitySetting:"Paramètre de sécurité",checkUrlAccessible:"Vérifiez l'accessibilité de l'adresse",urlInaccessible:"Cela peut être dû à des problèmes de réseau, l'adresse est temporairement inaccessible",noAccessibleUrl:"Aucune URL accessible",domainLockTooltip:"Le domaine généré par le système ne peut pas être modifié.",urlLockTooltip:"Le chemin d'URL généré par le système ne peut pas être modifié.",showAllDomains:"Afficher tous les domaines",showAllDIDs:"Afficher tous les DIDs",currentDomainTip:"Vous accédez à la page actuelle via ce domaine"},export:{title:"Exporter le bloclet",name:"Nom du bundle",nameTip:'par exemple : "mon-nom-de-blocklet" ou "@mon-scope/nom-de-blocklet"',result:"Qu'est-ce qui vient ensuite",exportSource:"Source d'exportation",success:"Blocklet exporté avec succès",resultTipStart:"Avec",resultTipEnd:"Vous pouvez construire et publier ce blocklet en quelques minutes",uploadedComponentTip:"Les composants directement téléchargés ne peuvent pas être exportés:"},migrate:{title:"Migrer l'application",scan:"Connectez votre portefeuille DID pour générer une paire de clés pour cette application",confirm:"Veuillez examiner cette opération sur votre portefeuille DID",success:"Votre application a été migrée avec succès, la page sera rafraîchie dans {sec} secondes.",intro:{l1:"Cliquez ici",l2:"Veuillez migrer votre application vers la nouvelle version (les modifications sont désactivées avant la fin de la migration)",l3:"L'application DID sera entièrement contrôlée depuis votre portefeuille DII.",l4:"Les données de l'application seront migrées et aucune autre modification ne sera nécessaire.",l5:"La nouvelle structure de l'application vous donnera plus de flexibilité lors du changement des composants.",l6:"4. Veuillez ne pas modifier les points de montage des composants avant que la nouvelle version du composant ne soit disponible."},tip:{duplicate:"Trouvez le composant en double {name}, veuillez supprimer les composants inutiles et migrer à nouveau",running:"Veuillez arrêter le blocklet avant la migration"}},error:{isRunning:"Blocklet est en cours d'exécution, veuillez l'arrêter d'abord",isInProgress:"Le Blocklet est en cours, veuillez attendre qu'il se termine"},publish:{createResource:"Créer une ressource",addResource:"Ajouter une publication",productTitle:"Produit",versionTitle:"Versionnage",imgTitle:"Images",resourceTitle:"Contenu",blockletEmptyTip:"Il n'y a pas de blocs ici",createBlockletTip:"Vous pouvez créer un nouveau blocklet à partir des ressources, composants et configurations existants dans cette application",createBlocklet:"Nouvelle blocklet",componentNotRunning:"Le bloc {name} ne fonctionne pas, veuillez le démarrer d'abord",releaseEmptyTip:"Il n'y a pas de sorties ici",createReleaseTip:"Vous pouvez créer une version du blocklet, ainsi que des notes de version et des ressources, pour que d'autres personnes puissent les utiliser.",createRelease:"Créer une version",deleteReleaseTip:"La version ne peut pas être récupérée après la suppression",createBlockletDid:"Créez à partir du portefeuille DID",createReleaseSuccess:"Création de la version réussie",saveDraftSuccess:"Brouillon enregistré avec succès",connect:{title:"Créer un DID Blocklet",scan:"Utilisez les méthodes suivantes pour générer Blocklet DID",confirm:"Confirmez l'utilisation de DID Wallet",success:"L'identifiant Blocklet DID a été généré, veuillez poursuivre votre opération"},saveDraft:"Sauvegarder le brouillon",releaseNote:"Note de version",errorTip:{noDid:"Le Blocklet DID est requis",noTitle:"Le titre du bloclet est requis",noVersion:"La version Blocklet est obligatoire",noDescription:"La description du Blocklet est requise",noNote:"La note de version est requise",inValidVersion:"Version de Blocklet invalide",noResource:"Veuillez sélectionner les ressources à télécharger à inclure dans le blocklet",noFirstDid:"Veuillez créer d'abord un DID de Blocklet",invalidUrl:"Veuillez entrer une URL valide",invalidUrlOrEmail:"Veuillez saisir une URL ou une adresse e-mail valide"},packTip:"Actuellement, les bloclets peuvent être installés directement en tant qu'applications. Les composants et les configurations d'application seront automatiquement inclus dans le bloclet.",resourceChangedWarning:"Vous avez modifié la ressource, veuillez l'enregistrer à temps",installResourceTip:"URL d'installation:",installResourceTip2:"Si vous souhaitez voir plus de conseils, veuillez visiter",installResourceHelp:"Document d'aide",componentIncluded:"Inclus",componentForceRequired:"Requis",download:"Télécharger {name}",delete:"Supprimez {name}",copyInstallUrl:"Copier l'URL d'installation",install:"Installer {name}",publishToStoreSuccess:"Blocklet publié avec succès sur le Store",connectStoreSuccess:"Connexion réussie au Blocklet Store",uploadToStoreSuccess:"Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store",viewLastRelease:"Voir la dernière version",reconnectStoreTip:"Après la reconnexion, un nouveau développeur sera lié. Êtes-vous sûr de vouloir vous reconnecter ?",deleteProject:{title:"Supprimez {name}",scan:"Utilisez les méthodes suivantes pour supprimer {name}",confirm:"Veuillez confirmer l'utilisation du portefeuille DID",success:"Le projet Blocklet a été supprimé, veuillez poursuivre votre opération.",tip1:"Le projet Blocklet ne pourra pas être récupéré après sa suppression",tip2:"Vous ne pourrez plus publier de nouvelles versions du bloc supprimé, ce qui signifie que le bloc ne sera plus mis à jour dans le Store.",tip3:"La suppression du Blocklet n'affectera pas sa version actuellement publiée dans le Store.",description:"Après avoir supprimé le Blocklet, vous rencontrerez les problèmes suivants. Êtes-vous sûr de vouloir le supprimer ?"},resourceTip:"Actuellement, en tant que bloc de ressources, il ne peut pas être installé directement depuis le Store.",whyCantSeeInStore:"Pourquoi je ne peux pas voir ce blocklet dans le Store?",whyCantSeeResourceBlockletInStore:"Les Blocklets de ressources sont masqués par défaut de la page de liste du magasin",tenantScope:"Locataire",blockletStudio:"Blocklet Studio",allComponentsNotRunning:"Blocklets ne fonctionne pas, veuillez le démarrer d'abord",resourceEmptyTip:"Aucune ressource disponible",steps:{resources:"Veuillez sélectionner les ressources qui doivent être associées à le Blocklet actuel, car ces ressources seront installées avec le Blocklet.",blocklets:"Sélectionnez les bloclets à associer.",version:"Définir la version de sortie et le journal des modifications.",introduction:"Une introduction claire peut mettre en valeur efficacement votre Blocklet. Vous pouvez utiliser la syntaxe Markdown pour l'écrire et le prévisualiser.",branding:"Décrivez les informations de base de votre Blocklet. Ces informations seront présentées aux utilisateurs dans le magasin."},branding:"Branding",brandingHelp:"Plus d'informations sur le blocklet seront affichées dans le magasin",resourceSelect:"Sélectionnez une ressource des blocklets",resourceUpload:"Téléchargez la ressource depuis votre disque (index.html est requis dans l'archive)",deleteStoreTip:"Êtes-vous sûr de vouloir supprimer {name} de la liste du magasin Connect?",disconnectStoreTip:"Le bloclet sera supprimé du store après sa déconnexion. Êtes-vous sûr de vouloir le déconnecter ?",connectOrUpload:"Connecter ou Télécharger",developerInfo:"Informations sur le développeur",autoUploadTip:"Uploader automatiquement le blocklet dans le Store après sa création",possibleSameStoreTip:"Essayez de résoudre les blocs de dépendance dans le même magasin de blocs avant chaque téléchargement si possible",needProjectId:"Veuillez créer un projet d'abord",projectSettings:"Paramètres du projet",noStoreSelected:"Veuillez sélectionner l'un des magasins existants ou ajouter un nouveau magasin pour continuer",installToThisServer:"Installer sur ce serveur",forceResourceBlocklet:"Force définie comme un blocklet basé sur les ressources",resourceDocker:"Construire Blocklet à partir de Docker",resourceSelectTitle:"Ressource",resourceUploadTitle:"Télécharger",resourceDockerTitle:"Docker",resourceDockerInputTip:"Veuillez entrer la commande docker run",docker:{pleaseInputDockerCommand:"Veuillez entrer la commande docker run",volumeTip:"Le volume doit commencer par $BLOCKLET_DATA_DIR ou $BLOCKLET_APP_DIR",volumeTip2:'Le volume ne peut pas contenir ".."',noAllowTheArg:"L'argument ne peut pas être utilisé dans la commande docker run",needCustomInput:"Configurez la valeur lors de l'installation de Blocklet",dockerParams:"Paramètres Docker",dockerCommand:"Commande Docker",dockerImageName:"Nom de l'image Docker",addItem:"Ajouter un paramètre Docker Run",envKey:"Clé de variable d'environnement",publishTips:"Le port externe final sera automatiquement attribué par le Blocklet",volumeTips:"Le volume doit commencer par $BLOCKLET_DATA_DIR ou $BLOCKLET_APP_DIR",modifyParam:"Modifier le paramètre Docker Run",modifyEnv:"Modifier la variable d'environnement",paramDetail:"Détail du paramètre",description:"Description",secure:"Sécuriser",shared:"Partagé",required:"Requis",prefix:"Préfixe",path:"Chemin",name:"Nom",portType:"Type de port",dockerImageNameError:"Le nom de l'image Docker ne peut pas contenir d'espaces",autoGenerated:"Généré automatiquement",dockerCMDError:"Docker CMD ne supporte que les caractères simples",proxyBehavior:"Comportement du proxy",serviceProxy:"Service",directProxy:"Direct"},storeRule:{maxImageCount:"Le store autorise au maximum {max} captures d'écran.",minImageCount:"Le magasin nécessite au moins {min} {unit}.",minImageSize:"La taille de l'image écran de {name} doit être d'au moins {width}x{height}.",logoFormat:"Le format d'image du logo ne prend en charge que [{format}].",warning:"Avertissement",screenshot:"Capture d'écran",screenshots:"Captures d'écran",first:"1.",second:"2.",third:"3."}},titleValidationError:"La longueur du titre doit être comprise entre 3 et 40 caractères",descriptionValidationError:"La longueur de la description doit être comprise entre 3 et 80 caractères",whyNeedAppPid:"Si votre application a été migrée, le DID permanent est le DID généré lors de l'installation initiale de ce Blocklet.",usingDocker:"Ce Blocklet fonctionnera en utilisant Docker.",gotoVisitError:"Impossible d'accéder à l'URL de Blocklet, veuillez réessayer plus tard",usingIsolation:"Ce Blocklet s'exécutera en utilisant l'isolation réseau",dockerImage:"Supporte Docker",mountPoint:{description1:"Ce changement peut casser les URLs contenant l'ancien point de montage, ce qui peut entraîner :",case1:"Références de ressources rompues entre les Blocklets dans cette application",case2:"URL cassée si vous les avez partagées publiquement",description2:"Vous pouvez configurer une redirection de l'ancien point de montage vers le nouveau afin de minimiser les changements potentiellement disruptifs."}},dashboard:{nodeDid:"Noeud",ownerDid:"Propriétaire",routingEngine:"Moteur de routage",ownerNftURL:"Propriétaire NFT",expirationLeft:"Expiration restante",startFromCrashTip:"Le serveur Blocklet ne s'est pas arrêté normalement la dernière fois, veuillez démarrer manuellement les Blocklets qui doivent être exécutés.",runtimeConfig:{blockletMaxMemoryLimit:"Limite maximale de mémoire pour le blocklet",daemonMaxMemoryLimit:"Limite maximale de mémoire du serveur",proxyMaxMemoryLimit:"Limite de mémoire maximale de l'Event Bus"}},store:{nameSort:"Nom",popularSort:"Popularité",headerDescription:"Trouvez et installez vos Blocklets",detail:{purchase:"Acheter {name}",open:"Ouvrez {name}",install:"Installer {name}",upgrade:"Améliorez {name}",empty:"Pas d'introduction"},blockletRegistry:{changeFailed:"Échec de la modification du magasin de blocs :",addFailed:"Échec de l'ajout du Blocklet Store",editFailed:"Échec de l'édition du Blocklet Store",switchRegistry:"Passer au Blocklet Store",addRegistry:"Ajouter Blocklet Store",editRegistry:"Modifier le Blocklet Store",deleteRegistry:"Supprimer le Blocklet Store",haveSameRegistry:"Le même Blocklet Store existe",registryName:"Nom du magasin de Blocklet",registryUrl:"URL du Blocklet Store",registryNameEmpty:"Le nom du Blocklet Store ne peut pas être vide",registryUrlEmpty:"L'URL du magasin Blocklet ne peut pas être vide",deleteDesc:"Confirmer la suppression du magasin de bloclets {name} ?",confirmDesc:"Veuillez entrer {name} pour supprimer"},purchase:{title:"Acheter {name}",confirmed:"Votre achat de bloclet NFT est vérifié",declined:"Vous n'avez pas fourni d'achat de Blocklet NFT valide",waiting:"En attente de l'achèvement de l'achat...",purchase:{title:"Acheter NFT",description:"Payez un jeton avant d'installer ce bloclet si vous n'avez pas acheté ce bloclet."},verify:{title:"Vérifier NFT",description:"Votre NFT sera vérifié avant l'installation de ce blocklet si vous avez acheté et conservez le NFT d'achat dans votre portefeuille DID.",auth:{title:"Achat de la preuve d'identité nécessaire",scan:"Connectez le portefeuille DID pour fournir l'achat de bloclets NFT",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre NFT d'achat est vérifié et l'installation a commencé."}},auth:{title:"Acheter {name}",scan:"Scannez le QRCode suivant avec votre portefeuille DID",confirm:"Confirmez dans votre portefeuille DID",success:"Achat d'un NFT envoyé dans votre portefeuille DID"},launch:"Lancer {name}",autoLaunch:"{name} a acheté avec succès, redirection vers la page de lancement..."},tooltip:{upgradeServer:"Blocklet a besoin du Blocklet Server version {version}, le Blocklet Server version actuel est {serverVersion}"}},setting:{saveSuccess:"Paramètres enregistrés avec succès",unSavedTip:'Il y a des modifications non enregistrées, veuillez cliquer sur "Enregistrer les modifications" pour les sauvegarder.',unSavedLeaveTip:"Il y a des modifications non enregistrées, êtes-vous sûr de vouloir quitter la page?",form:{name:"Nom de votre serveur",nameRequired:"La description du serveur est requise",namePlaceholder:"Nom du serveur",description:"Décrivez votre serveur",descriptionHolder:"Description du serveur",descriptionRequired:"Une description de serveur est requise",domain:"Votre nom de domaine du serveur",domainPlaceholder:"Nom de domaine du serveur",domainRequired:"Le domaine du serveur est requis",ipPlaceholder:"IP",ipRequired:"L'adresse IP est requise",registry:"Blocklet Store",registryPlaceholder:"Magasin de Blocklets pour récupérer des Blocklets",registryRequired:"Le Blocklet Store est requis",registerUrl:"URL du lanceur Blocklet",registerUrlPlaceholder:"Entrez l'URL de votre lanceur Blocklet préféré, vous pouvez utiliser celui officiel en toute sécurité.",webWalletUrl:"URL du portefeuille DID",webWalletUrlPlaceholder:"Veuillez entrer l'URL de votre « DID Wallet » hébergé, vous pouvez utiliser en toute sécurité celui officiel",nftDomainUrl:"URL de domaine NFT",nftDomainUrlPlaceholder:"Veuillez saisir l'URL de votre domaine NFT hébergé, vous pouvez utiliser celui officiel en toute sécurité",enableWelcomePage:"Activer la page de bienvenue",welcome:{switchLabel:"Page d'accueil"},upgrade:{title:"Mettez à jour le serveur Blocklet vers {version}",description:"Pendant la mise à niveau, votre serveur Blocklet entrera en mode maintenance pendant quelques minutes le temps de la mise à jour.",dialog:"Cliquez sur 'Confirmer' pour installer la mise à jour. Le serveur Blocklet entrera en mode de maintenance jusqu'à ce que la mise à jour soit terminée et reviendra automatiquement en mode production.",confirm:"Mise à niveau",switchLabel:"Vérification automatique des mises à jour",enableBetaRelease:"Activer la version bêta",setup:"Préparation de la mise à niveau",installing:"Installation de Blocklet Server v{version}",restarting:"Redémarrage du serveur Blocklet",cleanup:"Migration des données du serveur Blocklet",verifying:"Vérification du serveur Blocklet v{version}",rollback:"Serveur de blocs de retour en arrière",complete:"Mise à niveau terminée !",progress:"Mise à niveau de {name}",check:"Vérifier les mises à jour",latest:"Vous utilisez la dernière version."},restart:{title:"Redémarrer le serveur Blocklet",description:"Pendant le redémarrage, votre serveur Blocklet passera en mode maintenance jusqu'à ce que le redémarrage soit terminé.",dialog:`Cliquez sur "Confirmer" pour redémarrer. Le serveur Blocklet passera en mode de maintenance jusqu'à ce que le redémarrage soit terminé et reviendra automatiquement en mode de production.`,confirm:"Redémarrer",setup:"Préparation du redémarrage",verifying:"Vérification du serveur Blocklet",restarting:"Redémarrage du serveur Blocklet",cleanup:"Assurez-vous que tout va bien",rollback:"Nettoyez l'état sale",complete:"Maintenance complète!",progress:"Redémarrage de {name}"},register:{title:"Inscrivez-vous à Blocklet Launcher",description:"Une fois ajouté, vous pouvez lancer des blocklets vers ce serveur de blocklets depuis {url}.",button:"S'inscrire"},monitor:{diskThreshold:"Envoyer une alerte lorsque l'utilisation du disque dépasse (%)",diskThresholdPlaceholder:"Veuillez définir le seuil d'alerte d'utilisation du disque"},security:{switchLabel:"Isolation du système de fichiers",switchTips:"Après avoir désactivé cette option, le système de fichiers du Blocklet ne sera plus isolé, ce qui pourrait présenter un risque de dommages causés par un logiciel malveillant au système de fichiers.",warningTips:"La fonction d'isolation du système de fichiers ne peut pas prendre effet. Veuillez mettre à niveau la version de node.js (la version actuelle est {version}) vers la version 21.6.0 ou supérieure."},docker:{switchLabel:"Exécuter des blocs dans des conteneurs",switchTips:"Après avoir activé cette option, les blocs seront exécutés à l'aide de conteneurs, ce qui peut améliorer la sécurité globale du serveur.",notInstalled:"Impossible d'activer l'exécution du conteneur car Docker n'est pas installé ou manque des autorisations nécessaires pour s'exécuter",needCloseFileSystemIsolation:"L'isolation du système de fichiers et le mode d'exécution du conteneur docker ne peuvent pas être activés en même temps"},dockerNetwork:{switchLabel:"Isolement du réseau de conteneurs",switchTips:"Après avoir activé cette option, les blocklets fonctionnent de manière plus sûre : un blocklet ne peut pas accéder au serveur de blocklets ou à d'autres blocklets dans d'autres applications.",needEnableDocker:"Le mode conteneur doit être activé pour activer l'isolation du réseau"},restartAllContainers:{title:"Redémarrer tous les conteneurs",description:"Redémarrer tous les conteneurs et garder les blocklets en marche.",dialog:`Cliquez sur "Confirmer" pour redémarrer tous les Blocklets conteneurs et maintenir l'état des Blocklets en cours d'exécution.`,confirm:"Redémarrer",setup:"Préparation du redémarrage",verifying:"Vérification du serveur Blocklet",restarting:"Redémarrage de tous les conteneurs en arrière-plan",cleanup:"Assurez-vous que tout est OK",rollback:"Nettoyer l'état sale",complete:"Conservez l'intégralité !",progress:"Redémarrage de tous les conteneurs en arrière-plan"},restartAllBlocklet:{title:"Redémarrer tous les Blocklets",description:"Redémarrer tous les Blocklets en cours d'exécution ou en erreur sur ce serveur",dialog:'Cliquez sur "confirmer" pour redémarrer tous les blocklets en arrière-plan.',confirm:"Redémarrer",setup:"Préparation du redémarrage",verifying:"Vérification du serveur Blocklet",restarting:"Redémarrage de tous les Blocklets en cours ou en erreur en arrière-plan",cleanup:"Assurez-vous que tout est OK",rollback:"Nettoyer l'état sale",complete:"Maintenance terminée !",progress:"Redémarrage de tous les Blocklets en cours d'exécution ou en erreur en arrière-plan"},enableSessionHardening:{switchLabel:"Activer le renforcement de session",switchTips:"Après avoir activé cette option, les opérations de mutation nécessiteront une vérification stricte, ce qui peut améliorer la sécurité globale du serveur."}},accessKey:{accessKeyId:"CLÉ D'ACCÈS",lastUsed:"Dernière utilisation à",tip:"Veuillez entrer un nom pour cette clé d'accès en vue de références futures:",saveSecretTip:"C'est la seule fois où votre clé secrète d'accès peut être consultée et ne peut pas être récupérée. Cependant, vous pouvez créer de nouvelles clés d'accès à tout moment.",iKnow:"J'ai copié et enregistré le secret d'accès",showSecret:"Afficher la clé d'accès secrète",hideSecret:"Cacher le secret",title:"Supprimer la clé d'accès",descriptionNoTime:"Cela supprimera définitivement la clé d'accès {key} avec le nom {name}, qui (n'a jamais été utilisée auparavant)",description:"Cela supprimera définitivement la clé d'accès {key} avec le nom {name}, qui a été utilisée pour la dernière fois le {time}, {timeAge}).",confirm_desc:"Veuillez entrer {name} pour supprimer",remark:"Nom de clé d'accès",remarkInvalid:"Le nom de la clé d'accès est requis"},webhook:{add:"Ajouter une intégration",delTitle:"Supprimer l'intégration",requiredError:"Veuillez fournir un {type} valide",confirm_desc:"Veuillez entrer {name} pour supprimer",test:"Test",description:"Cela supprimera définitivement l'intégration avec l'ID {id}.",columns:{description:"ID",params:"Paramètres",createdAt:"Créé le"}}},notification:{title:"Notifications",empty:"Aucune activité pour le moment",viewAll:"Tout afficher",showRead:"Afficher Lecture",markAllAsRead:"Tout marquer comme lu",markAsRead:"Marquer comme lu",proceed:"Procéder",checkingForUpdates:"Recherche des mises à jour...",email:{enable:"Activer la notification par e-mail",from:"Expéditeur d'email",host:"Hôte du serveur SMTP",port:"Port du serveur SMTP",user:"Nom d'utilisateur du serveur SMTP",secure:"Activer une connexion sécurisée",password:"Serveur SMTP mot de passe utilisateur",fromRequired:"L'expéditeur du courrier électronique est obligatoire",fromInvalid:"L'expéditeur de l'email est invalide",receiverRequired:"Le destinataire de l'e-mail est requis",receiverInvalid:"Le destinataire de l'e-mail est invalide",hostRequired:"L'hôte du serveur SMTP est requis",hostInvalid:"L'hôte du serveur SMTP est invalide",portRequired:"Le port du serveur SMTP est requis",portInvalid:"Le port du serveur SMTP est invalide, le port doit être compris entre 1 et 65535.",userRequired:"Le nom d'utilisateur du serveur SMTP est requis",passwordRequired:"Mot de passe utilisateur du serveur SMTP requis",testSuccess:"Envoi de l'e-mail de test réussi",testFailed:"Échec de l'envoi du courrier de test",testReceiver:"Destinataire de l'email",testSendEmail:"Envoyer un e-mail de test",inputTestReceiver:"Veuillez saisir l'adresse e-mail du destinataire du test",disable:"Se désabonner des notifications par email",disableDescription:"Après la désinscription, vous ne recevrez plus de notifications par e-mail. Pour recevoir à nouveau les notifications par e-mail, vous pouvez vous y réabonner sur cette page.",unsubscribe:"Se désabonner de la notification par e-mail",unsubscribeDescription:"Après désabonnement, vous ne recevrez plus aucune notification par email.",subscribe:"S'abonner",subscribeDescription:"Pour recevoir des notifications par e-mail, vous pouvez vous y abonner à nouveau sur la page des paramètres."},comingSoon:"Plus de canaux de notification sont en cours de construction",unsubscribe:"Se désabonner",unsubscribeSucceed:"Désinscription réussie",unsubscribeFailed:"Échec de désinscription",unsubscribeTokenRequired:"Jeton de désabonnement requis",unsubscribeTokenExpired:"Le jeton de désabonnement a expiré",unsubscribeTokenInvalid:"Le jeton de désabonnement est invalide",installComponentError:"Composant désinstallé {name} non trouvé",installingComponent:"Installation du composant {name}",pushKit:{enable:"Activer les notifications PushKit",endpoint:"Point d'extrémité PushKit",endpointInvalid:"Le point de terminaison PushKit est une URL non valide",testSuccess:"Le test d'envoi du PushKit a réussi",testFailed:"Test PushKit envoyer a échoué",testReceiver:"Récepteur PushKit",testSend:"Tester l'envoi du kit push",inputTestReceiver:"Veuillez saisir le destinataire du test",receiverRequired:"Récepteur PushKit requis",pushPath:"Chemin API pour push-kit (par défaut /api/push)",did:"PushKit Blocklet DID",customOptions:"Options personnalisées"},notificationDetails:"Détails de la notification",receiver:"Destinataire",sendStatus:{success:"Envoyé",failed:"Échoué",sentTime:"Heure d'envoi: {date}",pending:"En attente",reason:{enabled:"L'utilisateur a activé la notification {channel}",disabled:"L'utilisateur n'a pas activé la notification {channel}",unavailable:"Le Blocklet actuel n'a pas configuré la notification {channel}",available:"Le Blocklet actuel a configuré la notification {channel}",notSent:"Le message actuel n'a pas été envoyé à {channel}",offline:"Utilisateur est hors ligne"},count:"{count}",total:"Total"},filter:"Filtre",notificationPreview:"Aperçu de notification",resend:"Renvoyer",resendLimit:"Vous pouvez renvoyer une notification jusqu'à trois fois par jour.",from:"De",to:"À",body:"Corps",notificationTitle:"Titre",createdAt:"Créé le",status:"Statut",system:"Système",severity:"Gravité",config:"Configurations",selectChannels:"Sélectionner les canaux",selectChannelsTip:"Sélectionner les canaux à renvoyer",resendFailedOnly:"Renvoyer uniquement aux canaux ayant échoué",statistics:"Statistiques",allSender:"Tous les expéditeurs",allSeverity:"Toutes les sévérités",severityType:{info:"Info",success:"Succès",warning:"Avertissement",error:"Erreur"}},router:{routerSetting:"Domaines et URLs",certSetting:"Certificats SSL",defaultSite:"Par défaut",urlHelperText:"Les URL qui ne commencent pas par HTTP/HTTPS sont considérées comme des chemins relatifs",empty:"Cliquez sur Actions pour configurer la mise en correspondance des URL",healthy:{ok:"Le blocklet ou le service fonctionne",error:"Le bloc ou le service ne fonctionne pas ou n'est pas installé"},service:{select:"Sélectionnez les services Blocklet (facultatif)",what:"Les services Blocklet sont des pipelines exécutés avant de rediriger vers le Blocklet amont."},nonProvider:{title:"Avertissement de changement de moteur",description:"Si vous changez de moteur pour aucun, votre page actuelle risque de ne pas fonctionner correctement car le moteur précédent sera arrêté. Êtes-vous sûr de vouloir continuer?",confirm:"Je comprends, continuez"},validation:{urlRequired:"L'URL est requise",redirectCodeRequired:"Le code de redirection est requis",didRequired:"Blocklet est requis",pathPrefixTooLong:"Le préfixe d'URL ne peut pas dépasser {length} caractères",pathPrefixCannotBeEmpty:"Le préfixe d'URL ne peut pas être vide",domainRequired:"Le domaine du serveur est requis",invalidUrl:"Veuillez fournir une URL valide",pathPrefixRequired:"Le préfixe d'URL est requis",redirectUrlRequired:"L'URL de redirection est requise",rewriteUrlRequired:"La réécriture de l'URL est requise"},domain:{addSite:"Ajouter un site",validate:{emptyTip:"Le domaine du site ne peut pas être vide",suffixTip:"Le domaine du site ne peut pas inclure {suffix}"},add:{title:"Ajouter un nom de domaine",description:"Veuillez fournir un nom de domaine valide",confirm:"Ajouter",cancel:"Annuler",blocklet:"Sélectionner Blocklet",redirect:"Où rediriger le trafic ?",port:"Sur quel port votre gestionnaire de requêtes doit-il écouter ?",portTip:"Ceci est la valeur par défaut du port principal du gestionnaire de requêtes. Vous pouvez personnaliser cela",type:"Gestionnaire de trafic",component:"Sélectionner le composant",pageGroup:"Groupe de page",pageGroupTip:"Ce composant peut afficher n'importe quel groupe de pages répertoriées ci-dessus, laissez vide pour afficher toutes les pages"},update:{title:"Mise à jour du domaine du site",label:"Domaine du site",description:"Veuillez fournir un domaine de site valide"},setup:{tipStart:"Ajoutez les enregistrements DNS pour le domaine",tipEnd:"Selon les directives suivantes",recordType:"Type d'enregistrement",recordValue:"Valeur d'enregistrement"},verify:{ok:"La résolution de domaine est normale",notResolved:"Ce domaine n'est ni résolu ni accessible, veuillez vérifier votre configuration DNS."},https:{ok:"Ce domaine a HTTPS activé",bad:"Ce domaine n'a pas activé https"},delete:{title:"Supprimer le site",description:'En confirmant, vous supprimerez votre site existant "{name}". Tapez "{name}" ci-dessous et sélectionnez Supprimer pour effectuer le changement, ou sélectionnez Annuler si vous souhaitez conserver votre site.',confirm_desc:"Veuillez entrer {name} pour confirmer"}},domainAlias:{nftDomain:"Configuration automatique avec le domaine DID",showTipHint:"Comment configurer la résolution des noms de domaine ?",add:{title:"Ajouter un domaine supplémentaire",domainDescription:"Veuillez fournir un nom de domaine valide",forceTip:"Forcer l'ajout si le nom de domaine existe déjà",helperText:"Si une URL HTTP ou HTTPS est saisie, elle sera automatiquement convertie en un nom de domaine.",isDidDomainError:"Ce domaine est un domaine DID. Veuillez l'ajouter en utilisant la méthode de configuration automatique du domaine.",tips:"Vous pouvez entrer un nom de domaine acheté auprès de DID Domain ou de tout autre domaine. S'il s'agit d'un domaine DID, vous devez présenter le DID Domain NFT pour continuer."},addCustomDomain:{name:"Domaine personnalisé"},addDomainNFT:{showNFT:"Configurer le domaine automatiquement",tips:"Vous pouvez saisir un domaine acheté auprès de DID Domain. Si un domaine DID est détecté, vous devez présenter le domaine DID NFT pour continuer.",connect:{title:"Veuillez montrer votre Domaine NFT",scan:"Utilisez les méthodes suivantes pour autoriser Blocklet à utiliser votre domaine",confirm:"Veuillez confirmer sur votre portefeuille DID",success:"Autorisation réussie"},buyTip:"DID Domain effectuera la résolution du nom de domaine automatiquement, pas besoin de le configurer manuellement, et l'application mettra à jour l'enregistrement de résolution du nom de domaine automatiquement en cas de besoin. Si vous n'avez pas encore de NFT DID Domain,",buy:"Acheter un domaine DID",topLevelDidDomainHint:"Pour les domaines DID, si vous saisissez un domaine de premier niveau (par ex. example.com), il sera automatiquement configuré en www.example.com."},delete:{title:"Supprimer",description:`Après la suppression de "{domain}", l'accès à cet alias peut ne pas être correctement géré.`,confirmPlaceholder:'Veuillez saisir "{domain}" pour supprimer'}},domainSecurity:{title:"Sécurité de domaine",cors:{title:"Domaines CORS autorisés",description:`Liste de domaines pouvant envoyer des requêtes cross-origin à {name}, séparés par des virgules. Utilisez "*" pour autoriser n'importe qui, ce qui n'est pas recommandé.`,domainInvalid:"Veuillez entrer une liste valide de noms de domaine"}},rule:{add:{title:"Ajouter une correspondance d'URL",confirm:"Ajouter",pathPrefix:"Quel est le préfixe de l'URL ?",pathPrefixTip:"Si vous définissez le préfixe sur '/mon-préfixe', alors toutes les demandes commençant par ce préfixe seront routées vers le blocklet configuré",blocklet:"Quel Blocklet gérera ces demandes ?",port:"Quel port du blocklet gérera les requêtes ?",portTip:"Par défaut, cela correspond au port principal du blocklet. Si votre blocklet écoute sur plusieurs ports, vous pouvez personnaliser cela.",responseType:"Type de réponse",responseBody:"Contenu de la réponse",responseBodyTip:"Veuillez coller votre contenu de réponse ici, ne doit pas dépasser 4096 caractères.",responseBodyRequired:"Le contenu de la réponse ne peut pas être vide"},delete:{title:"Supprimer la correspondance d'URL",description:`En confirmant, vous supprimerez votre correspondance d'URL existante pour "{name}". Tapez "{name}" ci-dessous et sélectionnez Supprimer pour effectuer le changement, ou sélectionnez Annuler si vous souhaitez conserver votre correspondance d'URL.`,confirm_desc:"Veuillez entrer {name} pour supprimer",cancel:"Annuler"},update:{title:"Mise à jour du mappage URL",confirm:"Oui, Mettre à jour",cancel:"Annuler"}},cert:{name:"Nom du certificat",domain:"Nom de domaine",action:"Action",commonName:"Nom commun",boundDomains:"Domaines",source:"Source",expired:"Expiré",leftDays:"jours restants",issuedOn:"Délivré le",expiryOn:"Date d'expiration le",fingerprintAlg:"Algorithme d'empreinte digitale",validityPeriod:"Période de validité",matchedSites:"Sites correspondants",upload:"Téléchargement manuel",publicCertHelperText:"Les certificats publics peuvent être téléchargés",nonPublicCertHelperText:"Les certificats non-publics ne peuvent pas être téléchargés",protectedCertHelperText:"Les certificats protégés ne peuvent pas être modifiés",unprotectedCertHelperText:"Les certificats non protégés peuvent être modifiés",issuing:"Certificat en cours de génération",sourceTypes:{upload:"Téléchargement manuel",lets_encrypt:"Chiffrons"},table:{nodata:"Pas de données"},delete:{title:"Supprimer certificat",description:"Confirmer la suppression du certificat du domaine {domain} ? Cela peut avoir un impact sur les services associés. Veuillez confirmer que cela est sans risque avant de procéder à la suppression.",confirm:"Confirmer"},nginx:{title:"Mettre à jour le certificat",titleAdd:"Ajouter un certificat",pem:"Fichier de certificat SSL",pemTip:'Veuillez déposer votre fichier de certificat de serveur ici. Il doit se terminer par ".pem" ou ".crt".',key:"Fichier de clé privée",keyTip:'Veuillez déposer votre fichier de clé privée du serveur ici, il doit se terminer par ".pem" ou ".key".',confirm:"Enregistrer",cancel:"Annuler",invalidFile:"Vous avez sélectionné un fichier invalide",empty:"Aucun fichier sélectionné pour le moment",source:"Source",sourceTypes:{upload:"Téléchargement manuel",lets_encrypt:"Chiffrons"}},detail:{title:"Détails du certificat"},genLetsEncryptCert:{title:"Générer un certificat Let's Encrypt",dnsTip:"Veuillez vous assurer que le nom de domaine pointe vers le serveur Blocklet actuel.",description:"L'ajout d'un certificat rendra le service plus sécurisé et Blocklet Server renouvellera automatiquement le certificat avant son expiration."}},gateway:{reqLimit:{switchLabel:"Limitation de requêtes",rate:"Limite de demande ({rate} demandes/seconde)",title:"Limitation des demandes"},cacheEnabled:{switchLabel:"Activer le cache de la passerelle pour améliorer les performances",title:"Cache de la passerelle"},blockPolicy:{switchLabel:"Blocage de la demande",addItem:"Ajouter un élément",blacklistDesc:"Les demandes provenant de ces adresses IP seront bloquées pour accéder à ce serveur et à tous les Blocklets",inputPlaceholder:"Entrez l'adresse IP, la plage CIDR ou l'URL",invalidItem:"Adresse IP, plage CIDR ou URL non valide",title:"Blocage de la demande",autoBlocking:{switchLabel:"Bloquez les mauvaises demandes par détection en temps réel",windowSize:"La taille de la fenêtre temporelle pour compter les requêtes (secondes)",windowQuota:"Le nombre maximum de requêtes (par IP) autorisé dans la fenêtre",blockDuration:"La durée pour bloquer l'utilisateur par IP lorsque le quota est dépassé dans la fenêtre (secondes)",statusCodes:"Les codes de statut à vérifier"}},proxyPolicy:{switchLabel:"Courir derrière des proxies",trustRecursive:"Faites confiance aux mandataires de manière récursive",trustRecursiveDesc:"Utilisez l'IP la plus à gauche dans la chaîne X-Forwarded-For",trustedProxies:"Proxies de confiance",trustedProxiesDesc:"Les demandes de ces adresses IP seront considérées comme fiables pour obtenir l'IP réelle du client",realIpHeaderLabel:"En-tête IP client",realIpHeaderDesc:"Si le serveur de Blocklet fonctionne derrière des proxies tels que CloudFront, vous pouvez définir ici l'en-tête de l'IP réelle du client.",addItem:"Ajouter un élément",inputPlaceholder:"Entrez l'adresse IP, la plage CIDR",invalidItem:"Adresse IP non valide, plage CIDR",title:"Politique de proxy"},wafPolicy:{switchLabel:"Détectez et bloquez les mauvaises requêtes avec ModSecurity",modeDesc:"Le mode de modsecurity (module modsecurity requis)",mode:{detectOnly:"Détecter seulement (ne bloquera pas les demandes)",on:"Activé (bloquera les demandes)"},logLevelDesc:"Le niveau de journalisation pour ModSecurity (0-9), 0 signifie désactiver le journal d'audit",inboundAnomalyScoreThresholdDesc:"Le seuil de score d'anomalie entrant (1-100), une valeur plus basse signifie plus strict",outboundAnomalyScoreThresholdDesc:"Le seuil du score d'anomalie sortante (1-100), une valeur plus basse signifie plus strict",docDesc:"Consultez la documentation pour savoir comment configurer modsecurity",title:"Pare-feu d'application Web"}}},noMatch:{desc:"Nous ne pouvons pas trouver la page que vous recherchez"},health:{connectionErrorTip:"Le serveur de blocs ne peut pas se connecter au réseau, veuillez vérifier si le serveur de blocs a été arrêté ou s'il y a un problème réseau.",connectionRecoveryTip:"La connectivité du serveur Blocklet a été rétablie",connectionStoppedTip:"Le serveur Blocklet a été arrêté",wrongAccessUrlTip:"L'adresse d'accès au serveur Blocklet est incorrecte, veuillez utiliser l'adresse d'accès correcte."},debug:{title:"Votre serveur Blocklet est en ligne et fonctionne !"},team:{invite:{action:"Inviter Nouveau",setting:"Paramètres d'invitation",enabled:"Désactivez ce paramètre pour restreindre les nouvelles invitations utilisateurs aux propriétaires/administrateurs uniquement",disabled:"Activez ce paramètre pour permettre à tout utilisateur d'inviter de nouveaux utilisateurs",inviter:"Invité par"},add:"Ajouter nouveau",member:{name:"Nom",passport:"Passeport",passports:"Passeports",lastLogin:"Dernière connexion",lastLoginIp:"Dernière adresse IP de connexion",source:"Source d'inscription",source_derived:"Dérivé de OAuth",source_wallet:"Portefeuille DID",filter:"Filtrer par",blockAccess:"Interdire la connexion",blockAccessDescription:"L'utilisateur ne pourra pas se connecter à cette application",allowAccess:"Autoriser la connexion",allowAccessDescription:"L'utilisateur pourra se connecter à cette application",updateRole:"Mettre à jour le rôle",removeUser:"Supprimer l'utilisateur",removeUserDescription:"Confirmer la suppression de l'utilisateur '{name}' ?",revokePassport:"Révoquer le passeport",revokePassportDescription:"Une fois que le passeport est révoqué, le titulaire du passeport ne peut plus l'utiliser pour se connecter, êtes-vous sûr de vouloir continuer?",enablePassport:"Activer le passeport",enablePassportDescription:"Une fois que le passeport révoqué est à nouveau activé, le titulaire du passeport peut l'utiliser pour se connecter à nouveau, êtes-vous sûr de vouloir continuer?",passportPermissionTitle:"Le passeport a les autorisations suivantes:",search:"Rechercher un membre",onlyApprovedMember:"Afficher approuvé uniquement",inviteDialog:{createInviteLink:"Générer un lien d'invitation",createSuccessTip:"Le lien d'invitation a été créé avec succès. Cliquez pour copier et envoyer le lien au membre invité, veuillez noter que ce lien d'invitation ne peut pas être réutilisé et expirera le {expireDate}."},error:{passportEmpty:"Le passeport ne doit pas être vide"},connectedAccounts:"Comptes Connectés",connections:"Connexions",federated:"Fédéré",switch:{did:"Passer à DID",profile:"Changer de profil",passport:"Changer de passeport"},settings:{notification:"Notifications",email:"Envoyez-moi un e-mail lorsque certains événements se produisent",wallet:"Envoyez une notification à mon portefeuille lorsque des événements se produisent",phone:"Envoyez-moi un message texte lorsque certains événements se produisent",webhook:"Points de terminaison en temps réel",add:"Ajouter un nouveau webhook",url:"URL personnalisée",slack:"Webhook Slack",tested:"Message de test envoyé"},activeUserSessions:"Sessions d'utilisateurs actives",forceLogout:"Déconnexion forcée",forceLogoutDescription:"Confirmez-vous la déconnexion forcée de cet utilisateur?",openProfile:"Voir le profil",removeUserSuccess:"Utilisateur supprimé avec succès"},transferNode:{name:"Transfert de propriété",inviteDialog:{title:"Serveur de blocs de transfert",tips:{progress:"Le serveur doit être accepté par le destinataire pour terminer l'opération de transfert, et une fois que le destinataire l'a accepté, vous ne pouvez plus vous connecter au serveur avec le passeport actuel.",newOwnerPermissions:"Le nouveau propriétaire aura le droit de gérer toutes les opérations telles que les membres, les passeports et les Blocklets.",revoke:`Si vous souhaitez retirer l'invitation de transfert, vous pouvez supprimer le lien d'invitation sur la page "Équipe -> Membres -> Invitation".`},createInviteLink:"Générer le lien d'invitation",createSuccessTip:"Le lien d'invitation a été créé avec succès. Cliquez pour copier et envoyez le lien au membre invité. Veuillez noter que ce lien d'invitation ne peut pas être réutilisé et expirera le {expireDate}."},delegateDialog:{title:"Autorisation requise",scan:"Utilisez les méthodes suivantes pour autoriser le serveur à transférer le NFT de propriété du serveur.",confirm:"Confirmez sur votre portefeuille DID",success:"Autorisation réussie"}},transferApp:{name:"Transfert de propriété",transferDialog:{title:"Demande de transfert",tips:{progress:"La demande doit être acceptée par le destinataire pour finaliser l'opération de transfert, et une fois que le destinataire l'a acceptée, vous ne pouvez plus vous connecter à l'application avec le passeport actuel.",newOwnerPermissions:"Le nouveau propriétaire aura le droit de gérer toutes les opérations telles que les membres, les passeports et les paramètres."},createTransferLink:"Générer un lien de transfert",createSuccessTip1:`Le lien de transfert est créé avec succès, l'invité doit utiliser <a style="color: rgb(29, 193, 199)" target="_blank" href="https://www.didwallet.io/">DID Wallet</a> pour recevoir la propriété de l'application.`,createSuccessTip2:"Veuillez cliquer pour copier et envoyer le lien au membre invité, veuillez noter que ce lien de transfert ne peut pas être réutilisé et expirera le {expireDate}. Votre lien de transfert ne sera affiché qu'une seule fois et ne sera plus visible après la fermeture de cette boîte de dialogue.",createSuccessTip3:"Après la réussite du transfert, l'application redémarrera automatiquement pour que les modifications prennent effet",link:"Lien de transfert",iKnow:"J'ai copié et enregistré le lien"},connectDialog:{title:"Autorisation requise",scan:"Utilisez les méthodes suivantes pour autoriser l'application à transférer la propriété.",confirm:"Confirmez sur votre portefeuille DID",success:"Autorisation réussie"},receiveDialog:{title:"Recevoir la propriété de l'application",scan:"Utilisez les méthodes suivantes pour recevoir la propriété de l'application.",confirm:"Confirmez sur votre portefeuille DID",success:"Réception de la propriété avec succès"},successTitle:"Vous êtes devenu le nouveau propriétaire de cette application",visitDashboard:"Visitez le tableau de bord de l'application",description:'Si vous souhaitez changer la propriété de votre projet, cliquez sur "transférer la propriété" pour commencer'},permission:{create:{title:"Créer une autorisation",description:"Format: <action>_<ressource>"},delete:{title:"Supprimer l'autorisation",description:"Confirmer la suppression de {name} ?"},error:{actionEmpty:"L'action ne peut pas être vide",resourceEmpty:"La ressource ne peut pas être vide",permissionTooLong:"La permission ne peut pas dépasser {length} caractères",descriptionTooLong:"La description ne peut pas dépasser {length} caractères"}},passport:{create:{title:"Créez un passeport",titleTip:"Le titre ne peut pas être modifié après sa création, il est recommandé de le limiter à 14 lettres"},bind:{title:"Autorisation de lier",roleTip:"Vous obtiendrez toutes les autorisations du passeport sélectionné après la liaison.",permissionTip:"Vous recevrez les autorisations sélectionnées après la liaison",transferLeftTitle:"Toutes les autorisations",transferRightTitle:"Permissions accordées"},delete:{title:"Supprimer passeport",description:"Les passeports détenus par l'utilisateur perdent toutes leurs autorisations une fois supprimés. Êtes-vous sûr de vouloir continuer?"},error:{titleEmpty:"Le titre ne peut pas être vide",titleTooLong:"Le titre ne peut pas dépasser {length} caractères",descriptionEmpty:"La description ne peut pas être vide"},issuance:{pending:"En attente",create:{title:"Générer le lien"},delete:{title:"Supprimer le lien de réception",description:"Confirmez la suppression de {link} ?"}},issue:"Émettre un passeport",disableIssuance:"Désactiver l'émission de passeports",enableIssuance:"Activer l'émission de passeport",disableIssuanceTip:'"Émettre un passeport", "Inviter un membre" et autres opérations seront désactivées.',enableIssuanceTip:"Émettre un passeport",trustedPassportIssuers:"Émetteurs de passeports de confiance",trustedIssuers:"Émetteurs de confiance",trustedFactories:"Collections de NFT de confiance",trustedFactoriesTip:"Gérez des collections NFT de confiance qui peuvent être utilisées pour l'échange d'un passeport",searchFactoryAddress:"Rechercher Collection DID",configFactories:"Configurer les collections NFT de confiance",configFactoriesTip:"Permettre aux utilisateurs d'échanger des NFT contre des passeports",factoryAddress:"Adresse de collection NFT",factory404:"Collection NFT introuvable",factoryAddressTip:"L'adresse de collection NFT doit exister sur la chaîne principale d'ArcBlock",role:"Type de passeport",ttl:"Politique d'expiration du passeport",ttlNever:"Jamais expirer",ttlMint:"Depuis l'achat de NFT",ttlExchange:"En raison de l'échange de passeports",ttlNeverTip:"Le passeport sera valide jusqu'à révocation",ttlMintTip:"Le passeport sera valide tant que le NFT est acheté jusqu'à ce que vous spécifiez ttl ou révoquiez",ttlExchangeTip:"Le passeport sera valide à partir du moment où l'utilisateur a échangé avec succès jusqu'à ce que vous ayez spécifié ttl ou révoqué",ttlTip:'"365d" signifie 365 jours, vous pouvez également utiliser "30 jours" ou "24h"',validUntil:"Valable jusqu'au: {date}",externalPassport:"Passeport externe",notTrustedIssuerTip:"Le passeport ne peut pas être utilisé car l'émetteur ne figure pas sur la liste des émetteurs de confiance",issuerDid:"Identifiant de l'émetteur",addNodeToTrustedIssuers:"Ajouter le serveur actuel en tant qu'émetteur de passeports de confiance",revoked:"Révoqué",noPermission:"Pas de permission pour effectuer cette opération",shouldNotDeleteCurrent:"Vous ne pouvez pas révoquer votre passeport actuellement utilisé",mappingRule:"Règle de mappage",defaultRule:"Règle par défaut",search:"Rechercher passeport",searchIssuerDid:"Recherchez l'ID d'émetteur",issueBy:"Problème par {name}",configColor:"Configurer la couleur du passeport",configColorTip:"Personnalisez la couleur du passeport",color:"Couleur du passeport",description:"Utilisez ce passeport pour connecter {teamName} en tant que {title}",displayBuiltin:"Builtin",displayCustom:"Personnalisé",typesTip:"Personnaliser les types de passeport, séparés par des virgules",issuanceDate:"Date de délivrance : {date}"},inviting:{link:"Lien d'invitation",inviter:"Inviter",delete:{title:"Supprimer le lien d'invitation",description:"Confirmer la suppression de {link}?"},disabledTip:"L'invitation n'est pas activée"},whoCanAccess:{all:{title:"Accessible à tous"},owner:{title:"Propriétaire uniquement"},invited:{title:"Utilisateur invité seulement"}}},launcher:{provider:"Fournisseur",adminUrl:"URL"},session:{blockAccess:"Vous avez été bloqué d'accéder à ce serveur"},launchBlocklet:{appInfo:"Informations sur l'application",appInfoDesc:"Confirmez les informations de demande",author:"Auteur de l'application : {author}",setup:"Configuration Blocklet",redirect:"Rediriger",alreadyRunning:"L'application {name} est déjà en cours d'exécution sur ce serveur de blocs",alreadyInstalled:"L'application {name} est déjà installée sur ce serveur Blocklet.",alreadyExists:"Cette application existe déjà, redirection en cours...",purchased:"Déjà acheté",purchase:"Achat",nextStep:"Étape suivante",agreement:"Contrat de licence",agreeAll:"Accepter et continuer",installing:"Installation de {appName} sur {serverName}, cela peut prendre quelques minutes pour terminer, veuillez rester à l'écoute...",redirecting:"{appName} est installé avec succès, démarrage en cours...",start:"Lancement",launch:"Installer Blocklet sur le serveur",launchSuccess:"{appName} a été lancé avec succès !",installSuccess:"Blocklet est installé et lancé avec succès sur {serverName}",openInRegistry:"Voir dans le Blocklet Store",subTitle:"Prêt à installer le Blocklet {appName} sur {serverName}",installingSubTitle:"Installation de {appName}",access:"Ouvrez l'application",viewApplication:"Voir la candidature",newVersion:"Nouvelle version",newVersionDesc:"L'application existe déjà, mais la version actuelle peut être mise à niveau",upgradeNow:"Mise à niveau maintenant",later:"Plus tard",introduction:"Introduction",welcome:"Bienvenue dans l'assistant de lancement de Blocklet",accept:"J'accepte les conditions de l'accord de licence Blocklet",license:"Licence d'application",next:"Acceptez l'EULA et continuez",purchaseApp:"Acheter Blocklet",setupAppDesc:"Initialisez votre Blocklet",launched:"Complet",confirmInstall:"Confirmer l'installation",dialog:{title:"Devenez propriétaire d'application",nftFreeDescription:"Veuillez présenter l'espace d'application NFT et créer un compte d'application pour continuer.",nftPaidDescription:"Veuillez présenter l'espace d'application NFT et l'achat d'application NFT pour continuer",freeDescription:"Veuillez créer un compte d'application pour continuer",paidDescription:"Veuillez présenter l'achat NFT de l'application et créer un compte d'application pour continuer.",confirm:"Confirmez dans votre portefeuille DID",success:"Autorisation réussie",authorizationTimeout:"Délai d'autorisation"},waiting:{verifying:"Vérification des métadonnées de l'application ...",downloading:"Téléchargement du bundle d'application en cours...",downloadingComponent:"Téléchargement de {name}",extractingComponent:"Extraction de {name}",extracting:"Extraction du bundle d'application...",installing:"Installation des composants de l'application...",installed:"Installé",starting:"Démarrage de l'application...",done:"Votre application se lance..."},error:{loadMetaFailed:"Échec du chargement des informations de l'application",appMetaNotFound:"Aucune information trouvée pour cette application",downloadFailed:"Échec du téléchargement de l'application, veuillez réessayer.",installFailed:"Échec de l'installation de l'application, veuillez réessayer",startFailed:"Échec du démarrage de l'application, veuillez réessayer",launchFailed:"Échec du lancement de l'application, veuillez réessayer",installedButStopped:"L'application a été installée avec succès, mais ne peut pas être démarrée. Vous pouvez la démarrer manuellement après avoir résolu les problèmes de blocage.",installedButError:"L'application est installée avec succès, mais n'a pas réussi à démarrer",restoreFailed:"Échec de la restauration de l'application, veuillez réessayer",resourceBlocklet:"Ce blocklet ne peut pas être lancé directement. Cependant, vous pouvez l'ajouter à une application existante."},steps:{introduction:"Introduction",installApp:"Installer l'application",purchaseSpace:"Acheter de l'espace",prepareSpace:"Préparez l'espace"},installRelatedComponents:"Installer les Blocklets liés",canNotInstall:"Ne peut pas installer",dockerBlockletCantInstall:"Impossible d'installer le Blocklet, car le serveur Blocklet n'a pas activé Docker ou le réseau Docker"},issuePassport:{title:"Recevoir le passeport",description:"Utilisez les méthodes suivantes pour recevoir le passeport délivré par {name}",dialog:{scan:"Utilisez les méthodes suivantes pour demander le passeport",confirm:"Confirmez sur votre portefeuille DID",success:"Le passeport a été ajouté avec succès à votre portefeuille",loginWithPassport:"Connectez-vous avec ce passeport",autoClose:"La page se fermera automatiquement dans {seconds}s",autoJump:"La page sera automatiquement sautée dans {seconds}s."}},lostPassport:{title:"Passeport perdu",description:"Le propriétaire de {name} peut utiliser les méthodes suivantes pour récupérer le passeport. Les membres doivent contacter le propriétaire pour une réédition du passeport.",return:"Annuler l'opération de récupération, retour à la page d'accueil",receivePassport:"Recevoir le passeport",recoverDialog:{title:"Récupérer le passeport",scan:"Utilisez les méthodes suivantes pour récupérer votre passeport",confirm:"Confirmez sur votre DID wallet",success:"Récupération réussie"},receiveDialog:{title:"Recevoir le passeport",scan:"Utilisez les méthodes suivantes pour recevoir le passeport",confirm:"Confirmez sur votre portefeuille DID",success:"Reçu avec succès"},recoverPassport:"Récupérer le passeport"},invite:{message:"{name} vous invite à être le {role} de {dapp}",success:"Vous avez réussi à rejoindre {dapp}",receive:"Recevoir avec",validUntil:"Valable jusqu'à:",viewPermission:"Permission d'affichage",emptyPermission:"Permission vide",open:"Ouvrir",description:{step1:"Téléchargez et configurez votre {wallet}",step2:"Cliquez sur le bouton ci-dessus pour recevoir le passeport",step3:"Connectez-vous à {dapp} avec le passeport reçu"},transferNFTDialog:{title:"Acceptez le serveur Blocklet {name}",scan:"Connectez le Launcher pour compléter la réception du serveur Blocklet.",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Connecté avec succès, en attente de confirmation de la réception du serveur"}},receive:{dialog:{title:"Recevoir le passeport",scan:"Après réception du passeport, vous pouvez l'utiliser pour vous connecter à l'application.",confirm:"Confirmez sur votre portefeuille DID",success:"Vous êtes connecté avec succès"}},navigation:{navigation:"Navigation",actionFailed:"Action échouée",form:{title:"Titre",titlePlaceholder:"Veuillez saisir le titre de navigation",titleTooLong:"La longueur du titre doit être inférieure à {len}",description:"Description",descriptionPlaceholder:"Veuillez saisir la description de navigation",descriptionTooLong:"La longueur de la description doit être inférieure à {len}",icon:"Icône de navigation",iconPlaceholder:"Veuillez saisir l'icône de navigation",invalidIcon:"L'icône n'est pas valide",findMoreIcon:"Trouver plus d'icônes",link:"Lien",linkPlaceholder:"Veuillez saisir le lien de navigation",invalidLink:"Le lien est invalide",component:"Composant",componentPlaceholder:"Veuillez sélectionner le composant de navigation",role:"Rôle",rolePlaceholder:"Veuillez sélectionner le rôle de navigation",locale:"Locale",localePlaceholder:"Veuillez entrer la localisation à ajouter",localeExists:"{value} existe déjà",activeIcon:"Icône active",activeIconPlaceholder:"Veuillez entrer l'icône de navigation active",activeColor:"Couleur active",activeColorPlaceholder:"Veuillez entrer la couleur active de la navigation",color:"Couleur",colorPlaceholder:"Veuillez saisir la couleur par défaut de la navigation"},action:{add:"Ajouter la navigation",addSub:"Ajouter une sous-navigation",edit:"Modifier la navigation",hide:"Masquer la navigation",show:"Afficher la navigation",del:"Supprimer la navigation",new:"Nouveau",noAddSub:"Le composant désinstallé ne peut pas ajouter de sous-navigation",noEdit:"Le composant désinstallé ne peut pas être modifié",noDel:"Supprimer la navigation intégrée n'est pas autorisé",reset:"Réinitialiser",restConfirmTitle:"Voulez-vous effacer toute la navigation personnalisée ?",restConfirmDesc:"Après un nettoyage, la navigation sera restaurée à la configuration par défaut originale de Blocklet.",resetSuccessful:"Réinitialisation réussie"},access:"Accès",members:"Membres",passport:"Passeport",analytics:"Analytique",dashboard:"Tableau de bord",studio:"Studio",blockletService:"Service Blocklet"},storage:{spaces:{title:"DID Spaces",tips:"Conseils",label:"Veuillez entrer la passerelle DID Spaces",connected:{title:"Espaces DID connectés",tag:"Connecté(e)"},connectedWithName:"Vous vous êtes connecté avec succès à {name}",addedWithName:"Vous avez ajouté {name} avec succès",connects:"Connecter",reconnect:"Reconnecter",addressCannotEmpty:"L'adresse ne peut pas être vide",addressNotValid:"{url} n'est pas une adresse valide",authorize:{title:"Connectez {appName} à DID Spaces",scan:"Utilisez les méthodes suivantes pour permettre à l'application {appName} de se connecter à DID Spaces",success:"Connecté avec succès"},provideNFT:{title:"Veuillez montrer le DID Spaces NFT pour {appName}",scan:"Utilisez les méthodes suivantes pour permettre à l'application {appName} d'afficher les NFT DID Space",success:"Connecté avec succès"},backup:{title:"Sauvegarde",records:"Enregistrements de sauvegarde"},autoBackup:{title:"Sauvegarde automatique",enabled:"La sauvegarde automatique est activée",disabled:"La sauvegarde automatique est désactivée"},autoCheckUpdate:{title:"Vérification automatique des notifications de nouvelles versions",enabled:"La vérification automatique des nouvelles versions est activée",disabled:"La vérification automatique des nouvelles versions est désactivée"},backupSuccessfully:"Sauvegarde effectuée avec succès",restore:"Restaurer",restoreSuccessfully:"Restauration réussie",gateway:{title:"Passerelle",select:"Sélectionnez un espace DID",add:{title:"Ajouter des espaces DID",label:"Entrez l'URL des DID Spaces",failed:"Échec de l'ajout des espaces DID",invalidUrl:"URL de passerelle DID Spaces invalide",duplicate:"{name} est déjà connecté à ce Blocklet"},delete:{title:"Déconnecter",succeeded:"Déconnecté de DID Spaces {name}",failed:"Erreur lors de la déconnexion de la passerelle",failedForSelected:"Impossible de déconnecter du DID Space sélectionné",descForBackup:`Après la déconnexion de {name}, vous ne pourrez plus faire de sauvegarde de Blocklet à ce DID Space. Êtes-vous sûr de vouloir déconnecter ?
2
- Vous pouvez restaurer les opérations de sauvegarde en vous reconnectant à {name}.`,descForStorage:`Après la déconnexion de {name}, vous ne pourrez plus faire de sauvegarde de Blocklet à ce DID Space. Êtes-vous sûr de vouloir déconnecter ?
3
- Vous pouvez restaurer les opérations de sauvegarde en vous reconnectant à {name}.`},connect:{title:"Connectez-vous à DID Spaces",add:"Connectez-vous maintenant aux espaces DID",addTips:"Vous n'êtes pas encore connecté à un DID Space",switch:"Changer d'espaces DID",switchTips:"Vous êtes connecté à {name}",connected:"Connecté"},switch:{failedForMismatchSpace:"Veuillez vous connecter au bon DID Space {name}"},connectTo:"Connectez-vous à DID Spaces"},strategy:{title:"Stratégie de sauvegarde",autoBackup:"Sauvegarde automatique",backupNow:"Faites une sauvegarde maintenant",viewBackupFiles:"Afficher les fichiers de sauvegarde"},progress:{title:"Progression de sauvegarde"},record:{title:"Dossiers de sauvegarde",emptyData:"Aucun enregistrement"},notYet:"Vous n'avez pas encore de sauvegarde en cours...",connect:{now:"Se connecter maintenant",title:"Connecter DID Spaces",provider:"Fournissez votre DID Space pour commencer les sauvegardes",providerForStorage:"Fournissez votre DID Space pour le stockage de données",useWallet:"Se connecter avec DID Wallet",useWalletReconnect:"Se reconnecter avec DID Wallet",useSpaceGateway:"Se connecter via DID Space Gateway",useSpaceGatewayReconnect:"Se reconnecter via DID Space Gateway",switchToSpace:"Basculer vers DID Space",switchToSpaceSucceeded:"Passé à DID Space {name}",succeeded:"Connecté avec succès à DID Space",disconnect:"Déconnecter",abortBlockletBackup:"Annuler la sauvegarde"},disconnected:{tag:"Déconnecté",reconnectNow:"Reconnectez maintenant"}},appLevel:{title:"Stockage au niveau de l'application",description:"Tous les données générées par l'application sont stockées dans ce DID Space"}},log:{lastDays:{1:"Dernier 1 jour",7:"La dernière semaine"}},oauth:{commonSettings:"Paramètres courants",save:"Enregistrer",saveSuccess:"Enregistrement réussi",saveFailed:"Échec de l'enregistrement",issued:"Émis",thirdPartyLogin:"Connexion de tiers",alreadyBindOAuth:"Connexion tierce déjà liée",alreadyBindWallet:"Déjà lier le portefeuille DID",auth0:{enable:"Activer la connexion Auth0",domain:"Domaine",domainDescription:"Le domaine d'Auth0 est requis",clientId:"Identifiant client",clientIdDescription:"Le clientId d'Auth0 est requis",clientSecret:"Secret du client",clientSecretDescription:"Le secret client de l'application Auth0 OAuth est requis"},comingSoon:"Plus de méthodes de connexion sont en cours de construction.",moreLogin:"Plus de connexion",federated:"Connexion fédérée",runTest:"Test",github:{enable:"Activer la connexion Github",clientId:"Identifiant client",clientIdDescription:"L'application Github OAuth nécessite un clientId",clientSecret:"Secret client",clientSecretDescription:"L'application Github OAuth nécessite un clientSecret"},google:{enable:"Activer la connexion Google",clientId:"Identifiant client",clientIdDescription:"L'identifiant de l'application Google OAuth est nécessaire",clientSecret:"Client secret",clientSecretDescription:"L'application Google OAuth nécessite un clientSecret"},apple:{enable:"Activer la connexion Apple",teamId:"Identifiant d'équipe",teamIdDescription:"Un identifiant d'équipe est nécessaire pour l'application Apple OAuth",serviceId:"Identifiant de service",serviceIdDescription:"Un identifiant de service est nécessaire pour l'application Apple OAuth",keyId:"Clé ID",keyIdDescription:"Une clé d'application OAuth Apple est requise",authKey:"Clé Auth",authKeyDescription:"Clé d'authentification pour l'application Apple OAuth requise",bundleId:"Bundle ID",bundleIdDescription:"L'ID de bundle de l'application Apple OAuth est requis"},oauth:"Connexion tierce partie"},expiration:{mobile:{tips:{success:"{validity}",warning:"{validity}",error:"Expiré"},loadFailed:"Réessayer !"},desktop:{tips:{success:"L'abonnement expirera après {validity}",warning:"L'abonnement expirera après {validity}",error:"Abonnement expiré"},loading:"Chargement de l'abonnement...",loadFailed:"Échec du chargement des informations d'abonnement, veuillez réessayer !",nextInvoice:"Prochaine facture: {date}"}},analytics:{trend:"Tendances",detail:"Panne",traffic:{totalRequests:"Total des demandes",validRequests:"Demandes réussies",failedRequests:"Demandes échouées",uniqueVisitors:"Visiteurs uniques",uniqueFiles:"URL uniques",uniqueReferrers:"Référents uniques",uniqueNotFound:"Erreur 404 unique",uniqueStaticFiles:"Fichiers statiques uniques",logSize:"Taille du journal",bandwidth:"Bande passante"},runtime:"Runtime"},federated:{inviteJoinFederatedLogin:"Invitation à rejoindre la connexion fédérée",inviteJoinFederatedLoginDescription:"Copiez l'adresse suivante et remplissez-la dans l'application où vous devez vous joindre pour postuler à une connexion fédérée.",federatedLogin:"Connexion fédérée",joinFederatedLogin:"Rejoindre la connexion fédérée",joinFederatedLoginDescription:"Veuillez saisir l'adresse de connexion fédérée fournie par Master Blocklet pour rejoindre la connexion fédérée",quitFederatedLogin:"Quitter la connexion fédérée",quitFederatedLoginDescription:"Après la déconnexion de la connexion fédérée, la connexion normale est toujours disponible.",federatedJoinAppUrl:"Rejoignez l'URL de l'application de connexion fédérée",federatedJoinAppUrlRequired:"Veuillez saisir l'URL de connexion fédérée",failedToGetFederatedLoginAppUrl:"Impossible d'obtenir la connexion fédérée pour rejoindre l'URL de l'application",federatedJoinAppUrlInvalid:"L'appUrl de la connexion fédérée est invalide.",siteDetail:"Détails du site",approveToJoinLogin:"Approuver pour rejoindre la connexion fédérée",approve:"Activer la connexion",revoke:"Désactiver la connexion",enableFederatedLogin:"Activer la connexion fédérée",disableFederatedLogin:"Désactiver la connexion fédérée",enableFederatedLoginDescription:"Après avoir activé la connexion fédérée, ce site se connectera automatiquement.",disableFederatedLoginDescription:"Après avoir désactivé la connexion fédérée, ce site ne se connectera pas automatiquement",enableFederatedAutoLogin:"Activer la connexion automatique",enableFederatedAutoLoginDescription:"Après avoir activé la connexion automatique, si un statut de connexion unifiée est actuellement en place, le site se connectera automatiquement avec l'identité de la connexion fédérée.",disableFederatedAutoLogin:"Désactiver la connexion automatique",disableFederatedAutoLoginDescription:"Après la désactivation de la connexion automatique, le site ne se connectera pas automatiquement avec les informations d'identification de la connexion unifiée, et vous pouvez toujours choisir de vous connecter manuellement en cliquant.",info:{appId:"L'APPLICATION A FAIT",appPid:"Identifiant permanent",migratedFrom:"Également connu sous le nom de",appName:"Nom de blocklet",appDescription:"Description du bloclet",appUrl:"URL de Blocklet",appLogo:"Logo Blocklet",did:"Blocklet DID",serverId:"Identifiant du serveur Blocklet",serverVersion:"Version du serveur Blocklet",version:"Version Blocklet",appliedAt:"Postulez chez",status:"Statut"},status:{pending:"En attente",approved:"Approuvé",rejected:"Rejeté",revoked:"Révoqué"},disbandFederatedLogin:"Désactiver la connexion fédérée",disbandFederatedLoginDescription:"Après la dissolution de la connexion fédérée, tous les sites membres abandonneront automatiquement la connexion fédérée.",syncConfig:"Synchroniser la configuration des sites fédérés",quitMember:"Supprimer",quitMemberDescription:"Supprimer les membres spécifiés du groupe de site",removeFederatedLogin:"Supprimer le membre",removeFederatedLoginDescription:"Après avoir supprimé les membres spécifiés du groupe du site, les membres ne peuvent utiliser que la connexion normale"},optionsOrder:{1:"Option Un",2:"Option Deux"},securityRule:{title:"Règle de sécurité",sortByDescription:"Trier par priorité de correspondance",add:"Ajouter une règle de sécurité",edit:"Modifier la règle de sécurité",view:"Afficher la règle de sécurité",form:{precede:"Faire précéder",pathPattern:"Motif de chemin",pathPatternPlaceholder:"Veuillez saisir le modèle de chemin",pathPatternErrorText:"Modèle de chemin non valide",accessPolicyOrResponseHeaderPolicyRequired:"Politique d'accès ou politique d'en-tête de réponse est requise",accessPolicy:"Accés",accessPolicyPlaceholder:"Sélectionner une politique d'accès",accessPolicyHelperText:"Veuillez sélectionner une politique d'accès",responseHeaderPolicy:"Stratégie d'en-tête de réponse",responseHeaderPolicyPlaceholder:"Veuillez sélectionner la politique d'en-tête de réponse",responseHeaderPolicyHelperText:"Sélectionnez une stratégie d'en-tête de réponse",remark:"Remarque",remarkPlaceholder:"Veuillez saisir une remarque",component:"Composant",componentPlaceholder:"Veuillez choisir le composant"},delete:{title:"Supprimer la règle de sécurité ?",description:"Après avoir supprimé une règle de sécurité, la règle ne sera plus appliquée"}},responseHeaderPolicy:{title:"Politique d'en-tête de réponse",add:"Ajouter une politique d'en-tête de réponse",edit:"Modifier la politique relative aux en-têtes de réponse",view:"Afficher la politique d'en-tête de réponse",form:{name:"Nom",namePlaceholder:"Veuillez entrer un nom",description:"Description",descriptionPlaceholder:"Veuillez entrer une description",cors:{origin:"Origine",originPlaceholder:"Les formats de domaine suivants sont pris en charge : http://www.example.com, http://*.example.com, http://www.example.com:8080, * (les caractères génériques ne sont pas recommandés)",originHelperText:"Le nom de domaine commence par http:// ou https://, un par ligne, un caractère générique * par ligne",methods:"Méthodes",allowedHeaders:"En-têtes autorisés",allowedHeadersPlaceholder:"Il est recommandé de remplir *, prend en charge une entrée multiligne",allowedHeadersHelperText:"Indiquez au serveur quels en-têtes HTTP personnalisés de requête peuvent être utilisés dans la prochaine requête lors de l'envoi d'une requête OPTIONS, comme : x-blocklet-version",exposedHeaders:"En-têtes exposés",exposedHeadersPlaceholder:"Prise en charge de la saisie multiligne",exposedHeadersHelperText:"Configurer les en-têtes accessibles, par exemple : X-Content-Range",maxAge:"Âge maximal (secondes)",maxAgeHelperText:"La durée de validité du résultat obtenu à partir d'une requête OPTIONS doit être un entier positif",optionsSuccessStatus:"Statut d'options réussies",preflightContinue:"Continuer",credentials:"Identifiants",smartModeHelperText:"Ajouter automatiquement tous les noms de domaine de l'application actuelle, ainsi que tous les noms de domaine du groupe de sites de connexion fédérée",smartMode:"Mode intelligent"},originOverride:"Dérogation à l'origine",originOverrideHelperText:"Définir si la logique de l'application doit remplacer cet en-tête de réponse"},delete:{title:"Supprimer la politique d'en-tête de réponse ?",description:"Après suppression d'une stratégie d'en-tête de réponse, la stratégie ne prendra plus effet"}},accessPolicy:{title:"Politique d'accès",add:"Ajouter une stratégie d'accès",edit:"Modifier la politique d'accès",view:"Afficher la politique d'accès",form:{name:"Nom",namePlaceholder:"Veuillez saisir un nom",description:"Description",descriptionPlaceholder:"Veuillez saisir une description",roles:"Rôles d'accès",accessType:"Type d'accès"},delete:{title:"Supprimer la stratégie d'accès ?",description:"Après avoir supprimé une politique d'accès, la politique ne prendra plus d'effet"}},didConnect:{genKeyPair:{title:"Générer Blocklet DID",scan:"Utilisez les méthodes suivantes pour générer un Blocklet DID",success:"Blocklet DID généré avec succès",successDesc:"La Blocklet DID a été générée avec succès (Les publications suivantes nécessitent le portefeuille qui a généré la DID pour fonctionner)"},common:{invalidSession:"Session invalide",invalidSessionDesc:"La session n'existe pas ou a expiré",connectionError:"Échec de la connexion"}},pagination:{next:"Page suivante",previous:"Page précédente",rowsPerPage:"Par page :",displayRows:"de",jumpToPage:"Aller à la page :"},webhookEndpoint:{createWebhook:"Créer un webhook",createWebhookTitle:"Créer un Webhook",selectAllEvents:"Sélectionner tous les événements",selectAllEventsTooltip:"Sélectionner tous les événements disponibles",selectedEventsCount:"{count} événements sélectionnés",selectedCount:"{count} sélectionnés",eventsCount:"{count} événements",saveWebhook:"Créer un webhook",noAvailableEvents:"Aucun événement disponible",loadingEvents:"Chargement des événements...",loadingError:"Échec du chargement des événements : {message}",title:"Webhooks",noWebhooksAdded:"Aucun webhook ajouté",validation:{urlRequired:"URL requise",urlInvalid:"Veuillez saisir une URL valide",descriptionRequired:"Description requise",eventRequired:"Veuillez sélectionner au moins un événement"},hosted:"Points de terminaison hébergés",add:"Créer un webhook",addTip:"Configurer votre point de terminaison webhook pour recevoir les événements en direct",listen:"Écouter",version:"Version de l'API",attempts:"Tentatives de webhook",url:{label:"URL",description:"URL de l'endpoint Webhook"},description:{label:"Description",description:"Une description facultative de l'utilisation de ce point de terminaison"},events:{label:"Sélectionner les événements",description:"Bonjour, {name}."},disabled:"Désactivé",enabled:"Activé",disable:"Désactiver",enable:"Activer",editWebhookTitle:"Mettre à jour le webhook",updateWebhook:"Mettre à jour le Webhook",waitingForEvents:"En attente d'événements...",loadingMore:"Chargement en cours...",loadMore:"Charger plus",response:"Réponse",request:"Demande",eventData:"Données d'événement",deleteWebhook:{title:"Supprimer le Webhook ?",description:"Après la suppression d'un webhook, celui-ci ne recevra plus d'événements."},success:"Succès"}};export{e as default};