@abtnode/blocklet-services 1.16.41-beta-20250331-010247-966fcfb0 → 1.16.42-beta-20250402-131159-7647e64d
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.
- package/api/emails/_templates/verify-code-body.js +4 -4
- package/api/routes/blocklet.js +1 -1
- package/api/routes/oauth.js +56 -270
- package/api/routes/user-session.js +1 -1
- package/api/routes/user.js +247 -254
- package/api/services/notification/queue.js +9 -1
- package/api/socket/util.js +1 -4
- package/api/util/federated.js +1 -1
- package/api/util/user-util.js +298 -0
- package/dist/assets/{ArrowDropDown-odHjNJIs.js → ArrowDropDown-B6RijoMg.js} +1 -1
- package/dist/assets/{CheckCircle-BqOSvJMp.js → CheckCircle-Bme_BHSe.js} +1 -1
- package/dist/assets/{ChevronLeft-Dv7rlUf5.js → ChevronLeft-CDiNoyQS.js} +1 -1
- package/dist/assets/{ChevronRight-CWeJn1iz.js → ChevronRight-DyMxK2ti.js} +1 -1
- package/dist/assets/{DeleteOutline-Cr-TyrUV.js → DeleteOutline-C5oIt-tc.js} +1 -1
- package/dist/assets/{Done-C1TA1wbA.js → Done-uAJ8-whC.js} +1 -1
- package/dist/assets/{Download-DxhnUTM_.js → Download-CAwoUjYq.js} +1 -1
- package/dist/assets/{Error-pXXvJFxN.js → Error-J1wFafzM.js} +1 -1
- package/dist/assets/{ExpandLess-Dc_dI20M.js → ExpandLess-B0AhRxh8.js} +1 -1
- package/dist/assets/{Google-DNUuYFIA.js → Google-blbcHt2R.js} +1 -1
- package/dist/assets/{InfoOutlined-CEUhR4DY.js → InfoOutlined-BjH1JBg3.js} +1 -1
- package/dist/assets/{Launch-BUTOr3cR.js → Launch-DJqhcPtC.js} +1 -1
- package/dist/assets/{LaunchOutlined-QHq-RUJt.js → LaunchOutlined-CzBae9mQ.js} +1 -1
- package/dist/assets/{MoreHoriz-D1SOL47a.js → MoreHoriz-Dd-9O1iw.js} +1 -1
- package/dist/assets/{PlayArrow-D7cGSxeN.js → PlayArrow-BEPk9nzV.js} +1 -1
- package/dist/assets/{ViewList-vu1qOJ6P.js → ViewList-CNnrIxVS.js} +1 -1
- package/dist/assets/{access-control-CpxcJItK.js → access-control-PfmU_lzC.js} +1 -1
- package/dist/assets/{actions-4oGfCMlR.js → actions-pYJdaWX5.js} +1 -1
- package/dist/assets/{add-component-core-CE0nArG4.js → add-component-core-CgEuYlWv.js} +31 -31
- package/dist/assets/{add-resource-BYM4JwzE.js → add-resource-Dw_ZKqq3.js} +1 -1
- package/dist/assets/{addon-B9bb2bvM.js → addon-BqlSMpSy.js} +1 -1
- package/dist/assets/{analytics-BXLe73MI.js → analytics-DLD8w-rR.js} +2 -2
- package/dist/assets/api-0KF6Hg7c.js +1 -0
- package/dist/assets/appearance-DyZRbR6W.js +1 -0
- package/dist/assets/ar-HpV-sy4C.js +3 -0
- package/dist/assets/{audit-logs-D8H5E0fC.js → audit-logs-BFKcADf-.js} +2 -2
- package/dist/assets/base32-C0ClYUu9.js +1 -0
- package/dist/assets/{branding-BW1rhy8d.js → branding-8XaHoIBD.js} +2 -2
- package/dist/assets/{bundle-avatar-DHwmIozH.js → bundle-avatar-BYZp7KRE.js} +1 -1
- package/dist/assets/{button-CNnuiac8.js → button-K0-gOTcS.js} +1 -1
- package/dist/assets/{click-to-copy-B0HMuCN_.js → click-to-copy-BfRimSvL.js} +1 -1
- package/dist/assets/{complete-BNf0-iqY.js → complete-1MMVAc2H.js} +1 -1
- package/dist/assets/{component-1r0VSsqq.js → component-BZKPS6he.js} +3 -3
- package/dist/assets/{config-BeD5_8kr.js → config-DRS6lRly.js} +1 -1
- package/dist/assets/{config-CqHmZdZv.js → config-DtYY5NrA.js} +1 -1
- package/dist/assets/{config-navigation-DtN0_qFZ.js → config-navigation-BHoOsyWp.js} +5 -5
- package/dist/assets/{config-space-DlwZewcm.js → config-space-DxdlQBdo.js} +1 -1
- package/dist/assets/{confirm-DmMN-34s.js → confirm-C57Q7ZWM.js} +1 -1
- package/dist/assets/{connect-CC9dcVMV.js → connect-PChwPX8g.js} +1 -1
- package/dist/assets/connect-p9koIBBk.js +1 -0
- package/dist/assets/{connect-to-CzffwD9G.js → connect-to-QLfyUtYC.js} +1 -1
- package/dist/assets/{dashboard-C_Q4TjPa.js → dashboard-Di0Efjh1.js} +4 -4
- package/dist/assets/de-zgFs6Kvs.js +3 -0
- package/dist/assets/{delete-confirm-BTaU_6Kx.js → delete-confirm-L9JNVh3W.js} +1 -1
- package/dist/assets/{did-address-BC-0j4Pt.js → did-address-Bz2Y86pP.js} +1 -1
- package/dist/assets/{domain-action-card-DwQ7Q8wY.js → domain-action-card-Bovam4dU.js} +2 -2
- package/dist/assets/domain-fVU92lIu.js +9 -0
- package/dist/assets/domains-Cs6tdpUa.js +1 -0
- package/dist/assets/{email-mj0bVFDS.js → email-SVI5bjle.js} +2 -2
- package/dist/assets/es-CmwByMO0.js +3 -0
- package/dist/assets/exchange-passport-B3N7KRar.js +1 -0
- package/dist/assets/{form-text-input-BYF6lVnE.js → form-text-input-Cp0lmtAk.js} +2 -2
- package/dist/assets/fr-CLYepc9p.js +3 -0
- package/dist/assets/{fuel-D-kOZuF6.js → fuel-DT6O2ymR.js} +1 -1
- package/dist/assets/{get-safe-url-BKl2A9x2.js → get-safe-url-CJRwqFgD.js} +1 -1
- package/dist/assets/{get-safe-url-QFq5JNoE.js → get-safe-url-DLBNTOpr.js} +1 -1
- package/dist/assets/hi-CSSYN7n8.js +1 -0
- package/dist/assets/{home-CpnMpXiw.js → home-CQ7SI4ml.js} +1 -1
- package/dist/assets/id-C5CwopKG.js +3 -0
- package/dist/assets/{iframe-B9mCpo4I.js → iframe-DPBwIvsP.js} +1 -1
- package/dist/assets/{index-gTQQ3SoE.js → index-8I2oAbEz.js} +9 -9
- package/dist/assets/index-B5HkvoQC.js +4 -0
- package/dist/assets/{index-CmKAznDh.js → index-BYkIfvmH.js} +4 -4
- package/dist/assets/index-B_pl8AF-.js +11 -0
- package/dist/assets/{index-B4Q2DAdn.js → index-Bg3m8iJ-.js} +11 -11
- package/dist/assets/{index-BZvVDfZ4.js → index-Bhnq0cVQ.js} +1 -1
- package/dist/assets/{index-C44fECmB.js → index-BzblYn_P.js} +2 -2
- package/dist/assets/index-C9qItKIC.js +138 -0
- package/dist/assets/{index-Ct7s2LPI.js → index-CAFqxbeJ.js} +3 -3
- package/dist/assets/{index-u-lA6P_E.js → index-CLIxjSVZ.js} +1 -1
- package/dist/assets/{index-BJ2lJo7L.js → index-Cdm81c0H.js} +42 -42
- package/dist/assets/index-DAE7cdom.js +2 -0
- package/dist/assets/{index-DQ_RzIwU.js → index-DGkTgpZy.js} +1 -1
- package/dist/assets/{index-BsUr7wGb.js → index-DZAi-K_N.js} +47 -47
- package/dist/assets/{index-gcSQTx25.js → index-Db6WuAj_.js} +1 -1
- package/dist/assets/index-RSW2vc0s.js +2 -0
- package/dist/assets/{index-CJCg9yIK.js → index-RuFDBiVt.js} +1 -1
- package/dist/assets/{index-79U1RPaq.js → index-bIuZaDHS.js} +1 -1
- package/dist/assets/{index-CGK3FEjY.js → index-kAPvimmq.js} +2 -2
- package/dist/assets/{invitation-B8Qx_pFq.js → invitation-DG6QrvdE.js} +8 -7
- package/dist/assets/invite-CYIssZ1G.js +1 -0
- package/dist/assets/issue-passport-Cft19VvI.js +1 -0
- package/dist/assets/{item-BSGXym2I.js → item-at_gI9OW.js} +1 -1
- package/dist/assets/ja-BPVyKlMZ.js +3 -0
- package/dist/assets/ko-DGmHCGCI.js +3 -0
- package/dist/assets/landing-page-CXo1fefz.js +1 -0
- package/dist/assets/{layout-BqhTD729.js → layout-ChcSB0Y2.js} +1 -1
- package/dist/assets/list-DcSgz3EU.js +211 -0
- package/dist/assets/localization-DXf17X8p.js +1 -0
- package/dist/assets/{log-o_Cadt8j.js → log-D7ImQrI7.js} +1 -1
- package/dist/assets/{login-BQozrLDm.js → login-B9xuIjhY.js} +1 -1
- package/dist/assets/{login-oauth-callback-D7lIww1c.js → login-oauth-callback-BoFezOw0.js} +1 -1
- package/dist/assets/{logo-uploader-CUQ3aWZJ.js → logo-uploader-Bzpld3yG.js} +3 -3
- package/dist/assets/{lost-passport-DkETH2Lu.js → lost-passport-j4coS07J.js} +3 -3
- package/dist/assets/{omit-DZNQhOf-.js → omit-BXVmqD4a.js} +1 -1
- package/dist/assets/{open-window-BOl-kTC2.js → open-window-B8cxsAbD.js} +1 -1
- package/dist/assets/{overview-Bxm05EH6.js → overview-C9x4HKRi.js} +1 -1
- package/dist/assets/{page-header-Dm1v9v5q.js → page-header-YN9FqnGT.js} +1 -1
- package/dist/assets/{permission-B5jnw9r2.js → permission-CTDKdktZ.js} +1 -1
- package/dist/assets/{preferences-uri2RXdB.js → preferences-DM6b-Vr4.js} +1 -1
- package/dist/assets/{profile-embed-DnIQcD-H.js → profile-embed-8sjLgVfn.js} +1 -1
- package/dist/assets/pt-u5ojPOFS.js +1 -0
- package/dist/assets/publish-resource-BJIce778.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-B9MfX9Xl.js → react-beautiful-dnd.esm-CkNk1XBJ.js} +4 -4
- package/dist/assets/{relative-time-RQnsWZQc.js → relative-time-BCARyhz6.js} +1 -1
- package/dist/assets/roboto-cyrillic-400-normal-DAIM1_dR.woff2 +0 -0
- package/dist/assets/roboto-cyrillic-400-normal-Dry59Hjn.woff +0 -0
- package/dist/assets/roboto-cyrillic-500-normal-CsCirF4J.woff +0 -0
- package/dist/assets/roboto-cyrillic-500-normal-hCeO1jFL.woff2 +0 -0
- package/dist/assets/roboto-cyrillic-700-normal-CB1Rmiii.woff +0 -0
- package/dist/assets/roboto-cyrillic-700-normal-CzEIZVQR.woff2 +0 -0
- package/dist/assets/roboto-cyrillic-ext-400-normal-BxX1-eA_.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-400-normal-DzMWdK87.woff2 +0 -0
- package/dist/assets/roboto-cyrillic-ext-500-normal-B7rQpwPu.woff2 +0 -0
- package/dist/assets/roboto-cyrillic-ext-500-normal-ElvJfk8V.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-700-normal-CIu0AXX2.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-700-normal-D_fA0fHY.woff2 +0 -0
- package/dist/assets/roboto-greek-400-normal-CAI06USH.woff +0 -0
- package/dist/assets/roboto-greek-400-normal-jFM2czAU.woff2 +0 -0
- package/dist/assets/roboto-greek-500-normal-BJMS0heP.woff2 +0 -0
- package/dist/assets/roboto-greek-500-normal-D8eQD5zT.woff +0 -0
- package/dist/assets/roboto-greek-700-normal-DCrt6r9F.woff +0 -0
- package/dist/assets/roboto-greek-700-normal-DpKAje7q.woff2 +0 -0
- package/dist/assets/roboto-latin-400-normal-551zQQ7R.woff +0 -0
- package/dist/assets/roboto-latin-400-normal-CNwBRw8h.woff2 +0 -0
- package/dist/assets/roboto-latin-500-normal-CkrA1NAy.woff2 +0 -0
- package/dist/assets/roboto-latin-500-normal-_8jDuD7w.woff +0 -0
- package/dist/assets/roboto-latin-700-normal-CTLkNcF_.woff +0 -0
- package/dist/assets/roboto-latin-700-normal-DZr4b_KL.woff2 +0 -0
- package/dist/assets/roboto-latin-ext-400-normal-ZYmyxeOy.woff2 +0 -0
- package/dist/assets/roboto-latin-ext-400-normal-uRIBRJt5.woff +0 -0
- package/dist/assets/roboto-latin-ext-500-normal-C_ARlJGk.woff2 +0 -0
- package/dist/assets/roboto-latin-ext-500-normal-eJ10kk0m.woff +0 -0
- package/dist/assets/roboto-latin-ext-700-normal-BNPgmEQS.woff2 +0 -0
- package/dist/assets/roboto-latin-ext-700-normal-Cnx4FGpK.woff +0 -0
- package/dist/assets/roboto-math-400-normal-B3wgz80t.woff2 +0 -0
- package/dist/assets/roboto-math-400-normal-DHrwdhE6.woff +0 -0
- package/dist/assets/roboto-math-500-normal-CFNaIMFC.woff2 +0 -0
- package/dist/assets/roboto-math-500-normal-CetgDdIa.woff +0 -0
- package/dist/assets/roboto-math-700-normal-CpTCM92H.woff +0 -0
- package/dist/assets/roboto-math-700-normal-xbpggnJp.woff2 +0 -0
- package/dist/assets/roboto-symbols-400-normal-bG5rsNFs.woff +0 -0
- package/dist/assets/roboto-symbols-400-normal-fF1SLJBj.woff2 +0 -0
- package/dist/assets/roboto-symbols-500-normal-BXFTxrNR.woff2 +0 -0
- package/dist/assets/roboto-symbols-500-normal-toKUCDph.woff +0 -0
- package/dist/assets/roboto-symbols-700-normal-B2QKVW64.woff +0 -0
- package/dist/assets/roboto-symbols-700-normal-DKkQdRpM.woff2 +0 -0
- package/dist/assets/roboto-vietnamese-400-normal-CDDxGrUb.woff2 +0 -0
- package/dist/assets/roboto-vietnamese-400-normal-DgufTq8s.woff +0 -0
- package/dist/assets/roboto-vietnamese-500-normal-Dw5heWgq.woff +0 -0
- package/dist/assets/roboto-vietnamese-500-normal-HYpufUYk.woff2 +0 -0
- package/dist/assets/roboto-vietnamese-700-normal-BFWtvCOj.woff2 +0 -0
- package/dist/assets/roboto-vietnamese-700-normal-ChAl_rRV.woff +0 -0
- package/dist/assets/ru-DBl90RHJ.js +1 -0
- package/dist/assets/sdk-DbmS8LqQ.js +1 -0
- package/dist/assets/session-BaYtKD4f.js +1 -0
- package/dist/assets/{setup-7Gq9K_8k.js → setup-BtUUdr-p.js} +3 -3
- package/dist/assets/{start-BSUY3DBl.js → start-CdXw9NWC.js} +1 -1
- package/dist/assets/{status-C52-BFuY.js → status-B6cew_GQ.js} +1 -1
- package/dist/assets/{step-actions-CA74dwgt.js → step-actions-D-RgRm8H.js} +1 -1
- package/dist/assets/{studio-CAnZfyBM.js → studio-KYZUr4tT.js} +1 -1
- package/dist/assets/{switch-control-BBlLGjaH.js → switch-control-CpOzvDua.js} +1 -1
- package/dist/assets/th-CbjesoRG.js +1 -0
- package/dist/assets/{traffic-CJDIGmp5.js → traffic-CvAD-wB3.js} +1 -1
- package/dist/assets/transfer-BSgBIknw.js +16 -0
- package/dist/assets/{unsubscribe-afXXIHEf.js → unsubscribe-I8S6Tbwg.js} +1 -1
- package/dist/assets/{useAsync-DM8qaMe4.js → useAsync-Cq0wbMuR.js} +1 -1
- package/dist/assets/{useAsyncRetry-B7SbzXVI.js → useAsyncRetry-BNLrNsx3.js} +1 -1
- package/dist/assets/{useLocalStorage-Dd4pybDP.js → useLocalStorage-Cligjpwl.js} +1 -1
- package/dist/assets/user-center-C1k0oYvY.js +67 -0
- package/dist/assets/{util-C_BCTHfw.js → util-BFBz0dr8.js} +1 -1
- package/dist/assets/{util-YyWTpLT7.js → util-COcKIr8L.js} +1 -1
- package/dist/assets/vendor-arcblock-krD2mwVA.js +1598 -0
- package/dist/assets/{vendor-hooks-sw5wvnca.js → vendor-hooks-BdjOQw7q.js} +1 -1
- package/dist/assets/vendor-utils-BbDUMsIF.js +11 -0
- package/dist/assets/vendor-ux-did-connect-BDmhBveY.css +1 -0
- package/dist/assets/vendor-ux-did-connect-YqGDzQ2U.js +1843 -0
- package/dist/assets/vi-xat6Zv0n.js +1 -0
- package/dist/assets/wrap-locale-BCL-ID0T.js +1 -0
- package/dist/assets/zh-BgH3IZTD.js +4 -0
- package/dist/assets/zh-tw-UWzs9p3g.js +3 -0
- package/dist/images/all-done.png +0 -0
- package/dist/index.html +6 -6
- package/dist/service-worker.js +1 -1
- package/package.json +37 -39
- package/dist/assets/api-D9Yi7Zdr.js +0 -1
- package/dist/assets/appearance-DX7SoW1u.js +0 -1
- package/dist/assets/ar-2k9jaPIk.js +0 -3
- package/dist/assets/base32-BNpDT-6Q.js +0 -1
- package/dist/assets/connect-BfSOEYV-.js +0 -1
- package/dist/assets/de-B9cLhykn.js +0 -3
- package/dist/assets/domain-CLMRXecU.js +0 -9
- package/dist/assets/domains-DF7TtN5q.js +0 -1
- package/dist/assets/es-BoQohonz.js +0 -3
- package/dist/assets/exchange-passport--DeUPzbW.js +0 -1
- package/dist/assets/fr-doSYAOrt.js +0 -3
- package/dist/assets/fullpage-DO8Hcbkl.js +0 -1
- package/dist/assets/hi-B_BwhpD8.js +0 -1
- package/dist/assets/id-BgYIZCvk.js +0 -3
- package/dist/assets/index-BVOYP6aR.js +0 -11
- package/dist/assets/index-DqC2o5PB.js +0 -4
- package/dist/assets/index-DyTFEgKr.js +0 -1
- package/dist/assets/index-eCY24sH9.js +0 -137
- package/dist/assets/inter-latin-300-normal-CvRFFuZy.woff2 +0 -0
- package/dist/assets/inter-latin-300-normal-ORCTF8i-.woff +0 -0
- package/dist/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
- package/dist/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
- package/dist/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
- package/dist/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
- package/dist/assets/inter-latin-700-normal-B8MtJ_2k.woff +0 -0
- package/dist/assets/inter-latin-700-normal-Sckx8rpT.woff2 +0 -0
- package/dist/assets/inter-latin-ext-300-normal-C2kLfG2J.woff2 +0 -0
- package/dist/assets/inter-latin-ext-300-normal-n8Ps4oXY.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
- package/dist/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
- package/dist/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
- package/dist/assets/inter-latin-ext-700-normal-6V9MnIL5.woff +0 -0
- package/dist/assets/inter-latin-ext-700-normal-CzikT_rs.woff2 +0 -0
- package/dist/assets/invite-BBaF_vyc.js +0 -1
- package/dist/assets/issue-passport-DC-ly7xg.js +0 -1
- package/dist/assets/ja-FMMLI8YD.js +0 -3
- package/dist/assets/ko-C0kmRXYE.js +0 -3
- package/dist/assets/list-BHs8uNT5.js +0 -200
- package/dist/assets/localization-daPAWMzR.js +0 -1
- package/dist/assets/login-bg-Cbfh9Uc2.png +0 -0
- package/dist/assets/pt-C2UJZK-O.js +0 -1
- package/dist/assets/publish-resource-V53U1NNv.js +0 -1
- package/dist/assets/ru-DDA5s4-r.js +0 -1
- package/dist/assets/sdk-BKSsfgrc.js +0 -1
- package/dist/assets/session-6ZeN-aF2.js +0 -1
- package/dist/assets/th-DmqOUn4C.js +0 -1
- package/dist/assets/transfer-cG2e24sz.js +0 -16
- package/dist/assets/user-center-T8Xw464s.js +0 -67
- package/dist/assets/vendor-arcblock-DvaaLvvM.js +0 -2361
- package/dist/assets/vendor-utils-DR57WNxP.js +0 -11
- package/dist/assets/vendor-ux-did-connect-Bciw9Ypu.js +0 -1077
- package/dist/assets/vendor-ux-did-connect-DhgPdlEj.css +0 -1
- package/dist/assets/vi-Cf__CtPD.js +0 -1
- package/dist/assets/wrap-locale-CX50Vz0w.js +0 -1
- package/dist/assets/zh-NXspK2yu.js +0 -4
- package/dist/assets/zh-tw-DYYDVX5I.js +0 -3
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e={setup:{connect:{title:"Blocklet Server einrichten",scan:"Verwenden Sie die folgenden Methoden, um Eigentümer dieses Servers zu werden",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Dein Konto ist mit diesem Server verbunden"},keyPair:{title:"KeyPair ableiten",scan:"Verbinden Sie Ihre DID Wallet, um ein Schlüsselpaar für diese App zu generieren",confirm:"Bitte überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Ihr Schlüsselpaar wird sicher gespeichert"},verify:{title:"Eigentumsnachweis erforderlich",scan:"Verbinden Sie Ihre DID-Wallet, um Besitznachweise bereitzustellen",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Dein Konto ist mit diesem Server verbunden."},accept:{title:"Serverzertifikate akzeptieren Besitznachweise",scan:"Verbinden Sie Ihre DID-Brieftasche, um Eigentumsnachweise bereitzustellen",confirm:"Überprüfe diese Operation in deiner DID-Geldbörse",success:"Dein Konto ist mit diesem Server verbunden"},title:"Richte Blocklet-Server ein",steps:{eula:"Endnutzer-Lizenzvereinbarung",eulaFooter:"Ich habe die Bedingungen der EULA gelesen und akzeptiere sie.",connect:"Verbinde Owner-DID-Wallet",verify:"Eigentumsrechte verifizieren",basicSettings:"Grundeinstellungen",launchApp:"Starte Anwendung",complete:"Vollständig"},congratulation:"Herzlichen Glückwunsch! Dein Blocklet Server ist sicher und bereit zur Verwendung",redirectButton:"Bring mich zum Dashboard!"},login:{loginTo:"Verbinden mit",description:"Nur Serverbesitzer und genehmigte Mitglieder können auf das Dashboard zugreifen",switchDid:{title:"Konto wechseln",scan:"Verwenden Sie die folgenden Methoden, um das Konto zu wechseln",confirm:"Bestätigen Sie den Wechsel in Ihrem DID-Wallet",success:"Erfolgreich umgeschaltet"},switchSpecifiedDid:{title:"Konto wechseln",scan:"Du musst DID auf {did} umschalten, um die folgenden Aktionen abzuschließen",confirm:"Bestätige den Wechsel in deiner DID-Brieftasche",success:"Erfolgreich gewechselt"},connect:{title:"Anmelden Blocklet Server",scan:"Nur der Serverbesitzer und genehmigte Mitglieder können auf das Dashboard zugreifen.",confirm:"Bestätige in deinem DID Wallet",success:"Du bist erfolgreich verbunden"},verify:{title:"Zugang verifizieren",scan:"Verbinden Sie Ihr DID Wallet, um den Besitzer oder Admin-Pass zu präsentieren",confirm:"Bestätigen Sie in Ihrer DID-Brieftasche",success:"Ihr Zugang ist verifiziert",abort:"Zugriffsüberprüfung abgebrochen",description:"Sie müssen {roles} Reisepass vorlegen, um diesen Vorgang durchzuführen. Sie werden nur nach 1 Stunde Inaktivität erneut um eine Bestätigung gebeten.",descriptionForDestroy:"Sie müssen einen {roles} Reisepass vorlegen, um diese gefährliche Operation durchzuführen und die Sicherheit zu gewährleisten."}},acceptServer:{title:"Behauptung Server mit Ownership NFT",tooltip:"Wenn Sie ein Server-Besitzernft erhalten haben, können Sie Ihren Eigentümerpass mit diesem Link beanspruchen."},exchangePassport:{title:"Passeport gegen NFT austauschen",success:"Sie haben Ihren Reisepass erfolgreich ausgetauscht und sich mit dem Reisepass angemeldet",login:"Anmelden",dialog:{title:"Holen Sie sich den Pass mit NFT",scan:"Verbinden Sie Ihre DID-Wallet, um Ihr NFT vorzustellen und einen Reisepass zu erhalten",confirm:"Wähle NFT in deiner DID Wallet aus",success:"Der Reisepass wurde erfolgreich ausgetauscht"},tooltip1:"Wenn Sie einen NFT aus der Sammlung besitzen,",tooltip2:"Sie können Ihren Reisepass über diesen Link tauschen."},payablePassport:{title:"Pass mit Zahlung kaufen",tooltip:"Wenn Sie keinen Reisepass haben, können Sie über diesen Link einen Reisepass erwerben."},sidebar:{dashboard:"Dashboard",blocklets:"Blocklets",console:"Konsole",settings:"Einstellungen"},system:{total:"Gesamt",used:"Benutzt",free:"Frei",cores:"Anzahl der Kerne",instances:"Anzahl der Instanzen"},common:{invalid:"Ungültig",about:"Über",access:"Zugriff",accessKey:"Zugriffsschlüssel",action:"Aktion",actions:"Aktionen",add:"Hinzufügen",address:"Adresse",afterTime:"Nach {time}",allow:"Erlauben",alreadyExist:"Existiert bereits",approve:"Genehmigen",approved:"Genehmigt",appUrl:"APP-URL",auditLogs:"Prüfspur",author:"Autor",avatar:"Avatar",back:"Zurück",basic:"Grundlegend",basicInfo:"Grundinformation",profile:"Profil",bind:"Binden",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Blocklets-Speicher",cacheStorage:"Cache-Speicher",cancel:"Abbrechen",certificate:"Zertifikat",category:"Protokollthema",click:"Klicken zum Kopieren",close:"Schließen",selectAll:"Alle auswählen",unselectAll:"Alle abwählen",collapseAll:"Alles zusammenklappen",community:"Community URL",complete:"Komplett",componentBasicInfo:"Komponentengrundinformation",components:"Blocklets",config:"Konfigurieren",configuration:"Konfiguration",appearance:"Aussehen",configNavigation:"Navigation",configSuccess:"Konfiguration erfolgreich",confirm:"Bestätigen",connect:"Verbinden",console:"Konsole",continue:"Weitermachen",continueWith:"Weitermachen mit",copiedTip:"Kopiert",copyAndClose:"Kopieren & Schließen",copyTip:"Klicken zum Kopieren",coreStorage:"Kernspeicher",cpu:"CPU",create:"Erstellen",createSuccess:"Erstelle Zugriffsschlüssel",created:"Erstellt am",createdAt:"Erstellt am",createdBy:"Erstellt von",dAddress:"Dezentrale Identifikatoren (DID)",dataStorage:"Speicher auf lokaler Festplatte",delConfirm:"Löschen",delConfirmDescription:"Bestätigen Sie das Löschen von {data}?",delete:"Löschen",dependents:"Abhängige",description:"Beschreibung",detail:"Detail",did:"HAST",disk:"Festplatte",diskInfo:"Festplatteninformation",docker:"IST Docker",documentation:"Dokumentation",domain:"Domain",downgradeTo:"Herabstufung auf",download:"Downloaden",downloading:"Herunterladen",edit:"Bearbeiten",email:"E-Mail",phone:"Telefon",empty:"Leer",emptyData:"Keine Ergebnisse gefunden",enable:"Aktivieren",engine:"Motor",env:"Umgebung",environment:"Umgebung",expandAll:"Alle erweitern",expired:"Abgelaufen",expires:"Läuft ab",export:"Exportieren",externalIp:"Externe IP",failed:"Fehlgeschlagen",filter:"Protokollfilter",fingerprint:"Fingerabdruck",finish:"Fertig",forbid:"Verbieten",free:"Frei",general:"Allgemein",gitpod:"IST Gitpod",goEULA:"Klicken Sie hier, um die 'Endbenutzer-Lizenzvereinbarung' anzuzeigen",group:"Gruppe",image:"IST Bild",install:"Installieren",installed:"Installiert",installedAt:"Installiert bei",installSuccess:"Erfolgreich installiert",installing:"Installieren",internalIp:"Interne IP",introduction:"Einführung",invite:"Einladen",inviting:"Einladen",ip:"IP",isPublic:"Öffentlich",issue:"Problem",issuer:"Emittent",item:"Artikel",joined:"Beigetreten",key:"Schlüssel",lastPublishedAt:"Veröffentlicht am",launcher:"Starterinformationen",leavePageTip:"Bist du sicher, die Seite zu verlassen?",link:"Link",loading:"Laden",log:"Logs anzeigen",logStorage:"Protokollspeicherung",login:"Anmelden",logo:"Logo",logout:"Abmelden",logs:"Protokolle",manageTeam:"Team verwalten",marketplace:"Marktplatz",member:"Mitglied",members:"Mitglieder",memory:"Erinnerung",meta:"Meta Daten",analytics:"Analytik",runtime:"Laufzeit",traffic:"Verkehr",more:"Mehr",mountPoint:"Berggipfel",name:"Name",next:"Nächstes",no:"Nein",noData:"Keine Einträge vorhanden",notice:"Unerwartete schlechte Dinge werden passieren, wenn du das nicht liest!",noticeTitle:"Hinweis",notification:"Benachrichtigung",open:"Öffnen",management:"Management",os:"Betriebssystem",overview:"Übersicht",owner:"Besitzer",page404:"404 Seite",passport:"Pass",permission:"Genehmigung",port:"Hafen",pre:"Vorherige",preferences:"Präferenzen",preview:"Vorschau",protected:"Geschützt",protocol:"Protokoll",purchase:"Kauf",readMore:"Mehr",redirect:"Umleiten",redirectCode:"Weiterleitungscode",redirectPermanently:"Permanente Weiterleitung",redirectTemporary:"Temporäre Umleitung",redirectUrl:"Weiterleitungs-URL",rewrite:"Umformulieren",release:"Freigabe",rewriteUrl:"URL umschreiben",reject:"Ablehnen",reload:"Neu laden",remark:"Bemerkung",remove:"Entfernen",removeSuccess:"Erfolgreich entfernt",renew:"Erneuern",reportIssue:"Melde ein Problem",required:"Erforderlich",requiredErrorText:"{name} wird benötigt",resource:"Ressource",restart:"Neustart",restore:"Wiederherstellen",retry:"Wiederholen",revoke:"Widerrufen",role:"Rolle",running:"Laufen",runtimeInfo:"Laufzeitinformationen",save:"Speichern",saveChanges:"Änderungen speichern",saveSuccess:"Erfolgreich gespeichert",scheduleFailed:"Terminkalender fehlgeschlagen",scheduleSuccess:"Erfolgreich geplant",scope:"Bereich",screenshot:"Screenshots",search:"Suche",security:"Sicherheit",serverDid:"Server DID",serverVersion:"Serverversion",setting:"Einstellungen",start:"Start",status:"Status",stop:"Stopp",storage:"Speicher",backup:"Backup",store:"Geschäft",succeeded:"Erfolgreich",subscription:"Abonnement",support:"Support-URL oder E-Mail",switch:"Schalter",team:"Team",the:"Der",timeAgo:"{time} vor",title:"Titel",type:"Typ",unavailable:"Nicht verfügbar",update:"Aktualisieren",updateAvailable:"Neue Version {version} verfügbar",updatedAt:"Aktualisiert am",updatedBy:"Aktualisiert von",upgrade:"Upgrade",upgradeTo:"Upgrade auf",upgrading:"Upgrade",uptime:"Betriebszeit",url:"URL",valid:"Gültig",value:"Wert",version:"Version",visit:"Besuch",waiting:"Warten",webhook:"Integrationen",yes:"Ja",invalidParam:"Ungültige Parameter",launch:"Start",price:"Preis",redirecting:"Umleitung",error:"Fehler",reminder:"Erinnerung",normal:"Normal",gateway:"Gateway",verifyNFT:"Verifizieren Sie NFT",errorMessage:"Fehlermeldung",slugifyHint:"Der tatsächliche Einhängepunkt wird sein: {value}",strategy:"Strategie",auto:"Auto",manual:"Handbuch",progress:"In Bearbeitung",startTime:"Startzeit",endTime:"Endzeit",selected:"Ausgewählt",timeoutError:"Zeitüberschreitungsfehler",tags:"Tags",connectToStore:"Verbinden Sie mit dem Geschäft",uploaded:"Hochgeladen",upload:"Hochladen",blockletStudio:"Studio",visitStore:"Besuche den Laden",reconnect:"Verbinden wiederherstellen",change:"Ändern",disconnect:"Verbindung trennen",sourceApp:"Zur App gehörend",visitTarget:"Besuchen Sie {name}",upgradeServer:"Server aktualisieren",display:"Anzeige",requiredInputPlaceholder:"Bitte gib {name} ein",refresh:"Aktualisieren",moveUp:"Nach oben verschieben",moveDown:"Nach unten verschieben",enabled:"Aktiviert",disabled:"Deaktiviert",homepage:"Startseite",buy:"Kaufen",view:"Anzeigen",homepageTip:"Startseite oder Live-Demo-URL",repository:"Repository",expand:"Erweitern",collapse:"Zusammenklappen",all:"Alle",notificationRecords:"Benachrichtigungen",unrecordedUser:"Nicht erfasster Name",unrecordedRole:"Nicht aufgezeichnete Rolle",auditLogsSearch:"Nach Aktion oder Inhalt suchen",optional:"Optional",bugOrConnectDomain:"Domain kaufen oder verbinden",bugOrConnectDomainTip:"Eine Domain ist die eindeutige Adresse Ihrer Website im Internet. Sie können eine neue Domain bei DID Names oder einem anderen Domain-Registrar kaufen oder eine bereits vorhandene Domain konfigurieren.",connectExistingDomain:"Verbinde bestehende Domain",domains:"Domains",didDomains:"DID-Domains",manualDomains:"Meine Domains",didDomainsDescription:"Die folgenden Domains werden automatisch vom DID:Names-Dienst verwaltet.",systemDomains:"System zugewiesen",systemDomainsDescription:"Die folgenden Domains werden standardmäßig automatisch zugewiesen. Sie sind zwar zugänglich, jedoch nicht für die Produktion vorgesehen und sollten nicht mit Kunden geteilt werden. Diese Domains dienen hauptsächlich Entwicklungs-Zwecken.",manualDomainsDescription:"Die folgenden Domains werden von Ihrem Domain-Provider verwaltet und manuell hierhin verlinkt.",fileCount:"Dateianzahl",fileSize:"Dateigröße",time:"Zeit",less:"Weniger",timeInfo:"Zeitpunkt",operator:"Operator",inviter:"Einlader",clear:"Löschen",ok:"OK",minutes:"Minuten",hours:"Stunden",hour:"Stunde",days:"Tage",day:"Tag",weeks:"Wochen",months:"Monate",custom:"Benutzerdefiniert"},blocklet:{external:"Extern",notFound:"Blocklet auf diesem Server nicht gefunden, vielleicht wurde es gelöscht",installFromMarket:"Installiere neue Blocklets",installFromUrl:"Installiere von URL",installFromCreate:"Erstellen Sie Blocklet",installFromDiskBackup:"Wiederherstellen von diesem Server",installedAt:"Installiert am",internal:"Intern",startedAt:"Gestartet um",stoppedAt:"Gestoppt bei",urlEmptyTip:"Kein Zugriffs-URL",goToAddRule:"Gehe zu Hinzufügen",services:"Öffentliche Dienste",upstreamPort:"Upstream-Anschluss",noService:"Keine Dienstleistungen",appId:"App DID",appPid:"Permanente DID",alsoKnownAs:"Auch bekannt als",skSource:"Besitzer Wallet",reloadSuccess:"Blocklet wurde erfolgreich neu geladen",statusTip:"Blocklet ist {status}",initialUptime:"Weniger als 1m",dashboard:"Blocklet-Dashboard",noComponent:"Die Anwendung hat keine Komponenten und kann nicht gestartet werden",fromUrl:{title:"Blocklet installieren",label:"Blocklet Meta URL",description:"Die URL sollte auf die Meta-Datei des Blocklets zeigen. Wenn Sie auf eine lokale Datei verweisen möchten, fügen Sie bitte das Präfix file:// hinzu, z.B. file:///Users/foo/blocklet.json.",confirm:"Installieren",step0:"Eingabe-URL",step1:"Bestätige Metadaten",existTipPrefix:"Blocklet mit der gleichen DID existiert bereits, die Version ist",existTipSuffix:"Bitte installieren Sie eine höhere Version."},action:{stopDescription:"Das Stoppen des Blocklets macht seine öffentlichen Schnittstellen unzugänglich, was zu Fehlern für Endbenutzer führen kann",stopComponentDescription:"Das Stoppen des Komponenten macht ihre öffentlichen Schnittstellen unzugänglich, was möglicherweise zu Fehlern für Endbenutzer führen kann.",confirmStop:"Ja, Hör auf",cancelDownloadDescription:"Download von {name} abbrechen?",removeApplicationDescription:"Das Entfernen der Anwendung löscht den von dieser Anwendung generierten Code und die Daten, die nicht wiederhergestellt werden können, wenn Sie keine Sicherungskopien haben",removeApplicationAfterBackup:"Sichern und entfernen Sie die Anwendung. Sie können die Anwendung von diesem Server wiederherstellen, wenn Sie sie benötigen.",removeApplicationComplete:"Entferne sowohl den Code als auch die Daten für diese Anwendung",removeComponentDescription:"Das Entfernen der Komponente löscht den vom Komponente generierten Code und Daten, die nicht wiederhergestellt werden können, wenn Sie keine Sicherungskopien haben.",removeComponentKeepData:"Behalte die Daten für dieses Bauteil, entferne nur den Code",removeComponentComplete:"Entferne sowohl den Code als auch die Daten für diese Komponente",confirmRemove:"Ja, entferne es",confirmComponentRemove:"Ja, Entferne es",upgradeDescription:"Das Upgrade des Blocklets wird es vorübergehend nicht verfügbar machen. Sind Sie sicher, dass Sie fortfahren möchten?",confirmUpgrade:"Ja, aktualisieren Sie es",confirmRestart:"Ja, starte es neu",restartDescription:"Das Blocklet wird vorübergehend angehalten und könnte aufgrund einer Konfigurationsänderung möglicherweise nicht neu gestartet werden."},dev:{modeTip:"Bitte schalten Sie den Blocklet Server in den DEBUG-Modus um"},index:{tableTitle:"Verwalten Sie Ihre Blocklets",noBlocklet:"Keine Blocklets in diesem Blocklet Server gefunden, installieren Sie ein Blocklet aus dem Marktplatz, um zu beginnen."},admin:{iframeTitle:"Blocklet Admin Schnittstelle",title:"Admin-Oberfläche",noContent:"Dieses Blocklet hat keine Administrator-Schnittstelle",securityError:"Sicherheitsfehler: Kann die Admin-URL nicht öffnen, da auf einen Cross-Origin-Frame zugegriffen wird"},config:{name:"App-Name",description:"App-Beschreibung",logoSquare:"App-Logo",logoRect:"Rechteckiges Logo",logoRectDesc:"Normalerweise oben auf der Seite angezeigt, Standard-App-Logo",logoFavicon:"Favicon",logoFaviconDesc:"Normalerweise in der Adressleiste des Browsers oder auf der Registerkarte angezeigt, standardmäßig das App-Logo",clusterSize:"Instanzanzahl beim Ausführen dieses Blockets im Cluster-Modus",copyrightOwner:"Urheberrecht Eigentümer (im Fußbereich anzeigen)",copyrightYear:"Urheberrecht {year} (Im Footer anzeigen)",deletable:{name:"Lösche Schutz",enable:"Dieses Blocklet kann derzeit NICHT gelöscht werden",disable:"Dieses Blocklet kann derzeit gelöscht werden."},walletType:{name:"Brieftasche-Typ",description:"Blocklet Instanz Wallet Typ, wird die abgeleitete DID ändern"},languages:"Unterstützte Sprachen",selectLanguagesTip:"Passe die Reihenfolge an, indem du entfernst und erneut hinzufügst",languagesSearch:"Suche nach dem lokalen Namen, englischen Namen oder ISO-Code des Landes...",passportColor:"Passfarbe",appUrl:"App-URL",access:{title:"Wer kann zugreifen?",description:"Wählen Sie die Zugriffssteuerung für Ihre Anwendung.",useDefault:"Verwenden Sie die Standardeinstellungen",defaultDescription:"Verwenden Sie die Standardkonfiguration der Anwendung",whoCanAccess:{all:{title:"Für alle geöffnet",description:"Offen für die Welt, jeder kann ohne Reisepass darauf zugreifen"},owner:{title:"Nur für Eigentümer",description:"Sie müssen den Besitzerpass vorlegen, um auf diese Anwendung zugreifen zu können"},invited:{title:"Nur auf Einladung",description:"Nur eingeladene Mitglieder haben Zugriff."}},publicToStore:"Öffentlich im Geschäft",publicInstanceTip:"Die Zugriffsadresse dieses Blocklets wird im Store angezeigt (zusammen mit Ihrer DID zur Entgegennahme von Spenden)",updatedTip:"Zugriffskontrolle geändert"},changedTip:"Konfiguration aktualisiert, bitte Blocklet neu starten",missingRequired:"Fehlende erforderliche Konfiguration, um das Blocklet zu starten",gotoFix:"Gehe zur Reparatur",environment:{key:"Konfigurationsschlüssel",value:"Konfigurationswert",keyValueRequired:"Konfigurationsschlüssel und Wert müssen angegeben werden",invalidKey:"Die Konfigurationsschlüssel dürfen nicht mit BLOCKLET_ oder COMPONENT_ beginnen.",deleteForbidden:"Diese Konfiguration ist erforderlich und sollte nicht gelöscht werden",tip:"Konfigurationen, die mit BWA_ beginnen, sollten keine sensiblen Informationen enthalten, da sie an den Browser gesendet werden."},dangerZone:"Gefahrenzone",sharedToAllComponents:"Wird an alle Komponenten geteilt werden",session:{ttl:"Der Benutzer wird aufgefordert, sich erneut anzumelden, wenn er {day} Tage lang keine Aktivität auf dieser Website hat.",day:"{day} Tag",days:"{day} Tage",period:"Sitzung Gültigkeitsdauer",profile:"Benutzerprofilanforderungen",cacheTtl:"Cache-Dauer für Benutzersitzungsdaten (in Sekunden)",fullNameEnabled:"Benutzernamen bei der Anmeldung anfordern (standardmäßig aktiviert)",avatarEnabled:"Benutzerfoto beim Anmelden anfordern (standardmäßig aktiviert)",emailEnabled:"Benutzer-E-Mail bei Anmeldung anfordern",emailRequireVerified:"Benutzer-E-Mail muss vor dem Login verifiziert werden",emailRequireUnique:"Benötigen Sie die E-Mail des Benutzers, um eindeutig über alle Benutzer hinweg zu sein",phoneEnabled:"Benutzer-Telefonnummer bei der Anmeldung anfordern (noch nicht unterstützt)",phoneRequireVerified:"Benutzerhandynummer muss vor der Anmeldung überprüft werden",phoneRequireUnique:"Benötigen Sie eine eindeutige Telefonnummer für Benutzer in der gesamten Benutzerbasis",emailTrustOauthProviders:"Vertraue OAuth-Anbietern für den E-Mail-Verifizierungsstatus",enableDomainBlackList:"E-Mail-Domäne Blacklist aktivieren (abgelehnte E-Mail-Domains)",enableDomainWhiteList:"Aktiviere E-Mail-Domänen-Whitelist (nur aufgeführte E-Mail-Domänen zur Anmeldung zulassen)",addDomain:"Füge eine Quelle hinzu, um die Liste abzurufen (im Klartextformat, eine Domain pro Zeile)"},clearCache:{name:"Cache-Verwaltung",purpose:"Verwalten Sie Dateien, die im Router und Blocklet-Dienst zwischengespeichert sind",title:"Cache löschen bestätigen?",action:"Cache löschen",success:"Erfolgreich {count} Cache-Einträge gelöscht",description:"Bist du sicher, dass du zwischengespeicherte Dateien im Router und Blocklet-Service löschen möchtest? Diese Operation kann in naher Zukunft zu einer leichten Leistungseinbuße führen."},tenantMode:{name:"Multi-Tenant-Modus",multiple:"Dieses Blocklet läuft im Mehrmandantenmodus, Daten sollten für jeden Mandanten isoliert sein",single:"Dieser Blocklet läuft im Einzelmandantenmodus, alle Daten werden geteilt."},splashPortrait:"Startbild Porträt",splashLandscape:"Willkommen Iandschaft",splashPortraitDesc:"Wird angezeigt, wenn das Blocklet im Hochformat gestartet wird",splashLandscapeDesc:"Wird angezeigt, wenn das Blocklet im Querformat gestartet wird",rotateSessionKey:{name:"Session-Salz-Rotation",purpose:"Sitzungs-Salt ist ein Zufallswert zur Erhöhung der Sicherheit von Sitzungs-Token. Klicken Sie auf die Schaltfläche, um den Sitzungs-Salt manuell zu rotieren. Dies hilft, das Risiko einer Kompromittierung des Anmelde-Tokens zu verringern.",title:"Sitzungssalzrotation bestätigen?",action:"Salz rotieren",success:"Session-Salt erfolgreich rotiert",description:"Sind Sie sicher, dass Sie das Sitzungs-Salt rotieren möchten? Diese Operation macht alle bestehenden Login-Tokens ungültig und zwingt Benutzer, sich erneut anzumelden, einschließlich Ihres eigenen Login-Tokens."},ogImage:"Open Graph-Hintergrund",ogImageDesc:"Passen Sie das Hintergrundbild aller Open-Graph-Bilder an, sollte gut mit weißem Text funktionieren",migrate:{button:"Migration mit DID Wallet",title:"DID-Änderung bestätigen",description:"Wenn Sie mit einem serververwalteten Wallet starten, können Sie die Anwendungs-DID zu Ihrem eigenen Wallet ändern.",confirm:"Sind Sie sicher, dass Sie die Anwendungs-DID ändern möchten? Diese Aktion macht alle bestehenden Sitzungen ungültig und zwingt Benutzer, sich erneut anzumelden, einschließlich Ihrer eigenen Sitzung."},vault:{name:"Vault DID",title:"Vault einrichten",desc:"Verwenden Sie Vault, um eine zusätzliche Sicherheitsebene für die von diesem Blocklet verwalteten Gelder hinzuzufügen",tip:"Geben Sie die Tresoradresse ein, um fortzufahren, Sie müssen den Besitz der Tresoradresse nachweisen, bevor sie verwendet werden kann.",address:"Tresoradresse",verified:"Vault ist verifiziert",current:"Aktueller Tresor",error:{invalid:"Die Vault-Adresse muss eine gültige DID sein",holder:"Vault-Adresse muss ein gültiger Token-Inhaber in der Blockchain sein, Token/Asset/Factory/Stake-Adressen werden nicht unterstützt.",duplicate:"Diese Vault-Adresse wurde bereits verwendet, bitte verwenden Sie eine andere.",appDid:"Kann Anwendungs-DID nicht als Tresoradresse verwenden, bitte eine andere verwenden"},role:"Rollenart",firstSeen:"Erstmals gesehen",lastSeen:"Zuletzt gesehen",migratedFrom:"Migriert von",migratedTo:"Migriert zu",commit:{title:"Verifizieren Sie den Vault-Besitz",scan:"Verwenden Sie die folgenden Methoden, um den Besitz des Tresors zu überprüfen",confirm:"Bestätigen mit DID Wallet",success:"Vault ist erfolgreich konfiguriert"},approve:{title:"Genehmigung der Tresoränderung",byOwner:"Mit dem Blocklet-Besitzer unterschreiben, um die Änderung zu genehmigen",byLast:"Mit dem letzten Vault die Änderung genehmigen",confirm:"Mit DID Wallet bestätigen",success:"Tresoränderung genehmigt"}},changeImageTip:"Tipp: Klicken Sie auf Vorschaubild, um das Bild zu ändern."},overview:{source:"Quelle",deployedFrom:"Bereitgestellt von",accessControl:"Zugangskontrolle",viewInStore:"Im Geschäft anzeigen"},diskInfo:{empty:"Daten über die Festplatte sind derzeit nicht verfügbar!",appDir:"App-Verzeichnis",dataDir:"Datenverzeichnis",logDir:"Log-Verzeichnis",cacheDir:"Cache-Verzeichnis"},runtimeInfo:{noRunning:"Laufzeitinformationen sind verfügbar, wenn das Blocklet ausgeführt wird!",memoryUsage:"Speichernutzung",cpuUsage:"CPU-Auslastung",uptime:"Betriebszeit",port:"Hafen",processId:"Prozess-ID"},dist:{downloadLink:"Download-Link",verify:"Überprüfen"},status:{added:"Hinzugefügt",waiting:"Warten",downloading:"Herunterladen",extracting:"Extrahieren",installing:"Installieren",upgrading:"Aktualisieren",installed:"Installiert",created:"Erstellt",starting:"Beginnend",running:"Laufen",stopping:"Anhalten",stopped:"Gestoppt",error:"Fehler",deleting:"Löschen",corrupted:"Korrupt",purchasing:"Warten auf den Kauf",purchased:"Gekauft",verifying:"Kauf überprüfen",resource:"Ressource"},list:{download:"Herunterladen",star:"Stern",searchPlaceholder:"Suche nach Blocklet-Name oder DID"},component:{container:"Globale Konfiguration",showContainer:"Zeige globale Konfiguration",didSpaceConfig:"Konfiguriere DID Spaces",didSpaceConfigTip:"Schließen Sie den folgenden Autorisierungsprozess ab, um Anwendungsdaten in DID Spaces zu speichern",didSpaceConnected:"Speicherung berechtigt für: {endpoint}",checkUpdateTitle:"Nach Updates suchen",updateTitle:"Komponenten aktualisieren",noUpdate:"Keine Komponenten zum Aktualisieren",add:"Komponente hinzufügen",selectComponent:"Wähle einen Blocklet aus",selectRegistry:"Wähle Blocklet Store",selectRegistryTip:"Sie können den Blocklet Store umschalten, um mehr Komponenten zu sehen",selectInstance:"Wählen Sie die Instanz",selectInstanceTip:"Sie können eine vorhandene Instanz auswählen oder eine neue Instanz erstellen. Vorhandene Instanzen verwenden zuvor gespeicherte Konfigurationen und Daten.",newInstance:"Erstelle eine neue Instanz",noComponent:"Keine Komponenten",mountPoint:"Was ist der Einhängepunkt?",mountPointTip:"Wenn Sie den Einhängepunkt auf '/my-prefix' setzen, werden alle Anfragen, die mit diesem Einhängepunkt beginnen, an das ausgewählte Bauteil weitergeleitet.",delete:"Lösche Komponente",deleteDescription:"Dieses Bauteil wird nach dem Löschen nicht zugänglich sein. Löschen bestätigen?",purchase:"Zahlung erforderlich",tip:{stopBlocklet:"Bitte halten Sie zuerst das Blocklet an.",requiredBy:"Die Komponente wird von {name} benötigt"},choose:"Wählen",addWithName:"Füge Blocklet zu {name} hinzu",installingCanCloseWindowTip:"Installation der Komponente im Hintergrund, Sie können dieses Fenster sicher schließen",installSuccessTip:"Herzlichen Glückwunsch, die Komponente wurde erfolgreich installiert!",missDownloadTokenTip:"Bezahlte Komponente kann ohne gültiges Download-Token nicht hinzugefügt werden",purchaseComponentSecondCheckTip:"Bitte präsentieren Sie Ihren Blocklet-Kauf-NFT, um fortzufahren",installComponentError:"Es ist ein Fehler beim Installieren des Komponenten aufgetreten, bitte versuche es erneut",downloadComponentError:"Beim Herunterladen des Komponenten ist ein Fehler aufgetreten, bitte versuchen Sie es erneut",addComponentTip:{introduction:"Willkommen im Add Component Assistenten",isPurchase:"Du musst das NFT überprüfen, bevor du <b>{name}</b> als Komponente verwendest",belowInformation:"Unten befinden sich die Informationen für die Komponente:",verifyNFT:"Bitte wählen Sie die NFT-Überprüfungsmethode",config:"Bitte füllen Sie die Konfiguration des Komponenten aus",environment:"Bitte füllen Sie die Umgebung der Komponente aus",fromUrl:"Blocklet von URL hinzufügen"},addNext:"Füge {name} hinzu",upgradeNext:"Upgrade {name}",setting:"Einstellungen",noDependencies:"{name} hat keine Abhängigkeiten",relatedComponents:"Verwandte Blocklets",required:"Erforderlich",installed:"Installiert",installingTip:"Komponente wird installiert, bitte warten...",upgrade:"Upgrade",upgradeAvailable:"Upgrade verfügbar",needBuy:"Kauf erforderlich",isOfficial:"Offiziell zertifiziert"},router:{urlPath:"URL Pfad",noRunning:"Der Blocklet ist derzeit nicht gestartet. Nicht in der Lage, über die folgende Adresse zuzugreifen!",securitySetting:"Sicherheitseinstellung",checkUrlAccessible:"Überprüfen Sie die Zugänglichkeit der Adresse",urlInaccessible:"Es kann aufgrund von Netzwerkproblemen sein, dass die Adresse vorübergehend nicht erreichbar ist.",noAccessibleUrl:"Keine zugängliche URL",domainLockTooltip:"Die vom System generierte Domain kann nicht bearbeitet werden.",urlLockTooltip:"Der vom System generierte URL-Pfad kann nicht bearbeitet werden.",showAllDomains:"Alle Domains anzeigen",showAllDIDs:"Zeige alle DIDs",currentDomainTip:"Sie greifen über diese Domain auf die aktuelle Seite zu"},export:{title:"Exportiere Blocklet",name:"Bundle-Name",nameTip:'z.B. "mein-blocklet-name" oder "@mein-scope/blocklet-name"',result:"Was kommt als Nächstes",exportSource:"Exportquelle",success:"Blocklet erfolgreich exportiert",resultTipStart:"Mit",resultTipEnd:"Du kannst diese Blocklet in wenigen Minuten erstellen und veröffentlichen",uploadedComponentTip:"Direkt hochgeladene Komponenten können nicht exportiert werden:"},migrate:{title:"Anwendung migrieren",scan:"Verbinden Sie Ihre DID Wallet, um ein Schlüsselpaar für diese Anwendung zu generieren",confirm:"Bitte überprüfen Sie diese Operation in Ihrer DID Wallet",success:"Ihre Anwendung wurde erfolgreich migriert. Die Seite wird in {sec} Sekunden aktualisiert.",intro:{l1:"Klicken Sie hier",l2:"Bitte migrieren Sie Ihre Anwendung auf die neue Version (Änderungen sind während der Migration deaktiviert)",l3:"Die Anwendung DDI wird vollständig von Ihrer DDI-Brieftasche aus gesteuert.",l4:"Die Anwendungsdaten werden migriert und es sind keine weiteren Änderungen erforderlich.",l5:"Die neue Anwendungsstruktur gibt Ihnen mehr Flexibilität beim Ändern von Komponenten.",l6:"4. Bitte ändern Sie keine Komponenten-Bindungspunkte, bevor eine neue Version der Komponente veröffentlicht wird."},tip:{duplicate:"Finde doppelte Komponente {name}, bitte lösche unnötige Komponenten und migriere erneut",running:"Bitte hör auf, Blocklet vor der Migration zu blockieren"}},error:{isRunning:"Blocklet läuft, bitte stoppen Sie es zuerst",isInProgress:"Blocklet wird gerade bearbeitet, bitte warten Sie, bis es abgeschlossen ist"},publish:{createResource:"Erstellen Sie Ressource",addResource:"Veröffentlichung hinzufügen",productTitle:"Produkt",versionTitle:"Versionierung",imgTitle:"Bilder",resourceTitle:"Inhalt",blockletEmptyTip:"Es gibt hier keine Blocklets",createBlockletTip:"Sie können über vorhandene Ressourcen, Komponenten und Konfigurationen in dieser Anwendung einen neuen Blocklet erstellen",createBlocklet:"Neuer Blocklet",componentNotRunning:"Blocklet {name} läuft nicht, bitte starte es zuerst",releaseEmptyTip:"Es gibt hier keine Veröffentlichungen",createReleaseTip:"Du kannst eine Veröffentlichung des Blocklets erstellen, zusammen mit Versionshinweisen und Ressourcen, die andere Personen nutzen können.",createRelease:"Erstellen Sie Freigabe",deleteReleaseTip:"Die Veröffentlichung kann nach Löschung nicht wiederhergestellt werden",createBlockletDid:"Erstelle aus dem DID Wallet",createReleaseSuccess:"Freigabe erfolgreich erstellt",saveDraftSuccess:"Entwurf erfolgreich gespeichert",connect:{title:"Erstelle Blocklet DID",scan:"Verwende die folgenden Methoden, um Blocklet DID zu generieren",confirm:"Bestätigen Sie die Verwendung von DID Wallet",success:"Blocklet DID wurde generiert, setzen Sie bitte Ihren Vorgang fort"},saveDraft:"Entwurf speichern",releaseNote:"Versionshinweis",errorTip:{noDid:"Blocklet DID wird benötigt",noTitle:"Blockleit-Titel ist erforderlich",noVersion:"Die Blocklet-Version ist erforderlich",noDescription:"Blocklet-Beschreibung ist erforderlich",noNote:"Versionshinweis wird benötigt",inValidVersion:"Ungültige Blocklet-Version",noResource:"Bitte wählen Sie die hochzuladenden Ressourcen aus, die im Blocklet enthalten sein sollen",noFirstDid:"Bitte erstellen Sie zuerst eine Blocklet-DID",invalidUrl:"Bitte geben Sie eine gültige URL ein",invalidUrlOrEmail:"Bitte geben Sie eine gültige URL oder E-Mail ein"},packTip:"Derzeit können Blocklets direkt als Anwendungen installiert werden. Komponenten und Anwendungskonfigurationen werden automatisch in das Blocklet aufgenommen.",resourceChangedWarning:"Sie haben die Ressource geändert, bitte rechtzeitig speichern",installResourceTip:"Installations-URL:",installResourceTip2:"Wenn du mehr Tipps sehen möchtest, besuche bitte",installResourceHelp:"Hilfe-Dokument",componentIncluded:"Eingeschlossen",componentForceRequired:"Erforderlich",download:"Download {name}",delete:"Lösche {name}",copyInstallUrl:"Kopiere Installations-URL",install:"Installiere {name}",publishToStoreSuccess:"Blocklet erfolgreich im Store veröffentlicht",connectStoreSuccess:"Blocklet Store erfolgreich verbunden",uploadToStoreSuccess:"Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen",viewLastRelease:"Letzte Version anzeigen",reconnectStoreTip:"Nach dem erneuten Verbinden wird ein neuer Entwickler zugewiesen. Bist du sicher, dass du dich erneut verbinden möchtest?",deleteProject:{title:"Lösche {name}",scan:"Verwende folgende Methoden, um {name} zu löschen",confirm:"Bitte bestätigen Sie die Verwendung der DID-Brieftasche",success:"Das Blocklet-Projekt wurde gelöscht, bitte fahren Sie mit Ihrer Operation fort.",tip1:"Das Blocklet-Projekt kann nach der Löschung nicht wiederhergestellt werden",tip2:"Sie können keine neuen Versionen mehr für den gelöschten Blocklet veröffentlichen, was bedeutet, dass das Blocklet nicht mehr im Store aktualisiert wird.",tip3:"Das Löschen des Blocklets hat keine Auswirkungen auf seine derzeit veröffentlichte Version im Store.",description:"Nach dem Löschen der Blocklet werden Sie auf die folgenden Probleme stoßen. Sind Sie sicher, dass Sie es löschen möchten?"},resourceTip:"Zurzeit kann es als Ressourcen-Blocklet nicht direkt aus dem Store installiert werden.",whyCantSeeInStore:"Warum kann ich dieses Blocklet nicht im Store sehen?",whyCantSeeResourceBlockletInStore:"Ressourcen-Blocklets sind standardmäßig auf der Store-Listenseite ausgeblendet",tenantScope:"Mieter",blockletStudio:"Blocklet Studio",allComponentsNotRunning:"Blocklets läuft nicht, bitte starten Sie es zuerst",resourceEmptyTip:"Keine verfügbaren Ressourcen",steps:{resources:"Bitte wählen Sie die Ressourcen aus, die mit dem aktuellen Blocklet verbunden werden sollen, da diese Ressourcen zusammen mit dem Blocklet installiert werden sollen.",blocklets:"Wählen Sie die zu verknüpfenden Blocklets aus.",version:"Setzen Sie die Versionsnummer und das Änderungsprotokoll.",introduction:"Eine klare Einführung kann Ihren Blocklet effektiv hervorheben. Sie können Markdown-Syntax verwenden, um es zu schreiben und eine Vorschau anzuzeigen.",branding:"Beschreiben Sie die grundlegenden Informationen Ihres Blocklets. Diese Informationen werden den Benutzern im Store angezeigt."},branding:"Branding",brandingHelp:"Weitere Informationen über den Blocklet werden im Store angezeigt",resourceSelect:"Wählen Sie eine Ressource aus Blocklets",resourceUpload:"Ressource von Ihrer Festplatte hochladen (index.html ist im Archiv erforderlich)",deleteStoreTip:"Möchten Sie {name} wirklich aus der Verbindungsliste des Stores entfernen?",disconnectStoreTip:"Das Blocklet wird nach dem Trennen aus dem Store entfernt. Möchten Sie wirklich trennen?",connectOrUpload:"Verbinden oder Hochladen",developerInfo:"Entwicklerinformation",autoUploadTip:"Blocklet nach Erstellung automatisch im Store hochladen",possibleSameStoreTip:"Versuchen Sie, Abhängigkeits-Blocklets vor dem Hochladen, wenn möglich, im selben Blocklet-Store aufzulösen",needProjectId:"Bitte erstellen Sie zuerst ein Projekt",projectSettings:"Projekteinstellungen",noStoreSelected:"Bitte wählen Sie eine der vorhandenen Geschäfte aus oder fügen Sie ein neues Geschäft hinzu, um fortzufahren",installToThisServer:"Auf diesem Server installieren",forceResourceBlocklet:"Force als Blocklet auf Ressourcenbasis definiert",resourceDocker:"Blocklet aus Docker erstellen",resourceSelectTitle:"Ressource",resourceUploadTitle:"Hochladen",resourceDockerTitle:"Docker",resourceDockerInputTip:"Bitte geben Sie den docker run Befehl ein",docker:{pleaseInputDockerCommand:"Bitte geben Sie den docker run Befehl ein",volumeTip:"Volume muss mit $BLOCKLET_DATA_DIR oder $BLOCKLET_APP_DIR beginnen",volumeTip2:'Volumen kann nicht ".." enthalten',noAllowTheArg:"Das Argument darf im docker run Befehl nicht verwendet werden",needCustomInput:"Richten Sie den Wert bei der Installation von Blocklet ein",dockerParams:"Docker-Parameter",dockerCommand:"Docker-Befehl",dockerImageName:"Docker-Image-Name",addItem:"Docker-Run-Param hinzufügen",envKey:"Umgebungsvariable Schlüssel",publishTips:"Der endgültige externe Port wird automatisch vom Blocklet zugewiesen",volumeTips:"Das Volumen muss mit $BLOCKLET_DATA_DIR oder $BLOCKLET_APP_DIR beginnen",modifyParam:"Docker Run-Param ändern",modifyEnv:"Umgebungsvariable ändern",paramDetail:"Parametereinstellung",description:"Beschreibung",secure:"Sichern",shared:"Geteilt",required:"Erforderlich",prefix:"Präfix",path:"Pfad",name:"Name",portType:"Porttyp",dockerImageNameError:"Docker-Image-Name darf keine Leerzeichen enthalten",autoGenerated:"Automatisch generiert",dockerCMDError:"Docker CMD unterstützt nur einfache Zeichen",proxyBehavior:"Proxy-Verhalten",serviceProxy:"Dienst",directProxy:"Direkt"},storeRule:{maxImageCount:"Der Store erlaubt maximal {max} Screenshots.",minImageCount:"Der Shop benötigt mindestens {min} {unit}.",minImageSize:"Das Screenshot-Bild von {name} muss mindestens {width}x{height} groß sein.",logoFormat:"Das Logo-Bildformat unterstützt nur [{format}].",warning:"Warnung",screenshot:"Screenshot",screenshots:"Screenshots",first:"1.",second:"2.",third:"3."}},titleValidationError:"Die Länge des Titels muss zwischen 3 und 40 Zeichen liegen",descriptionValidationError:"Beschreibungslänge muss zwischen 3 und 80 Zeichen liegen",whyNeedAppPid:"Wenn Ihre Anwendung migriert wurde, ist die permanente DID die DID, die bei der ursprünglichen Installation dieses Blocklets generiert wurde.",usingDocker:"Dieses Blocklet wird mit Docker ausgeführt.",gotoVisitError:"Blocklet-URL kann nicht erreicht werden, bitte versuchen Sie es später erneut",usingIsolation:"Dieses Blocklet wird unter Netzwerkisolation ausgeführt",dockerImage:"Unterstützt Docker",mountPoint:{description1:"Diese Änderung kann URLs mit dem alten Mountpoint beschädigen, was zu weiteren Problemen führen kann:",case1:"Defekte Ressourcenverweise zwischen Blocklets in dieser App",case2:"Kaputte URL, falls Sie sie öffentlich geteilt haben",description2:"Sie können eine Weiterleitung vom alten zum neuen Mountpoint einrichten, um mögliche Breaking Changes zu minimieren."},skSourceMigratedTip:"Diese App wurde mit einer serververwalteten Wallet gestartet und ist nun für mehr Sicherheit auf DID Wallet umgestellt.",skSourceManagedTip:"Diese App verwendet ein vom Server verwaltetes Wallet. Bitte migrieren Sie so bald wie möglich auf ein DID Wallet, um die Sicherheit zu verbessern."},dashboard:{nodeDid:"Knoten",ownerDid:"Eigentümer",routingEngine:"Routing-Engine",ownerNftURL:"Besitzer NFT",expirationLeft:"Verbleibende Ablaufzeit",startFromCrashTip:"Blocklet Server ist beim letzten Mal nicht ordnungsgemäß beendet worden. Bitte starten Sie manuell die Blocklets, die ausgeführt werden sollen.",runtimeConfig:{blockletMaxMemoryLimit:"Blocklet Max Speichergrenze",daemonMaxMemoryLimit:"Server Max Speicherbegrenzung",proxyMaxMemoryLimit:"Event Bus Max Arbeitsspeicherbegrenzung"}},store:{nameSort:"Name",popularSort:"Beliebtheit",headerDescription:"Finde und installiere deine Blocklets",detail:{purchase:"Kaufe {name}",open:"Öffne {name}",install:"Installiere {name}",upgrade:"Upgrade {name}",empty:"Keine Einleitung"},blockletRegistry:{changeFailed:"Blocklet Speicheränderung fehlgeschlagen:",addFailed:"Blocklet Store konnte nicht hinzugefügt werden",editFailed:"Bearbeitung des Blocklet Store fehlgeschlagen",switchRegistry:"Schalte Blocklet Store um",addRegistry:"Füge Blocklet Store hinzu",editRegistry:"Blocklet Store bearbeiten",deleteRegistry:"Blocklet-Store löschen",haveSameRegistry:"Der gleiche Blocklet Store existiert",registryName:"Blocklet Store Name",registryUrl:"Blocklet Store URL",registryNameEmpty:"Blocklet Store-Name darf nicht leer sein",registryUrlEmpty:"Die Blocklet-Store-URL darf nicht leer sein",deleteDesc:"Blocklet-Store {name} löschen bestätigen?",confirmDesc:"Bitte geben Sie {name} zum Löschen ein"},purchase:{title:"Kaufe {name}",confirmed:"Dein Blocklet-Kauf-NFT ist verifiziert",declined:"Sie haben keinen gültigen Blocklet-Kauf NFT angegeben",waiting:"Warten auf abgeschlossenen Kauf...",purchase:{title:"Kaufe NFT",description:"Bevor Sie diese Blocklet installieren, zahlen Sie bitte einen Token, wenn Sie dieses Blocklet nicht gekauft haben."},verify:{title:"Überprüfe NFT",description:"Ihr NFT wird vor der Installation dieses Blocklet überprüft, wenn Sie das Kauf-NFT gekauft und in Ihrer DID Wallet halten.",auth:{title:"Kaufnachweis erforderlich",scan:"Verbinden Sie die DID Wallet, um Blocklet-Käufe von NFTs anzubieten",confirm:"Überprüfe diese Operation in deiner DID-Brieftasche",success:"Ihr Kauf-NFT wurde verifiziert und die Installation wurde gestartet."}},auth:{title:"Kaufe {name}",scan:"Scannen Sie den folgenden QR-Code mit Ihrer DID Wallet",confirm:"Bestätige in deinem DID Wallet",success:"Kauf des NFTs wurde an Ihre DID Wallet gesendet"},launch:"Starte {name}",autoLaunch:"{name} erfolgreich gekauft, Weiterleitung zur Startseite..."},tooltip:{upgradeServer:"Blocklet benötigt Blocklet Server Version {version}, aktuelle Blocklet Server Version ist {serverVersion}"}},setting:{saveSuccess:"Einstellungen erfolgreich gespeichert",unSavedTip:'Es gibt nicht gespeicherte Änderungen. Klicken Sie bitte auf "Änderungen speichern", um sie zu speichern.',unSavedLeaveTip:"Es gibt ungespeicherte Änderungen, sind Sie sicher, die Seite zu verlassen?",form:{name:"Name deines Servers",nameRequired:"Serverbeschreibung ist erforderlich",namePlaceholder:"Servername",description:"Beschreiben Sie Ihren Server",descriptionHolder:"Serverbeschreibung",descriptionRequired:"Serverbeschreibung erforderlich",domain:"Deine Server Domain Name",domainPlaceholder:"Server-Domänenname",domainRequired:"Der Server-Domain-Name ist erforderlich",ipPlaceholder:"IP",ipRequired:"IP ist erforderlich",registry:"Blocklet Store",registryPlaceholder:"Blocklet Store, um Blocklets abzurufen",registryRequired:"Der Blocklet Store ist erforderlich",registerUrl:"Blocklet Launcher-URL",registerUrlPlaceholder:"Geben Sie die URL Ihres bevorzugten Blocklet Launchers ein. Sie können den offiziellen sicher verwenden.",webWalletUrl:"DID Wallet URL",webWalletUrlPlaceholder:'Bitte geben Sie die URL Ihres gehosteten "DID Wallets" ein. Sie können das offizielle sicher nutzen',nftDomainUrl:"NFT-Domänen-URL",nftDomainUrlPlaceholder:"Bitte geben Sie die URL Ihrer gehosteten 'NFT-Domain' ein. Sie können die offizielle sicher verwenden",enableWelcomePage:"Aktiviere Willkommensseite",welcome:{switchLabel:"Willkommen Seite"},upgrade:{title:"Upgrade Blocklet Server auf {version}",description:"Während des Upgrades wird Ihr Blocklet Server für einige Minuten in den Wartungsmodus wechseln, während das Update abgeschlossen wird.",dialog:"Klicken Sie auf 'Bestätigen', um das Update zu installieren. Der Blocklet Server wird in den Wartungsmodus wechseln, bis das Update abgeschlossen ist, und kehrt automatisch in den Produktionsmodus zurück.",confirm:"Upgrade",switchLabel:"Automatischer Update-Check",enableBetaRelease:"Aktiviere Beta-Version",setup:"Vorbereitung des Upgrades",installing:"Installation von Blocklet Server v{version}",restarting:"Blocklet Server wird neu gestartet",cleanup:"Migration der Blocklet Server-Daten",verifying:"Überprüfe Blocklet Server v{version}",rollback:"Rollback Blocklet Server",complete:"Upgrade abgeschlossen!",progress:"Upgrading {name}",check:"Such nach Aktualisierungen",latest:"Sie nutzen die neueste Version."},restart:{title:"Blocklet-Server neu starten",description:"Während des Neustarts wird Ihr Blocklet Server in den Wartungsmodus versetzt, bis der Neustart abgeschlossen ist.",dialog:'Klicken Sie auf "Bestätigen", um neu zu starten. Der Blocklet-Server befindet sich im Wartungsmodus, bis der Neustart abgeschlossen ist, und kehrt automatisch in den Produktionsmodus zurück.',confirm:"Neustart",setup:"Vorbereitung des Neustarts",verifying:"Blocklet Server verifizieren",restarting:"Neustart des Blocklet-Servers",cleanup:"Stelle sicher, dass alles in Ordnung ist",rollback:"Reinige den schmutzigen Zustand",complete:"Instandhaltung komplett!",progress:"Neustart {name}"},register:{title:"Registrieren Sie sich bei Blocklet Launcher",description:"Sobald hinzugefügt, können Sie Blocklets zu diesem Blocklet-Server von {url} aus starten.",button:"Registrieren"},monitor:{diskThreshold:"Sende eine Warnung, wenn die Festplattenauslastung (%) überschritten wird",diskThresholdPlaceholder:"Bitte legen Sie die Schwelle für die Festplattenauslastungs-Warnung fest"},security:{switchLabel:"Dateisystemisolierung",switchTips:"Nach Deaktivierung dieser Option befindet sich das Dateisystem des Blocklets nicht mehr in Isolation, was ein Risiko darstellen kann, dass bösartige Software das Dateisystem beschädigt.",warningTips:"Die Funktion zur Isolation des Dateisystems kann nicht angewendet werden. Bitte aktualisieren Sie die Node.js-Version (aktuelle Version ist {version}) auf v21.6.0 oder höher."},docker:{switchLabel:"Blocklets in Containern ausführen",switchTips:"Nachdem Sie diese Option aktiviert haben, werden die Blocklets unter Verwendung von Containern ausgeführt, was die Gesamtsicherheit des Servers verbessern kann.",notInstalled:"Containerausführung kann nicht aktiviert werden, da Docker nicht installiert ist oder über die erforderlichen Berechtigungen zur Ausführung verfügt",needCloseFileSystemIsolation:"Dateisystemisolierung und Docker-Container-Modus-Laufzeit können nicht gleichzeitig aktiviert werden"},dockerNetwork:{switchLabel:"Container-Netzwerkisolation",switchTips:"Nach Aktivierung dieser Option laufen Blocklets auf sicherere Weise: Ein Blocklet kann nicht auf den Blockletserver oder andere Blocklets in anderen Apps zugreifen.",needEnableDocker:"Container-Modus muss aktiviert sein, um Netzwerkisolierung zu aktivieren"},restartAllContainers:{title:"Alle Container neu starten",description:"Alle Container neu starten und Blocklets weiterlaufen lassen.",dialog:'Klicken Sie auf "Bestätigen", um alle Container-Blocklets neu zu starten und den Status der Blocklets beizubehalten.',confirm:"Neu starten",setup:"Neustart vorbereiten",verifying:"Blocklet-Server wird verifiziert",restarting:"Starte alle Container im Hintergrund neu",cleanup:"Stellen Sie sicher, dass alles in Ordnung ist",rollback:"Bereinigen Sie den unsauberen Zustand",complete:"Vollständig erhalten!",progress:"Starte alle Container im Hintergrund neu"},restartAllBlocklet:{title:"Alle Blocklets neu starten",description:"Alle laufenden oder fehlerhaften Blocklets auf diesem Server neustarten",dialog:'Klicken Sie auf "bestätigen", um alle Blocklets im Hintergrund neu zu starten.',confirm:"Neustart",setup:"Bereite Neustart vor",verifying:"Blocklet-Server wird überprüft",restarting:"Neustart aller laufenden oder fehlerhaften Blocklets im Hintergrund",cleanup:"Stellen Sie sicher, dass alles in Ordnung ist",rollback:"Den unsauberen Zustand bereinigen",complete:"Wartung abgeschlossen!",progress:"Neustart aller laufenden oder fehlerhaften Blocklets im Hintergrund"},enableSessionHardening:{switchLabel:"Sitzungshärtung aktivieren",switchTips:"Nach dem Aktivieren dieser Option erfordern Mutationsvorgänge eine strikte Verifizierung, was die gesamte Serversicherheit verbessern kann."}},accessKey:{accessKeyId:"ZUGRIFFSSCHLÜSSEL",lastUsed:"Zuletzt verwendet am",tip:"Bitte geben Sie einen Namen für diesen Zugriffsschlüssel für zukünftige Referenz ein:",saveSecretTip:"Dies ist die einzige Zeit, in der Ihr Zugriffsgeheimnis angezeigt, aber nicht wiederhergestellt werden kann. Sie können jedoch jederzeit neue Zugriffsschlüssel erstellen.",iKnow:"Ich habe den Zugriffs-Geheimcode kopiert und gespeichert",showSecret:"Zeige geheimen Zugriffsschlüssel",hideSecret:"Verstecke Geheimnis",title:"Lösche Zugriffsschlüssel",descriptionNoTime:"Dieser Zugangsschlüssel {key} mit dem Namen {name} wird unwiderruflich gelöscht, da er (noch nie verwendet wurde)",description:"Dies löscht dauerhaft den Zugriffsschlüssel {key} mit dem Namen {name}, der zuletzt am {time}, {timeAge} verwendet wurde.",confirm_desc:"Bitte geben Sie {name} zum Löschen ein",remark:"Zugriffsschlüsselname",remarkInvalid:"Zugriffsschlüsselname ist erforderlich"},webhook:{add:"Integration hinzufügen",delTitle:"Lösche Integration",requiredError:"Bitte geben Sie einen gültigen {type} an",confirm_desc:"Bitte geben Sie {name} zum Löschen ein",test:"Test",description:"Diese Integration mit der ID {id} wird dauerhaft gelöscht.",columns:{description:"ID",params:"Parameter",createdAt:"Erstellt am"}}},notification:{title:"Benachrichtigungen",empty:"Keine Aktivitäten bisher",viewAll:"Alle anzeigen",showRead:"Zeige Lesen",markAllAsRead:"Alle als gelesen markieren",markAsRead:"Als gelesen markieren",proceed:"Weitermachen",checkingForUpdates:"Suche nach Updates...",email:{enable:"E-Mail-Benachrichtigung aktivieren",from:"E-Mail-Absender",host:"SMTP Server Host",port:"SMTP-Server Port",user:"SMTP-Server-Benutzername",secure:"Aktivieren Sie eine sichere Verbindung",password:"SMTP-Server Benutzer Passwort",fromRequired:"Absender der E-Mail ist erforderlich",fromInvalid:"E-Mail-Absender ist ungültig",receiverRequired:"E-Mail-Empfänger ist erforderlich",receiverInvalid:"Empfänger der E-Mail ist ungültig",hostRequired:"SMTP Server-Host wird benötigt",hostInvalid:"Der SMTP-Server-Host ist ungültig",portRequired:"Der Port des SMTP-Servers ist erforderlich.",portInvalid:"Der SMTP-Server-Port ist ungültig. Der Port sollte zwischen 1 und 65535 liegen.",userRequired:"SMTP-Server-Benutzername ist erforderlich",passwordRequired:"SMTP-Server-Benutzerkennwort erforderlich",testSuccess:"Test-E-Mail erfolgreich gesendet",testFailed:"Test-E-Mail senden fehlgeschlagen",testReceiver:"E-Mail-Empfänger",testSendEmail:"Test E-Mail senden",inputTestReceiver:"Bitte geben Sie die E-Mail-Adresse des Testempfängers ein",disable:"E-Mail-Benachrichtigung abbestellen",disableDescription:"Nach dem Abmelden erhalten Sie keine E-Mail-Benachrichtigungen mehr. Um E-Mail-Benachrichtigungen zu erhalten, können Sie sich auf dieser Seite erneut anmelden.",unsubscribe:"Abmelden E-Mail-Benachrichtigung",unsubscribeDescription:"Nach der Abmeldung erhalten Sie keine weiteren E-Mail-Benachrichtigungen mehr.",subscribe:"Abonnieren",subscribeDescription:"Um E-Mail-Benachrichtigungen zu erhalten, können Sie es erneut auf der Einstellungsseite abonnieren."},comingSoon:"Weitere Benachrichtigungskanäle befinden sich im Aufbau",unsubscribe:"Abmelden",unsubscribeSucceed:"Abmeldung erfolgreich",unsubscribeFailed:"Abmeldung fehlgeschlagen",unsubscribeTokenRequired:"Abmelde-Token ist erforderlich",unsubscribeTokenExpired:"Abmeldetoken ist abgelaufen",unsubscribeTokenInvalid:"Das Abonnement-Token ist ungültig",installComponentError:"Nicht gefunden deinstallierte Komponente {name}",installingComponent:"Installiere Komponente {name}",pushKit:{enable:"PushKit-Benachrichtigung aktivieren",endpoint:"PushKit-Endpunkt",endpointInvalid:"PushKit-Endpunkt ist eine ungültige URL",testSuccess:"Test PushKit-Versendung erfolgreich",testFailed:"Test PushKit senden fehlgeschlagen",testReceiver:"PushKit-Empfänger",testSend:"Test-Push-Kit senden",inputTestReceiver:"Bitte geben Sie den Test-Empfänger ein",receiverRequired:"PushKit-Empfänger ist erforderlich",pushPath:"Api-Pfad für Push-Kit (Standard /api/push)",did:"PushKit Blocklet DID",customOptions:"Benutzerdefinierte Optionen"},notificationDetails:"Benachrichtigungsdetails",receiver:"Empfänger",sendStatus:{success:"Gesendet",failed:"Fehlgeschlagen",sentTime:"Gesendet am: {date}",pending:"Ausstehend",reason:{enabled:"Benutzer hat {channel}-Benachrichtigung aktiviert",disabled:"Benutzer hat {channel} Benachrichtigung nicht aktiviert",unavailable:"Derzeitiger Blocklet hat {channel}-Benachrichtigung nicht konfiguriert",available:"Der aktuelle Blocklet hat {channel} Benachrichtigung konfiguriert",notSent:"Aktuelle Nachricht wurde nicht an {channel} gesendet",offline:"Benutzer ist offline"},count:"{count}",total:"Gesamt"},filter:"Filter",notificationPreview:"Benachrichtigungsvorschau",resend:"Erneut senden",resendLimit:"Sie können eine Benachrichtigung bis zu dreimal täglich erneut senden.",from:"Von",to:"Zu",body:"Körper",notificationTitle:"Titel",createdAt:"Erstellt am",status:"Status",system:"System",severity:"Schweregrad",config:"Konfigurationen",selectChannels:"Kanäle auswählen",selectChannelsTip:"Kanäle zum erneuten Senden auswählen",resendFailedOnly:"Nur an fehlgeschlagene Kanäle erneut senden",statistics:"Statistiken",allSender:"Alle Absender",allSeverity:"Alle Schweregrade",severityType:{info:"Info",success:"Erfolg",warning:"Warnung",error:"Fehler"},clear:"Löschen"},router:{routerSetting:"Domains & URLs",certSetting:"SSL-Zertifikate",defaultSite:"Standard",urlHelperText:"URLs, die nicht mit HTTP/HTTPS beginnen, gelten als relative Pfade",empty:"Klicke auf Aktionen, um die URL-Zuordnung einzurichten",healthy:{ok:"Blocklet oder Dienst läuft",error:"Blocklet oder Dienst läuft nicht oder ist nicht installiert"},service:{select:"Blocklet-Dienste auswählen (optional)",what:"Blocklet-Dienste sind Pipelines, die vor der Weiterleitung an die übergeordnete Blocklet-Anwendung ausgeführt werden."},nonProvider:{title:"Motorwechselwarnung",description:"Wenn Sie den Motor auf 'keiner' ändern, funktioniert Ihre aktuelle Seite möglicherweise nicht ordnungsgemäß, da der vorherige Motor gestoppt wird. Sind Sie sicher, dass Sie fortfahren möchten?",confirm:"Ich verstehe, fahre fort"},validation:{urlRequired:"URL wird benötigt",redirectCodeRequired:"Weiterleitungscode ist erforderlich",didRequired:"Blocklet ist erforderlich",pathPrefixTooLong:"Der URL-Präfix darf nicht länger als {length} Zeichen sein",pathPrefixCannotBeEmpty:"Der URL-Prefix darf nicht leer sein",domainRequired:"Server-Domäne ist erforderlich",invalidUrl:"Bitte geben Sie eine gültige URL ein",pathPrefixRequired:"URL-Präfix ist erforderlich",redirectUrlRequired:"Die Weiterleitungs-URL ist erforderlich",rewriteUrlRequired:"Die URL muss neu geschrieben werden"},domain:{addSite:"Website hinzufügen",validate:{emptyTip:"Die Website-Domäne darf nicht leer sein",suffixTip:"Die Website-Domain kann {suffix} nicht enthalten"},add:{title:"Domainnamen hinzufügen",description:"Bitte geben Sie einen gültigen Domainnamen an",confirm:"Hinzufügen",cancel:"Abbrechen",blocklet:"Blocklet auswählen",redirect:"Wohin soll der Verkehr umgeleitet werden?",port:"Auf welchem Port muss Ihr Anfrage-Handler hören?",portTip:"Dies ist der Standardwert für den Hauptport des Anforderungsverarbeitungsmoduls. Sie können dies anpassen",type:"Verkehrshandler",component:"Komponente auswählen",pageGroup:"Seite Gruppe",pageGroupTip:"Diese Komponente kann jede Gruppe von oben aufgeführten Seiten rendern. Leer lassen, um alle Seiten zu rendern."},update:{title:"Aktualisierung der Website-Domäne",label:"Website-Domain",description:"Bitte geben Sie eine gültige Website-Domain an"},setup:{tipStart:"Fügen Sie die DNS-Einträge für die Domain hinzu",tipEnd:"Gemäß den folgenden Richtlinien",recordType:"Rekordtyp",recordValue:"Aufnahme Wert"},verify:{ok:"Die Domainauflösung ist normal",notResolved:"Diese Domain ist weder aufgelöst noch erreichbar. Bitte überprüfen Sie Ihre DNS-Konfiguration."},https:{ok:"Diese Domain ist mit HTTPS aktiviert",bad:"Diese Domain hat https nicht aktiviert"},delete:{title:"Lösche Website",description:'Durch Bestätigung löschen Sie Ihre bestehende Website "{name}". Geben Sie "{name}" unten ein und wählen Sie Löschen, um die Änderung abzuschließen, oder wählen Sie Abbrechen, um Ihre Website beizubehalten.',confirm_desc:"Bitte geben Sie {name} zur Bestätigung ein"}},domainAlias:{nftDomain:"Automatische Konfiguration mit DID-Namen",showTipHint:"Wie konfiguriere ich die Auflösung des Domänennamens?",add:{title:"Zusätzliche Domain hinzufügen",domainDescription:"Bitte geben Sie einen gültigen Domainnamen an",forceTip:"Erzwinge Hinzufügen, wenn der Domainname bereits existiert",helperText:"Wenn eine HTTP- oder HTTPS-URL eingegeben wird, wird sie automatisch in einen Domainnamen umgewandelt.",isDidDomainError:"Diese Domain ist eine DID-Domäne. Bitte fügen Sie sie unter Verwendung der Methode zur automatischen Domänenkonfiguration hinzu.",tips:"Sie können einen bei DID Names oder einem anderen Anbieter erworbenen Domainnamen eingeben. Bei einer DID Domain benötigen Sie zur Fortsetzung den DID Domain NFT."},addCustomDomain:{name:"Benutzerdefinierte Domäne"},addDomainNFT:{showNFT:"Konfiguriere die Domain automatisch",tips:"Sie können eine bei DID Names gekaufte Domain eingeben. Wird eine DID-Domain erkannt, müssen Sie den DID-Domain-NFT vorlegen, um fortzufahren.",connect:{scan:"Verwenden Sie eine der folgenden Methoden, um {domain} mit {appName} zu verbinden",confirm:"Bitte bestätigen Sie in Ihrem DID Wallet",success:"Autorisierung erfolgreich",title:"DID-Namen mit {appName} verbinden"},buyTip:"DID-Namen übernehmen die Domainnamenauflösung automatisch. Manuelle Konfiguration ist nicht nötig. Die Anwendung aktualisiert den Auflösungsdatensatz des Domainnamens bei Bedarf automatisch. Falls Sie noch kein DID-Domain-NFT besitzen,",buy:"DID-Domain kaufen",topLevelDidDomainHint:"Für DID-Domains wird eine eingegebene Top-Level-Domain (z. B. example.com) automatisch als www.example.com konfiguriert.",authorizeFailed:"Konnte die Domain-NFT-Info nicht abrufen, bitte versuchen Sie es erneut!"},delete:{title:"Löschen",description:'Nach dem Löschen von "{domain}" ist der Zugriff auf diesen Alias möglicherweise nicht mehr korrekt möglich.',confirmPlaceholder:'Bitte geben Sie "{domain}" ein, um zu löschen'}},domainSecurity:{title:"Domain Sicherheit",cors:{title:"Erlaubte CORS-Domains",description:'Domänenliste, von denen aus Cross-Origin-Anfragen an {name} gesendet werden können, durch Kommas getrennt. Verwenden Sie "*", um jedem zu erlauben, was nicht empfohlen wird.',domainInvalid:"Bitte geben Sie eine gültige Liste von Domainnamen ein"}},rule:{add:{title:"URL-Zuordnung hinzufügen",confirm:"Hinzufügen",pathPrefix:"Was ist das URL-Präfix?",pathPrefixTip:"Wenn Sie das Präfix auf '/mein-präfix' setzen, werden alle Anfragen, die mit diesem Präfix beginnen, zum konfigurierten Blocklet weitergeleitet",blocklet:"Welcher Blocklet wird diese Anfragen bearbeiten?",port:"Welcher Port des Blocklet wird Anfragen bearbeiten?",portTip:"Dies ist standardmäßig der Hauptport von Blocklet. Wenn Blocklet auf mehreren Ports lauscht, können Sie dies anpassen.",responseType:"Antworttyp",responseBody:"Antwortinhalt",responseBodyTip:"Fügen Sie hier Ihren Antwortinhalt ein, der 4096 Zeichen nicht überschreiten sollte.",responseBodyRequired:"Der Antwortinhalt darf nicht leer sein"},delete:{title:"URL-Mapping löschen",description:'Durch Bestätigen werden Sie Ihre vorhandene URL-Mapping für "{name}" löschen. Geben Sie "{name}" in das Feld ein und wählen Sie Löschen, um die Änderung abzuschließen, oder wählen Sie Abbrechen, wenn Sie Ihr URL-Mapping beibehalten möchten.',confirm_desc:"Bitte geben Sie {name} ein, um zu löschen",cancel:"Abbrechen"},update:{title:"URL-Mapping aktualisieren",confirm:"Ja, Aktualisieren",cancel:"Abbrechen"}},cert:{name:"Zertifikatsname",domain:"Domain Name",action:"Handlung",commonName:"Gemeinsamer Name",boundDomains:"Domains",source:"Quelle",expired:"Abgelaufen",leftDays:"Tage übrig",issuedOn:"Ausgestellt am",expiryOn:"Ablaufdatum am",fingerprintAlg:"Fingerabdruckalgorithmus",validityPeriod:"Gültigkeitsdauer",matchedSites:"Übereinstimmende Websites",upload:"Manueller Upload",publicCertHelperText:"Öffentliche Zertifikate können heruntergeladen werden",nonPublicCertHelperText:"Nicht öffentliche Zertifikate können nicht heruntergeladen werden",protectedCertHelperText:"Geschützte Zertifikate können nicht bearbeitet werden",unprotectedCertHelperText:"Unsichere Zertifikate können bearbeitet werden",issuing:"Zertifikat wird erstellt",sourceTypes:{upload:"Manueller Upload",lets_encrypt:"Lass uns verschlüsseln"},table:{nodata:"Keine Daten"},delete:{title:"Zertifikat löschen",description:"Löschen des Zertifikats der Domain {domain} bestätigen? Das Löschen kann sich auf verwandte Dienste auswirken. Bitte bestätigen Sie, dass dies sicher ist, bevor Sie mit dem Löschen fortfahren.",confirm:"Bestätigen"},nginx:{title:"Zertifikat aktualisieren",titleAdd:"Zertifikat hinzufügen",pem:"SSL-Zertifikat-Datei",pemTip:'Bitte legen Sie Ihr Server-Zertifikat hier ab. Es sollte mit ".pem" oder ".crt" enden.',key:"Privater Schlüsseldatei",keyTip:'Bitte geben Sie hier Ihre Server-Private-Key-Datei ein. Sie sollte mit ".pem" oder ".key" enden.',confirm:"Speichern",cancel:"Abbrechen",invalidFile:"Sie haben eine ungültige Datei ausgewählt",empty:"Noch keine Datei ausgewählt",source:"Quelle",sourceTypes:{upload:"Manuelles Hochladen",lets_encrypt:"Lass uns verschlüsseln"}},detail:{title:"Zertifikatdetails"},genLetsEncryptCert:{title:"Generiere Let's Encrypt Zertifikat",dnsTip:"Bitte stellen Sie sicher, dass der Domänenname auf den aktuellen Blocklet-Server verweist.",description:"Das Hinzufügen eines Zertifikats erhöht die Sicherheit des Dienstes und der Blocklet Server erneuert das Zertifikat automatisch, bevor es abläuft."}},gateway:{reqLimit:{switchLabel:"Anforderungsbegrenzung",rate:"Anforderungslimit ({rate} Anfragen/Sekunde)",title:"Anfragelimitierung"},cacheEnabled:{switchLabel:"Gateway-Cache aktivieren, um die Leistung zu erhöhen",title:"Gateway-Cache"},blockPolicy:{switchLabel:"Anforderungsblockierung",addItem:"Artikel hinzufügen",blacklistDesc:"Anfragen von diesen IPs werden blockiert, um auf diesen Server und alle Blocklets zuzugreifen",inputPlaceholder:"Geben Sie die IP-Adresse, den CIDR-Bereich oder die URL ein",invalidItem:"Ungültige IP-Adresse, CIDR-Bereich oder URL",title:"Anfrage blockieren",autoBlocking:{switchLabel:"Blockiere schlechte Anfragen durch Echtzeiterkennung",windowSize:"Das Zeitfenster für die Zählung von Anfragen (Sekunden)",windowQuota:"Die maximale Anzahl von Anfragen (pro IP), die innerhalb des Zeitfensters erlaubt sind",blockDuration:"Die Dauer zur Sperrung des Benutzers nach IP, wenn das Kontingent innerhalb des Fensters überschritten wird (Sekunden)",statusCodes:"Die Statuscodes, die überprüft werden müssen"}},proxyPolicy:{switchLabel:"Hinter Proxies laufen",trustRecursive:"Vertrauen Sie Proxies rekursiv",trustRecursiveDesc:"Verwende die linkeste IP in der X-Forwarded-For Kette",trustedProxies:"Vertrauenswürdige Proxies",trustedProxiesDesc:"Anfragen von diesen IPs werden vertraut, um die tatsächliche Client-IP zu erhalten",realIpHeaderLabel:"Client-IP-Header",realIpHeaderDesc:"Wenn der Blocklet-Server hinter Proxies wie CloudFront läuft, können Sie hier die Header-IP des Clients festlegen.",addItem:"Artikel hinzufügen",inputPlaceholder:"Geben Sie die IP-Adresse, CIDR-Bereich ein",invalidItem:"Ungültige IP-Adresse, CIDR-Bereich",title:"Proxy-Richtlinie"},wafPolicy:{switchLabel:"Erkennen und blockieren Sie schlechte Anfragen mit ModSecurity",modeDesc:"Der Modus von modsecurity (modsecurity Modul ist erforderlich)",mode:{detectOnly:"Nur erkennen (wird Anfragen nicht blockieren)",on:"An (wird Anfragen blockieren)"},logLevelDesc:"Die Protokollebene für ModSecurity (0-9), 0 bedeutet Audit-Log deaktivieren",inboundAnomalyScoreThresholdDesc:"Der Eingangs-Anomalie-Score-Schwellenwert (1-100), niedrigerer Wert bedeutet strenger",outboundAnomalyScoreThresholdDesc:"Der ausgehende Anomaliewertschwellenwert (1-100), niedriger Wert bedeutet strikter",docDesc:"Sieh dir die Dokumentation an, um zu erfahren, wie man modsecurity einrichtet",title:"Web-Anwendungs-Firewall"}}},noMatch:{desc:"Wir können die von Ihnen gesuchte Seite nicht finden"},health:{connectionErrorTip:"Blocklet-Server kann keine Verbindung zum Netzwerk herstellen. Bitte überprüfen Sie, ob der Blocklet-Server gestoppt wurde oder es ein Netzwerkproblem gibt.",connectionRecoveryTip:"Die Blocklet Server-Konnektivität konnte wiederhergestellt werden",connectionStoppedTip:"Der Blocklet Server wurde gestoppt",wrongAccessUrlTip:"Die Blocklet Server-Zugriffsadresse ist falsch. Bitte verwenden Sie die richtige Zugriffsadresse."},debug:{title:"Ihr Blocklet Server ist aktiv und läuft!"},team:{invite:{action:"Neu einladen",setting:"Einladungseinstellungen",enabled:"Deaktivieren Sie diese Einstellung, um neue Benutzereinladungen nur auf Eigentümer/Administrator zu beschränken",disabled:"Aktivieren Sie diese Einstellung, um jedem Benutzer zu erlauben, neue Benutzer einzuladen",inviter:"Eingeladen von"},add:"Neu hinzufügen",member:{name:"Name",passport:"Reisepass",passports:"Pässe",lastLogin:"Letzter Login",lastLoginIp:"Letzte Login-IP",source:"Registerquelle",source_derived:"Abgeleitet von OAuth",source_wallet:"DID Brieftasche",filter:"Filtern nach",blockAccess:"Login verbieten",blockAccessDescription:"Der Benutzer wird sich nicht mit dieser Anwendung verbinden können",allowAccess:"Anmeldung erlauben",allowAccessDescription:"Der Benutzer kann sich mit dieser Anwendung verbinden",updateRole:"Rolle aktualisieren",removeUser:"Lösche Benutzer",removeUserDescription:"Benutzer '{name}' wirklich löschen?",revokePassport:"Reisepass zurücknehmen",revokePassportDescription:"Sobald der Reisepass widerrufen wurde, kann der Inhaber ihn nicht erneut zur Anmeldung verwenden. Sind Sie sicher, dass Sie fortfahren möchten?",enablePassport:"Aktiviere den Reisepass",enablePassportDescription:"Sobald der annullierte Reisepass wieder aktiviert ist, kann der Passinhaber ihn erneut verwenden, um sich einzuloggen. Sind Sie sicher, dass Sie fortfahren möchten?",passportPermissionTitle:"Der Reisepass hat folgende Berechtigungen:",search:"Suche Mitglied",onlyApprovedMember:"Nur genehmigte anzeigen",inviteDialog:{createInviteLink:"Generiere Einladungslink",createSuccessTip:"Der Einladungslink wurde erfolgreich erstellt. Klicken Sie zum Kopieren und Senden des Links an das eingeladene Mitglied. Beachten Sie bitte, dass dieser Einladungslink nicht wiederverwendet werden kann und am {expireDate} abläuft."},error:{passportEmpty:"Der Reisepass darf nicht leer sein"},connectedAccounts:"Verbundene Konten",connections:"Verbindungen",federated:"Federated",switch:{did:"Wechseln Sie DID",profile:"Profil wechseln",passport:"Reisepass wechseln"},settings:{notification:"Benachrichtigungen",email:"Sende mir eine E-Mail, wenn bestimmte Ereignisse eintreten",wallet:"Benachrichtigung an mein Wallet senden, wenn Ereignisse auftreten",phone:"Sende mir eine Textnachricht, wenn bestimmte Ereignisse auftreten",webhook:"Webhooks",add:"Neuen Webhook hinzufügen",url:"Benutzerdefinierte URL",slack:"Slack-Webhook",tested:"Testnachricht gesendet"},activeUserSessions:"Aktive Benutzersitzungen",forceLogout:"Erzwungenes Abmelden",forceLogoutDescription:"Bestätigen Sie die erzwungene Abmeldung dieses Benutzers?",openProfile:"Profil anzeigen",removeUserSuccess:"Benutzer erfolgreich entfernt"},transferNode:{name:"Änderung des Eigentums",inviteDialog:{title:"Transfer Blocklet Server",tips:{progress:"Der Servertransfer muss vom Empfänger akzeptiert werden, um den Übertragungsvorgang abzuschließen. Sobald der Empfänger es akzeptiert hat, können Sie sich nicht erneut mit dem aktuellen Reisepass am Server anmelden.",newOwnerPermissions:"Der neue Eigentümer wird das Recht haben, alle Operationen wie Mitglieder, Pässe und Blocklets zu verwalten.",revoke:'Wenn Sie die Übertragungseinladung zurückziehen möchten, können Sie den Einladungslink auf der Seite "Team -> Mitglieder -> Einladen" löschen.'},createInviteLink:"Erzeugen Sie den Einladungslink",createSuccessTip:"Der Einladungslink wurde erfolgreich erstellt. Klicken Sie zum Kopieren und Senden des Links an das eingeladene Mitglied. Beachten Sie bitte, dass dieser Einladungslink nicht erneut verwendet werden kann und am {expireDate} abläuft."},delegateDialog:{title:"Autorisierung erforderlich",scan:"Verwenden Sie die folgenden Methoden, um den Server zur Übertragung des Server-Eigentums-NFTs zu autorisieren.",confirm:"Bestätige in deiner DID-Brieftasche",success:"Autorisierung erfolgreich"}},transferApp:{name:"Übertragung des Eigentums",transferDialog:{title:"Übertragungsantrag",tips:{progress:"Die Anwendung muss vom Empfänger akzeptiert werden, um den Übertragungsvorgang abzuschließen. Sobald der Empfänger es akzeptiert hat, können Sie sich nicht erneut mit dem aktuellen Reisepass in der Anwendung anmelden.",newOwnerPermissions:"Der neue Eigentümer hat das Recht, alle Vorgänge wie Mitglieder, Pässe und Einstellungen zu verwalten."},createTransferLink:"Generieren Sie einen Überweisungslink",createSuccessTip1:'Der Transferlink wurde erfolgreich erstellt. Der Eingeladene muss <a style="color: rgb(29, 193, 199)" target="_blank" href="https://www.didwallet.io/">DID Wallet</a> verwenden, um das Eigentum an der App zu erhalten.',createSuccessTip2:"Bitte klicken Sie zum Kopieren und Senden des Links an das eingeladene Mitglied. Bitte beachten Sie, dass dieser Übertragungslink nicht wiederverwendet werden kann und am {expireDate} abläuft. Ihr Übertragungslink wird nur einmal angezeigt und kann nach dem Schließen dieses Dialogs nicht mehr angesehen werden.",createSuccessTip3:"Nach erfolgreichem Transfer wird die Anwendung automatisch neu gestartet, um die Änderungen wirksam werden zu lassen",link:"Transfer-Link",iKnow:"Ich habe den Link kopiert und gespeichert"},connectDialog:{title:"Autorisierung erforderlich",scan:"Verwenden Sie die folgenden Methoden, um die Anwendung zur Eigentumsübertragung zu autorisieren.",confirm:"Bestätigen Sie in Ihrer DID-Brieftasche",success:"Autorisierung erfolgreich"},receiveDialog:{title:"Empfange Anwendungseigentum",scan:"Verwenden Sie die folgenden Methoden, um die Anwendungsinhaberschaft zu erhalten.",confirm:"Bestätigen Sie in Ihrer DID-Brieftasche",success:"Eigentum erfolgreich empfangen"},successTitle:"Du bist der neue Besitzer dieser Anwendung",visitDashboard:"Besuche das Anwendungsdashboard",description:"Sie können die Eigentümerschaft Ihrer Anwendung auf eine andere Wallet oder eine andere Person übertragen."},permission:{create:{title:"Erstellen Sie eine Berechtigung",description:"Format: <Aktion>_<Ressource>"},delete:{title:"Löschen Sie die Berechtigung",description:"Löschen von {name} bestätigen?"},error:{actionEmpty:"Aktion kann nicht leer sein",resourceEmpty:"Die Ressource darf nicht leer sein",permissionTooLong:"Die Erlaubnis darf {length} Zeichen nicht überschreiten",descriptionTooLong:"Beschreibung darf nicht länger als {length} Zeichen sein"}},passport:{create:{title:"Erstellen Sie einen Reisepass",titleTip:"Der Titel kann nach der Erstellung nicht geändert werden, sollte innerhalb von 14 Zeichen empfohlen werden"},bind:{title:"Bindungsgenehmigung",roleTip:"Sie erhalten alle Berechtigungen des ausgewählten Reisepasses nach der Bindung.",permissionTip:"Sie erhalten die ausgewählten Berechtigungen nach der Bindung",transferLeftTitle:"Alle Berechtigungen",transferRightTitle:"Gewährte Berechtigungen"},delete:{title:"Lösche Reisepass",description:"Die Pässe, die vom Benutzer gehalten werden, verlieren alle Berechtigungen, nachdem sie gelöscht wurden. Sind Sie sicher, dass Sie fortfahren möchten?"},error:{titleEmpty:"Der Titel darf nicht leer sein",titleTooLong:"Der Titel darf maximal {length} Zeichen nicht überschreiten",descriptionEmpty:"Beschreibung darf nicht leer sein"},issuance:{pending:"Ausstehend",create:{title:"Generiere Link"},delete:{title:"Löschen Sie den Empfangslink",description:"Löschen von {link} bestätigen?"}},issue:"Reisepass ausstellen",disableIssuance:"Deaktiviere die Ausstellung von Pässen",enableIssuance:"Aktivieren Sie den Reisepassausstellung",disableIssuanceTip:'"Issue Passport", "Invite Member" und andere Operationen werden deaktiviert sein.',enableIssuanceTip:"Passe ausstellen",trustedPassportIssuers:"Vertrauenswürdige Reisepassaussteller",trustedIssuers:"Vertrauenswürdige Aussteller",trustedFactories:"Vertrauenswürdige NFT-Sammlungen",trustedFactoriesTip:"Verwalten Sie vertrauenswürdige NFT-Sammlungen, die zum Austausch gegen einen Reisepass verwendet werden können",searchFactoryAddress:"Suche Sammlung DID",configFactories:"Vertrauenswürdige NFT-Sammlungen konfigurieren",configFactoriesTip:"Ermöglichen Sie Benutzern, NFTs gegen Reisepässe auszutauschen",factoryAddress:"NFT-Sammlungsadresse",factory404:"NFT-Sammlung nicht gefunden",factoryAddressTip:"Die NFT-Sammlungsadresse muss auf der ArcBlock Main Chain existieren",role:"Passporttyp",ttl:"Passport-Ablaufpolitik",ttlNever:"Nie ablaufen",ttlMint:"Seit dem NFT-Kauf",ttlExchange:"Da Reisepass Austausch",ttlNeverTip:"Der Reisepass ist gültig bis auf Widerruf",ttlMintTip:"Der Reisepass bleibt gültig, solange der NFT gekauft wird, bis Sie ttl angegeben haben oder ihn widerrufen haben",ttlExchangeTip:"Der Reisepass ist gültig von dem Zeitpunkt an, an dem der Benutzer erfolgreich umgetauscht hat, bis Sie ttl oder widerrufen haben",ttlTip:'365d bedeutet 365 Tage, du kannst auch "30 Tage" oder "24h" verwenden',validUntil:"Gültig bis: {date}",externalPassport:"Externer Reisepass",notTrustedIssuerTip:"Der Reisepass kann nicht verwendet werden, da der Aussteller nicht in der Liste vertrauenswürdiger Aussteller steht",issuerDid:"Herausgeber-DID",addNodeToTrustedIssuers:"Fügen Sie den aktuellen Server als vertrauenswürdigen Reisepass-Aussteller hinzu",revoked:"Widerrufen",noPermission:"Keine Berechtigung, diese Aktion auszuführen",shouldNotDeleteCurrent:"Du kannst deinen derzeit verwendeten Pass nicht widerrufen",mappingRule:"Zuordnungsregel",defaultRule:"Standardregel",search:"Suche Reisepass",searchIssuerDid:"Suche Aussteller-DID",issueBy:"Problem von {name}",configColor:"Konfiguration Reisepassfarbe",configColorTip:"Passe die Farbe des Reisepasses an",color:"Passfarbe",description:"Verwenden Sie diesen Pass, um {teamName} als {title} zu verbinden",displayBuiltin:"Builtin",displayCustom:"Benutzerdefiniert",typesTip:"Passarten nach Komma getrennt anpassen",issuanceDate:"Ausstellungsdatum: {date}",sourceMaps:{recover:"Wiederhergestellt",issue:"Ausgegeben",invite:"Eingeladen",trusted:"Vertraut"},related:"Verwandte Pässe",operationLogs:"Betriebsprotokolle",owner:"Besitzer",status:"Status",statusMap:{valid:"Gültig",revoked:"Widerrufen",expired:"Abgelaufen"},view:"Pässe verwalten",trustedPassportIssuersTip:"Verwalten Sie vertrauenswürdige Passport-Aussteller, die zur Ausstellung von Pässen verwendet werden können",issuanceTime:"Ausstellungsdatum",relatedDescription:"Der aktuelle Reisepass leitet sich vom folgenden Reisepass ab",passportExpireTime:"Passablaufdatum",customExpireTime:"Benutzerdefinierte Ablaufzeit"},inviting:{link:"Einladungslink",inviter:"Einladen",delete:{title:"Lösche Einladungslink",description:"Löschen von {link} bestätigen?"},disabledTip:"Einladung ist nicht aktiviert"},whoCanAccess:{all:{title:"Für alle zugänglich"},owner:{title:"Nur Eigentümer"},invited:{title:"Nur eingeladene Benutzer"}}},launcher:{provider:"Anbieter",adminUrl:"URL"},session:{blockAccess:"Du wurdest von diesem Server blockiert"},launchBlocklet:{appInfo:"Anwendungsinformationen",appInfoDesc:"Bestätigen Sie die Antragsinformationen",author:"Anwendungsautor: {author}",setup:"Setup-Blocklet",redirect:"Weiterleitung",alreadyRunning:"Anwendung {name} läuft bereits auf diesem Blocklet Server",alreadyInstalled:"Die Anwendung {name} ist bereits auf diesem Blocklet Server installiert.",alreadyExists:"Diese Anwendung existiert bereits, Umleitung...",purchased:"Bereits gekauft",purchase:"Kauf",nextStep:"Nächster Schritt",agreement:"Lizenzvereinbarung",agreeAll:"Zustimmen und Fortfahren",installing:"Installiere {appName} auf {serverName}. Es kann mehrere Minuten dauern. Bitte bleiben Sie dran...",redirecting:"{appName} wurde erfolgreich installiert, jetzt wird gestartet...",start:"Starten",launch:"Installiere Blocklet auf Server",launchSuccess:"{appName} wurde erfolgreich gestartet!",installSuccess:"Blocklet wurde erfolgreich auf {serverName} installiert und gestartet",openInRegistry:"Ansehen im Blocklet Store",subTitle:"Bereit, Blocklet {appName} auf {serverName} zu installieren",installingSubTitle:"{appName} wird installiert",access:"Öffne die Anwendung",viewApplication:"Bewerbung anzeigen",newVersion:"Neue Version",newVersionDesc:"Die Anwendung existiert bereits, aber die aktuelle Version kann aktualisiert werden",upgradeNow:"Jetzt upgraden",later:"Später",introduction:"Einführung",welcome:"Willkommen beim Blocklet Startassistenten",accept:"Ich stimme den Blocklet-Endbenutzer-Lizenzbedingungen zu",license:"Anwendungslizenz",next:"Stimme den EULA zu und fahre fort",purchaseApp:"Kaufen Sie Blocklet",setupAppDesc:"Initialisiere deinen Blocklet",launched:"Vollständig",confirmInstall:"Bestätige Installation",dialog:{title:"Werden Sie App-Besitzer",nftFreeDescription:"Bitte präsentieren Sie den App-Space-NFT und erstellen Sie ein App-Konto, um fortzufahren.",nftPaidDescription:"Bitte präsentieren Sie den App-Space-NFT und den App-Kauf-NFT, um fortzufahren",freeDescription:"Bitte erstellen Sie ein App-Konto, um fortzufahren",paidDescription:"Bitte präsentiere den App-Kauf-NFT und erstelle ein App-Konto, um fortzufahren.",confirm:"Bestätigen Sie in Ihrer DID-Brieftasche",success:"Autorisierung erfolgreich",authorizationTimeout:"Autorisierungstimeout"},waiting:{verifying:"Überprüfung der App-Metadaten ...",downloading:"App-Bundle wird heruntergeladen...",downloadingComponent:"Herunterladen von {name}",extractingComponent:"Extrahieren von {name}",extracting:"Extrahiere App Bundle...",installing:"Installiere App-Komponenten...",installed:"Installiert",starting:"Die App wird gestartet...",done:"Ihre App startet..."},error:{loadMetaFailed:"App-Informationen konnten nicht geladen werden",appMetaNotFound:"Keine Informationen für diese App gefunden",downloadFailed:"Der App-Download ist fehlgeschlagen. Bitte versuche es erneut.",installFailed:"Die App konnte nicht installiert werden, bitte versuche es erneut",startFailed:"Fehler beim Starten der App, bitte versuche es erneut",launchFailed:"Die App konnte nicht gestartet werden, bitte versuchen Sie es erneut",installedButStopped:"Die App wurde erfolgreich installiert, kann jedoch nicht gestartet werden. Sie können sie manuell starten, nachdem Sie die blockierenden Probleme behoben haben.",installedButError:"Die App wurde erfolgreich installiert, konnte jedoch nicht gestartet werden",restoreFailed:"Fehler beim Wiederherstellen der App, bitte versuchen Sie es erneut",resourceBlocklet:"Dieses Blocklet kann nicht direkt gestartet werden. Du kannst es aber einer bestehenden Anwendung hinzufügen."},steps:{introduction:"Einführung",installApp:"Installiere Anwendung",purchaseSpace:"Kaufe Platz",prepareSpace:"Bereite den Weltraum vor"},installRelatedComponents:"Installiere verwandte Blocklets",canNotInstall:"Kann nicht installieren",dockerBlockletCantInstall:"Kann Blocklet nicht installieren, da der Blocklet-Server Docker oder das Docker-Netzwerk nicht aktiviert hat"},issuePassport:{title:"Reisepass empfangen",description:"Verwenden Sie die folgenden Methoden, um den von {name} ausgestellten Pass zu erhalten",dialog:{scan:"Verwenden Sie die folgenden Methoden, um den Reisepass zu beantragen",confirm:"Bestätigen Sie auf Ihrer DID Wallet",success:"Der Reisepass wurde erfolgreich zu Ihrer Brieftasche hinzugefügt",loginWithPassport:"Verbinden Sie sich mit diesem Reisepass",autoClose:"Die Seite schließt automatisch in {seconds}s",autoJump:"Die Seite wird in {seconds}s automatisch weitergeleitet."}},lostPassport:{title:"Verlorenen Pass",description:"Der Besitzer von {name} kann den Pass mit folgenden Methoden abrufen. Mitglieder kontaktieren bitte den Besitzer zur Neuausstellung des Passes.",return:"Abbruch des Abruf Vorgangs, Rückkehr zur Startseite",receivePassport:"Empfange den Reisepass",recoverDialog:{title:"Reisepass wiederherstellen",scan:"Verwenden Sie die folgenden Methoden, um Ihren Reisepass abzurufen",confirm:"Bestätigen Sie auf Ihrer DID Wallet",success:"Erfolgreich abgerufen"},receiveDialog:{title:"Reisepass erhalten",scan:"Verwenden Sie die folgenden Methoden, um den Reisepass zu erhalten",confirm:"Bestätigen Sie in Ihrer DID Wallet",success:"Erfolgreich empfangen"},recoverPassport:"Pass wiederherstellen"},invite:{message:"{name} lädt Sie ein, {role} von {dapp} zu sein",success:"Sie haben erfolgreich an {dapp} teilgenommen",receive:"Empfange mit",validUntil:"Gültig bis:",viewPermission:"Ansichtsberechtigung",emptyPermission:"Leere Berechtigung",open:"Öffnen",description:{step1:"Lade {wallet} herunter und richte es ein",step2:"Klicken Sie auf die obige Schaltfläche, um den Reisepass zu erhalten",step3:"Einloggen in {dapp} mit erhaltenem Reisepass"},transferNFTDialog:{title:"Akzeptieren Sie Blocklet Server {name}",scan:"Verbinden Sie den Launcher, um den Empfang des Blocklet-Servers abzuschließen.",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Erfolgreich verbunden, warten auf Bestätigung des Serverempfangs"}},receive:{dialog:{title:"Pass erhalten",scan:"Nach Erhalt des Passes können Sie sich mit diesem beim Anmelden in der Anwendung verwenden.",confirm:"Bestätigen Sie in Ihrer DID-Brieftasche",success:"Sie sind erfolgreich verbunden"}},navigation:{navigation:"Navigation",actionFailed:"Aktion fehlgeschlagen",form:{themeConfig:"Theme Configuration",contentConfig:"Content Configuration",title:"Titel",titlePlaceholder:"Bitte geben Sie den Navigationstitel ein",titleTooLong:"Die Titellänge sollte kleiner sein als {len}",description:"Beschreibung",descriptionPlaceholder:"Bitte geben Sie die Navigationbeschreibung ein",descriptionTooLong:"Die Beschreibungslänge sollte kleiner sein als {len}",icon:"Standard-Symbol",iconPlaceholder:"Bitte ein Symbol auswählen",invalidIcon:"Symbol ist ungültig",findMoreIcon:"Finde mehr Symbole",link:"Link",linkPlaceholder:"Bitte geben Sie den Navigationslink ein",invalidLink:"Der Link ist ungültig",component:"Komponente",componentPlaceholder:"Bitte wähle das Navigationskomponente aus",role:"Rolle",rolePlaceholder:"Bitte wählen Sie die Navigationsrolle",locale:"Sprachumgebung",localePlaceholder:"Bitte geben Sie die gewünschte Lokalisierung hinzu",localeExists:"{value} existiert bereits",activeIcon:"Aktives Symbol",activeColor:"Aktive Farbe",color:"Standardfarbe",colorPlaceholder:"z. B. #FF0000",invalidColor:"Ungültige Farbe",searchIcons:"Suchen Sie nach einem Symbol",searchIconsPlaceholder:"Beispiel: mdi:home"},action:{add:"Füge Navigation hinzu",addSub:"Unternavigation hinzufügen",edit:"Navigation bearbeiten",hide:"Navigation ausblenden",show:"Navigationsleiste anzeigen",del:"Navigation löschen",new:"Neu",noAddSub:"Deinstallierte Komponente kann keine Unter-Navigation hinzufügen",noEdit:"Deinstallierte Komponente kann nicht bearbeitet werden",noDel:"Das Löschen der integrierten Navigation ist nicht zulässig",reset:"Zurücksetzen",restConfirmTitle:"Möchten Sie alle benutzerdefinierten Navigationseinstellungen löschen?",restConfirmDesc:"Nach dem Löschen wird die Navigation auf die ursprüngliche Standardkonfiguration von Blocklet zurückgesetzt.",resetSuccessful:"Reset erfolgreich"},access:"Zugriff",members:"Mitglieder",passport:"Pass",analytics:"Analytics",dashboard:"Dashboard",studio:"Studio",blockletService:"Blocklet Dienst"},storage:{spaces:{title:"DID Spaces",tips:"Tipps",label:"Geben Sie den DID Spaces Gateway ein",connected:{title:"Verbundene DID Spaces",tag:"Verbunden"},connectedWithName:"Sie haben sich erfolgreich mit {name} verbunden",addedWithName:"Du hast erfolgreich {name} hinzugefügt",connects:"Verbinden",reconnect:"Verbinde erneut",addressCannotEmpty:"Die Adresse darf nicht leer sein",addressNotValid:"{url} ist keine gültige Adresse",authorize:{title:"Verbinde {appName} mit DID Spaces",scan:"Verwenden Sie die folgenden Methoden, um der App {appName} die Verbindung zu DID Spaces zu ermöglichen",success:"Verbindung erfolgreich hergestellt"},provideNFT:{title:"Bitte zeige die DID Spaces NFT für {appName}",scan:"Verwenden Sie die folgenden Methoden, um der App {appName} die Anzeige von DID Space NFT zu ermöglichen",success:"Erfolgreich verbunden"},backup:{title:"Sicherungskopie",records:"Sicherungsdatensätze",without:"Ohne Backup",succeeded:"Sicherung erfolgreich",failed:"Sicherung fehlgeschlagen"},autoBackup:{title:"Auto-Backup",enabled:"Automatisches Backup ist aktiviert",disabled:"Die automatische Sicherung ist ausgeschaltet"},autoCheckUpdate:{title:"Automatische Benachrichtigung über neue Version überprüfen",enabled:"Automatisches Überprüfen auf neue Version ist aktiviert",disabled:"Automatische Überprüfung auf neue Version ist deaktiviert"},backupSuccessfully:"Backup erfolgreich durchgeführt",restore:"Wiederherstellen",restoreSuccessfully:"Erfolgreich wiederhergestellt",gateway:{title:"Gateway",select:"Wähle einen DID-Space aus",add:{title:"DID Spaces hinzufügen",label:"Geben Sie die URL der DID Spaces ein",failed:"Fehler beim Hinzufügen von DID Spaces",invalidUrl:"Ungültige DID-Spaces-Gateway-URL",duplicate:"{name} ist bereits mit diesem Blocklet verbunden"},delete:{title:"Trennen",succeeded:"Erfolgreich getrennt von DID Spaces {name}",failed:"Fehler beim Trennen von Gateway",failedForSelected:"Kann den ausgewählten DID-Space nicht trennen",descForBackup:`Nach dem Trennen von {name} können Sie Blocklet nicht mehr auf dieses DID Space sichern. Sind Sie sicher, dass Sie trennen möchten?
|
|
2
|
-
Sie können die Sicherungsoperationen wiederherstellen, indem Sie sich erneut mit {name} verbinden.`,descForStorage:`Nach dem Trennen von {name} können Sie Blocklet nicht mehr auf dieses DID Space sichern. Sind Sie sicher, dass Sie trennen möchten?
|
|
3
|
-
Sie können die Sicherungsoperationen wiederherstellen, indem Sie sich erneut mit {name} verbinden.`},connect:{title:"Verbinde DID Spaces",add:"Verbinde dich jetzt mit DID Spaces",addTips:"Sie sind noch nicht mit einem DID Space verbunden",switch:"Wechseln Sie DID Spaces",switchTips:"Sie sind mit {name} verbunden",connected:"Verbunden"},switch:{failedForMismatchSpace:"Bitte mit dem richtigen DID Space {name} verbinden"},connectTo:"Verbinde mit DID Spaces"},strategy:{title:"Backup-Strategie",autoBackup:"Auto-Backup",backupNow:"Sichern Sie jetzt",viewBackupFiles:"Backup-Dateien anzeigen"},progress:{title:"Backup-Fortschritt"},record:{title:"Sicherungsaufzeichnungen",emptyData:"Keine Einträge"},notYet:"Es gibt noch kein Backup in Arbeit...",connect:{now:"Jetzt verbinden",title:"Mit DID Spaces verbinden",provider:"Stellen Sie Ihren DID Space bereit, um mit der Sicherung zu beginnen",providerForStorage:"Stellen Sie Ihren DID Space zur Datenspeicherung bereit",useWallet:"Mit DID Wallet verbinden",useWalletReconnect:"Mit DID Wallet erneut verbinden",useSpaceGateway:"Über DID Space Gateway verbinden",useSpaceGatewayReconnect:"Erneut über DID Space Gateway verbinden",switchToSpace:"Zu DID Space wechseln",switchToSpaceSucceeded:"Zu DID Space {name} gewechselt",succeeded:"Erfolgreich mit DID Space verbunden",disconnect:"Verbindung trennen",abortBlockletBackup:"Backup abbrechen"},disconnected:{tag:"Getrennt",reconnectNow:"Verbinde jetzt erneut"}},appLevel:{title:"Anwendungsebene speichern",description:"Alle Daten, die von der Anwendung generiert werden, werden in diesem DID Space gespeichert"}},log:{lastDays:{1:"Letzter 1 Tag",7:"Letzte 1 Woche"}},oauth:{commonSettings:"Allgemeine Einstellungen",save:"Speichern",saveSuccess:"Speichern erfolgreich",saveFailed:"Speichern fehlgeschlagen",issued:"Ausgegeben",thirdPartyLogin:"Drittanbieter-Anmeldung",alreadyBindOAuth:"Bereits Drittanbieter-Anmeldung verknüpft",alreadyBindWallet:"Bereits DID Wallet binden",auth0:{enable:"Auth0-Anmeldung aktivieren",domain:"Domain",domainDescription:"Die Domäne von Auth0 ist erforderlich",clientId:"Kunden-ID",clientIdDescription:"Die clientId von Auth0 ist erforderlich",clientSecret:"Geheimclient",clientSecretDescription:"Auth0-OAuth-Anwendung Der geheime Clientschlüssel ist erforderlich"},comingSoon:"Es werden weitere Anmeldeverfahren entwickelt.",moreLogin:"Mehr Anmeldung",federated:"Föderiertes Login",runTest:"Test",github:{enable:"Aktiviere Github-Anmeldung",clientId:"Client ID",clientIdDescription:"Für die Github OAuth-Anwendung ist eine clientId erforderlich",clientSecret:"Client Secret",clientSecretDescription:"Für die Github OAuth-Anwendung ist ein clientSecret erforderlich"},google:{enable:"Google-Anmeldung aktivieren",clientId:"Client ID",clientIdDescription:"Für die Google OAuth-Anwendung ist die Client-ID erforderlich",clientSecret:"Geheimnis des Kunden",clientSecretDescription:"Für die Google OAuth-Anwendung ist ein clientSecret erforderlich"},apple:{enable:"Anmeldung mit Apple aktivieren",teamId:"Team-ID",teamIdDescription:"Für die Apple OAuth-Anwendung ist eine Team-ID erforderlich",serviceId:"Service-ID",serviceIdDescription:"Für die Apple OAuth-Anwendung ist eine Dienst-ID erforderlich",keyId:"Schlüssel-ID",keyIdDescription:"Für Apple OAuth ist eine Anwendungsschlüssel-ID erforderlich",authKey:"Auth Schlüssel",authKeyDescription:"Authentifizierungsschlüssel für Apple OAuth-Anwendung erforderlich",bundleId:"Bundle-ID",bundleIdDescription:"Die Apple OAuth Anwendungs-Bundle-ID ist erforderlich"},oauth:"Drittanbieter-Anmeldung"},expiration:{mobile:{tips:{success:"{validity}",warning:"{validity}",error:"Abgelaufen"},loadFailed:"Wiederholen!"},desktop:{tips:{success:"Das Abonnement wird nach {validity} ablaufen",warning:"Das Abonnement läuft nach {validity} ab",error:"Abonnement abgelaufen"},loading:"Abonnement laden...",loadFailed:"Fehler beim Laden der Abonnementinformationen, bitte erneut versuchen!",nextInvoice:"Nächste Rechnung: {date}"}},analytics:{trend:"Trends",detail:"Störung",traffic:{totalRequests:"Gesamtanfragen",validRequests:"Erfolgreiche Anfragen",failedRequests:"Fehlgeschlagene Anfragen",uniqueVisitors:"Einzigartige Besucher",uniqueFiles:"Einzigartige URLs",uniqueReferrers:"Einzigartige Überweisende",uniqueNotFound:"Einzigartiger 404",uniqueStaticFiles:"Einzigartige statische Dateien",logSize:"Log Größe",bandwidth:"Bandbreite"},runtime:"Laufzeit"},federated:{inviteJoinFederatedLogin:"Einladung zum Beitritt zur dezentralen Anmeldung",inviteJoinFederatedLoginDescription:"Kopieren Sie die folgende Adresse und füllen Sie sie in der Anwendung aus, wo Sie sich anmelden müssen, um sich für eine föderierte Anmeldung zu bewerben.",federatedLogin:"Föderiertes Login",joinFederatedLogin:"Federiertes Anmelden beitreten",joinFederatedLoginDescription:"Bitte geben Sie die federierte Login-Adresse ein, die Ihnen von Master Blocklet zur Verfügung gestellt wurde, um sich beim föderierten Login anzumelden",quitFederatedLogin:"Abgemeldeter Verbundlogin",quitFederatedLoginDescription:"Nach dem Beenden der föderierten Anmeldung ist die normale Anmeldung immer verfügbar.",federatedJoinAppUrl:"Mitglied werden bei federiertem Login appUrl",federatedJoinAppUrlRequired:"Bitte geben Sie die URL der Föderierten Anmeldung ein",failedToGetFederatedLoginAppUrl:"Fehler beim Abrufen der föderativen Anmeldung join appUrl",federatedJoinAppUrlInvalid:"Die URL der föderierten Anmeldung (Federated login) ist ungültig.",siteDetail:"Seitendetail",approveToJoinLogin:"Mitgliedschaft in der Verbandseinwahl genehmigen",approve:"Anmeldung aktivieren",revoke:"Deaktiviere die Anmeldung",enableFederatedLogin:"Aktivieren Sie die föderierte Anmeldung",disableFederatedLogin:"Deaktivierte föderierte Anmeldung",enableFederatedLoginDescription:"Nach Aktivierung der föderierten Anmeldung wird diese Seite automatisch angemeldet.",disableFederatedLoginDescription:"Nachdem die dezentrale Anmeldung deaktiviert wurde, wird diese Seite nicht automatisch angemeldet werden",enableFederatedAutoLogin:"Aktiviere die automatische Anmeldung",enableFederatedAutoLoginDescription:"Nachdem die automatische Anmeldung aktiviert wurde, wird sich die Seite automatisch mit den Anmeldedaten des Verbund-Logins anmelden, falls derzeit ein einheitlicher Anmeldestatus besteht.",disableFederatedAutoLogin:"Deaktiviere automatischen Login",disableFederatedAutoLoginDescription:"Nachdem die automatische Anmeldung deaktiviert ist, wird die Website die Benutzerinformationen der gemeinsamen Anmeldung nicht mehr automatisch einloggen und Sie können immer noch wählen, sich manuell mit der Identität der Föderationsanmeldung anzumelden.",info:{appId:"APP HAT",appPid:"Permanente ID",migratedFrom:"Auch bekannt als",appName:"Blocklet-Name",appDescription:"Blocklet-Beschreibung",appUrl:"Blocklet-URL",appLogo:"Blocklet Logo",did:"Blocklet DID",serverId:"Blocklet Server ID",serverVersion:"Blocklet Server Version",version:"Blocklet-Version",appliedAt:"Bewerben Sie sich bei",status:"Status"},status:{pending:"Ausstehend",approved:"Genehmigt",rejected:"Abgelehnt",revoked:"Widerrufen"},disbandFederatedLogin:"Deaktiviere föderierte Anmeldung",disbandFederatedLoginDescription:"Nach der Auflösung der föderierten Anmeldung werden sich alle Mitgliedsseiten automatisch von der föderierten Anmeldung abmelden.",syncConfig:"Synchronisiere Konfiguration der föderierten Sites",quitMember:"Entfernen",quitMemberDescription:"Angegebene Mitglieder aus der Site-Gruppe entfernen",removeFederatedLogin:"Mitglied entfernen",removeFederatedLoginDescription:"Nach dem Entfernen bestimmter Mitglieder aus der Site-Gruppe können Mitglieder sich nur noch normal anmelden"},optionsOrder:{1:"Option Eins",2:"Option Zwei"},securityRule:{title:"Sicherheitsregel",sortByDescription:"Nach Übereinstimmungspriorität sortieren",add:"Sicherheitsregel hinzufügen",edit:"Sicherheitsrichtlinie bearbeiten",view:"Sicherheitsregel anzeigen",form:{precede:"Voranstellen",pathPattern:"Pfadmuster",pathPatternPlaceholder:"Bitte Pfadmuster eingeben",pathPatternErrorText:"Ungültiges Pfadmuster",accessPolicyOrResponseHeaderPolicyRequired:"Zugriffsrichtlinie oder Antwortrubrikenrichtlinie ist erforderlich",accessPolicy:"Zugriffsrichtlinie",accessPolicyPlaceholder:"Zugriffsrichtlinie auswählen",accessPolicyHelperText:"Bitte Zugriffsrichtlinie auswählen",responseHeaderPolicy:"Richtlinie für Antwortheader",responseHeaderPolicyPlaceholder:"Bitte wählen Sie die Antwort-Headerrichtlinie aus",responseHeaderPolicyHelperText:"Bitte wählen Sie eine Antwort-Header-Richtlinie aus",remark:"Bemerkung",remarkPlaceholder:"Bitte geben Sie eine Bemerkung ein",component:"Komponente",componentPlaceholder:"Bitte wählen Sie das Komponent"},delete:{title:"Sicherheitsregel löschen?",description:"Nachdem eine Sicherheitsregel entfernt wurde, wird die Regel nicht mehr wirksam"},useless:"Unnötige Sicherheitsregel"},responseHeaderPolicy:{title:"Reaktionskopfzeilen-Richtlinie",add:"Richtlinie für Antwortoptionen hinzufügen",edit:"Antwort-Header-Richtlinien bearbeiten",view:"Antwort-Headerrichtlinie anzeigen",form:{name:"Name",namePlaceholder:"Bitte Namen eingeben",description:"Beschreibung",descriptionPlaceholder:"Bitte Beschreibung eingeben",cors:{origin:"Herkunft",originPlaceholder:"Folgende Domainformate werden unterstützt: http://www.example.com, http://*.example.com, http://www.example.com:8080, * (Platzhalter werden nicht empfohlen)",originHelperText:"Domänenname beginnt mit http:// oder https://, eine pro Zeile, eine Platzhalterzeichen * pro Zeile",methods:"Methoden",allowedHeaders:"Zugelassene Header",allowedHeadersPlaceholder:"Es wird empfohlen, auszufüllen *, unterstützt mehrzeilige Eingabe",allowedHeadersHelperText:"Teile dem Server mit, welche benutzerdefinierten HTTP-Anforderungsheader in der nächsten Anforderung beim Senden einer OPTIONS-Anforderung verwendet werden können, wie z. B: x-blocklet-version",exposedHeaders:"Offengelegte Header",exposedHeadersPlaceholder:"Unterstützt Eingabe in mehreren Zeilen",exposedHeadersHelperText:"Expose-Header konfigurieren, zum Beispiel: X-Content-Range",maxAge:"Maximalalter (Sekunden)",maxAgeHelperText:"Der Gültigkeitszeitraum des durch die OPTIONS-Anfrage erhaltenen Ergebnisses muss eine positive Ganzzahl sein",optionsSuccessStatus:"Optionserfolgsstatus",preflightContinue:"Fortfahren",credentials:"Anmeldedaten",smartModeHelperText:"Alle Domänennamen der aktuellen Anwendung sowie alle Domänennamen der Verbundanmeldegruppenseite automatisch hinzufügen",smartMode:"Intelligenter Modus"},originOverride:"Ursprungsüberschreibung",originOverrideHelperText:"Ob die Logik in der Anwendung diese Antwortkopfzeile überschreiben darf"},delete:{title:"Antwort-Header-Richtlinie löschen?",description:"Nachdem eine Antwortheaderrichtlinie entfernt wurde, tritt die Richtlinie nicht mehr in Kraft"}},accessPolicy:{title:"Zugriffsrichtlinie",add:"Zugriffsrichtlinie hinzufügen",edit:"Zugriffsrichtlinie bearbeiten",view:"Zugriffsrichtlinie anzeigen",form:{name:"Name",namePlaceholder:"Bitte Namen eingeben",description:"Beschreibung",descriptionPlaceholder:"Bitte Beschreibung eingeben",roles:"Zugriffsrollen",accessType:"Zugriffstyp"},delete:{title:"Zugriffsrichtlinie löschen?",description:"Nach dem Entfernen einer Zugriffsrichtlinie wird die Richtlinie nicht mehr wirksam"}},didConnect:{genKeyPair:{title:"Blocklet DID generieren",scan:"Verwende die folgenden Methoden, um eine Blocklet DID zu generieren",success:"Blocklet DID erfolgreich generiert",successDesc:"Die Blocklet DID wurde erfolgreich generiert (Nachfolgende Veröffentlichungen erfordern die Wallet, die die DID generiert hat, um zu funktionieren)"},common:{invalidSession:"Ungültige Sitzung",invalidSessionDesc:"Session existiert nicht oder ist abgelaufen",connectionError:"Verbindung fehlgeschlagen"}},pagination:{next:"Nächste Seite",previous:"Vorherige Seite",rowsPerPage:"Pro Seite:",displayRows:"von",jumpToPage:"Gehe zu Seite:"},webhookEndpoint:{createWebhook:"Webhook erstellen",createWebhookTitle:"Webhook erstellen",selectAllEvents:"Alle Ereignisse auswählen",selectAllEventsTooltip:"Alle verfügbaren Ereignisse auswählen",selectedEventsCount:"{count} ausgewählte Ereignisse",selectedCount:"{count} ausgewählt",eventsCount:"{count} Ereignisse",saveWebhook:"Webhook erstellen",noAvailableEvents:"Keine verfügbaren Ereignisse",loadingEvents:"Lade Ereignisse...",loadingError:"Fehler beim Laden der Ereignisse: {message}",title:"Webhooks",noWebhooksAdded:"Keine Webhooks hinzugefügt",validation:{urlRequired:"URL erforderlich",urlInvalid:"Bitte geben Sie eine gültige URL ein",descriptionRequired:"Beschreibung erforderlich",eventRequired:"Bitte wählen Sie mindestens ein Ereignis aus"},hosted:"Gehostete Endpunkte",add:"Webhook erstellen",addTip:"Webhook-Endpoint für Live-Events einrichten",listen:"Lauschen auf",version:"API-Version",attempts:"Webhook-Versuche",url:{label:"URL",description:"Webhook-Endpoint-URL"},description:{label:"Beschreibung",description:"Eine optionale Beschreibung des Verwendungszwecks dieses Endpunkts"},events:{label:"Ereignisse auswählen",description:"Hallo, {name}."},disabled:"Deaktiviert",enabled:"Aktiviert",disable:"Deaktivieren",enable:"Aktivieren",editWebhookTitle:"Webhook aktualisieren",updateWebhook:"Webhook aktualisieren",waitingForEvents:"Warte auf Ereignisse...",loadingMore:"Lade mehr...",loadMore:"Mehr laden",response:"Antwort",request:"Anfrage",eventData:"Ereignisdaten",deleteWebhook:{title:"Webhook löschen?",description:"Nach dem Löschen eines Webhooks empfängt dieser keine Ereignisse mehr."},success:"Erfolg"}};export{e as default};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{j as o,a4 as i,E as h,aa as C}from"./vendor-mui-core-DxqV1NVn.js";import{o as k,f as B,ag as w,d as x}from"./index-BsUr7wGb.js";import{D as E,a as I,b}from"./domain-action-card-DwQ7Q8wY.js";import{aZ as T}from"./vendor-ux-did-connect-Bciw9Ypu.js";import{P as A}from"./page-header-Dm1v9v5q.js";import{r}from"./vendor-react-DoD83n6N.js";import{_ as L}from"./useSetState-BL3ktMon.js";import{S as D}from"./button-CNnuiac8.js";import{S as W}from"./layout-BqhTD729.js";import{S as _}from"./step-actions-CA74dwgt.js";import"./vendor-arcblock-DvaaLvvM.js";import"./vendor-utils-DR57WNxP.js";import"./vendor-hooks-sw5wvnca.js";import"./lottie-web-B6s7dDoL.js";import"./ExpandLess-Dc_dI20M.js";import"./permission-B5jnw9r2.js";import"./session-6ZeN-aF2.js";import"./useAsyncRetry-B7SbzXVI.js";import"./useAsync-DM8qaMe4.js";import"./confirm-DmMN-34s.js";import"./format-error-LAoTjvJe.js";import"./actions-4oGfCMlR.js";import"./MoreHoriz-D1SOL47a.js";import"./delete-confirm-BTaU_6Kx.js";import"./click-to-copy-B0HMuCN_.js";import"./shorten-label-DkFTGSoy.js";import"./util-C_BCTHfw.js";import"./InfoOutlined-CEUhR4DY.js";import"./index-BZvVDfZ4.js";import"./CheckCircle-BqOSvJMp.js";import"./content-layout-7vu3yv_f.js";function d({onNext:s,onPrevious:S}){var u,f;const{t:n}=r.useContext(T),[j,p]=r.useState(!1),{blocklet:e}=k(),[l,y]=r.useState(""),P=(((e==null?void 0:e.site)||{}).domainAliases||[]).map(t=>B.replaceSlotToIp(t.value,l)),[a,m]=L({domain:"",invalidDNSDomain:null,type:"",addDomainState:{text:""}}),c=(f=(u=e.environments)==null?void 0:u.find(t=>t.key==="BLOCKLET_APP_PK"))==null?void 0:f.value,g=P.find(t=>w.isDidDomain(t));return r.useEffect(()=>{x.get(`/dns-resolve?hostname=${window.location.hostname}`).then(({data:t})=>{y(t.address||"")}).catch(t=>{console.error(t.message)})},[]),o.jsxs($,{children:[o.jsx(i,{className:"header",children:o.jsx(A,{title:n("setup.domain.title"),subTitle:n("setup.domain.subTitle"),onClickBack:S})}),o.jsxs(i,{className:"form",sx:{display:"flex",flexDirection:"column",gap:3,overflowY:"auto"},children:[o.jsxs(i,{children:[o.jsx(i,{color:"text.primary",fontWeight:"fontWeightBold",fontSize:"1.125rem",children:o.jsx(i,{display:"inline",children:`${n("setup.domain.buyOrConnect")} (${n("common.optional")})`})}),o.jsx(i,{mt:1,children:o.jsx(I,{blocklet:e,bugDidDomainProps:{appPk:c,appId:e.appPid,siteId:e.site.id,teamDid:e.meta.did,inBlockletSetup:!0},connectDomainProps:{autoFocus:!1,appPk:c,appId:e.appPid,siteId:e.site.id,teamDid:e.meta.did,cnameDomain:g,currentIp:l,inBlockletSetup:!0,shouldCheckDomain:!0,resolveDomain:t=>x.get(`/dns-resolve?hostname=${t}`),onInputDomain:t=>{m({domain:t.domain,type:t.type}),p(t.error)},onStateChange:t=>m({addDomainState:t}),onSuccess:t=>{const v={domain:t.domain,type:t.type,nftDid:t.nftDid,chainHost:t.chainHost};m(v),s()},onError:p}})})]}),o.jsxs(i,{children:[o.jsx(i,{color:"text.primary",fontWeight:"fontWeightBold",fontSize:"1.125rem",children:o.jsx(i,{display:"inline",children:n("setup.domain.skipDescription")})}),o.jsx(i,{mt:1,children:o.jsx(b,{inSetup:!0,showAllDomains:!0})})]})]}),o.jsx(_,{mt:8,disabled:!!a.addDomainState.text,blocklet:e,onStartNow:()=>s("complete"),children:a.domain?o.jsx(D,{variant:"contained",loading:!!a.addDomainState.text,disabled:j||!!a.addDomainState.text||!a.domain,onClick:()=>s(),children:a.addDomainState.text||n("setup.continue")}):o.jsx(D,{variant:"contained",disabled:!!a.addDomainState.text,onClick:()=>s(),children:n("setup.continue")})})]})}function xt(s){return o.jsx(E,{children:o.jsx(d,{...s})})}d.propTypes={onNext:h.func,onPrevious:h.func};d.defaultProps={onNext:()=>{},onPrevious:()=>{}};const $=C(W)`
|
|
2
|
-
height: 100%;
|
|
3
|
-
overflow-y: hidden;
|
|
4
|
-
|
|
5
|
-
.form {
|
|
6
|
-
width: 100%;
|
|
7
|
-
height: 100%;
|
|
8
|
-
}
|
|
9
|
-
`;export{xt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as m}from"./vendor-react-DoD83n6N.js";import{u as a}from"./vendor-ux-did-connect-Bciw9Ypu.js";import{D as p,A as n,K as l,f as c}from"./index-BsUr7wGb.js";import{a as u,b as x}from"./domain-action-card-DwQ7Q8wY.js";import{j as t,a4 as f,ae as d,ad as h}from"./vendor-mui-core-DxqV1NVn.js";import"./vendor-utils-DR57WNxP.js";import"./vendor-hooks-sw5wvnca.js";import"./lottie-web-B6s7dDoL.js";import"./vendor-arcblock-DvaaLvvM.js";import"./ExpandLess-Dc_dI20M.js";import"./permission-B5jnw9r2.js";import"./session-6ZeN-aF2.js";import"./useAsyncRetry-B7SbzXVI.js";import"./useAsync-DM8qaMe4.js";import"./confirm-DmMN-34s.js";import"./format-error-LAoTjvJe.js";import"./actions-4oGfCMlR.js";import"./MoreHoriz-D1SOL47a.js";import"./delete-confirm-BTaU_6Kx.js";import"./click-to-copy-B0HMuCN_.js";import"./shorten-label-DkFTGSoy.js";import"./util-C_BCTHfw.js";import"./useSetState-BL3ktMon.js";import"./InfoOutlined-CEUhR4DY.js";import"./index-BZvVDfZ4.js";import"./CheckCircle-BqOSvJMp.js";function j(){const{blocklet:o}=p(),{inService:i}=n(),{t:s}=a(),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:"Derivar KeyPair",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",appearance:"Apariencia",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í.",fileCount:"Recuento de archivos",fileSize:"Tamaño del archivo",time:"Tiempo",less:"Menos",timeInfo:"Tiempo",operator:"Operador",inviter:"Invitador",clear:"Limpiar",ok:"OK",minutes:"Minutos",hours:"Horas",hour:"Hora",days:"Días",day:"Día",weeks:"Semanas",months:"Meses",custom:"Personalizado"},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",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:"Abierto a todos",description:"Abierto al mundo, cualquiera puede acceder sin pasaporte"},owner:{title:"Acceso solo para propietario",description:"Debes proporcionar el pasaporte del propietario para acceder a esta aplicación"},invited:{title:"Acceso solo con invitación",description:"Solo los miembros invitados pueden acceder."}},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",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:"La sal de sesión es un valor aleatorio usado para mejorar la seguridad de los tokens de sesión. Haga clic en el botón para rotar manualmente la sal 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:"¿Seguro que quieres 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 de nuevo, 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 cambio de DID",description:"Si está iniciando con una cartera administrada por el servidor, puede cambiar el DID de la aplicación a su propia cartera.",confirm:"¿Seguro que desea cambiar el DID de la aplicación? 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 tokens válido en la blockchain; no se admiten direcciones de token/activo/fábrica/participación.",duplicate:"Esta dirección de vault ya se usó, por favor use una diferente",appDid:"No se puede usar el DID de la aplicación como dirección de vault, por favor use una diferente"},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"},approve:{title:"Aprobar cambio de Vault",byOwner:"Firmar con el propietario del Blocklet para aprobar el cambio",byLast:"Firmar con la última bóveda para aprobar el cambio",confirm:"Confirmar usando DID Wallet",success:"El cambio de Vault está aprobado"}},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",upgradeAvailable:"Actualización disponible",needBuy:"Necesita comprar",isOfficial:"Oficialmente Certificado"},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."},skSourceMigratedTip:"Esta app se lanzó con un monedero administrado por servidor y ha migrado a DID Wallet para una mayor seguridad.",skSourceManagedTip:"Esta app se ejecuta con un monedero gestionado por servidor; migra a DID Wallet lo antes posible para una mayor seguridad."},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"},clear:"Limpiar"},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 nombres 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:"Puedes ingresar un nombre de dominio comprado de DID Names o cualquier otro dominio. Si es un Dominio DID, debes presentar el NFT del Dominio DID para continuar."},addCustomDomain:{name:"Dominio personalizado"},addDomainNFT:{showNFT:"Configurar dominio automáticamente",tips:"Puedes ingresar un dominio comprado de DID Names. Si se detecta un dominio DID, debes presentar el NFT del dominio DID para continuar.",connect:{scan:"Use uno de los siguientes métodos para conectar {domain} a {appName}",confirm:"Confirma en tu billetera de DID",success:"Autorización exitosa",title:"Conectar nombres DID a {appName}"},buyTip:"Los nombres DID harán la resolución de nombres de 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 aún no tiene un 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",authorizeFailed:"Error al obtener la información del dominio NFT, ¡intente de nuevo!"},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:"Puedes transferir la propiedad de tu aplicación a otra billetera u otra persona."},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}",sourceMaps:{recover:"Recuperado",issue:"Emitido",invite:"Invitado",trusted:"De confianza"},related:"Pasaportes relacionados",operationLogs:"Registros de operación",owner:"Propietario",status:"Estado",statusMap:{valid:"Válido",revoked:"Revocado",expired:"Caducado"},view:"Gestionar Pasaportes",trustedPassportIssuersTip:"Gestionar emisores de pasaportes de confianza que se pueden usar para emitir pasaportes",issuanceTime:"Tiempo de emisión",relatedDescription:"El pasaporte actual se deriva del siguiente pasaporte",passportExpireTime:"Fecha de vencimiento del pasaporte",customExpireTime:"Tiempo de expiración personalizado"},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:{themeConfig:"Configuración de tema",contentConfig:"Configuración de contenido",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:"Icono predeterminado",iconPlaceholder:"Por favor, seleccione un icono",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",activeColor:"Color activo",color:"Color predeterminado",colorPlaceholder:"p. ej. #FF0000",invalidColor:"Color no válido",searchIcons:"Buscar icono",searchIconsPlaceholder:"Por ejemplo: mdi:home"},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:"Registros de respaldo",without:"Sin copia de seguridad",succeeded:"Copia de seguridad realizada",failed:"Error en la copia de seguridad"},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"},useless:"Regla de seguridad inútil"},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 +0,0 @@
|
|
|
1
|
-
import{j as e,a3 as C,a4 as T}from"./vendor-mui-core-DxqV1NVn.js";import{r as W,k}from"./vendor-react-DoD83n6N.js";import{u as j,C as S,am as I,W as h,p as R,aY as U}from"./vendor-ux-did-connect-Bciw9Ypu.js";import{F as v}from"./fullpage-DO8Hcbkl.js";import{w as L}from"./wrap-locale-CX50Vz0w.js";import{g as b}from"./get-safe-url-QFq5JNoE.js";import{S as F,s as N,a as _}from"./index-BsUr7wGb.js";import"./vendor-utils-DR57WNxP.js";import"./vendor-hooks-sw5wvnca.js";import"./lottie-web-B6s7dDoL.js";import"./vendor-arcblock-DvaaLvvM.js";function D({SessionContext:a,webWalletUrl:n,onSuccess:s}){var d,g;const{api:t,session:i}=W.useContext(a),{t:o,locale:f}=j(),u=k(),{searchParams:l}=new URL(window.location.href),p=l.get("redirect"),w=async(r,E)=>{s(r,E),await i.refresh(),h.success(o("exchangePassport.success")),setTimeout(()=>{if(p){const c=decodeURIComponent(p);c.startsWith(R.WELLKNOWN_SERVICE_PATH_PREFIX)?u(c,{replace:!0}):window.location.href=b(c)}else window.location.href=window.env.pathPrefix||window.env.apiPrefix||"/"},3e3)},P=r=>{h.error(r.message)},m={},x=l.get("componentId");return x&&(m.componentId=x),i.loading?e.jsx(S,{children:e.jsx(C,{})}):e.jsx(v,{did:((d=window==null?void 0:window.blocklet)==null?void 0:d.appPid)||((g=window==null?void 0:window.env)==null?void 0:g.appPid),children:e.jsx(T,{sx:{maxWidth:"100%",height:"100%"},children:e.jsx(I,{className:"connect",action:"exchange-passport",checkFn:t.get,checkTimeout:10*60*1e3,webWalletUrl:n,onSuccess:w,onError:P,locale:f,messages:{title:o("exchangePassport.dialog.title"),scan:o("exchangePassport.dialog.scan"),confirm:o("exchangePassport.dialog.confirm"),success:o("exchangePassport.dialog.success")},extraParams:m,extraContent:null})})})}const A=L(D);function G(){const a=U(),n=(s,t)=>{s.sessionToken&&(N(t(s.sessionToken)),_(t(s.refreshToken)))};return e.jsx(A,{SessionContext:F,webWalletUrl:a,onSuccess:n})}export{G as default};
|