@abtnode/blocklet-services 1.16.39-beta-20250220-212222-627e9ea7 → 1.16.39-beta-20250221-133434-22e84449
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/services/notification/notification-queue.js +113 -98
- package/api/socket/channel/did.js +42 -40
- package/dist/assets/{Add-qzAc2S9X.js → Add-udgpbcQ-.js} +1 -1
- package/dist/assets/{ArrowDropDown-CH-FgtE-.js → ArrowDropDown-CP8sFDTn.js} +1 -1
- package/dist/assets/{CheckCircle-Bk5vNiEj.js → CheckCircle-CL1MZKeF.js} +1 -1
- package/dist/assets/{ChevronLeft-CtdCxfvp.js → ChevronLeft-Dxe-8OAb.js} +1 -1
- package/dist/assets/{ChevronRight-C0FYeIUm.js → ChevronRight-Jj-tneRk.js} +1 -1
- package/dist/assets/{DeleteOutline-DJPUGW0c.js → DeleteOutline-B2EIRfvm.js} +1 -1
- package/dist/assets/{Done-BBJndopl.js → Done-BmN-n4Md.js} +1 -1
- package/dist/assets/{Download-DR7jogQn.js → Download-T0esN2Wf.js} +1 -1
- package/dist/assets/{EditIcon-Mm3W5DE6.js → EditIcon-lehrw0S5.js} +1 -1
- package/dist/assets/{Error-DtmzeQ7l.js → Error-DxGYBrX_.js} +1 -1
- package/dist/assets/{Google-DLwblvhu.js → Google-C8v_Y3AW.js} +1 -1
- package/dist/assets/{InfoOutlined-D5FF63tH.js → InfoOutlined-BoujVod4.js} +1 -1
- package/dist/assets/{Launch-CmFwRERO.js → Launch-mtPFLcSN.js} +1 -1
- package/dist/assets/{LaunchOutlined-DBHgr88s.js → LaunchOutlined-BqUlBjUr.js} +1 -1
- package/dist/assets/{LockIcon-BbWIWjve.js → LockIcon-D4mzr6Ds.js} +1 -1
- package/dist/assets/{Loop-Bca4uFY8.js → Loop-Cxat_C59.js} +1 -1
- package/dist/assets/{MoreHoriz-Dye919yY.js → MoreHoriz-DVyDe-n2.js} +1 -1
- package/dist/assets/{PlayArrow-C2iusqXD.js → PlayArrow-CbK5B-2U.js} +1 -1
- package/dist/assets/{QuestionMarkCircle-D5Im4T0u.js → QuestionMarkCircle-CVX4b3Jp.js} +1 -1
- package/dist/assets/{ServerLogo-DWgX8KHy.js → ServerLogo-CwSdifJS.js} +1 -1
- package/dist/assets/{ViewList-DKhSCuMV.js → ViewList-B-1WiukK.js} +1 -1
- package/dist/assets/access-control-DFyNDuUU.js +13 -0
- package/dist/assets/{actions-yv07Sweq.js → actions-DHK1GfXI.js} +1 -1
- package/dist/assets/{add-component-core-C2j8WeZe.js → add-component-core-vkvnRJpn.js} +1 -1
- package/dist/assets/{add-resource-BqHzz2Ig.js → add-resource-CTeUMZhV.js} +1 -1
- package/dist/assets/addon-DrUHZbxW.js +14 -0
- package/dist/assets/analytics-BnE3HnyH.js +11 -0
- package/dist/assets/ar-DFQMZc_3.js +3 -0
- package/dist/assets/{ar-BIivBIFd.js → ar-DTywZM2n.js} +1 -1
- package/dist/assets/{audit-logs-e69kZ-on.js → audit-logs-DDZXYPO2.js} +2 -2
- package/dist/assets/{base32-CD3Vv-Tv.js → base32-Bg7zWLHM.js} +1 -1
- package/dist/assets/{branding-BxqW8Sc9.js → branding-GXnswdtg.js} +2 -2
- package/dist/assets/{bundle-avatar-BHE5y99P.js → bundle-avatar-kmTWjmMZ.js} +1 -1
- package/dist/assets/button-CImZba-M.js +1 -0
- package/dist/assets/{click-to-copy-Do3l3xtT.js → click-to-copy-SPoXGjhb.js} +1 -1
- package/dist/assets/{complete-BHA60Kfa.js → complete-DCu0ecH1.js} +1 -1
- package/dist/assets/{component-CkH8Sb15.js → component-D9VIwsjz.js} +1 -1
- package/dist/assets/{config-CGVl3CyQ.js → config-BQu2I3z_.js} +1 -1
- package/dist/assets/config-BqevGx2X.js +1 -0
- package/dist/assets/{config-navigation-B_PVAliu.js → config-navigation-C6p-GCJ-.js} +6 -6
- package/dist/assets/{config-space-Cjs4lh6z.js → config-space-BVsaPZS_.js} +1 -1
- package/dist/assets/{confirm-HOW8FaxK.js → confirm-BckBMOcL.js} +1 -1
- package/dist/assets/{connect--Oy8GGMA.js → connect-Bk35jyN7.js} +1 -1
- package/dist/assets/{connect-D4PAe19d.js → connect-D0XKtcMb.js} +1 -1
- package/dist/assets/{connect-to-aA5MeDcj.js → connect-to-BWpqHCU5.js} +1 -1
- package/dist/assets/{content-layout-CE2kjm54.js → content-layout-Dw7m52fz.js} +1 -1
- package/dist/assets/{dashboard-CiOynIcf.js → dashboard-DJwyQ0IN.js} +3 -3
- package/dist/assets/{de-CQlYxUo4.js → de-BXtePsKa.js} +1 -1
- package/dist/assets/de-DloVX1XN.js +3 -0
- package/dist/assets/{delete-confirm-CsLJksmh.js → delete-confirm-C4GbidLm.js} +1 -1
- package/dist/assets/{did-address-5heyoc8D.js → did-address-DsaXravU.js} +1 -1
- package/dist/assets/domain-B6CfBBp6.js +9 -0
- package/dist/assets/domain-action-card-B8cJWHEv.js +15 -0
- package/dist/assets/domains-C5wVrtkN.js +1 -0
- package/dist/assets/{email-kdvuQq1P.js → email-CK1jC5WM.js} +1 -1
- package/dist/assets/es-BROUndYm.js +3 -0
- package/dist/assets/{es-CiFVrJLk.js → es-Dck9acmf.js} +1 -1
- package/dist/assets/{exchange-passport-DC5cSNtB.js → exchange-passport-D6VbniS0.js} +1 -1
- package/dist/assets/{form-text-input-Vg6k4hxG.js → form-text-input-DFFNKfWp.js} +1 -1
- package/dist/assets/fr-Bhb9ys-V.js +3 -0
- package/dist/assets/{fr-ByVHFXxu.js → fr-DagbRdYW.js} +1 -1
- package/dist/assets/{fuel-BtUPmbM2.js → fuel-Co3GBMd3.js} +1 -1
- package/dist/assets/{fullpage-9ClXH1L9.js → fullpage-DmUrgaXO.js} +1 -1
- package/dist/assets/get-safe-url-B9KuIPHY.js +1 -0
- package/dist/assets/get-safe-url-Dg8FOTjG.js +1 -0
- package/dist/assets/{hi-BIS_6XAM.js → hi-CiOm7Pm0.js} +1 -1
- package/dist/assets/hi-lq_CSVSg.js +1 -0
- package/dist/assets/{home-DERpglCy.js → home-BgCLYfoO.js} +1 -1
- package/dist/assets/{id-BK78HolG.js → id-Bfsz7Vx9.js} +1 -1
- package/dist/assets/id-UU-6P82W.js +3 -0
- package/dist/assets/iframe-BfCk9odl.js +1 -0
- package/dist/assets/{index-BbnozP7b.js → index--F_W58cR.js} +1 -1
- package/dist/assets/{index-DV2omMe2.js → index-3h3nnFcB.js} +1 -1
- package/dist/assets/{index-BelkkFch.js → index-8MMKiUTa.js} +10 -10
- package/dist/assets/{index-DIP3om2u.js → index-B33NNRC0.js} +1 -1
- package/dist/assets/{index-Bygo8biQ.js → index-BNAfDqcG.js} +1 -1
- package/dist/assets/{index-DQ3_atB3.js → index-BPho8CPY.js} +1 -1
- package/dist/assets/{index-B0unYdcz.js → index-B_f-vCCz.js} +1 -1
- package/dist/assets/index-Bf_1EkYS.js +109 -0
- package/dist/assets/{index-B3zo8s95.js → index-C2h3b3qO.js} +1 -1
- package/dist/assets/{index-CF4Aobpk.js → index-CV3ZYUK0.js} +1 -1
- package/dist/assets/{index-8p3WpvMR.js → index-Cj538gfs.js} +1 -1
- package/dist/assets/{index-BtWvJbA-.js → index-CmBEz5CL.js} +15 -15
- package/dist/assets/{index-DcvnbXW2.js → index-DdqHlWJ9.js} +1 -1
- package/dist/assets/{index-CfM3rPHl.js → index-DkbuxwZE.js} +1 -1
- package/dist/assets/{index-CR0qrcky.js → index-EgZ4xTuy.js} +1 -1
- package/dist/assets/{index-dZzRZ2ZY.js → index-QGwREoo6.js} +24 -24
- package/dist/assets/{index-BQSYz_Lo.js → index-dSbx-_M8.js} +1 -1
- package/dist/assets/{index-XiSmd1mo.js → index-rP3b0CME.js} +1 -1
- package/dist/assets/{index-BwEZdySL.js → index-sLkJpR5o.js} +7 -7
- package/dist/assets/{invitation-CxmBuTs1.js → invitation-Bfoc9rG-.js} +1 -1
- package/dist/assets/{invite-B874TDmG.js → invite-B4jXTxxv.js} +1 -1
- package/dist/assets/{issue-passport-D9TAuz7P.js → issue-passport-CVA5upUB.js} +1 -1
- package/dist/assets/{item-Bl6VQtAH.js → item-0J8MTdrM.js} +1 -1
- package/dist/assets/{ja-C_qbKn0g.js → ja-BshbMPd-.js} +1 -1
- package/dist/assets/ja-DPXUbBhx.js +3 -0
- package/dist/assets/{ko-Dlp9c2u9.js → ko-BpvdPG0r.js} +1 -1
- package/dist/assets/ko-CrrpvFJn.js +3 -0
- package/dist/assets/{launch-result-message-B237vj_f.js → launch-result-message-BqgwRruP.js} +1 -1
- package/dist/assets/{layout--JdBWkq8.js → layout-C7WJ00Ek.js} +1 -1
- package/dist/assets/{list-D6KYwBs8.js → list-C8W2Ztkh.js} +1 -1
- package/dist/assets/{list-header-CRB0LxnL.js → list-header-uzHBSbhH.js} +1 -1
- package/dist/assets/localization-BwFYCZgc.js +1 -0
- package/dist/assets/{log-CY8wNU8M.js → log-ByF4DLgp.js} +1 -1
- package/dist/assets/{login-B248a-js.js → login-D6E1Agab.js} +1 -1
- package/dist/assets/{login-oauth-callback-BLrbomPI.js → login-oauth-callback-DWJMHw0r.js} +1 -1
- package/dist/assets/{logo-uploader-CXyCerZA.js → logo-uploader-C3tOoZU0.js} +3 -3
- package/dist/assets/{lost-passport-BviMxb1A.js → lost-passport-DZ3RaG1P.js} +2 -2
- package/dist/assets/{open-window-Ch1rgFaC.js → open-window-C8DmGGiK.js} +1 -1
- package/dist/assets/{overview-B6x2PVnm.js → overview-B-qeY9_9.js} +1 -1
- package/dist/assets/{page-header-BVxfqM_P.js → page-header-DPKBfrCy.js} +1 -1
- package/dist/assets/{permission-Ct9GXCMW.js → permission-BY2FbqNx.js} +1 -1
- package/dist/assets/{preferences-BhZaRM6Y.js → preferences-jbp_hJW_.js} +1 -1
- package/dist/assets/{pt-SFZ6JUYf.js → pt-B4f6uG9W.js} +1 -1
- package/dist/assets/pt-OjF_EKB2.js +1 -0
- package/dist/assets/publish-resource-CbEvZdTB.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-Bj96SiFV.js → react-beautiful-dnd.esm-CKGqjrko.js} +4 -4
- package/dist/assets/{relative-time-cY8dsU43.js → relative-time-B24G13wp.js} +1 -1
- package/dist/assets/{ru-Bz5lOwmE.js → ru-CYfsNhQc.js} +1 -1
- package/dist/assets/ru-CqxZ92Nx.js +1 -0
- package/dist/assets/sdk-CdIjci-y.js +1 -0
- package/dist/assets/session-CXP_o5z6.js +1 -0
- package/dist/assets/{setup-AfPc0iVj.js → setup-D5Yfz51I.js} +3 -3
- package/dist/assets/{shorten-label-la5sIm_0.js → shorten-label-CRTt8ftG.js} +1 -1
- package/dist/assets/{simple-select-Cu-p9eCv.js → simple-select-wXoKpx5r.js} +1 -1
- package/dist/assets/{slicedToArray-DBh5Z78L.js → slicedToArray-C4pirt-5.js} +1 -1
- package/dist/assets/start-BWeZ83st.js +187 -0
- package/dist/assets/{step-actions-EEz4d7kn.js → step-actions-CQPEoZDr.js} +1 -1
- package/dist/assets/{studio-BfuxFzVZ.js → studio-Bm45YPri.js} +1 -1
- package/dist/assets/{switch-control-DkVbfEAf.js → switch-control-0xvudC3P.js} +1 -1
- package/dist/assets/{th-B1jLPjfm.js → th-BLgklRxg.js} +1 -1
- package/dist/assets/th-D0to2lod.js +1 -0
- package/dist/assets/{traffic-DIdLhQbQ.js → traffic-C3au13Oz.js} +3 -3
- package/dist/assets/transfer-D-pSYMoH.js +16 -0
- package/dist/assets/{unsubscribe-Dma6eGwK.js → unsubscribe-CHbAL1If.js} +1 -1
- package/dist/assets/{use-mobile-B7gJcr5J.js → use-mobile-B37G6FHz.js} +1 -1
- package/dist/assets/{useAsyncRetry-BEB-tWmQ.js → useAsyncRetry-Dgdo-UIp.js} +1 -1
- package/dist/assets/useLocalStorage-grucDLLp.js +1 -0
- package/dist/assets/{user-center-BkMU0Sgl.js → user-center-DzUOMtVD.js} +1 -1
- package/dist/assets/{util-Dn2l5LdV.js → util-DB9FK0S1.js} +1 -1
- package/dist/assets/{util-C5G3YrVZ.js → util-DUNQVVoO.js} +1 -1
- package/dist/assets/{vendor-arcblock-CLdpcBR_.js → vendor-arcblock-BCYov1AG.js} +143 -155
- package/dist/assets/{vendor-mui-core-DrGFkjqr.js → vendor-mui-core-BWT1QT-d.js} +1 -1
- package/dist/assets/{vendor-mui-x-vjsTA-wt.js → vendor-mui-x-VJmvJUkN.js} +1 -1
- package/dist/assets/vi-r6qg5zGt.js +1 -0
- package/dist/assets/{vi-RXH5xiEz.js → vi-vjDX7cNP.js} +1 -1
- package/dist/assets/wrap-locale-cIg_86o_.js +1 -0
- package/dist/assets/{zh-NJ5wkDCG.js → zh-DuPxccWc.js} +1 -1
- package/dist/assets/zh-oI73BwfR.js +4 -0
- package/dist/assets/{zh-tw-DKnxL7q7.js → zh-tw-B1pWmhkd.js} +1 -1
- package/dist/assets/{zh-tw-BpuS6s2j.js → zh-tw-DTw87Rrl.js} +1 -1
- package/dist/index.html +3 -3
- package/dist/service-worker.js +1 -1
- package/package.json +41 -41
- package/dist/assets/access-control-B0LaD0k_.js +0 -13
- package/dist/assets/addon-B-oiJMyb.js +0 -31
- package/dist/assets/analytics-Djm-FxYj.js +0 -11
- package/dist/assets/ar-COZYSjgL.js +0 -3
- package/dist/assets/button-DYvqAiv_.js +0 -1
- package/dist/assets/config-CZ4gUB4m.js +0 -1
- package/dist/assets/de-C2zBBjYP.js +0 -3
- package/dist/assets/domain-DH9NJU3V.js +0 -9
- package/dist/assets/domain-action-card-COoKhuua.js +0 -15
- package/dist/assets/domains-CyoWnOlx.js +0 -1
- package/dist/assets/es-BeW3ehjv.js +0 -3
- package/dist/assets/fr-D2xyGusB.js +0 -3
- package/dist/assets/get-safe-url-BRR4RLgg.js +0 -1
- package/dist/assets/get-safe-url-bdLdP6Lf.js +0 -1
- package/dist/assets/hi-OH9OAZfb.js +0 -1
- package/dist/assets/id-BNCctHPN.js +0 -3
- package/dist/assets/iframe-D3k1dg5d.js +0 -1
- package/dist/assets/index-H3wqK9-u.js +0 -109
- package/dist/assets/ja-BP7svMm3.js +0 -3
- package/dist/assets/ko-Bucx3EaX.js +0 -3
- package/dist/assets/localization-CfyOuYf8.js +0 -1
- package/dist/assets/pt-DWx2CRwy.js +0 -1
- package/dist/assets/publish-resource-DcoLPJys.js +0 -1
- package/dist/assets/ru-CCmcxEDp.js +0 -1
- package/dist/assets/sdk-DQoMrTNt.js +0 -1
- package/dist/assets/session-CldqrK3N.js +0 -1
- package/dist/assets/start-D-vJAX65.js +0 -187
- package/dist/assets/th-yhtyMUEz.js +0 -1
- package/dist/assets/transfer-CSUEJJtc.js +0 -16
- package/dist/assets/useLocalStorage-CM7gP1Ni.js +0 -1
- package/dist/assets/vi-C8K3TxgS.js +0 -1
- package/dist/assets/wrap-locale-fZXg9Dsd.js +0 -1
- package/dist/assets/zh-BZ_tPxRT.js +0 -4
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e={setup:{connect:{title:"Signature requise",scan:"Connectez votre portefeuille DID pour devenir propriétaire de ce serveur",confirm:"Veuillez examiner cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},keyPair:{title:"Clépaire dérivée requise",scan:"Connectez votre portefeuille DID pour générer une paire de clés pour cette application",confirm:"Veuillez vérifier cette opération sur votre portefeuille DID",success:"Votre paire de clés est stockée en toute sécurité"},verify:{title:"Justificatif de propriété requis",scan:"Connectez votre portefeuille DID pour fournir des justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur."},accept:{title:"Accepter les certificats de propriété requis par le serveur",scan:"Connectez votre portefeuille DID pour fournir les justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},title:"Configurer le serveur de Blocklet",steps:{eula:"Contrat de licence utilisateur final",eulaFooter:"J'ai lu et accepté les termes de l'EULA.",connect:"Connecter le portefeuille DID du propriétaire",verify:"Vérifier la propriété",basicSettings:"Paramètres de base",launchApp:"Lancer l'application",complete:"Complet"},congratulation:"Félicitations ! Votre serveur Blocklet est sécurisé et prêt à être utilisé",redirectButton:"Emmenez-moi au tableau de bord !"},login:{loginTo:"Connectez-vous à",description:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord",switchDid:{title:"Basculer le portefeuille DID",scan:"Scannez le QR code suivant pour changer de compte",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Changement réussi"},switchSpecifiedDid:{title:"Passer à DID Wallet",scan:"Vous devez commuter DID sur {did} pour effectuer les actions suivantes",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Passage réussi"},connect:{title:"Connectez le portefeuille DID",scan:"Connectez votre portefeuille DID pour fournir votre passeport",confirm:"Confirmez sur votre portefeuille DID",success:"Vous êtes connecté avec succès"},verify:{title:"Vérifier l'accès",scan:"Connectez votre DID Wallet pour présenter le passeport du propriétaire ou de l'admin",confirm:"Confirmez sur votre portefeuille DID",success:"Votre accès est vérifié",abort:"Vérification d'accès annulée",description:"Vous devez fournir le passeport {roles} pour effectuer cette opération, vous ne serez invité à vérifier à nouveau qu'après 1 heure d'inactivité.",descriptionForDestroy:"Vous devez fournir un passeport {roles} pour effectuer cette opération dangereuse afin d'assurer la sécurité."}},acceptServer:{title:"Revendiquer le serveur avec la propriété NFT",tooltip:"Si vous avez reçu un nft de propriété de serveur, vous pouvez réclamer votre passeport de propriétaire avec ce lien."},exchangePassport:{title:"Échanger le passeport avec NFT",success:"Vous avez réussi à échanger votre passeport et vous êtes connecté avec le passeport",login:"Connexion",tooltip:"Si vous possédez un NFT de la collection {collections}, vous pouvez échanger votre passeport avec ce lien.",dialog:{title:"Obtenez un passeport avec NFT",scan:"Connectez votre portefeuille DID pour présenter votre NFT et obtenir un passeport",confirm:"Sélectionnez NFT dans votre portefeuille DID",success:"Le passeport a été échangé avec succès"}},payablePassport:{title:"Acheter un passeport avec paiement",tooltip:"Si vous n'avez pas de passeport, vous pouvez en acheter un via ce lien."},sidebar:{dashboard:"Tableau de bord",blocklets:"Blocklets",console:"Console",settings:"Paramètres"},system:{total:"Total",used:"Utilisé",free:"Libre",cores:"Nombre de cœurs",instances:"Nombre d'instances"},common:{invalid:"Invalide",about:"À propos de",access:"Accès",accessKey:"Clés d'accès",action:"Action",actions:"Actions",add:"Ajouter",address:"Adresse",afterTime:"Après {time}",allow:"Permettre",alreadyExist:"Existe déjà",approve:"Approuver",approved:"Approuvé",appUrl:"URL de l'application",auditLogs:"Piste d'audit",author:"Auteur",avatar:"Avatar",back:"Retour",basic:"Basique",basicInfo:"Informations de base",profile:"Profil",bind:"Lier",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Stockage de Blocklets",cacheStorage:"Stockage du cache",cancel:"Annuler",certificate:"certificat",category:"Sujet du journal",click:"Cliquez pour copier",close:"Fermer",selectAll:"Sélectionner tout",unselectAll:"Désélectionner tout",collapseAll:"Tout réduire",community:"URL de la communauté",complete:"Compléter",componentBasicInfo:"Informations de base sur le composant",components:"Blocklets",config:"Configurer",configuration:"Configuration",configNavigation:"Navigation",configSuccess:"Configuration réussie",confirm:"Confirmer",connect:"Connecter",console:"Console",continue:"Continuer",continueWith:"Continuer avec",copiedTip:"Copié",copyAndClose:"Copier et Fermer",copyTip:"Cliquez pour copier",coreStorage:"Stockage principal",cpu:"CPU",create:"Créer",createSuccess:"Créer une clé d'accès",created:"Créé le",createdAt:"Créé le",createdBy:"Créé par",dAddress:"Identifiants décentralisés (DID)",dataStorage:"Stockage sur disque local",delConfirm:"Supprimer",delConfirmDescription:"Confirmer la suppression de {data} ?",delete:"Supprimer",dependents:"Personnes à charge",description:"Description",detail:"Détail",did:"A FAIT",disk:"Disque",diskInfo:"Info disque",docker:"DOCKER est",documentation:"Documentation",domain:"Domaine",downgradeTo:"Rétrograder à",download:"Télécharger",downloading:"Téléchargement",edit:"Modifier",email:"Email",phone:"Téléphone",empty:"Vide",emptyData:"Aucun résultat trouvé",enable:"Activer",engine:"Moteur",env:"Environnement",environment:"Environnement",expandAll:"Tout développer",expired:"Expiré",expires:"Expire",export:"Exporter",externalIp:"IP Externe",failed:"Échec",filter:"Filtre de journal",fingerprint:"Empreinte digitale",finish:"Finir",forbid:"Interdire",free:"Libre",general:"Général",gitpod:"Gitpod EST",goEULA:"Cliquez pour afficher le 'Contrat de licence utilisateur final'",group:"Groupe",image:"C'EST l'image",install:"Installer",installed:"Installé",installedAt:"Installé à",installSuccess:"Installation réussie",installing:"Installation",internalIp:"Adresse IP interne",introduction:"Introduction",invite:"Inviter",inviting:"Invitant",ip:"IP",isPublic:"Public",issue:"Problème",issuer:"Émetteur",item:"Article",joined:"Rejoint",key:"Clé",lastPublishedAt:"Publié le",launcher:"Informations sur le lanceur",leavePageTip:"Êtes-vous sûr de vouloir quitter la page?",link:"Lien",loading:"Chargement",log:"Afficher les journaux",logStorage:"Stockage des journaux",login:"Connexion",logo:"Logo",logout:"Déconnexion",logs:"Journaux",manageTeam:"Gérer l'équipe",marketplace:"Marché",member:"Membre",members:"Membres",memory:"Mémoire",meta:"Métadonnées",analytics:"Analytique",runtime:"Exécution",traffic:"Trafic",more:"Plus",mountPoint:"Point de montagne",name:"Nom",next:"Prochain",no:"Non",noData:"Aucun enregistrement à afficher",notice:"Des choses mauvaises et inattendues se produiront si vous ne lisez pas ceci !",noticeTitle:"Avis",notification:"Notification",open:"Ouvrir",management:"Gestion",os:"Système d'exploitation",overview:"Aperçu",owner:"Propriétaire",page404:"Page 404",passport:"Passeport",permission:"Permission",port:"Port",pre:"Précédent",preferences:"Préférences",preview:"Aperçu",protected:"Protégé",protocol:"Protocole",purchase:"Achat",readMore:"Plus",redirect:"Rediriger",redirectCode:"Code de redirection",redirectPermanently:"Redirection permanente",redirectTemporary:"Redirection temporaire",redirectUrl:"Rediriger l'URL",rewrite:"Reformuler",release:"Libération",rewriteUrl:"Réécrire URL",reject:"Rejeter",reload:"Recharger",remark:"Remarque",remove:"Supprimer",removeSuccess:"Supprimé avec succès",renew:"Renouveler",reportIssue:"Signaler un problème",required:"Requis",requiredErrorText:"{name} est requis",resource:"Ressource",restart:"Redémarrer",restore:"Restaurer",retry:"Réessayer",revoke:"Révoquer",role:"Rôle",running:"En train de courir",runtimeInfo:"Informations d'exécution",save:"Enregistrer",saveChanges:"Enregistrer les modifications",saveSuccess:"Enregistré avec succès",scheduleFailed:"Échec de l'agenda",scheduleSuccess:"Planifié avec succès",scope:"Portée",screenshot:"Captures d'écran",search:"Rechercher",security:"Sécurité",serverDid:"Serveur DID",serverVersion:"Version du serveur",setting:"Paramètres",start:"Début",status:"Statut",stop:"Arrêtez",storage:"Stockage",backup:"Sauvegarde",store:"Magasin",succeeded:"Réussi",subscription:"Abonnement",support:"URL d'assistance ou e-mail",switch:"Interrupteur",team:"Équipe",the:"Le",timeAgo:"Il y a {time}",title:"Titre",type:"Type",unavailable:"Indisponible",update:"Mettre à jour",updateAvailable:"Nouvelle version {version} disponible",updatedAt:"Mis à jour le",updatedBy:"Mis à jour par",upgrade:"Mise à niveau",upgradeTo:"Mettre à niveau vers",upgrading:"Mise à niveau",uptime:"Temps de fonctionnement",url:"URL",valid:"Valide",value:"Valeur",version:"Version",visit:"Visite",waiting:"En attente",webhook:"Intégrations",yes:"Oui",invalidParam:"Paramètres non valides",launch:"Lancer",price:"Prix",redirecting:"Redirection",error:"Erreur",reminder:"Rappel",normal:"Normal",gateway:"Passerelle",verifyNFT:"Vérifier NFT",errorMessage:"Message d'erreur",slugifyHint:"Le point de montage réel sera : {value}",strategy:"Stratégie",auto:"Voiture",manual:"Manuel",progress:"En cours",startTime:"Heure de début",endTime:"Heure de fin",selected:"Sélectionné",timeoutError:"Erreur de délai d'attente",tags:"Étiquettes",connectToStore:"Se connecter au magasin",uploaded:"Téléchargé",upload:"Télécharger",blockletStudio:"Studio",visitStore:"Visiter le magasin",reconnect:"Reconnecter",change:"Changer",disconnect:"Déconnecter",sourceApp:"Appartient à l'application",visitTarget:"Visitez {name}",upgradeServer:"Mettre à niveau le serveur",display:"Affichage",requiredInputPlaceholder:"Veuillez saisir {name}",refresh:"Actualiser",moveUp:"Déplacer vers le haut",moveDown:"Déplacer vers le bas",enabled:"Activé",disabled:"Désactivé",homepage:"Page d'accueil",buy:"Acheter",view:"Voir",homepageTip:"Page d'accueil ou URL de démonstration en direct",repository:"Référentiel",expand:"Développer",collapse:"Réduire",all:"Tous",notificationRecords:"Notifications",unrecordedUser:"Nom non enregistré",unrecordedRole:"Rôle non enregistré",auditLogsSearch:"Rechercher par action ou contenu",optional:"Facultatif",bugOrConnectDomain:"Acheter ou connecter un domaine",bugOrConnectDomainTip:"Un nom de domaine est l'adresse unique de votre site web sur internet. Vous pouvez acheter un nouveau domaine auprès de DID Domain ou de tout autre registrar de domaines, ou connecter un domaine existant que vous possédez déjà.",connectExistingDomain:"Connecter le domaine existant",domains:"Domaines",didDomains:"Domaines DID",manualDomains:"Domaines manuels",didDomainsDescription:"Les domaines suivants sont automatiquement gérés par le service DID:Names.",systemDomains:"Système alloué",systemDomainsDescription:"Les noms de domaine suivants sont alloués par le système. Ils sont accessibles ; cependant, ils ne sont pas destinés à une utilisation en production et ne doivent pas être partagés avec vos clients.",manualDomainsDescription:"Les domaines suivants sont gérés par votre fournisseur de domaine et ont été configurés manuellement pour pointer ici"},blocklet:{external:"Externe",notFound:"Blocklet non trouvé sur ce serveur, peut-être qu'il a été supprimé",installFromMarket:"Installer de nouveaux blocklets",installFromUrl:"Installer depuis une URL",installFromCreate:"Créer un Blocklet",installFromDiskBackup:"Restaurer à partir de ce serveur",installedAt:"Installé le",internal:"Interne",startedAt:"Débuté à",stoppedAt:"Arrêté à",urlEmptyTip:"Pas d'accès à l'URL",goToAddRule:"Aller à Ajouter",services:"Services exposés",upstreamPort:"Port amont",noService:"Aucun service",appId:"App DID",appPid:"DID permanent",alsoKnownAs:"Également connu sous le nom de",skSource:"Portefeuille du propriétaire",reloadSuccess:"Le Blocklet a été rechargé avec succès",statusTip:"Blocklet est {status}",initialUptime:"Moins d'1m",dashboard:"Tableau de bord Blocklet",noComponent:"L'application n'a pas de composants et ne peut pas être démarrée",fromUrl:{title:"Installer le Blocklet",label:"URL du méta bloc",description:"L'URL doit pointer vers le fichier Meta du Blocklet. Si vous avez besoin de référencer un fichier local, veuillez ajouter le préfixe file://, par exemple file:///Users/foo/blocklet.json.",confirm:"Installer",step0:"URL d'entrée",step1:"Confirmer les informations de méta",existTipPrefix:"Le bloclet avec le même DID existe déjà, la version est",existTipSuffix:"Veuillez installer une version supérieure."},action:{stopDescription:"Arrêter le bloclet rendra ses interfaces publiques inaccessibles, ce qui peut entraîner des échecs pour l'utilisateur final",stopComponentDescription:"Arrêter le composant rendra ses interfaces publiques inaccessibles, ce qui peut causer des échecs pour les utilisateurs finaux.",confirmStop:"Oui, Arrêtez",cancelDownloadDescription:"Annuler le téléchargement de {name} ?",removeApplicationDescription:"La suppression de l'application effacera le code et les données générés par cette application, qui ne pourront pas être récupérés si vous n'avez pas de sauvegardes",removeApplicationAfterBackup:"Sauvegardez et supprimez l'application. Vous pouvez restaurer l'application à partir de ce serveur si vous en avez besoin.",removeApplicationComplete:"Supprimez à la fois le code et les données de cette application",removeComponentDescription:"La suppression du composant effacera le code et les données générées par ce composant, qui ne peuvent pas être récupérés si vous n'avez pas de sauvegardes.",removeComponentKeepData:"Gardez les données pour ce composant, supprimez uniquement le code",removeComponentComplete:"Supprimez à la fois le code et les données de ce composant",confirmRemove:"Oui, supprimez-le",confirmComponentRemove:"Oui, Enlevez-le",upgradeDescription:"La mise à niveau du bloclet le rendra temporairement indisponible, êtes-vous sûr de vouloir continuer ?",confirmUpgrade:"Oui, améliorez-le",confirmRestart:"Oui, redémarrez-le",restartDescription:"Le bloclet sera temporairement suspendu et il se peut qu'il ne démarre pas en raison d'un changement de configuration."},dev:{modeTip:"Veuillez passer le serveur Blocklet en mode DEBUG"},index:{tableTitle:"Gérer vos Blocklets",noBlocklet:"Aucun blocklet trouvé dans ce serveur de blocklets, installez un blocklet depuis la place du marché pour commencer."},admin:{iframeTitle:"Interface d'administration de Blocklet",title:"Interface d'administration",noContent:"Ce blocklet n'a pas d'interface administrateur",securityError:"Erreur de sécurité : Impossible d'ouvrir l'URL d'administration en accédant à une iframe de domaine différent"},config:{name:"Nom de l'application",description:"Description de l'application",sk:"Clé secrète pour le portefeuille de l'application",logoSquare:"Logo de l'application",logoRect:"Logo rectangulaire",logoRectDesc:"Généralement affiché en haut de la page, par défaut avec le logo de l'application",logoFavicon:"Favicon",logoFaviconDesc:"Généralement affiché dans la barre d'adresse du navigateur ou sur la page d'onglets, par défaut, le logo de l'application",clusterSize:"Nombre d'instances lorsque ce blocklet est exécuté en mode cluster",copyrightOwner:"Propriétaire du droit d'auteur (Afficher dans le pied de page)",copyrightYear:"Droits d'auteur {year} (Afficher dans le pied de page)",deletable:{name:"Supprimer la protection",enable:"Ce blocklet ne peut actuellement pas être supprimé",disable:"Ce bloc peut actuellement être supprimé."},walletType:{name:"Type de portefeuille",description:"Type de portefeuille d'instance Blocklet, modifiera le DID dérivé"},languages:"Langues supportées",selectLanguagesTip:"Ajustez l'ordre en supprimant et en ré-ajoutant",languagesSearch:"Rechercher par nom local du pays, nom anglais ou code ISO...",passportColor:"Couleur du passeport",appUrl:"URL de l'application",access:{title:"Qui peut accéder ?",description:"Choisissez comment contrôler l'accès à votre application.",useDefault:"Utiliser les paramètres par défaut",defaultDescription:"Utilisez la configuration par défaut de l'application",whoCanAccess:{all:{title:"Accessible à tous",description:"Ouvert au monde, n'importe qui peut y accéder sans passeport"},owner:{title:"Seul moi peux y accéder",description:"Vous devez fournir le passeport du propriétaire pour accéder à cette application"},invited:{title:"Seules les personnes invitées peuvent accéder",description:"Vous pouvez inviter des membres ultérieurement sur la page d'administration"}},publicToStore:"Public sur le magasin",publicInstanceTip:"L'adresse d'accès de ce bloc sera affichée dans le Store (avec votre DID pour accepter les dons)",updatedTip:"Contrôle d'accès modifié"},changedTip:"Configuration mise à jour, veuillez redémarrer le Blocklet",missingRequired:"Configuration requise manquante pour démarrer le blocage",gotoFix:"Allez réparer",environment:{key:"Clé de configuration",value:"Valeur de configuration",keyValueRequired:"La clé de configuration et la valeur doivent être spécifiées",invalidKey:"La clé de configuration ne doit pas commencer par BLOCKLET_ ou COMPONENT_.",deleteForbidden:"Cette configuration est requise et ne doit pas être supprimée",tip:"Les configurations préfixées avec BWA_ ne doivent pas contenir d'informations sensibles car elles seront envoyées au navigateur."},dangerZone:"Zone dangereuse",blockletTypeChangeTip:"Le type de portefeuille sera modifié en <b>{value}</b>",appDidChangeTip:"Cette opération changera le DID de l'application, ce qui entraînera les problèmes suivants. Veuillez confirmer après une évaluation minutieuse :",appDidChangeTipL1:"Le compte de l'utilisateur lié à cette application va changer",appDidChangeTipL2:"Le nom de domaine DID de l'application changera et le nom de domaine original deviendra invalide",appSkChangeTip:"Vous changez la clé secrète de l'application",walletTypeTitle:"Mise à jour du type de portefeuille",appSkTitle:"Mettre à jour la clé secrète de l'application",sharedToAllComponents:"Sera partagé à tous les composants",session:{ttl:"L'utilisateur sera invité à se connecter à nouveau s'ils n'ont aucune activité sur ce site pendant {day} jours.",day:"{day} jour",days:"{day} jours",period:"Durée de validité de la session",profile:"Exigences du profil utilisateur",cacheTtl:"Durée du cache pour les données de session utilisateur (en secondes)",fullNameEnabled:"Demander le nom d'utilisateur à la connexion (activé par défaut)",avatarEnabled:"Demander l'avatar de l'utilisateur à la connexion (activé par défaut)",emailEnabled:"Demander l'e-mail de l'utilisateur lors de la connexion",emailRequireVerified:"Exiger la vérification de l'e-mail de l'utilisateur avant la connexion",emailRequireUnique:"Exiger que l'e-mail de l'utilisateur soit unique pour tous les utilisateurs",phoneEnabled:"Demander le numéro de téléphone de l'utilisateur lors de la connexion (non pris en charge pour le moment)",phoneRequireVerified:"Le numéro de téléphone de l'utilisateur doit être vérifié avant de se connecter",phoneRequireUnique:"Exiger un numéro de téléphone unique pour l'ensemble des utilisateurs",emailTrustOauthProviders:"Faites confiance aux fournisseurs OAuth pour le statut de vérification de l'email",enableDomainBlackList:"Activer la liste noire de domaine de messagerie électronique (rejeter les domaines de messagerie électronique répertoriés)",enableDomainWhiteList:"Activer la liste blanche de domaine d'e-mails (autoriser uniquement les domaines d'e-mails répertoriés à se connecter)",addDomain:"Ajouter une source pour récupérer la liste (au format texte brut, un domaine par ligne)"},clearCache:{name:"Gestion du cache",purpose:"Gérez les fichiers mis en cache dans les services de routeur et de blocklet",title:"Confirmer la suppression du cache ?",action:"Effacer le cache",success:"{count} entrées de cache effacées avec succès",description:"Êtes-vous sûr de vouloir effacer les fichiers mis en cache dans le routeur et le service de blocage? Cette opération peut entraîner une légère baisse des performances à court terme."},tenantMode:{name:"Mode multi-locataires",multiple:"Ce bloclet fonctionne en mode locataire multiple, les données doivent être isolées pour chaque locataire",single:"Ce blocklet fonctionne en mode locataire unique, toutes les données sont partagées."},splashPortrait:"Portrait d'écran",splashLandscape:"Paysage de projection",splashPortraitDesc:"Affiché lorsque le blocklet est lancé en mode portrait",splashLandscapeDesc:"Affiché lorsque le blocklet est lancé en mode paysage",rotateSessionKey:{name:"Rotation du sel de session",purpose:"Le sel de session est une valeur aléatoire utilisée pour améliorer la sécurité des jetons de session. Cliquez sur le bouton pour faire tourner manuellement le sel de session, ce qui aide à réduire le risque de compromission du jeton de connexion.",title:"Confirmer la rotation du sel de session ?",action:"Faire tourner le sel",success:"Sel de session pivoté avec succès",description:"Êtes-vous sûr de vouloir faire pivoter le sel de session ? Cette opération invalidera tous les jetons de connexion existants et obligera l'utilisateur à se reconnecter, y compris votre propre jeton de connexion."},ogImage:"Arrière-plan Open Graph",ogImageDesc:"Personnalisez l'image de fond de toutes les images open graph, devrait bien fonctionner avec le texte blanc"},overview:{source:"Source",deployedFrom:"Déployé depuis",accessControl:"Contrôle d'accès",viewInStore:"Voir en magasin"},diskInfo:{empty:"Informations sur le disque non disponibles actuellement !",appDir:"Répertoire des applications",dataDir:"Répertoire des données",logDir:"Répertoire des journaux",cacheDir:"Répertoire de cache"},runtimeInfo:{noRunning:"Les informations d'exécution seront disponibles lorsque le blocklet sera en cours d'exécution !",memoryUsage:"Utilisation de la mémoire",cpuUsage:"Utilisation du CPU",uptime:"Temps de fonctionnement",port:"Port",processId:"Identifiant de processus"},dist:{downloadLink:"Lien de téléchargement",verify:"Vérifier"},status:{added:"Ajouté",waiting:"Attente",downloading:"Téléchargement",extracting:"Extraction",installing:"Installation",upgrading:"Mise à niveau",installed:"Installé",created:"Créé",starting:"Commencement",running:"Courir",stopping:"Arrêt",stopped:"Arrêté",error:"Erreur",deleting:"Suppression",corrupted:"Corrompu",purchasing:"En attente d'achat",purchased:"Acheté",verifying:"Vérification de l'achat",resource:"Ressource"},list:{download:"Télécharger",star:"Étoile",searchPlaceholder:"Rechercher par nom de Blocklet ou DID"},component:{container:"Configuration globale",showContainer:"Afficher la configuration globale",didSpaceConfig:"Configurer les espaces DID",didSpaceConfigTip:"Veuillez remplir le processus d'autorisation suivant pour stocker les données de l'application dans les espaces DID",didSpaceConnected:"Autorisation de stockage pour: {endpoint}",checkUpdateTitle:"Vérifier les mises à jour",updateTitle:"Mise à jour des composants",noUpdate:"Aucun composant à mettre à jour",add:"Ajouter un composant",selectComponent:"Sélectionnez un Blocklet",selectRegistry:"Sélectionnez le Blocklet Store",selectRegistryTip:"Vous pouvez passer au magasin de blocs pour voir plus de composants",selectInstance:"Sélectionnez une instance",selectInstanceTip:"Vous pouvez sélectionner une instance existante ou créer une nouvelle instance. Les instances existantes utiliseront les configurations et les données préalablement enregistrées.",newInstance:"Créer une nouvelle instance",noComponent:"Aucun composant",mountPoint:"Quel est le point de montage?",mountPointTip:"Si vous définissez le point de montage sur '/mon-préfixe', alors toutes les requêtes commençant par ce point de montage seront routées vers le composant sélectionné.",delete:"Supprimer le composant",deleteDescription:"Ce composant ne sera pas accessible après sa suppression. Confirmer la suppression?",purchase:"Paiement requis",tip:{stopBlocklet:"Veuillez arrêter d'abord l'exécution de Blocklet",requiredBy:"Le composant est requis par {name}"},choose:"Choisir",addWithName:"Ajouter Blocklet à {name}",installingCanCloseWindowTip:"Installation du composant en arrière-plan, vous pouvez fermer cette fenêtre en toute sécurité",installSuccessTip:"Félicitations, le composant a été installé avec succès!",missDownloadTokenTip:"Impossible d'ajouter de composant payant sans jeton de téléchargement valide",purchaseComponentSecondCheckTip:"Veuillez présenter votre achat de blocklet NFT pour continuer",installComponentError:"Une erreur s'est produite lors de l'installation du composant, veuillez réessayer",downloadComponentError:"Une erreur s'est produite lors du téléchargement du composant, veuillez réessayer",addComponentTip:{introduction:"Bienvenue dans l'Assistant Ajouter un composant",isPurchase:"Vous devez vérifier le NFT avant d'utiliser <b>{name}</b> en tant que composant",belowInformation:"Ci-dessous se trouvent les informations pour le composant:",verifyNFT:"Veuillez sélectionner la méthode de vérification NFT",config:"Veuillez remplir la configuration du composant",environment:"Veuillez remplir l'environnement du composant",fromUrl:"Ajouter un blocklet à partir d'une URL"},addNext:"Ajouter {name}",upgradeNext:"Mise à niveau de {name}",setting:"Paramètres",noDependencies:"{name} n'a aucune dépendance",relatedComponents:"Blocklets associés",required:"Obligatoire",installed:"Installé",installingTip:"Installation du composant, veuillez patienter...",upgrade:"Mise à niveau"},router:{urlPath:"Chemin d'URL",noRunning:"Le blocklet n'est pas actuellement démarré. Impossible d'y accéder via l'adresse suivante!",securitySetting:"Paramètre de sécurité",checkUrlAccessible:"Vérifiez l'accessibilité de l'adresse",urlInaccessible:"Cela peut être dû à des problèmes de réseau, l'adresse est temporairement inaccessible",noAccessibleUrl:"Aucune URL accessible",domainLockTooltip:"Le domaine généré par le système ne peut pas être modifié.",urlLockTooltip:"Le chemin d'URL généré par le système ne peut pas être modifié.",showAllDomains:"Afficher tous les domaines",showAllDIDs:"Afficher tous les DIDs",currentDomainTip:"Vous accédez à la page actuelle via ce domaine"},export:{title:"Exporter le bloclet",name:"Nom du bundle",nameTip:'par exemple : "mon-nom-de-blocklet" ou "@mon-scope/nom-de-blocklet"',result:"Qu'est-ce qui vient ensuite",exportSource:"Source d'exportation",success:"Blocklet exporté avec succès",resultTipStart:"Avec",resultTipEnd:"Vous pouvez construire et publier ce blocklet en quelques minutes",uploadedComponentTip:"Les composants directement téléchargés ne peuvent pas être exportés:"},migrate:{title:"Migrer l'application",scan:"Connectez votre portefeuille DID pour générer une paire de clés pour cette application",confirm:"Veuillez examiner cette opération sur votre portefeuille DID",success:"Votre application a été migrée avec succès, la page sera rafraîchie dans {sec} secondes.",intro:{l1:"Cliquez ici",l2:"Veuillez migrer votre application vers la nouvelle version (les modifications sont désactivées avant la fin de la migration)",l3:"L'application DID sera entièrement contrôlée depuis votre portefeuille DII.",l4:"Les données de l'application seront migrées et aucune autre modification ne sera nécessaire.",l5:"La nouvelle structure de l'application vous donnera plus de flexibilité lors du changement des composants.",l6:"4. Veuillez ne pas modifier les points de montage des composants avant que la nouvelle version du composant ne soit disponible."},tip:{duplicate:"Trouvez le composant en double {name}, veuillez supprimer les composants inutiles et migrer à nouveau",running:"Veuillez arrêter le blocklet avant la migration"}},error:{isRunning:"Blocklet est en cours d'exécution, veuillez l'arrêter d'abord",isInProgress:"Le Blocklet est en cours, veuillez attendre qu'il se termine"},publish:{createResource:"Créer une ressource",addResource:"Ajouter une publication",productTitle:"Produit",versionTitle:"Versionnage",imgTitle:"Images",resourceTitle:"Contenu",blockletEmptyTip:"Il n'y a pas de blocs ici",createBlockletTip:"Vous pouvez créer un nouveau blocklet à partir des ressources, composants et configurations existants dans cette application",createBlocklet:"Nouvelle blocklet",componentNotRunning:"Le bloc {name} ne fonctionne pas, veuillez le démarrer d'abord",releaseEmptyTip:"Il n'y a pas de sorties ici",createReleaseTip:"Vous pouvez créer une version du blocklet, ainsi que des notes de version et des ressources, pour que d'autres personnes puissent les utiliser.",createRelease:"Créer une version",deleteReleaseTip:"La version ne peut pas être récupérée après la suppression",createBlockletDid:"Créez à partir du portefeuille DID",createReleaseSuccess:"Création de la version réussie",saveDraftSuccess:"Brouillon enregistré avec succès",connect:{title:"Créer un DID Blocklet",scan:"Scannez le code QR ci-dessous pour générer un Blocklet DID",confirm:"Confirmez l'utilisation de DID Wallet",success:"L'identifiant Blocklet DID a été généré, veuillez poursuivre votre opération"},saveDraft:"Sauvegarder le brouillon",releaseNote:"Note de version",errorTip:{noDid:"Le Blocklet DID est requis",noTitle:"Le titre du bloclet est requis",noVersion:"La version Blocklet est obligatoire",noDescription:"La description du Blocklet est requise",noNote:"La note de version est requise",inValidVersion:"Version de Blocklet invalide",noResource:"Veuillez sélectionner les ressources à télécharger à inclure dans le blocklet",noFirstDid:"Veuillez créer d'abord un DID de Blocklet",invalidUrl:"Veuillez entrer une URL valide",invalidUrlOrEmail:"Veuillez saisir une URL ou une adresse e-mail valide"},packTip:"Actuellement, les bloclets peuvent être installés directement en tant qu'applications. Les composants et les configurations d'application seront automatiquement inclus dans le bloclet.",resourceChangedWarning:"Vous avez modifié la ressource, veuillez l'enregistrer à temps",installResourceTip:"URL d'installation:",installResourceTip2:"Si vous souhaitez voir plus de conseils, veuillez visiter",installResourceHelp:"Document d'aide",componentIncluded:"Inclus",componentForceRequired:"Requis",download:"Télécharger {name}",delete:"Supprimez {name}",copyInstallUrl:"Copier l'URL d'installation",install:"Installer {name}",publishToStoreSuccess:"Blocklet publié avec succès sur le Store",connectStoreSuccess:"Connexion réussie au Blocklet Store",uploadToStoreSuccess:"Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store",viewLastRelease:"Voir la dernière version",reconnectStoreTip:"Après la reconnexion, un nouveau développeur sera lié. Êtes-vous sûr de vouloir vous reconnecter ?",deleteProject:{title:"Supprimez {name}",scan:"Scannez le code QR ci-dessous pour supprimer {name}",confirm:"Veuillez confirmer l'utilisation du portefeuille DID",success:"Le projet Blocklet a été supprimé, veuillez poursuivre votre opération.",tip1:"Le projet Blocklet ne pourra pas être récupéré après sa suppression",tip2:"Vous ne pourrez plus publier de nouvelles versions du bloc supprimé, ce qui signifie que le bloc ne sera plus mis à jour dans le Store.",tip3:"La suppression du Blocklet n'affectera pas sa version actuellement publiée dans le Store.",description:"Après avoir supprimé le Blocklet, vous rencontrerez les problèmes suivants. Êtes-vous sûr de vouloir le supprimer ?"},resourceTip:"Actuellement, en tant que bloc de ressources, il ne peut pas être installé directement depuis le Store.",whyCantSeeInStore:"Pourquoi je ne peux pas voir ce blocklet dans le Store?",whyCantSeeResourceBlockletInStore:"Les Blocklets de ressources sont masqués par défaut de la page de liste du magasin",tenantScope:"Locataire",blockletStudio:"Blocklet Studio",allComponentsNotRunning:"Blocklets ne fonctionne pas, veuillez le démarrer d'abord",resourceEmptyTip:"Aucune ressource disponible",steps:{resources:"Veuillez sélectionner les ressources qui doivent être associées à le Blocklet actuel, car ces ressources seront installées avec le Blocklet.",blocklets:"Sélectionnez les bloclets à associer.",version:"Définir la version de sortie et le journal des modifications.",introduction:"Une introduction claire peut mettre en valeur efficacement votre Blocklet. Vous pouvez utiliser la syntaxe Markdown pour l'écrire et le prévisualiser.",branding:"Décrivez les informations de base de votre Blocklet. Ces informations seront présentées aux utilisateurs dans le magasin."},branding:"Branding",brandingHelp:"Plus d'informations sur le blocklet seront affichées dans le magasin",resourceSelect:"Sélectionnez une ressource des blocklets",resourceUpload:"Téléchargez la ressource depuis votre disque (index.html est requis dans l'archive)",deleteStoreTip:"Êtes-vous sûr de vouloir supprimer {name} de la liste du magasin Connect?",disconnectStoreTip:"Le bloclet sera supprimé du store après sa déconnexion. Êtes-vous sûr de vouloir le déconnecter ?",connectOrUpload:"Connecter ou Télécharger",developerInfo:"Informations sur le développeur",autoUploadTip:"Uploader automatiquement le blocklet dans le Store après sa création",possibleSameStoreTip:"Essayez de résoudre les blocs de dépendance dans le même magasin de blocs avant chaque téléchargement si possible",needProjectId:"Veuillez créer un projet d'abord",projectSettings:"Paramètres du projet",noStoreSelected:"Veuillez sélectionner l'un des magasins existants ou ajouter un nouveau magasin pour continuer",installToThisServer:"Installer sur ce serveur",forceResourceBlocklet:"Force définie comme un blocklet basé sur les ressources",resourceDocker:"Construire Blocklet à partir de Docker",resourceSelectTitle:"Ressource",resourceUploadTitle:"Télécharger",resourceDockerTitle:"Docker",resourceDockerInputTip:"Veuillez entrer la commande docker run",docker:{pleaseInputDockerCommand:"Veuillez entrer la commande docker run",volumeTip:"Le volume doit commencer par $BLOCKLET_DATA_DIR ou $BLOCKLET_APP_DIR",volumeTip2:'Le volume ne peut pas contenir ".."',noAllowTheArg:"L'argument ne peut pas être utilisé dans la commande docker run",needCustomInput:"Configurez la valeur lors de l'installation de Blocklet",dockerParams:"Paramètres Docker",dockerCommand:"Commande Docker",dockerImageName:"Nom de l'image Docker",addItem:"Ajouter un paramètre Docker Run",envKey:"Clé de variable d'environnement",publishTips:"Le port externe final sera automatiquement attribué par le Blocklet",volumeTips:"Le volume doit commencer par $BLOCKLET_DATA_DIR ou $BLOCKLET_APP_DIR",modifyParam:"Modifier le paramètre Docker Run",modifyEnv:"Modifier la variable d'environnement",paramDetail:"Détail du paramètre",description:"Description",secure:"Sécuriser",shared:"Partagé",required:"Requis",prefix:"Préfixe",path:"Chemin",name:"Nom",portType:"Type de port",dockerImageNameError:"Le nom de l'image Docker ne peut pas contenir d'espaces",autoGenerated:"Généré automatiquement",dockerCMDError:"Docker CMD ne supporte que les caractères simples"}},titleValidationError:"La longueur du titre doit être comprise entre 3 et 40 caractères",descriptionValidationError:"La longueur de la description doit être comprise entre 3 et 80 caractères",whyNeedAppPid:"Si votre application a été migrée, le DID permanent est le DID généré lors de l'installation initiale de ce Blocklet.",usingDocker:"Ce Blocklet fonctionnera en utilisant Docker.",gotoVisitError:"Impossible d'accéder à l'URL de Blocklet, veuillez réessayer plus tard",usingIsolation:"Ce Blocklet s'exécutera en utilisant l'isolation réseau",dockerImage:"Supporte Docker"},dashboard:{nodeDid:"Noeud",ownerDid:"Propriétaire",routingEngine:"Moteur de routage",ownerNftURL:"Propriétaire NFT",expirationLeft:"Expiration restante",startFromCrashTip:"Le serveur Blocklet ne s'est pas arrêté normalement la dernière fois, veuillez démarrer manuellement les Blocklets qui doivent être exécutés.",runtimeConfig:{blockletMaxMemoryLimit:"Limite maximale de mémoire pour le blocklet",daemonMaxMemoryLimit:"Limite maximale de mémoire du serveur",proxyMaxMemoryLimit:"Limite de mémoire maximale de l'Event Bus"}},store:{nameSort:"Nom",popularSort:"Popularité",headerDescription:"Trouvez et installez vos Blocklets",detail:{purchase:"Acheter {name}",open:"Ouvrez {name}",install:"Installer {name}",upgrade:"Améliorez {name}",empty:"Pas d'introduction"},blockletRegistry:{changeFailed:"Échec de la modification du magasin de blocs :",addFailed:"Échec de l'ajout du Blocklet Store",editFailed:"Échec de l'édition du Blocklet Store",switchRegistry:"Passer au Blocklet Store",addRegistry:"Ajouter Blocklet Store",editRegistry:"Modifier le Blocklet Store",deleteRegistry:"Supprimer le Blocklet Store",haveSameRegistry:"Le même Blocklet Store existe",registryName:"Nom du magasin de Blocklet",registryUrl:"URL du Blocklet Store",registryNameEmpty:"Le nom du Blocklet Store ne peut pas être vide",registryUrlEmpty:"L'URL du magasin Blocklet ne peut pas être vide",deleteDesc:"Confirmer la suppression du magasin de bloclets {name} ?",confirmDesc:"Veuillez entrer {name} pour supprimer"},purchase:{title:"Acheter {name}",confirmed:"Votre achat de bloclet NFT est vérifié",declined:"Vous n'avez pas fourni d'achat de Blocklet NFT valide",waiting:"En attente de l'achèvement de l'achat...",purchase:{title:"Acheter NFT",description:"Payez un jeton avant d'installer ce bloclet si vous n'avez pas acheté ce bloclet."},verify:{title:"Vérifier NFT",description:"Votre NFT sera vérifié avant l'installation de ce blocklet si vous avez acheté et conservez le NFT d'achat dans votre portefeuille DID.",auth:{title:"Achat de la preuve d'identité nécessaire",scan:"Connectez le portefeuille DID pour fournir l'achat de bloclets NFT",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre NFT d'achat est vérifié et l'installation a commencé."}},auth:{title:"Acheter {name}",scan:"Scannez le QRCode suivant avec votre portefeuille DID",confirm:"Confirmez dans votre portefeuille DID",success:"Achat d'un NFT envoyé dans votre portefeuille DID"},launch:"Lancer {name}",autoLaunch:"{name} a acheté avec succès, redirection vers la page de lancement..."},tooltip:{upgradeServer:"Blocklet a besoin du Blocklet Server version {version}, le Blocklet Server version actuel est {serverVersion}"}},setting:{saveSuccess:"Paramètres enregistrés avec succès",unSavedTip:'Il y a des modifications non enregistrées, veuillez cliquer sur "Enregistrer les modifications" pour les sauvegarder.',unSavedLeaveTip:"Il y a des modifications non enregistrées, êtes-vous sûr de vouloir quitter la page?",form:{name:"Nom de votre serveur",nameRequired:"La description du serveur est requise",namePlaceholder:"Nom du serveur",description:"Décrivez votre serveur",descriptionHolder:"Description du serveur",descriptionRequired:"Une description de serveur est requise",domain:"Votre nom de domaine du serveur",domainPlaceholder:"Nom de domaine du serveur",domainRequired:"Le domaine du serveur est requis",ipPlaceholder:"IP",ipRequired:"L'adresse IP est requise",registry:"Blocklet Store",registryPlaceholder:"Magasin de Blocklets pour récupérer des Blocklets",registryRequired:"Le Blocklet Store est requis",registerUrl:"URL du lanceur Blocklet",registerUrlPlaceholder:"Entrez l'URL de votre lanceur Blocklet préféré, vous pouvez utiliser celui officiel en toute sécurité.",webWalletUrl:"URL du portefeuille DID",webWalletUrlPlaceholder:"Veuillez entrer l'URL de votre « DID Wallet » hébergé, vous pouvez utiliser en toute sécurité celui officiel",nftDomainUrl:"URL de domaine NFT",nftDomainUrlPlaceholder:"Veuillez saisir l'URL de votre domaine NFT hébergé, vous pouvez utiliser celui officiel en toute sécurité",enableWelcomePage:"Activer la page de bienvenue",welcome:{switchLabel:"Page d'accueil"},upgrade:{title:"Mettez à jour le serveur Blocklet vers {version}",description:"Pendant la mise à niveau, votre serveur Blocklet entrera en mode maintenance pendant quelques minutes le temps de la mise à jour.",dialog:"Cliquez sur 'Confirmer' pour installer la mise à jour. Le serveur Blocklet entrera en mode de maintenance jusqu'à ce que la mise à jour soit terminée et reviendra automatiquement en mode production.",confirm:"Mise à niveau",switchLabel:"Vérification automatique des mises à jour",enableBetaRelease:"Activer la version bêta",setup:"Préparation de la mise à niveau",installing:"Installation de Blocklet Server v{version}",restarting:"Redémarrage du serveur Blocklet",cleanup:"Migration des données du serveur Blocklet",verifying:"Vérification du serveur Blocklet v{version}",rollback:"Serveur de blocs de retour en arrière",complete:"Mise à niveau terminée !",progress:"Mise à niveau de {name}",check:"Vérifier les mises à jour",latest:"Vous utilisez la dernière version."},restart:{title:"Redémarrer le serveur Blocklet",description:"Pendant le redémarrage, votre serveur Blocklet passera en mode maintenance jusqu'à ce que le redémarrage soit terminé.",dialog:`Cliquez sur "Confirmer" pour redémarrer. Le serveur Blocklet passera en mode de maintenance jusqu'à ce que le redémarrage soit terminé et reviendra automatiquement en mode de production.`,confirm:"Redémarrer",setup:"Préparation du redémarrage",verifying:"Vérification du serveur Blocklet",restarting:"Redémarrage du serveur Blocklet",cleanup:"Assurez-vous que tout va bien",rollback:"Nettoyez l'état sale",complete:"Maintenance complète!",progress:"Redémarrage de {name}"},register:{title:"Inscrivez-vous à Blocklet Launcher",description:"Une fois ajouté, vous pouvez lancer des blocklets vers ce serveur de blocklets depuis {url}.",button:"S'inscrire"},monitor:{diskThreshold:"Envoyer une alerte lorsque l'utilisation du disque dépasse (%)",diskThresholdPlaceholder:"Veuillez définir le seuil d'alerte d'utilisation du disque"},security:{switchLabel:"Isolation du système de fichiers",switchTips:"Après avoir désactivé cette option, le système de fichiers du Blocklet ne sera plus isolé, ce qui pourrait présenter un risque de dommages causés par un logiciel malveillant au système de fichiers.",warningTips:"La fonction d'isolation du système de fichiers ne peut pas prendre effet. Veuillez mettre à niveau la version de node.js (la version actuelle est {version}) vers la version 21.6.0 ou supérieure."},docker:{switchLabel:"Exécuter des blocs dans des conteneurs",switchTips:"Après avoir activé cette option, les blocs seront exécutés à l'aide de conteneurs, ce qui peut améliorer la sécurité globale du serveur.",notInstalled:"Impossible d'activer l'exécution du conteneur car Docker n'est pas installé ou manque des autorisations nécessaires pour s'exécuter",needCloseFileSystemIsolation:"L'isolation du système de fichiers et le mode d'exécution du conteneur docker ne peuvent pas être activés en même temps"},dockerNetwork:{switchLabel:"Isolement du réseau de conteneurs",switchTips:"Après avoir activé cette option, les blocklets fonctionnent de manière plus sûre : un blocklet ne peut pas accéder au serveur de blocklets ou à d'autres blocklets dans d'autres applications.",needEnableDocker:"Le mode conteneur doit être activé pour activer l'isolation du réseau"},restartAllContainers:{title:"Redémarrer tous les conteneurs",description:"Redémarrer tous les conteneurs et garder les blocklets en marche.",dialog:`Cliquez sur "Confirmer" pour redémarrer tous les Blocklets conteneurs et maintenir l'état des Blocklets en cours d'exécution.`,confirm:"Redémarrer",setup:"Préparation du redémarrage",verifying:"Vérification du serveur Blocklet",restarting:"Redémarrage de tous les conteneurs en arrière-plan",cleanup:"Assurez-vous que tout est OK",rollback:"Nettoyer l'état sale",complete:"Conservez l'intégralité !",progress:"Redémarrage de tous les conteneurs en arrière-plan"},restartAllBlocklet:{title:"Redémarrer tous les Blocklets",description:"Redémarrer tous les Blocklets en cours d'exécution ou en erreur sur ce serveur",dialog:'Cliquez sur "confirmer" pour redémarrer tous les blocklets en arrière-plan.',confirm:"Redémarrer",setup:"Préparation du redémarrage",verifying:"Vérification du serveur Blocklet",restarting:"Redémarrage de tous les Blocklets en cours ou en erreur en arrière-plan",cleanup:"Assurez-vous que tout est OK",rollback:"Nettoyer l'état sale",complete:"Maintenance terminée !",progress:"Redémarrage de tous les Blocklets en cours d'exécution ou en erreur en arrière-plan"},enableSessionHardening:{switchLabel:"Activer le renforcement de session",switchTips:"Après avoir activé cette option, les opérations de mutation nécessiteront une vérification stricte, ce qui peut améliorer la sécurité globale du serveur."}},accessKey:{accessKeyId:"CLÉ D'ACCÈS",lastUsed:"Dernière utilisation à",tip:"Veuillez entrer un nom pour cette clé d'accès en vue de références futures:",saveSecretTip:"C'est la seule fois où votre clé secrète d'accès peut être consultée et ne peut pas être récupérée. Cependant, vous pouvez créer de nouvelles clés d'accès à tout moment.",iKnow:"J'ai copié et enregistré le secret d'accès",showSecret:"Afficher la clé d'accès secrète",hideSecret:"Cacher le secret",title:"Supprimer la clé d'accès",descriptionNoTime:"Cela supprimera définitivement la clé d'accès {key} avec le nom {name}, qui (n'a jamais été utilisée auparavant)",description:"Cela supprimera définitivement la clé d'accès {key} avec le nom {name}, qui a été utilisée pour la dernière fois le {time}, {timeAge}).",confirm_desc:"Veuillez entrer {name} pour supprimer",remark:"Nom de clé d'accès",remarkInvalid:"Le nom de la clé d'accès est requis"},webhook:{add:"Ajouter une intégration",delTitle:"Supprimer l'intégration",requiredError:"Veuillez fournir un {type} valide",confirm_desc:"Veuillez entrer {name} pour supprimer",test:"Test",description:"Cela supprimera définitivement l'intégration avec l'ID {id}.",columns:{description:"ID",params:"Paramètres",createdAt:"Créé le"}}},notification:{title:"Notifications",empty:"Aucune activité pour le moment",viewAll:"Tout afficher",showRead:"Afficher Lecture",markAllAsRead:"Tout marquer comme lu",markAsRead:"Marquer comme lu",proceed:"Procéder",checkingForUpdates:"Recherche des mises à jour...",email:{enable:"Activer la notification par e-mail",from:"Expéditeur d'email",host:"Hôte du serveur SMTP",port:"Port du serveur SMTP",user:"Nom d'utilisateur du serveur SMTP",secure:"Activer une connexion sécurisée",password:"Serveur SMTP mot de passe utilisateur",fromRequired:"L'expéditeur du courrier électronique est obligatoire",fromInvalid:"L'expéditeur de l'email est invalide",receiverRequired:"Le destinataire de l'e-mail est requis",receiverInvalid:"Le destinataire de l'e-mail est invalide",hostRequired:"L'hôte du serveur SMTP est requis",hostInvalid:"L'hôte du serveur SMTP est invalide",portRequired:"Le port du serveur SMTP est requis",portInvalid:"Le port du serveur SMTP est invalide, le port doit être compris entre 1 et 65535.",userRequired:"Le nom d'utilisateur du serveur SMTP est requis",passwordRequired:"Mot de passe utilisateur du serveur SMTP requis",testSuccess:"Envoi de l'e-mail de test réussi",testFailed:"Échec de l'envoi du courrier de test",testReceiver:"Destinataire de l'email",testSendEmail:"Envoyer un e-mail de test",inputTestReceiver:"Veuillez saisir l'adresse e-mail du destinataire du test",disable:"Se désabonner des notifications par email",disableDescription:"Après la désinscription, vous ne recevrez plus de notifications par e-mail. Pour recevoir à nouveau les notifications par e-mail, vous pouvez vous y réabonner sur cette page.",unsubscribe:"Se désabonner de la notification par e-mail",unsubscribeDescription:"Après désabonnement, vous ne recevrez plus aucune notification par email.",subscribe:"S'abonner",subscribeDescription:"Pour recevoir des notifications par e-mail, vous pouvez vous y abonner à nouveau sur la page des paramètres."},comingSoon:"Plus de canaux de notification sont en cours de construction",unsubscribe:"Se désabonner",unsubscribeSucceed:"Désinscription réussie",unsubscribeFailed:"Échec de désinscription",unsubscribeTokenRequired:"Jeton de désabonnement requis",unsubscribeTokenExpired:"Le jeton de désabonnement a expiré",unsubscribeTokenInvalid:"Le jeton de désabonnement est invalide",installComponentError:"Composant désinstallé {name} non trouvé",installingComponent:"Installation du composant {name}",pushKit:{enable:"Activer les notifications PushKit",endpoint:"Point d'extrémité PushKit",endpointInvalid:"Le point de terminaison PushKit est une URL non valide",testSuccess:"Le test d'envoi du PushKit a réussi",testFailed:"Test PushKit envoyer a échoué",testReceiver:"Récepteur PushKit",testSend:"Tester l'envoi du kit push",inputTestReceiver:"Veuillez saisir le destinataire du test",receiverRequired:"Récepteur PushKit requis",pushPath:"Chemin API pour push-kit (par défaut /api/push)",did:"PushKit Blocklet DID",customOptions:"Options personnalisées"},notificationDetails:"Détails de la notification",receiver:"Destinataire",sendStatus:{success:"Envoyé",failed:"Échoué",sentTime:"Heure d'envoi: {date}",pending:"En attente",reason:{enabled:"L'utilisateur a activé la notification {channel}",disabled:"L'utilisateur n'a pas activé la notification {channel}",unavailable:"Le Blocklet actuel n'a pas configuré la notification {channel}",available:"Le Blocklet actuel a configuré la notification {channel}",notSent:"Le message actuel n'a pas été envoyé à {channel}",offline:"Utilisateur est hors ligne"},count:"{count}",total:"Total"},filter:"Filtre",notificationPreview:"Aperçu de notification",resend:"Renvoyer",resendLimit:"Vous pouvez renvoyer une notification jusqu'à trois fois par jour.",from:"De",to:"À",body:"Corps",notificationTitle:"Titre",createdAt:"Créé le",status:"Statut",system:"Système",severity:"Gravité",config:"Configurations",selectChannels:"Sélectionner les canaux",selectChannelsTip:"Sélectionner les canaux à renvoyer",resendFailedOnly:"Renvoyer uniquement aux canaux ayant échoué",statistics:"Statistiques"},router:{routerSetting:"Domaines et URLs",certSetting:"Certificats SSL",defaultSite:"Par défaut",urlHelperText:"Les URL qui ne commencent pas par HTTP/HTTPS sont considérées comme des chemins relatifs",empty:"Cliquez sur Actions pour configurer la mise en correspondance des URL",healthy:{ok:"Le blocklet ou le service fonctionne",error:"Le bloc ou le service ne fonctionne pas ou n'est pas installé"},service:{select:"Sélectionnez les services Blocklet (facultatif)",what:"Les services Blocklet sont des pipelines exécutés avant de rediriger vers le Blocklet amont."},nonProvider:{title:"Avertissement de changement de moteur",description:"Si vous changez de moteur pour aucun, votre page actuelle risque de ne pas fonctionner correctement car le moteur précédent sera arrêté. Êtes-vous sûr de vouloir continuer?",confirm:"Je comprends, continuez"},validation:{urlRequired:"L'URL est requise",redirectCodeRequired:"Le code de redirection est requis",didRequired:"Blocklet est requis",pathPrefixTooLong:"Le préfixe d'URL ne peut pas dépasser {length} caractères",pathPrefixCannotBeEmpty:"Le préfixe d'URL ne peut pas être vide",domainRequired:"Le domaine du serveur est requis",invalidUrl:"Veuillez fournir une URL valide",pathPrefixRequired:"Le préfixe d'URL est requis",redirectUrlRequired:"L'URL de redirection est requise",rewriteUrlRequired:"La réécriture de l'URL est requise"},domain:{addSite:"Ajouter un site",validate:{emptyTip:"Le domaine du site ne peut pas être vide",suffixTip:"Le domaine du site ne peut pas inclure {suffix}"},add:{title:"Ajouter un nom de domaine",description:"Veuillez fournir un nom de domaine valide",confirm:"Ajouter",cancel:"Annuler",blocklet:"Sélectionner Blocklet",redirect:"Où rediriger le trafic ?",port:"Sur quel port votre gestionnaire de requêtes doit-il écouter ?",portTip:"Ceci est la valeur par défaut du port principal du gestionnaire de requêtes. Vous pouvez personnaliser cela",type:"Gestionnaire de trafic",component:"Sélectionner le composant",pageGroup:"Groupe de page",pageGroupTip:"Ce composant peut afficher n'importe quel groupe de pages répertoriées ci-dessus, laissez vide pour afficher toutes les pages"},update:{title:"Mise à jour du domaine du site",label:"Domaine du site",description:"Veuillez fournir un domaine de site valide"},setup:{tipStart:"Ajoutez les enregistrements DNS pour le domaine",tipEnd:"Selon les directives suivantes",recordType:"Type d'enregistrement",recordValue:"Valeur d'enregistrement"},verify:{ok:"La résolution de domaine est normale",notResolved:"Ce domaine n'est ni résolu ni accessible, veuillez vérifier votre configuration DNS."},https:{ok:"Ce domaine a HTTPS activé",bad:"Ce domaine n'a pas activé https"},delete:{title:"Supprimer le site",description:'En confirmant, vous supprimerez votre site existant "{name}". Tapez "{name}" ci-dessous et sélectionnez Supprimer pour effectuer le changement, ou sélectionnez Annuler si vous souhaitez conserver votre site.',confirm_desc:"Veuillez entrer {name} pour confirmer"}},domainAlias:{nftDomain:"Configuration automatique avec le domaine DID",showTipHint:"Comment configurer la résolution des noms de domaine ?",add:{title:"Ajouter un domaine supplémentaire",domainDescription:"Veuillez fournir un nom de domaine valide",forceTip:"Forcer l'ajout si le nom de domaine existe déjà",helperText:"Si une URL HTTP ou HTTPS est saisie, elle sera automatiquement convertie en un nom de domaine.",isDidDomainError:"Ce domaine est un domaine DID. Veuillez l'ajouter en utilisant la méthode de configuration automatique du domaine.",tips:"Vous pouvez entrer un nom de domaine acheté auprès de DID Domain ou de tout autre domaine. S'il s'agit d'un domaine DID, vous devez présenter le DID Domain NFT pour continuer."},addCustomDomain:{name:"Domaine personnalisé"},addDomainNFT:{showNFT:"Configurer le domaine automatiquement",tips:"Vous pouvez saisir un domaine acheté auprès de DID Domain. Si un domaine DID est détecté, vous devez présenter le domaine DID NFT pour continuer.",connect:{title:"Veuillez montrer votre Domaine NFT",scan:"Veuillez numériser le code QR suivant avec votre DID Wallet pour autoriser le blocklet à utiliser votre domaine.",confirm:"Veuillez confirmer sur votre portefeuille DID",success:"Autorisation réussie"},buyTip:"DID Domain effectuera la résolution du nom de domaine automatiquement, pas besoin de le configurer manuellement, et l'application mettra à jour l'enregistrement de résolution du nom de domaine automatiquement en cas de besoin. Si vous n'avez pas encore de NFT DID Domain,",buy:"Acheter un domaine DID"},delete:{title:"Supprimer",description:`Après la suppression de "{domain}", l'accès à cet alias peut ne pas être correctement géré.`,confirmPlaceholder:'Veuillez saisir "{domain}" pour supprimer'}},domainSecurity:{title:"Sécurité de domaine",cors:{title:"Domaines CORS autorisés",description:`Liste de domaines pouvant envoyer des requêtes cross-origin à {name}, séparés par des virgules. Utilisez "*" pour autoriser n'importe qui, ce qui n'est pas recommandé.`,domainInvalid:"Veuillez entrer une liste valide de noms de domaine"}},rule:{add:{title:"Ajouter une correspondance d'URL",confirm:"Ajouter",pathPrefix:"Quel est le préfixe de l'URL ?",pathPrefixTip:"Si vous définissez le préfixe sur '/mon-préfixe', alors toutes les demandes commençant par ce préfixe seront routées vers le blocklet configuré",blocklet:"Quel Blocklet gérera ces demandes ?",port:"Quel port du blocklet gérera les requêtes ?",portTip:"Par défaut, cela correspond au port principal du blocklet. Si votre blocklet écoute sur plusieurs ports, vous pouvez personnaliser cela.",responseType:"Type de réponse",responseBody:"Contenu de la réponse",responseBodyTip:"Veuillez coller votre contenu de réponse ici, ne doit pas dépasser 4096 caractères.",responseBodyRequired:"Le contenu de la réponse ne peut pas être vide"},delete:{title:"Supprimer la correspondance d'URL",description:`En confirmant, vous supprimerez votre correspondance d'URL existante pour "{name}". Tapez "{name}" ci-dessous et sélectionnez Supprimer pour effectuer le changement, ou sélectionnez Annuler si vous souhaitez conserver votre correspondance d'URL.`,confirm_desc:"Veuillez entrer {name} pour supprimer",cancel:"Annuler"},update:{title:"Mise à jour du mappage URL",confirm:"Oui, Mettre à jour",cancel:"Annuler"}},cert:{name:"Nom du certificat",domain:"Nom de domaine",action:"Action",commonName:"Nom commun",boundDomains:"Domaines",source:"Source",expired:"Expiré",leftDays:"jours restants",issuedOn:"Délivré le",expiryOn:"Date d'expiration le",fingerprintAlg:"Algorithme d'empreinte digitale",validityPeriod:"Période de validité",matchedSites:"Sites correspondants",upload:"Téléchargement manuel",publicCertHelperText:"Les certificats publics peuvent être téléchargés",nonPublicCertHelperText:"Les certificats non-publics ne peuvent pas être téléchargés",protectedCertHelperText:"Les certificats protégés ne peuvent pas être modifiés",unprotectedCertHelperText:"Les certificats non protégés peuvent être modifiés",issuing:"Certificat en cours de génération",sourceTypes:{upload:"Téléchargement manuel",lets_encrypt:"Chiffrons"},table:{nodata:"Pas de données"},delete:{title:"Supprimer certificat",description:"Confirmer la suppression du certificat du domaine {domain} ? Cela peut avoir un impact sur les services associés. Veuillez confirmer que cela est sans risque avant de procéder à la suppression.",confirm:"Confirmer"},nginx:{title:"Mettre à jour le certificat",titleAdd:"Ajouter un certificat",pem:"Fichier de certificat SSL",pemTip:'Veuillez déposer votre fichier de certificat de serveur ici. Il doit se terminer par ".pem" ou ".crt".',key:"Fichier de clé privée",keyTip:'Veuillez déposer votre fichier de clé privée du serveur ici, il doit se terminer par ".pem" ou ".key".',confirm:"Enregistrer",cancel:"Annuler",invalidFile:"Vous avez sélectionné un fichier invalide",empty:"Aucun fichier sélectionné pour le moment",source:"Source",sourceTypes:{upload:"Téléchargement manuel",lets_encrypt:"Chiffrons"}},detail:{title:"Détails du certificat"},genLetsEncryptCert:{title:"Générer un certificat Let's Encrypt",dnsTip:"Veuillez vous assurer que le nom de domaine pointe vers le serveur Blocklet actuel.",description:"L'ajout d'un certificat rendra le service plus sécurisé et Blocklet Server renouvellera automatiquement le certificat avant son expiration."}},gateway:{reqLimit:{switchLabel:"Limitation de requêtes",rate:"Limite de demande ({rate} demandes/seconde)",title:"Limitation des demandes"},cacheEnabled:{switchLabel:"Activer le cache de la passerelle pour améliorer les performances",title:"Cache de la passerelle"},blockPolicy:{switchLabel:"Blocage de la demande",addItem:"Ajouter un élément",blacklistDesc:"Les demandes provenant de ces adresses IP seront bloquées pour accéder à ce serveur et à tous les Blocklets",inputPlaceholder:"Entrez l'adresse IP, la plage CIDR ou l'URL",invalidItem:"Adresse IP, plage CIDR ou URL non valide",title:"Blocage de la demande",autoBlocking:{switchLabel:"Bloquez les mauvaises demandes par détection en temps réel",windowSize:"La taille de la fenêtre temporelle pour compter les requêtes (secondes)",windowQuota:"Le nombre maximum de requêtes (par IP) autorisé dans la fenêtre",blockDuration:"La durée pour bloquer l'utilisateur par IP lorsque le quota est dépassé dans la fenêtre (secondes)",statusCodes:"Les codes de statut à vérifier"}},proxyPolicy:{switchLabel:"Courir derrière des proxies",trustRecursive:"Faites confiance aux mandataires de manière récursive",trustRecursiveDesc:"Utilisez l'IP la plus à gauche dans la chaîne X-Forwarded-For",trustedProxies:"Proxies de confiance",trustedProxiesDesc:"Les demandes de ces adresses IP seront considérées comme fiables pour obtenir l'IP réelle du client",realIpHeaderLabel:"En-tête IP client",realIpHeaderDesc:"Si le serveur de Blocklet fonctionne derrière des proxies tels que CloudFront, vous pouvez définir ici l'en-tête de l'IP réelle du client.",addItem:"Ajouter un élément",inputPlaceholder:"Entrez l'adresse IP, la plage CIDR",invalidItem:"Adresse IP non valide, plage CIDR",title:"Politique de proxy"},wafPolicy:{switchLabel:"Détectez et bloquez les mauvaises requêtes avec ModSecurity",modeDesc:"Le mode de modsecurity (module modsecurity requis)",mode:{detectOnly:"Détecter seulement (ne bloquera pas les demandes)",on:"Activé (bloquera les demandes)"},logLevelDesc:"Le niveau de journalisation pour ModSecurity (0-9), 0 signifie désactiver le journal d'audit",inboundAnomalyScoreThresholdDesc:"Le seuil de score d'anomalie entrant (1-100), une valeur plus basse signifie plus strict",outboundAnomalyScoreThresholdDesc:"Le seuil du score d'anomalie sortante (1-100), une valeur plus basse signifie plus strict",docDesc:"Consultez la documentation pour savoir comment configurer modsecurity",title:"Pare-feu d'application Web"}}},noMatch:{desc:"Nous ne pouvons pas trouver la page que vous recherchez"},health:{connectionErrorTip:"Le serveur de blocs ne peut pas se connecter au réseau, veuillez vérifier si le serveur de blocs a été arrêté ou s'il y a un problème réseau.",connectionRecoveryTip:"La connectivité du serveur Blocklet a été rétablie",connectionStoppedTip:"Le serveur Blocklet a été arrêté",wrongAccessUrlTip:"L'adresse d'accès au serveur Blocklet est incorrecte, veuillez utiliser l'adresse d'accès correcte."},debug:{title:"Votre serveur Blocklet est en ligne et fonctionne !"},team:{invite:{action:"Inviter Nouveau",setting:"Paramètres d'invitation",enabled:"Désactivez ce paramètre pour restreindre les nouvelles invitations utilisateurs aux propriétaires/administrateurs uniquement",disabled:"Activez ce paramètre pour permettre à tout utilisateur d'inviter de nouveaux utilisateurs",inviter:"Invité par"},add:"Ajouter nouveau",member:{name:"Nom",passport:"Passeport",passports:"Passeports",lastLogin:"Dernière connexion",lastLoginIp:"Dernière adresse IP de connexion",source:"Source d'inscription",source_derived:"Dérivé de OAuth",source_wallet:"Portefeuille DID",filter:"Filtrer par",blockAccess:"Interdire la connexion",blockAccessDescription:"L'utilisateur ne pourra pas se connecter à cette application",allowAccess:"Autoriser la connexion",allowAccessDescription:"L'utilisateur pourra se connecter à cette application",updateRole:"Mettre à jour le rôle",removeUser:"Supprimer l'utilisateur",removeUserDescription:"Confirmer la suppression de l'utilisateur '{name}' ?",revokePassport:"Révoquer le passeport",revokePassportDescription:"Une fois que le passeport est révoqué, le titulaire du passeport ne peut plus l'utiliser pour se connecter, êtes-vous sûr de vouloir continuer?",enablePassport:"Activer le passeport",enablePassportDescription:"Une fois que le passeport révoqué est à nouveau activé, le titulaire du passeport peut l'utiliser pour se connecter à nouveau, êtes-vous sûr de vouloir continuer?",passportPermissionTitle:"Le passeport a les autorisations suivantes:",search:"Rechercher un membre",onlyApprovedMember:"Afficher approuvé uniquement",inviteDialog:{createInviteLink:"Générer un lien d'invitation",createSuccessTip:"Le lien d'invitation a été créé avec succès. Cliquez pour copier et envoyer le lien au membre invité, veuillez noter que ce lien d'invitation ne peut pas être réutilisé et expirera le {expireDate}."},error:{passportEmpty:"Le passeport ne doit pas être vide"},connectedAccounts:"Comptes Connectés",connections:"Connexions",federated:"Fédéré",switch:{did:"Passer à DID",profile:"Changer de profil",passport:"Changer de passeport"},settings:{notification:"Notifications",email:"Envoyez-moi un e-mail lorsque certains événements se produisent",wallet:"Envoyez une notification à mon portefeuille lorsque des événements se produisent",phone:"Envoyez-moi un message texte lorsque certains événements se produisent",webhook:"Points de terminaison en temps réel",add:"Ajouter un nouveau webhook",url:"URL personnalisée",slack:"Webhook Slack",tested:"Message de test envoyé"},activeUserSessions:"Sessions d'utilisateurs actives",forceLogout:"Déconnexion forcée",forceLogoutDescription:"Confirmez-vous la déconnexion forcée de cet utilisateur?",openProfile:"Voir le profil",removeUserSuccess:"Utilisateur supprimé avec succès"},transferNode:{name:"Transfert de propriété",inviteDialog:{title:"Serveur de blocs de transfert",tips:{progress:"Le serveur doit être accepté par le destinataire pour terminer l'opération de transfert, et une fois que le destinataire l'a accepté, vous ne pouvez plus vous connecter au serveur avec le passeport actuel.",newOwnerPermissions:"Le nouveau propriétaire aura le droit de gérer toutes les opérations telles que les membres, les passeports et les Blocklets.",revoke:`Si vous souhaitez retirer l'invitation de transfert, vous pouvez supprimer le lien d'invitation sur la page "Équipe -> Membres -> Invitation".`},createInviteLink:"Générer le lien d'invitation",createSuccessTip:"Le lien d'invitation a été créé avec succès. Cliquez pour copier et envoyez le lien au membre invité. Veuillez noter que ce lien d'invitation ne peut pas être réutilisé et expirera le {expireDate}."},delegateDialog:{title:"Autorisation requise",scan:"Scannez le code QR suivant avec le portefeuille DID pour autoriser le serveur à transférer la propriété du serveur NFT.",confirm:"Confirmez sur votre portefeuille DID",success:"Autorisation réussie"}},transferApp:{name:"Transfert de propriété",transferDialog:{title:"Demande de transfert",tips:{progress:"La demande doit être acceptée par le destinataire pour finaliser l'opération de transfert, et une fois que le destinataire l'a acceptée, vous ne pouvez plus vous connecter à l'application avec le passeport actuel.",newOwnerPermissions:"Le nouveau propriétaire aura le droit de gérer toutes les opérations telles que les membres, les passeports et les paramètres."},createTransferLink:"Générer un lien de transfert",createSuccessTip1:`Le lien de transfert est créé avec succès, l'invité doit utiliser <a style="color: rgb(29, 193, 199)" target="_blank" href="https://www.didwallet.io/">DID Wallet</a> pour recevoir la propriété de l'application.`,createSuccessTip2:"Veuillez cliquer pour copier et envoyer le lien au membre invité, veuillez noter que ce lien de transfert ne peut pas être réutilisé et expirera le {expireDate}. Votre lien de transfert ne sera affiché qu'une seule fois et ne sera plus visible après la fermeture de cette boîte de dialogue.",createSuccessTip3:"Après la réussite du transfert, l'application redémarrera automatiquement pour que les modifications prennent effet",link:"Lien de transfert",iKnow:"J'ai copié et enregistré le lien"},connectDialog:{title:"Autorisation requise",scan:"Scannez le QR code suivant avec votre portefeuille DID pour autoriser l'application à transférer la propriété.",confirm:"Confirmez sur votre portefeuille DID",success:"Autorisation réussie"},receiveDialog:{title:"Recevoir la propriété de l'application",scan:"Scannez le code QR suivant avec le portefeuille DID pour recevoir la propriété de l'application.",confirm:"Confirmez sur votre portefeuille DID",success:"Réception de la propriété avec succès"},successTitle:"Vous êtes devenu le nouveau propriétaire de cette application",visitDashboard:"Visitez le tableau de bord de l'application",description:'Si vous souhaitez changer la propriété de votre projet, cliquez sur "transférer la propriété" pour commencer'},permission:{create:{title:"Créer une autorisation",description:"Format: <action>_<ressource>"},delete:{title:"Supprimer l'autorisation",description:"Confirmer la suppression de {name} ?"},error:{actionEmpty:"L'action ne peut pas être vide",resourceEmpty:"La ressource ne peut pas être vide",permissionTooLong:"La permission ne peut pas dépasser {length} caractères",descriptionTooLong:"La description ne peut pas dépasser {length} caractères"}},passport:{create:{title:"Créez un passeport",titleTip:"Le titre ne peut pas être modifié après sa création, il est recommandé de le limiter à 14 lettres"},bind:{title:"Autorisation de lier",roleTip:"Vous obtiendrez toutes les autorisations du passeport sélectionné après la liaison.",permissionTip:"Vous recevrez les autorisations sélectionnées après la liaison",transferLeftTitle:"Toutes les autorisations",transferRightTitle:"Permissions accordées"},delete:{title:"Supprimer passeport",description:"Les passeports détenus par l'utilisateur perdent toutes leurs autorisations une fois supprimés. Êtes-vous sûr de vouloir continuer?"},error:{titleEmpty:"Le titre ne peut pas être vide",titleTooLong:"Le titre ne peut pas dépasser {length} caractères",descriptionEmpty:"La description ne peut pas être vide"},issuance:{pending:"En attente",create:{title:"Générer le lien"},delete:{title:"Supprimer le lien de réception",description:"Confirmez la suppression de {link} ?"}},issue:"Émettre un passeport",disableIssuance:"Désactiver l'émission de passeports",enableIssuance:"Activer l'émission de passeport",disableIssuanceTip:'"Émettre un passeport", "Inviter un membre" et autres opérations seront désactivées.',enableIssuanceTip:"Émettre un passeport",trustedPassportIssuers:"Émetteurs de passeports de confiance",trustedIssuers:"Émetteurs de confiance",trustedFactories:"Collections de NFT de confiance",trustedFactoriesTip:"Gérez des collections NFT de confiance qui peuvent être utilisées pour l'échange d'un passeport",searchFactoryAddress:"Rechercher Collection DID",configFactories:"Configurer les collections NFT de confiance",configFactoriesTip:"Permettre aux utilisateurs d'échanger des NFT contre des passeports",factoryAddress:"Adresse de collection NFT",factory404:"Collection NFT introuvable",factoryAddressTip:"L'adresse de collection NFT doit exister sur la chaîne principale d'ArcBlock",role:"Type de passeport",ttl:"Politique d'expiration du passeport",ttlNever:"Jamais expirer",ttlMint:"Depuis l'achat de NFT",ttlExchange:"En raison de l'échange de passeports",ttlNeverTip:"Le passeport sera valide jusqu'à révocation",ttlMintTip:"Le passeport sera valide tant que le NFT est acheté jusqu'à ce que vous spécifiez ttl ou révoquiez",ttlExchangeTip:"Le passeport sera valide à partir du moment où l'utilisateur a échangé avec succès jusqu'à ce que vous ayez spécifié ttl ou révoqué",ttlTip:'"365d" signifie 365 jours, vous pouvez également utiliser "30 jours" ou "24h"',validUntil:"Valable jusqu'au: {date}",externalPassport:"Passeport externe",notTrustedIssuerTip:"Le passeport ne peut pas être utilisé car l'émetteur ne figure pas sur la liste des émetteurs de confiance",issuerDid:"Identifiant de l'émetteur",addNodeToTrustedIssuers:"Ajouter le serveur actuel en tant qu'émetteur de passeports de confiance",revoked:"Révoqué",noPermission:"Pas de permission pour effectuer cette opération",shouldNotDeleteCurrent:"Vous ne pouvez pas révoquer votre passeport actuellement utilisé",mappingRule:"Règle de mappage",defaultRule:"Règle par défaut",search:"Rechercher passeport",searchIssuerDid:"Recherchez l'ID d'émetteur",issueBy:"Problème par {name}",configColor:"Configurer la couleur du passeport",configColorTip:"Personnalisez la couleur du passeport",color:"Couleur du passeport",description:"Utilisez ce passeport pour connecter {teamName} en tant que {title}",displayBuiltin:"Builtin",displayCustom:"Personnalisé",typesTip:"Personnaliser les types de passeport, séparés par des virgules",issuanceDate:"Date de délivrance : {date}"},inviting:{link:"Lien d'invitation",inviter:"Inviter",delete:{title:"Supprimer le lien d'invitation",description:"Confirmer la suppression de {link}?"},disabledTip:"L'invitation n'est pas activée"},whoCanAccess:{all:{title:"Accessible à tous"},owner:{title:"Propriétaire uniquement"},invited:{title:"Utilisateur invité seulement"}}},launcher:{provider:"Fournisseur",adminUrl:"URL"},session:{blockAccess:"Vous avez été bloqué d'accéder à ce serveur"},launchBlocklet:{appInfo:"Informations sur l'application",appInfoDesc:"Confirmez les informations de demande",author:"Auteur de l'application : {author}",setup:"Configuration Blocklet",redirect:"Rediriger",alreadyRunning:"L'application {name} est déjà en cours d'exécution sur ce serveur de blocs",alreadyInstalled:"L'application {name} est déjà installée sur ce serveur Blocklet.",alreadyExists:"Cette application existe déjà, redirection en cours...",purchased:"Déjà acheté",purchase:"Achat",nextStep:"Étape suivante",agreement:"Contrat de licence",agreeAll:"Accepter et continuer",installing:"Installation de {appName} sur {serverName}, cela peut prendre quelques minutes pour terminer, veuillez rester à l'écoute...",redirecting:"{appName} est installé avec succès, démarrage en cours...",start:"Lancement",launch:"Installer Blocklet sur le serveur",launchSuccess:"{appName} a été lancé avec succès !",installSuccess:"Blocklet est installé et lancé avec succès sur {serverName}",openInRegistry:"Voir dans le Blocklet Store",subTitle:"Prêt à installer le Blocklet {appName} sur {serverName}",installingSubTitle:"Installation de {appName}",access:"Ouvrez l'application",viewApplication:"Voir la candidature",newVersion:"Nouvelle version",newVersionDesc:"L'application existe déjà, mais la version actuelle peut être mise à niveau",upgradeNow:"Mise à niveau maintenant",later:"Plus tard",introduction:"Introduction",welcome:"Bienvenue dans l'assistant de lancement de Blocklet",accept:"J'accepte les conditions de l'accord de licence Blocklet",license:"Licence d'application",next:"Acceptez l'EULA et continuez",purchaseApp:"Acheter Blocklet",setupAppDesc:"Initialisez votre Blocklet",launched:"Complet",confirmInstall:"Confirmer l'installation",dialog:{title:"Devenez propriétaire d'application",nftFreeDescription:"Veuillez présenter l'espace d'application NFT et créer un compte d'application pour continuer.",nftPaidDescription:"Veuillez présenter l'espace d'application NFT et l'achat d'application NFT pour continuer",freeDescription:"Veuillez créer un compte d'application pour continuer",paidDescription:"Veuillez présenter l'achat NFT de l'application et créer un compte d'application pour continuer.",confirm:"Confirmez dans votre portefeuille DID",success:"Autorisation réussie",authorizationTimeout:"Délai d'autorisation"},waiting:{verifying:"Vérification des métadonnées de l'application ...",downloading:"Téléchargement du bundle d'application en cours...",downloadingComponent:"Téléchargement de {name}",extractingComponent:"Extraction de {name}",extracting:"Extraction du bundle d'application...",installing:"Installation des composants de l'application...",installed:"Installé",starting:"Démarrage de l'application...",done:"Votre application se lance..."},error:{loadMetaFailed:"Échec du chargement des informations de l'application",appMetaNotFound:"Aucune information trouvée pour cette application",downloadFailed:"Échec du téléchargement de l'application, veuillez réessayer.",installFailed:"Échec de l'installation de l'application, veuillez réessayer",startFailed:"Échec du démarrage de l'application, veuillez réessayer",launchFailed:"Échec du lancement de l'application, veuillez réessayer",installedButStopped:"L'application a été installée avec succès, mais ne peut pas être démarrée. Vous pouvez la démarrer manuellement après avoir résolu les problèmes de blocage.",installedButError:"L'application est installée avec succès, mais n'a pas réussi à démarrer",restoreFailed:"Échec de la restauration de l'application, veuillez réessayer",resourceBlocklet:"Ce blocklet ne peut pas être lancé directement. Cependant, vous pouvez l'ajouter à une application existante."},steps:{introduction:"Introduction",installApp:"Installer l'application",purchaseSpace:"Acheter de l'espace",prepareSpace:"Préparez l'espace"},installRelatedComponents:"Installer les Blocklets liés",canNotInstall:"Ne peut pas installer",dockerBlockletCantInstall:"Impossible d'installer le Blocklet, car le serveur Blocklet n'a pas activé Docker ou le réseau Docker"},issuePassport:{title:"Recevoir le passeport",description:"Utilisez le portefeuille DID pour recevoir le passeport délivré par {name}",dialog:{scan:"Utilisez votre portefeuille DID pour demander le passeport",confirm:"Confirmez sur votre portefeuille DID",success:"Le passeport a été ajouté avec succès à votre portefeuille",loginWithPassport:"Connectez-vous avec ce passeport",autoClose:"La page se fermera automatiquement dans {seconds}s",autoJump:"La page sera automatiquement sautée dans {seconds}s."}},lostPassport:{title:"Passeport perdu",description:"Le propriétaire de {name} peut scanner le code QR pour récupérer le passeport. Les membres doivent contacter le propriétaire pour demander la réédition du passeport.",dialog:{title:"Récupérer le passeport",scan:"Utilisez votre porte-monnaie DID pour récupérer le passeport",confirm:"Confirmez dans votre portefeuille DID",success:"Le passeport a été ajouté avec succès dans votre portefeuille"},return:"Connectez-vous avec un passeport",selectPassport:"Sélectionnez le passeport",receivePassport:"Recevoir le passeport"},invite:{message:"{name} vous invite à être le {role} de {dapp}",success:"Vous avez réussi à rejoindre {dapp}",receive:"Recevoir avec",validUntil:"Valable jusqu'à:",viewPermission:"Permission d'affichage",emptyPermission:"Permission vide",open:"Ouvrir",description:{step1:"Téléchargez et configurez votre {wallet}",step2:"Cliquez sur le bouton ci-dessus pour recevoir le passeport",step3:"Connectez-vous à {dapp} avec le passeport reçu"},transferNFTDialog:{title:"Acceptez le serveur Blocklet {name}",scan:"Connectez le Launcher pour compléter la réception du serveur Blocklet.",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Connecté avec succès, en attente de confirmation de la réception du serveur"}},receive:{dialog:{title:"Utilisez votre portefeuille DID pour recevoir votre passeport",scan:"Connectez votre portefeuille DID pour recevoir votre passeport",confirm:"Confirmez sur votre portefeuille DID",success:"Vous êtes connecté avec succès"}},navigation:{navigation:"Navigation",actionFailed:"Action échouée",form:{title:"Titre",titlePlaceholder:"Veuillez saisir le titre de navigation",titleTooLong:"La longueur du titre doit être inférieure à {len}",icon:"Icône de navigation",iconPlaceholder:"Veuillez saisir l'icône de navigation",invalidIcon:"L'icône n'est pas valide",findMoreIcon:"Trouver plus d'icônes",link:"Lien",linkPlaceholder:"Veuillez saisir le lien de navigation",invalidLink:"Le lien est invalide",component:"Composant",componentPlaceholder:"Veuillez sélectionner le composant de navigation",role:"Rôle",rolePlaceholder:"Veuillez sélectionner le rôle de navigation",locale:"Locale",localePlaceholder:"Veuillez entrer la localisation à ajouter",localeExists:"{value} existe déjà",activeIcon:"Icône active",activeIconPlaceholder:"Veuillez entrer l'icône de navigation active",activeColor:"Couleur active",activeColorPlaceholder:"Veuillez entrer la couleur active de la navigation",color:"Couleur",colorPlaceholder:"Veuillez saisir la couleur par défaut de la navigation"},action:{add:"Ajouter la navigation",addSub:"Ajouter une sous-navigation",edit:"Modifier la navigation",hide:"Masquer la navigation",show:"Afficher la navigation",del:"Supprimer la navigation",new:"Nouveau",noAddSub:"Le composant désinstallé ne peut pas ajouter de sous-navigation",noEdit:"Le composant désinstallé ne peut pas être modifié",noDel:"Supprimer la navigation intégrée n'est pas autorisé",reset:"Réinitialiser",restConfirmTitle:"Voulez-vous effacer toute la navigation personnalisée ?",restConfirmDesc:"Après un nettoyage, la navigation sera restaurée à la configuration par défaut originale de Blocklet.",resetSuccessful:"Réinitialisation réussie"},access:"Accès",members:"Membres",passport:"Passeport",analytics:"Analytique",dashboard:"Tableau de bord",studio:"Studio",blockletService:"Service Blocklet"},storage:{spaces:{title:"DID Spaces",tips:"Conseils",label:"Veuillez entrer la passerelle DID Spaces",connected:{title:"Espaces DID connectés",tag:"Connecté(e)"},connectedWithName:"Vous vous êtes connecté avec succès à {name}",addedWithName:"Vous avez ajouté {name} avec succès",connects:"Connecter",reconnect:"Reconnecter",addressCannotEmpty:"L'adresse ne peut pas être vide",addressNotValid:"{url} n'est pas une adresse valide",authorize:{title:"Connectez {appName} à DID Spaces",scan:"Utilisez votre portefeuille DID pour scanner le code QR ci-dessous afin de permettre à l'application {appName} de se connecter aux espaces DID.",success:"Connecté avec succès"},provideNFT:{title:"Veuillez montrer le DID Spaces NFT pour {appName}",scan:"Utilisez votre DID Wallet pour scanner le code QR ci-dessous afin de permettre à l'application {appName} d'afficher DID Space NFT.",success:"Connecté avec succès"},backup:{title:"Sauvegarde",records:"Enregistrements de sauvegarde"},autoBackup:{title:"Sauvegarde automatique",enabled:"La sauvegarde automatique est activée",disabled:"La sauvegarde automatique est désactivée"},autoCheckUpdate:{title:"Vérification automatique des notifications de nouvelles versions",enabled:"La vérification automatique des nouvelles versions est activée",disabled:"La vérification automatique des nouvelles versions est désactivée"},backupSuccessfully:"Sauvegarde effectuée avec succès",restore:"Restaurer",restoreSuccessfully:"Restauration réussie",gateway:{title:"Passerelle",select:"Sélectionnez un espace DID",add:{title:"Ajouter des espaces DID",label:"Entrez l'URL des DID Spaces",failed:"Échec de l'ajout des espaces DID",invalidUrl:"URL de passerelle DID Spaces invalide",duplicate:"{name} est déjà connecté à ce Blocklet"},delete:{title:"Déconnecter",succeeded:"Déconnecté de DID Spaces {name}",failed:"Erreur lors de la déconnexion de la passerelle",failedForSelected:"Impossible de déconnecter du DID Space sélectionné",descForBackup:`Après la déconnexion de {name}, vous ne pourrez plus faire de sauvegarde de Blocklet à ce DID Space. Êtes-vous sûr de vouloir déconnecter ?
|
|
2
|
-
Vous pouvez restaurer les opérations de sauvegarde en vous reconnectant à {name}.`,descForStorage:`Après la déconnexion de {name}, vous ne pourrez plus faire de sauvegarde de Blocklet à ce DID Space. Êtes-vous sûr de vouloir déconnecter ?
|
|
3
|
-
Vous pouvez restaurer les opérations de sauvegarde en vous reconnectant à {name}.`},connect:{title:"Connectez-vous à DID Spaces",add:"Connectez-vous maintenant aux espaces DID",addTips:"Vous n'êtes pas encore connecté à un DID Space",switch:"Changer d'espaces DID",switchTips:"Vous êtes connecté à {name}",connected:"Connecté"},switch:{failedForMismatchSpace:"Veuillez vous connecter au bon DID Space {name}"},connectTo:"Connectez-vous à DID Spaces"},strategy:{title:"Stratégie de sauvegarde",autoBackup:"Sauvegarde automatique",backupNow:"Faites une sauvegarde maintenant",viewBackupFiles:"Afficher les fichiers de sauvegarde"},progress:{title:"Progression de sauvegarde"},record:{title:"Dossiers de sauvegarde",emptyData:"Aucun enregistrement"},notYet:"Vous n'avez pas encore de sauvegarde en cours...",connect:{now:"Se connecter maintenant",title:"Connecter DID Spaces",provider:"Fournissez votre DID Space pour commencer les sauvegardes",providerForStorage:"Fournissez votre DID Space pour le stockage de données",useWallet:"Se connecter avec DID Wallet",useWalletReconnect:"Se reconnecter avec DID Wallet",useSpaceGateway:"Se connecter via DID Space Gateway",useSpaceGatewayReconnect:"Se reconnecter via DID Space Gateway",switchToSpace:"Basculer vers DID Space",switchToSpaceSucceeded:"Passé à DID Space {name}",succeeded:"Connecté avec succès à DID Space",disconnect:"Déconnecter",abortBlockletBackup:"Annuler la sauvegarde"},disconnected:{tag:"Déconnecté",reconnectNow:"Reconnectez maintenant"}},appLevel:{title:"Stockage au niveau de l'application",description:"Tous les données générées par l'application sont stockées dans ce DID Space"}},log:{lastDays:{1:"Dernier 1 jour",7:"La dernière semaine"}},oauth:{commonSettings:"Paramètres courants",save:"Enregistrer",saveSuccess:"Enregistrement réussi",saveFailed:"Échec de l'enregistrement",issued:"Émis",thirdPartyLogin:"Connexion de tiers",alreadyBindOAuth:"Connexion tierce déjà liée",alreadyBindWallet:"Déjà lier le portefeuille DID",auth0:{enable:"Activer la connexion Auth0",domain:"Domaine",domainDescription:"Le domaine d'Auth0 est requis",clientId:"Identifiant client",clientIdDescription:"Le clientId d'Auth0 est requis",clientSecret:"Secret du client",clientSecretDescription:"Le secret client de l'application Auth0 OAuth est requis"},comingSoon:"Plus de méthodes de connexion sont en cours de construction.",moreLogin:"Plus de connexion",federated:"Connexion fédérée",runTest:"Test",github:{enable:"Activer la connexion Github",clientId:"Identifiant client",clientIdDescription:"L'application Github OAuth nécessite un clientId",clientSecret:"Secret client",clientSecretDescription:"L'application Github OAuth nécessite un clientSecret"},google:{enable:"Activer la connexion Google",clientId:"Identifiant client",clientIdDescription:"L'identifiant de l'application Google OAuth est nécessaire",clientSecret:"Client secret",clientSecretDescription:"L'application Google OAuth nécessite un clientSecret"},apple:{enable:"Activer la connexion Apple",teamId:"Identifiant d'équipe",teamIdDescription:"Un identifiant d'équipe est nécessaire pour l'application Apple OAuth",serviceId:"Identifiant de service",serviceIdDescription:"Un identifiant de service est nécessaire pour l'application Apple OAuth",keyId:"Clé ID",keyIdDescription:"Une clé d'application OAuth Apple est requise",authKey:"Clé Auth",authKeyDescription:"Clé d'authentification pour l'application Apple OAuth requise",bundleId:"Bundle ID",bundleIdDescription:"L'ID de bundle de l'application Apple OAuth est requis"},oauth:"Connexion tierce partie"},expiration:{mobile:{tips:{success:"{validity}",warning:"{validity}",error:"Expiré"},loadFailed:"Réessayer !"},desktop:{tips:{success:"L'abonnement expirera après {validity}",warning:"L'abonnement expirera après {validity}",error:"Abonnement expiré"},loading:"Chargement de l'abonnement...",loadFailed:"Échec du chargement des informations d'abonnement, veuillez réessayer !",nextInvoice:"Prochaine facture: {date}"}},analytics:{trend:"Tendances",detail:"Panne",traffic:{totalRequests:"Total des demandes",validRequests:"Demandes réussies",failedRequests:"Demandes échouées",uniqueVisitors:"Visiteurs uniques",uniqueFiles:"URL uniques",uniqueReferrers:"Référents uniques",uniqueNotFound:"Erreur 404 unique",uniqueStaticFiles:"Fichiers statiques uniques",logSize:"Taille du journal",bandwidth:"Bande passante"},runtime:"Runtime"},federated:{inviteJoinFederatedLogin:"Invitation à rejoindre la connexion fédérée",inviteJoinFederatedLoginDescription:"Copiez l'adresse suivante et remplissez-la dans l'application où vous devez vous joindre pour postuler à une connexion fédérée.",federatedLogin:"Connexion fédérée",joinFederatedLogin:"Rejoindre la connexion fédérée",joinFederatedLoginDescription:"Veuillez saisir l'adresse de connexion fédérée fournie par Master Blocklet pour rejoindre la connexion fédérée",quitFederatedLogin:"Quitter la connexion fédérée",quitFederatedLoginDescription:"Après la déconnexion de la connexion fédérée, la connexion normale est toujours disponible.",federatedJoinAppUrl:"Rejoignez l'URL de l'application de connexion fédérée",federatedJoinAppUrlRequired:"Veuillez saisir l'URL de connexion fédérée",failedToGetFederatedLoginAppUrl:"Impossible d'obtenir la connexion fédérée pour rejoindre l'URL de l'application",federatedJoinAppUrlInvalid:"L'appUrl de la connexion fédérée est invalide.",siteDetail:"Détails du site",approveToJoinLogin:"Approuver pour rejoindre la connexion fédérée",approve:"Activer la connexion",revoke:"Désactiver la connexion",enableFederatedLogin:"Activer la connexion fédérée",disableFederatedLogin:"Désactiver la connexion fédérée",enableFederatedLoginDescription:"Après avoir activé la connexion fédérée, ce site se connectera automatiquement.",disableFederatedLoginDescription:"Après avoir désactivé la connexion fédérée, ce site ne se connectera pas automatiquement",enableFederatedAutoLogin:"Activer la connexion automatique",enableFederatedAutoLoginDescription:"Après avoir activé la connexion automatique, si un statut de connexion unifiée est actuellement en place, le site se connectera automatiquement avec l'identité de la connexion fédérée.",disableFederatedAutoLogin:"Désactiver la connexion automatique",disableFederatedAutoLoginDescription:"Après la désactivation de la connexion automatique, le site ne se connectera pas automatiquement avec les informations d'identification de la connexion unifiée, et vous pouvez toujours choisir de vous connecter manuellement en cliquant.",info:{appId:"L'APPLICATION A FAIT",appPid:"Identifiant permanent",migratedFrom:"Également connu sous le nom de",appName:"Nom de blocklet",appDescription:"Description du bloclet",appUrl:"URL de Blocklet",appLogo:"Logo Blocklet",did:"Blocklet DID",serverId:"Identifiant du serveur Blocklet",serverVersion:"Version du serveur Blocklet",version:"Version Blocklet",appliedAt:"Postulez chez",status:"Statut"},status:{pending:"En attente",approved:"Approuvé",rejected:"Rejeté",revoked:"Révoqué"},disbandFederatedLogin:"Désactiver la connexion fédérée",disbandFederatedLoginDescription:"Après la dissolution de la connexion fédérée, tous les sites membres abandonneront automatiquement la connexion fédérée.",syncConfig:"Synchroniser la configuration des sites fédérés",quitMember:"Supprimer",quitMemberDescription:"Supprimer les membres spécifiés du groupe de site",removeFederatedLogin:"Supprimer le membre",removeFederatedLoginDescription:"Après avoir supprimé les membres spécifiés du groupe du site, les membres ne peuvent utiliser que la connexion normale"},optionsOrder:{1:"Option Un",2:"Option Deux"},securityRule:{title:"Règle de sécurité",sortByDescription:"Trier par priorité de correspondance",add:"Ajouter une règle de sécurité",edit:"Modifier la règle de sécurité",view:"Afficher la règle de sécurité",form:{precede:"Faire précéder",pathPattern:"Motif de chemin",pathPatternPlaceholder:"Veuillez saisir le modèle de chemin",pathPatternErrorText:"Modèle de chemin non valide",accessPolicyOrResponseHeaderPolicyRequired:"Politique d'accès ou politique d'en-tête de réponse est requise",accessPolicy:"Accés",accessPolicyPlaceholder:"Sélectionner une politique d'accès",accessPolicyHelperText:"Veuillez sélectionner une politique d'accès",responseHeaderPolicy:"Stratégie d'en-tête de réponse",responseHeaderPolicyPlaceholder:"Veuillez sélectionner la politique d'en-tête de réponse",responseHeaderPolicyHelperText:"Sélectionnez une stratégie d'en-tête de réponse",remark:"Remarque",remarkPlaceholder:"Veuillez saisir une remarque",component:"Composant",componentPlaceholder:"Veuillez choisir le composant"},delete:{title:"Supprimer la règle de sécurité ?",description:"Après avoir supprimé une règle de sécurité, la règle ne sera plus appliquée"}},responseHeaderPolicy:{title:"Politique d'en-tête de réponse",add:"Ajouter une politique d'en-tête de réponse",edit:"Modifier la politique relative aux en-têtes de réponse",view:"Afficher la politique d'en-tête de réponse",form:{name:"Nom",namePlaceholder:"Veuillez entrer un nom",description:"Description",descriptionPlaceholder:"Veuillez entrer une description",cors:{origin:"Origine",originPlaceholder:"Les formats de domaine suivants sont pris en charge : http://www.example.com, http://*.example.com, http://www.example.com:8080, * (les caractères génériques ne sont pas recommandés)",originHelperText:"Le nom de domaine commence par http:// ou https://, un par ligne, un caractère générique * par ligne",methods:"Méthodes",allowedHeaders:"En-têtes autorisés",allowedHeadersPlaceholder:"Il est recommandé de remplir *, prend en charge une entrée multiligne",allowedHeadersHelperText:"Indiquez au serveur quels en-têtes HTTP personnalisés de requête peuvent être utilisés dans la prochaine requête lors de l'envoi d'une requête OPTIONS, comme : x-blocklet-version",exposedHeaders:"En-têtes exposés",exposedHeadersPlaceholder:"Prise en charge de la saisie multiligne",exposedHeadersHelperText:"Configurer les en-têtes accessibles, par exemple : X-Content-Range",maxAge:"Âge maximal (secondes)",maxAgeHelperText:"La durée de validité du résultat obtenu à partir d'une requête OPTIONS doit être un entier positif",optionsSuccessStatus:"Statut d'options réussies",preflightContinue:"Continuer",credentials:"Identifiants",smartModeHelperText:"Ajouter automatiquement tous les noms de domaine de l'application actuelle, ainsi que tous les noms de domaine du groupe de sites de connexion fédérée",smartMode:"Mode intelligent"},originOverride:"Dérogation à l'origine",originOverrideHelperText:"Définir si la logique de l'application doit remplacer cet en-tête de réponse"},delete:{title:"Supprimer la politique d'en-tête de réponse ?",description:"Après suppression d'une stratégie d'en-tête de réponse, la stratégie ne prendra plus effet"}},accessPolicy:{title:"Politique d'accès",add:"Ajouter une stratégie d'accès",edit:"Modifier la politique d'accès",view:"Afficher la politique d'accès",form:{name:"Nom",namePlaceholder:"Veuillez saisir un nom",description:"Description",descriptionPlaceholder:"Veuillez saisir une description",roles:"Rôles d'accès",accessType:"Type d'accès"},delete:{title:"Supprimer la stratégie d'accès ?",description:"Après avoir supprimé une politique d'accès, la politique ne prendra plus d'effet"}},didConnect:{genKeyPair:{title:"Générer Blocklet DID",scan:"Scannez le QR code suivant pour générer un Blocklet DID",success:"Blocklet DID généré avec succès",successDesc:"La Blocklet DID a été générée avec succès (Les publications suivantes nécessitent le portefeuille qui a généré la DID pour fonctionner)"},common:{invalidSession:"Session invalide",invalidSessionDesc:"La session n'existe pas ou a expiré",connectionError:"Échec de la connexion"}},pagination:{next:"Page suivante",previous:"Page précédente",rowsPerPage:"Par page :",displayRows:"de",jumpToPage:"Aller à la page :"}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{as as t,j as o}from"./vendor-arcblock-CLdpcBR_.js";function i(...e){try{return t(...e)}catch(r){throw o.error("Invalid redirect url"),console.error("Invalid redirect url",r),r}}export{i as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{as as t,j as o}from"./vendor-arcblock-CLdpcBR_.js";function i(...e){try{return t(...e)}catch(r){throw o.error("Invalid redirect url"),console.error("Invalid redirect url",r),r}}export{i as g};
|