@seams/wallet 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/README.md +4 -5
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/index.js +1 -1
  4. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +1 -1
  5. package/dist/esm/SeamsWeb/walletIframe/client/router.js +10 -4
  6. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +23 -1
  7. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +5 -4
  8. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +121 -246
  9. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +37 -1
  10. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +4 -2
  11. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +117 -0
  12. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
  13. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
  14. package/dist/esm/core/browser/walletIframe/events.js +6 -0
  15. package/dist/esm/core/config/configBuilder.js +2 -0
  16. package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +27 -0
  17. package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +155 -0
  18. package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +209 -0
  19. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +7 -4
  20. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
  21. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +9 -6
  22. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +9 -6
  23. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +7 -4
  24. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +4 -1
  25. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +4 -1
  26. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +5 -4
  27. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +319 -0
  28. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +10 -7
  29. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
  30. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +28 -22
  31. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -1
  32. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
  33. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +42 -27
  34. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +25 -18
  35. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +8 -5
  36. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
  37. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +6 -4
  38. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +92 -0
  39. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +4 -2
  40. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +12 -0
  41. package/dist/esm/core/ui/locale.js +10 -0
  42. package/dist/esm/core/ui/messages.js +698 -0
  43. package/dist/esm/index.js +3 -2
  44. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
  45. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +7 -4
  46. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
  47. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
  48. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
  49. package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
  50. package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
  51. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
  52. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
  53. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
  54. package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
  55. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +20 -0
  56. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
  57. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +9 -3
  58. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
  59. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  60. package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
  61. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
  62. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
  63. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
  64. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
  65. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
  66. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +1 -0
  67. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
  68. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +22 -15
  69. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +20 -16
  70. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +15 -0
  71. package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
  72. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
  73. package/dist/esm/react/components/QRCodeScanner.js +28 -23
  74. package/dist/esm/react/components/ShowQRCode.js +39 -31
  75. package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
  76. package/dist/esm/react/context/WalletLocale.js +15 -0
  77. package/dist/esm/react/context/index.js +8 -3
  78. package/dist/esm/react/styles/styles.css +36 -0
  79. package/dist/esm/sdk/ConfirmationDrawer-DCw0m-Iv.js +1 -0
  80. package/dist/{public/sdk/NonceCoordinator-DuDKN-B8.js → esm/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
  81. package/dist/{public/sdk/accountLifecycle-D61FIpFS.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  82. package/dist/{public/sdk/activeWalletSession-Ba6X4CUN.js → esm/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
  83. package/dist/esm/sdk/adapters-BNmcyf9K.js +2 -0
  84. package/dist/esm/sdk/appearance-token-vars-DxBm_cKA.js +2 -0
  85. package/dist/esm/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  86. package/dist/esm/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
  87. package/dist/{public/sdk/clientSessionPersistenceState-BHRUSWMt.js → esm/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  88. package/dist/esm/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
  89. package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
  90. package/dist/esm/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
  91. package/dist/esm/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
  92. package/dist/esm/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
  93. package/dist/{public/sdk/ecdsaCapabilityManifest-DzA996y9.js → esm/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
  94. package/dist/{public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
  95. package/dist/{public/sdk/ecdsaDerivationExport-DyugdheE.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  96. package/dist/esm/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  97. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  98. package/dist/esm/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-DsdzagKK.js} +1 -1
  99. package/dist/{public/sdk/exportKeypairOperation-SJPysnE1.js → esm/sdk/exportKeypairOperation-BwW_E4Lt.js} +1 -1
  100. package/dist/esm/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
  101. package/dist/esm/sdk/{host-GPb_mSAQ.js → host-DMR4KDy9.js} +1 -1
  102. package/dist/esm/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
  103. package/dist/esm/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
  104. package/dist/esm/sdk/localOnly-DO191vDh.js +1 -0
  105. package/dist/esm/sdk/mountExportPrivateKeySurface-DQzFzhNu.js +1 -0
  106. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +2 -0
  107. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
  108. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  109. package/dist/esm/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  110. package/dist/esm/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
  111. package/dist/{public/sdk/passkey-custody-CBSal3E9.js → esm/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
  112. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-DOeIn_Qj.js} +1 -1
  113. package/dist/{public/sdk/presignaturePool-CQNt13kE.js → esm/sdk/presignaturePool-BHoxnbOA.js} +1 -1
  114. package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  115. package/dist/esm/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
  116. package/dist/esm/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
  117. package/dist/esm/sdk/{registration-49OGU_GZ.js → registration-DknFwoqn.js} +1 -1
  118. package/dist/esm/sdk/{registration-C7tywPXF.js → registration-sQndIWRF.js} +1 -1
  119. package/dist/esm/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  120. package/dist/esm/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
  121. package/dist/{public/sdk/registrationIntent-PqmcTEE3.js → esm/sdk/registrationIntent-D4YDjf2U.js} +1 -1
  122. package/dist/esm/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
  123. package/dist/{public/sdk/routerAbNormalSigning-xxATTIh5.js → esm/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
  124. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  125. package/dist/esm/sdk/runtime-auth-BxG-J-BB.js +1 -0
  126. package/dist/esm/sdk/runtime-device-link-Dn_5hPCq.js +1 -0
  127. package/dist/esm/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js +1 -0
  128. package/dist/esm/sdk/runtime-email-otp-CPqTCH8Q.js +1 -0
  129. package/dist/esm/sdk/runtime-export-Brz53_oi.js +1 -0
  130. package/dist/esm/sdk/runtime-near-Da_xFUXx.js +1 -0
  131. package/dist/esm/sdk/runtime-preferences-riUZGaTs.js +1 -0
  132. package/dist/esm/sdk/runtime-recovery-CTj4nDAM.js +1 -0
  133. package/dist/esm/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-D8T9LQ7-.js} +1 -1
  134. package/dist/esm/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
  135. package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  136. package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  137. package/dist/esm/sdk/shared-hx7KVyeq.js +6 -0
  138. package/dist/esm/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
  139. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
  140. package/dist/esm/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  141. package/dist/{public/sdk/signNear-Dno7NsP_.js → esm/sdk/signNear-B000QxBd.js} +1 -1
  142. package/dist/{public/sdk/signingFlow-DtugI_2z.js → esm/sdk/signingFlow-gl85GOW4.js} +1 -1
  143. package/dist/esm/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
  144. package/dist/esm/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
  145. package/dist/{public/sdk/thresholdEcdsa-murTq-xz.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  146. package/dist/{public/sdk/transactionState-XbZm9Zon.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
  147. package/dist/esm/sdk/tx-confirm-ui.js +1799 -432
  148. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  149. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  150. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  151. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  152. package/dist/esm/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
  153. package/dist/esm/sdk/wallet-ui.css +1 -1
  154. package/dist/{public/sdk/walletAuthMethodRecord-Bv68Vq-g.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  155. package/dist/{public/sdk/walletAuthority-v5wvv3IB.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  156. package/dist/{public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
  157. package/dist/esm/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
  158. package/dist/{public/sdk/walletOwnershipGeneration-pMmmJ6XA.js → esm/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  159. package/dist/esm/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  160. package/dist/esm/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  161. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  162. package/dist/{public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
  163. package/dist/{public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
  164. package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  165. package/dist/{public/sdk/webauthnP256-XgYu-Y6E.js → esm/sdk/webauthnP256-_ajaNl90.js} +1 -1
  166. package/dist/esm/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
  167. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  168. package/dist/public/headers.manifest.json +1 -1
  169. package/dist/public/sdk/ConfirmationDrawer-DCw0m-Iv.js +1 -0
  170. package/dist/{esm/sdk/NonceCoordinator-DuDKN-B8.js → public/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
  171. package/dist/{esm/sdk/accountLifecycle-D61FIpFS.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  172. package/dist/{esm/sdk/activeWalletSession-Ba6X4CUN.js → public/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
  173. package/dist/public/sdk/adapters-BNmcyf9K.js +2 -0
  174. package/dist/public/sdk/appearance-token-vars-DxBm_cKA.js +2 -0
  175. package/dist/public/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  176. package/dist/public/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
  177. package/dist/{esm/sdk/clientSessionPersistenceState-BHRUSWMt.js → public/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  178. package/dist/public/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
  179. package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
  180. package/dist/public/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
  181. package/dist/public/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
  182. package/dist/public/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
  183. package/dist/{esm/sdk/ecdsaCapabilityManifest-DzA996y9.js → public/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
  184. package/dist/{esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
  185. package/dist/{esm/sdk/ecdsaDerivationExport-DyugdheE.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  186. package/dist/public/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  187. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  188. package/dist/public/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-DsdzagKK.js} +1 -1
  189. package/dist/{esm/sdk/exportKeypairOperation-SJPysnE1.js → public/sdk/exportKeypairOperation-BwW_E4Lt.js} +1 -1
  190. package/dist/public/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
  191. package/dist/public/sdk/{host-GPb_mSAQ.js → host-DMR4KDy9.js} +1 -1
  192. package/dist/public/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
  193. package/dist/public/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
  194. package/dist/public/sdk/localOnly-DO191vDh.js +1 -0
  195. package/dist/public/sdk/mountExportPrivateKeySurface-DQzFzhNu.js +1 -0
  196. package/dist/public/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +2 -0
  197. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
  198. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  199. package/dist/public/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  200. package/dist/public/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
  201. package/dist/{esm/sdk/passkey-custody-CBSal3E9.js → public/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
  202. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-DOeIn_Qj.js} +1 -1
  203. package/dist/{esm/sdk/presignaturePool-CQNt13kE.js → public/sdk/presignaturePool-BHoxnbOA.js} +1 -1
  204. package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  205. package/dist/public/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
  206. package/dist/public/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
  207. package/dist/public/sdk/{registration-49OGU_GZ.js → registration-DknFwoqn.js} +1 -1
  208. package/dist/public/sdk/{registration-C7tywPXF.js → registration-sQndIWRF.js} +1 -1
  209. package/dist/public/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  210. package/dist/public/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
  211. package/dist/{esm/sdk/registrationIntent-PqmcTEE3.js → public/sdk/registrationIntent-D4YDjf2U.js} +1 -1
  212. package/dist/public/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
  213. package/dist/{esm/sdk/routerAbNormalSigning-xxATTIh5.js → public/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
  214. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  215. package/dist/public/sdk/runtime-auth-BxG-J-BB.js +1 -0
  216. package/dist/public/sdk/runtime-device-link-Dn_5hPCq.js +1 -0
  217. package/dist/public/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js +1 -0
  218. package/dist/public/sdk/runtime-email-otp-CPqTCH8Q.js +1 -0
  219. package/dist/public/sdk/runtime-export-Brz53_oi.js +1 -0
  220. package/dist/public/sdk/runtime-near-Da_xFUXx.js +1 -0
  221. package/dist/public/sdk/runtime-preferences-riUZGaTs.js +1 -0
  222. package/dist/public/sdk/runtime-recovery-CTj4nDAM.js +1 -0
  223. package/dist/public/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-D8T9LQ7-.js} +1 -1
  224. package/dist/public/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
  225. package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  226. package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  227. package/dist/public/sdk/shared-hx7KVyeq.js +6 -0
  228. package/dist/public/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
  229. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
  230. package/dist/public/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  231. package/dist/{esm/sdk/signNear-Dno7NsP_.js → public/sdk/signNear-B000QxBd.js} +1 -1
  232. package/dist/{esm/sdk/signingFlow-DtugI_2z.js → public/sdk/signingFlow-gl85GOW4.js} +1 -1
  233. package/dist/public/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
  234. package/dist/public/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
  235. package/dist/{esm/sdk/thresholdEcdsa-murTq-xz.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  236. package/dist/{esm/sdk/transactionState-XbZm9Zon.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
  237. package/dist/public/sdk/tx-confirm-ui.js +1799 -432
  238. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  239. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  240. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  241. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  242. package/dist/public/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
  243. package/dist/public/sdk/wallet-ui.css +1 -1
  244. package/dist/{esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  245. package/dist/{esm/sdk/walletAuthority-v5wvv3IB.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  246. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
  247. package/dist/public/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
  248. package/dist/{esm/sdk/walletOwnershipGeneration-pMmmJ6XA.js → public/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  249. package/dist/public/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  250. package/dist/public/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  251. package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  252. package/dist/{esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
  253. package/dist/{esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → public/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
  254. package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  255. package/dist/{esm/sdk/webauthnP256-XgYu-Y6E.js → public/sdk/webauthnP256-_ajaNl90.js} +1 -1
  256. package/dist/public/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
  257. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  258. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  259. package/dist/public/wallet-assets.manifest.json +192 -192
  260. package/dist/public/wallet-service/index.html +4 -4
  261. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
  262. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +20 -3
  263. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +3 -0
  264. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
  265. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +5 -6
  266. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +2 -0
  267. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
  268. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
  269. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
  270. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +0 -1
  271. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
  272. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
  273. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
  274. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
  275. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
  276. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
  277. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
  278. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +0 -1
  279. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
  280. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
  281. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
  282. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
  283. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
  284. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
  285. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
  286. package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
  287. package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
  288. package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
  289. package/dist/types/wallet/src/index.d.ts +3 -1
  290. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
  291. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
  292. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -1
  293. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
  294. package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
  295. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  296. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  297. package/package.json +1 -1
  298. package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
  299. package/dist/esm/sdk/adapters-CTlDBRJy.js +0 -2
  300. package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
  301. package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  302. package/dist/esm/sdk/localOnly-CPmpw381.js +0 -1
  303. package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
  304. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
  305. package/dist/esm/sdk/runtime-auth-CpjGW90U.js +0 -1
  306. package/dist/esm/sdk/runtime-device-link-CKgfGi7D.js +0 -1
  307. package/dist/esm/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
  308. package/dist/esm/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
  309. package/dist/esm/sdk/runtime-export-B92wQD25.js +0 -1
  310. package/dist/esm/sdk/runtime-near-CUuKg38M.js +0 -1
  311. package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +0 -1
  312. package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +0 -1
  313. package/dist/esm/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
  314. package/dist/esm/sdk/shared-ha31XIdc.js +0 -6
  315. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
  316. package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  317. package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
  318. package/dist/public/sdk/adapters-CTlDBRJy.js +0 -2
  319. package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
  320. package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  321. package/dist/public/sdk/localOnly-CPmpw381.js +0 -1
  322. package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
  323. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
  324. package/dist/public/sdk/runtime-auth-CpjGW90U.js +0 -1
  325. package/dist/public/sdk/runtime-device-link-CKgfGi7D.js +0 -1
  326. package/dist/public/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
  327. package/dist/public/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
  328. package/dist/public/sdk/runtime-export-B92wQD25.js +0 -1
  329. package/dist/public/sdk/runtime-near-CUuKg38M.js +0 -1
  330. package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +0 -1
  331. package/dist/public/sdk/runtime-recovery-uyw8sywI.js +0 -1
  332. package/dist/public/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
  333. package/dist/public/sdk/shared-ha31XIdc.js +0 -6
  334. package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
  335. package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  336. /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  337. /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  338. /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
  339. /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  340. /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  341. /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
@@ -2024,6 +2024,29 @@ function R(u, t, i) {
2024
2024
  var r, o, e, f;
2025
2025
  t == document && (t = document.documentElement), l.__ && l.__(u, t), o = (r = typeof i == "function") ? null : i && i.__k || t.__k, e = [], f = [], q(t, u = (!r && i || t).__k = k(S, null, [u]), o || d, d, t.namespaceURI, !r && i ? [i] : o ? null : t.firstChild ? n.call(t.childNodes) : null, e, !r && i ? i : o ? o.__e : t.firstChild, r, f), D(e, u, f), u.props.children = null;
2026
2026
  }
2027
+ function X(n) {
2028
+ function l(n) {
2029
+ var u, t;
2030
+ return this.getChildContext || (u = new Set, (t = {})[l.__c] = this, this.getChildContext = function() {
2031
+ return t;
2032
+ }, this.componentWillUnmount = function() {
2033
+ u = null;
2034
+ }, this.shouldComponentUpdate = function(n) {
2035
+ this.props.value != n.value && u.forEach(function(n) {
2036
+ n.__e = true, A(n);
2037
+ });
2038
+ }, this.sub = function(n) {
2039
+ u.add(n);
2040
+ var l = n.componentWillUnmount;
2041
+ n.componentWillUnmount = function() {
2042
+ u && u.delete(n), l && l.call(n);
2043
+ };
2044
+ }), n.children;
2045
+ }
2046
+ return l.__c = "__cC" + y++, l.__ = n, l.Provider = l.__l = (l.Consumer = function(n, l) {
2047
+ return n.children(l);
2048
+ }).contextType = l, l;
2049
+ }
2027
2050
  n = w.slice, l = { __e: function(n, l, u, t) {
2028
2051
  for (var i, r, o;l = l.__; )
2029
2052
  if ((i = l.__c) && !i.__)
@@ -2045,6 +2068,1151 @@ n = w.slice, l = { __e: function(n, l, u, t) {
2045
2068
  return n.__v.__b - l.__v.__b;
2046
2069
  }, H.__r = 0, f = Math.random().toString(8), c = "__d" + f, a = "__a" + f, s = /(PointerCapture)$|Capture$/i, h = 0, p = V(false), v = V(true), y = 0;
2047
2070
 
2071
+ // ../../node_modules/preact/hooks/dist/hooks.module.js
2072
+ var t2;
2073
+ var r2;
2074
+ var u2;
2075
+ var i2;
2076
+ var o2 = 0;
2077
+ var f2 = [];
2078
+ var c2 = l;
2079
+ var e2 = c2.__b;
2080
+ var a2 = c2.__r;
2081
+ var v2 = c2.diffed;
2082
+ var l2 = c2.__c;
2083
+ var m2 = c2.unmount;
2084
+ var p2 = c2.__;
2085
+ function s2(n, t) {
2086
+ c2.__h && c2.__h(r2, n, o2 || t), o2 = 0;
2087
+ var u = r2.__H || (r2.__H = { __: [], __h: [] });
2088
+ return n >= u.__.length && u.__.push({}), u.__[n];
2089
+ }
2090
+ function x2(n) {
2091
+ var u = r2.context[n.__c], i = s2(t2++, 9);
2092
+ return i.c = n, u ? (i.__ == null && (i.__ = true, u.sub(r2)), u.props.value) : n.__;
2093
+ }
2094
+ function j2() {
2095
+ for (var n;n = f2.shift(); ) {
2096
+ var t = n.__H;
2097
+ if (n.__P && t)
2098
+ try {
2099
+ t.__h.some(z2), t.__h.some(B2), t.__h = [];
2100
+ } catch (r) {
2101
+ t.__h = [], c2.__e(r, n.__v);
2102
+ }
2103
+ }
2104
+ }
2105
+ c2.__b = function(n) {
2106
+ r2 = null, e2 && e2(n);
2107
+ }, c2.__ = function(n, t) {
2108
+ n && t.__k && t.__k.__m && (n.__m = t.__k.__m), p2 && p2(n, t);
2109
+ }, c2.__r = function(n) {
2110
+ a2 && a2(n), t2 = 0;
2111
+ var i = (r2 = n.__c).__H;
2112
+ i && (u2 === r2 ? (i.__h = [], r2.__h = [], i.__.some(function(n) {
2113
+ n.__N && (n.__ = n.__N), n.u = n.__N = undefined;
2114
+ })) : (i.__h.some(z2), i.__h.some(B2), i.__h = [], t2 = 0)), u2 = r2;
2115
+ }, c2.diffed = function(n) {
2116
+ v2 && v2(n);
2117
+ var t = n.__c;
2118
+ t && t.__H && (t.__H.__h.length && (f2.push(t) !== 1 && i2 === c2.requestAnimationFrame || ((i2 = c2.requestAnimationFrame) || w2)(j2)), t.__H.__.some(function(n) {
2119
+ n.u && (n.__H = n.u, n.u = undefined);
2120
+ })), u2 = r2 = null;
2121
+ }, c2.__c = function(n, t) {
2122
+ t.some(function(n) {
2123
+ try {
2124
+ n.__h.some(z2), n.__h = n.__h.filter(function(n) {
2125
+ return !n.__ || B2(n);
2126
+ });
2127
+ } catch (r) {
2128
+ t.some(function(n) {
2129
+ n.__h && (n.__h = []);
2130
+ }), t = [], c2.__e(r, n.__v);
2131
+ }
2132
+ }), l2 && l2(n, t);
2133
+ }, c2.unmount = function(n) {
2134
+ m2 && m2(n);
2135
+ var t, r = n.__c;
2136
+ r && r.__H && (r.__H.__.some(function(n) {
2137
+ try {
2138
+ z2(n);
2139
+ } catch (n) {
2140
+ t = n;
2141
+ }
2142
+ }), r.__H = undefined, t && c2.__e(t, r.__v));
2143
+ };
2144
+ var k2 = typeof requestAnimationFrame == "function";
2145
+ function w2(n) {
2146
+ var t, r = function() {
2147
+ clearTimeout(u), k2 && cancelAnimationFrame(t), setTimeout(n);
2148
+ }, u = setTimeout(r, 35);
2149
+ k2 && (t = requestAnimationFrame(r));
2150
+ }
2151
+ function z2(n) {
2152
+ var t = r2, u = n.__c;
2153
+ typeof u == "function" && (n.__c = undefined, u()), r2 = t;
2154
+ }
2155
+ function B2(n) {
2156
+ var t = r2;
2157
+ n.__c = n.__(), r2 = t;
2158
+ }
2159
+
2160
+ // src/core/ui/messages.ts
2161
+ var walletMessages = [
2162
+ ["Verify", "確認"],
2163
+ ["block {value0}", "ブロック {value0}"],
2164
+ ["active", "有効"],
2165
+ ["provisioning", "設定中"],
2166
+ ["suspended", "一時停止中"],
2167
+ ["expired", "期限切れ"],
2168
+ ["revoked", "削除済み"],
2169
+ ["Today, 09:41", "今日 09:41"],
2170
+ ["Wallet", "ウォレット"],
2171
+ ["Passkey authentication", "パスキー認証"],
2172
+ ["Complete the prompt on your device.", "デバイスに表示された操作を完了してください。"],
2173
+ ["Google sign-in", "Google ログイン"],
2174
+ ["Choose your Google account.", "Google アカウントを選択してください。"],
2175
+ ["Creating passkey wallet…", "パスキーでウォレットを作成中…"],
2176
+ ["Unlocking wallet…", "ウォレットのロックを解除中…"],
2177
+ ["Wallet created", "ウォレットを作成しました"],
2178
+ ["Your wallet is ready on this device.", "このデバイスでウォレットを利用できます。"],
2179
+ ["You’re in", "サインインしました"],
2180
+ ["Your wallet is unlocked.", "ウォレットのロックを解除しました。"],
2181
+ ["Too many attempts. Wait a moment.", "試行回数が多すぎます。しばらくお待ちください。"],
2182
+ ["Can’t reach Seams right now.", "現在 Seams に接続できません。"],
2183
+ ["That took too long.", "時間がかかりすぎたため、操作を終了しました。"],
2184
+ ["Something went wrong.", "エラーが発生しました。"],
2185
+ [
2186
+ "That recovery code can’t be used. Check the code and try again.",
2187
+ "このリカバリーコードは使用できません。コードを確認して、もう一度お試しください。"
2188
+ ],
2189
+ [
2190
+ "That recovery code has already been used. Use another code.",
2191
+ "このリカバリーコードは使用済みです。別のコードを使用してください。"
2192
+ ],
2193
+ ["Enter a recovery code.", "リカバリーコードを入力してください。"],
2194
+ ["Google sign-in was cancelled.", "Google ログインがキャンセルされました。"],
2195
+ ["Google sign-in was cancelled", "Google ログインがキャンセルされました"],
2196
+ ["Scan and link device", "スキャンしてデバイスを連携"],
2197
+ ["Scan this code with your other device.", "別のデバイスでこのコードをスキャンしてください。"],
2198
+ ["Recover wallet", "ウォレットを復元"],
2199
+ [
2200
+ "Your Google account is ready to unlock your wallet.",
2201
+ "Google アカウントでウォレットのロックを解除できます。"
2202
+ ],
2203
+ [
2204
+ "Your wallet is ready. Unlock it with your passkey.",
2205
+ "ウォレットの準備ができました。パスキーでロックを解除してください。"
2206
+ ],
2207
+ [
2208
+ "Choose how you will sign in to this wallet from now on.",
2209
+ "今後このウォレットで使用するログイン方法を選択してください。"
2210
+ ],
2211
+ [
2212
+ "Enter a recovery code to recover your wallet.",
2213
+ "リカバリーコードを入力してウォレットを復元してください。"
2214
+ ],
2215
+ ["Create new passkey", "新しいパスキーを作成"],
2216
+ ["Continue with Google", "Google で続ける"],
2217
+ ["Verify email code", "メールのコードを確認"],
2218
+ ["Unlock with Google", "Google でロック解除"],
2219
+ ["Unlock with new passkey", "新しいパスキーでロック解除"],
2220
+ ["Create a passkey", "パスキーを作成"],
2221
+ ["Continue", "続ける"],
2222
+ [
2223
+ "Recovery couldn’t be completed. Try again.",
2224
+ "復元を完了できませんでした。もう一度お試しください。"
2225
+ ],
2226
+ [
2227
+ "A passkey couldn’t be created. Try again.",
2228
+ "パスキーを作成できませんでした。もう一度お試しください。"
2229
+ ],
2230
+ [
2231
+ "Passkey preparation expired. Retry to continue.",
2232
+ "パスキーの準備が期限切れになりました。もう一度お試しください。"
2233
+ ],
2234
+ ["Waiting for Google login…", "Google ログインを待機中…"],
2235
+ ["Starting Google sign-in", "Google ログインを開始中"],
2236
+ ["Waiting for Google sign-in", "Google ログインを待機中"],
2237
+ ["Checking recovery code…", "リカバリーコードを確認中…"],
2238
+ [
2239
+ "Google sign-in is unavailable. Try again.",
2240
+ "Google ログインを利用できません。もう一度お試しください。"
2241
+ ],
2242
+ ["Verifying email code…", "メールのコードを確認中…"],
2243
+ ["Creating new passkey…", "新しいパスキーを作成中…"],
2244
+ ["Finishing recovery…", "復元を完了中…"],
2245
+ ["Preparing to unlock…", "ロック解除を準備中…"],
2246
+ [
2247
+ "Your wallet was recovered. Unlock it again to continue.",
2248
+ "ウォレットを復元しました。再度ロックを解除して続けてください。"
2249
+ ],
2250
+ ["Generating QR code...", "QR コードを生成中…"],
2251
+ [
2252
+ "This linking request expired. Start again to link this device.",
2253
+ "この連携リクエストは期限切れです。最初からやり直してください。"
2254
+ ],
2255
+ [
2256
+ "Go back and unlock the new linked method to finish setup.",
2257
+ "前の画面に戻り、新しく連携した方法でロックを解除して設定を完了してください。"
2258
+ ],
2259
+ [
2260
+ "The other device cancelled this linking request. Go back to try again.",
2261
+ "別のデバイスが連携をキャンセルしました。前の画面に戻ってもう一度お試しください。"
2262
+ ],
2263
+ [
2264
+ "Create a passkey to finish linking this device",
2265
+ "パスキーを作成してデバイスの連携を完了してください"
2266
+ ],
2267
+ ["Waiting for device to scan", "別のデバイスでのスキャンを待機中"],
2268
+ ["Follow the passkey prompt on your screen", "画面に表示されたパスキーの操作を完了してください"],
2269
+ ["Sending a new email code", "新しいメールのコードを送信中"],
2270
+ ["Enter the 6-digit code from your email.", "メールに記載された6桁のコードを入力してください。"],
2271
+ ["Verifying your email code", "メールのコードを確認中"],
2272
+ ["Generating another wallet name", "別のウォレット名を生成中"],
2273
+ ["Creating your wallet", "ウォレットを作成中"],
2274
+ ["Continue with your passkey", "パスキーで続ける"],
2275
+ ["Accounts", "アカウント"],
2276
+ ["View accounts on block explorers", "ブロックエクスプローラーでアカウントを表示"],
2277
+ ["Export keys", "鍵をエクスポート"],
2278
+ ["Export wallet signing keys", "ウォレットの署名鍵をエクスポート"],
2279
+ ["Recovery codes", "リカバリーコード"],
2280
+ ["Back up wallet recovery codes", "ウォレットのリカバリーコードを保存"],
2281
+ ["Authentication methods", "認証方法"],
2282
+ ["Add or remove ways to unlock this device", "このデバイスのロック解除方法を追加・削除"],
2283
+ ["Scan QR to link a device", "QR コードをスキャンしてデバイスを連携"],
2284
+ ["Linked devices", "連携済みデバイス"],
2285
+ ["See devices using this wallet", "このウォレットを使用するデバイスを表示"],
2286
+ ["Transaction settings", "トランザクション設定"],
2287
+ ["Customize confirmation behavior", "確認操作をカスタマイズ"],
2288
+ ["Logged out", "ログアウト済み"],
2289
+ ["Settings", "設定"],
2290
+ ["Back", "戻る"],
2291
+ [
2292
+ "Unlock this wallet with a sibling authentication method first.",
2293
+ "先に別の認証方法でこのウォレットのロックを解除してください。"
2294
+ ],
2295
+ [
2296
+ "Unlock with the sibling authentication method before removing this one.",
2297
+ "この認証方法を削除する前に、別の認証方法でロックを解除してください。"
2298
+ ],
2299
+ ["In use now", "現在使用中"],
2300
+ ["Finishing setup", "設定を完了中"],
2301
+ ["Paused", "一時停止中"],
2302
+ ["Expired", "期限切れ"],
2303
+ ["Removed", "削除済み"],
2304
+ ["Email code", "メールのコード"],
2305
+ ["your email code", "メールのコード"],
2306
+ ["another sign-in method", "別のログイン方法"],
2307
+ ["this passkey", "このパスキー"],
2308
+ ["Synced passkey", "同期済みパスキー"],
2309
+ ["Passkey", "パスキー"],
2310
+ ["Try again.", "もう一度お試しください。"],
2311
+ [
2312
+ "Loading your devices timed out. Try again.",
2313
+ "デバイスの読み込みが時間切れになりました。もう一度お試しください。"
2314
+ ],
2315
+ [
2316
+ "Wallet identity is unavailable. Try again.",
2317
+ "ウォレット情報を取得できません。もう一度お試しください。"
2318
+ ],
2319
+ ["Device details", "デバイスの詳細"],
2320
+ ["Status", "状態"],
2321
+ [
2322
+ "Anything listed here can unlock this wallet.",
2323
+ "ここに表示されるすべてのデバイスで、このウォレットのロックを解除できます。"
2324
+ ],
2325
+ ["Checking your devices…", "デバイスを確認中…"],
2326
+ ["Unable to load your devices:", "デバイスを読み込めません:"],
2327
+ ["Try again", "再試行"],
2328
+ ["Try Again", "再試行"],
2329
+ ["No other devices are using this wallet.", "このウォレットを使用する別のデバイスはありません。"],
2330
+ ["Remove", "削除"],
2331
+ ["Keep it", "削除しない"],
2332
+ ["Yes, remove", "削除する"],
2333
+ ["Removing…", "削除中…"],
2334
+ ["Review appearance", "確認画面の表示"],
2335
+ [
2336
+ "Choose where transaction details appear before signing.",
2337
+ "署名前にトランザクションの詳細を表示する場所を選択してください。"
2338
+ ],
2339
+ ["Confirmation step", "確認操作"],
2340
+ [
2341
+ "Choose Modal or Drawer to configure the confirmation step.",
2342
+ "確認操作を設定するには、モーダルまたはドロワーを選択してください。"
2343
+ ],
2344
+ [
2345
+ "Choose whether to click Continue before authentication starts.",
2346
+ "認証開始前に「続ける」をクリックするか選択してください。"
2347
+ ],
2348
+ ["Confirmer UI", "確認画面"],
2349
+ ["Confirmation Options", "確認オプション"],
2350
+ ["skip click", "クリックを省略"],
2351
+ ["require click", "クリックが必要"],
2352
+ ["none", "表示なし"],
2353
+ ["modal", "モーダル"],
2354
+ ["drawer", "ドロワー"],
2355
+ ["No review", "確認画面なし"],
2356
+ [
2357
+ "Start authentication without showing a review panel.",
2358
+ "確認画面を表示せずに認証を開始します。"
2359
+ ],
2360
+ ["Modal", "モーダル"],
2361
+ [
2362
+ "Review the transaction in a centered dialog.",
2363
+ "画面中央のダイアログでトランザクションを確認します。"
2364
+ ],
2365
+ ["Drawer", "ドロワー"],
2366
+ [
2367
+ "Review the transaction in a slide-out panel.",
2368
+ "スライド式パネルでトランザクションを確認します。"
2369
+ ],
2370
+ ["Start automatically", "自動で開始"],
2371
+ ["Begin authentication as soon as the review opens.", "確認画面を開くと同時に認証を開始します。"],
2372
+ ["Click to continue", "クリックして続ける"],
2373
+ [
2374
+ "Review the details, then click Continue to start authentication.",
2375
+ "詳細を確認し、「続ける」をクリックして認証を開始します。"
2376
+ ],
2377
+ [
2378
+ "Unable to refresh your wallet. Try again.",
2379
+ "ウォレットを更新できません。もう一度お試しください。"
2380
+ ],
2381
+ ["Key export is unavailable for this wallet.", "このウォレットでは鍵をエクスポートできません。"],
2382
+ [
2383
+ "NEAR signer provisioning is still in progress. Try again shortly.",
2384
+ "NEAR 署名機能を準備中です。しばらくしてからもう一度お試しください。"
2385
+ ],
2386
+ [
2387
+ "Ed25519 export requires an active NEAR signer.",
2388
+ "Ed25519 のエクスポートには有効な NEAR 署名機能が必要です。"
2389
+ ],
2390
+ ["User", "ユーザー"],
2391
+ [
2392
+ "Key export requires an unlocked wallet.",
2393
+ "鍵をエクスポートするにはウォレットのロックを解除してください。"
2394
+ ],
2395
+ [
2396
+ "Owner key export is not available on this device yet",
2397
+ "このデバイスでは、まだ所有者の鍵をエクスポートできません"
2398
+ ],
2399
+ ["Wallet region", "ウォレットのリージョン"],
2400
+ ["Choose where your wallet runs", "ウォレットを実行するリージョンを選択"],
2401
+ ["Loading transaction settings…", "トランザクション設定を読み込み中…"],
2402
+ ["Your addresses across networks.", "各ネットワークのアドレスです。"],
2403
+ [
2404
+ "Keep a recovery code somewhere safe. Use it to restore access to your wallet.",
2405
+ "リカバリーコードを安全な場所に保管してください。ウォレットへのアクセスを復元する際に使用します。"
2406
+ ],
2407
+ [
2408
+ "Only you should have this code. Anyone with it can start recovering your wallet.",
2409
+ "このコードを他人に渡さないでください。コードを持つ人は、ウォレットの復元を開始できます。"
2410
+ ],
2411
+ ["Opening recovery codes…", "リカバリーコードを開いています…"],
2412
+ ["View recovery codes", "リカバリーコードを表示"],
2413
+ ["Scan QR code", "QR コードをスキャン"],
2414
+ ["Wallet settings", "ウォレット設定"],
2415
+ [
2416
+ "Unlock your wallet to manage your accounts, security, and devices.",
2417
+ "ウォレットのロックを解除すると、アカウント、セキュリティ、デバイスを管理できます。"
2418
+ ],
2419
+ ["Now", "現在"],
2420
+ ["Yesterday", "昨日"],
2421
+ ["Email OTP", "メールのワンタイムコード"],
2422
+ ["Passkey + Email OTP", "パスキー + メールのワンタイムコード"],
2423
+ ["Touch ID · This device", "Touch ID · このデバイス"],
2424
+ ["Export NEAR key", "NEAR の鍵をエクスポート"],
2425
+ ["Export EVM keys", "EVM の鍵をエクスポート"],
2426
+ [
2427
+ "Your wallet requires authentication before revealing this signing key.",
2428
+ "この署名鍵を表示するには認証が必要です。"
2429
+ ],
2430
+ ["Key type", "鍵の種類"],
2431
+ ["Protection", "保護"],
2432
+ ["Authentication required", "認証が必要"],
2433
+ ["Active", "有効"],
2434
+ [
2435
+ "Manage how your devices unlock your wallet.",
2436
+ "デバイスでウォレットのロックを解除する方法を管理します。"
2437
+ ],
2438
+ ["Link a device", "デバイスを連携"],
2439
+ ["Last used", "最終使用"],
2440
+ [
2441
+ "Open your wallet on the other device, then scan its pairing code.",
2442
+ "別のデバイスでウォレットを開き、ペアリングコードをスキャンしてください。"
2443
+ ],
2444
+ ["Position the QR code inside the frame.", "QR コードを枠内に合わせてください。"],
2445
+ ["Your recovery codes", "リカバリーコード"],
2446
+ [
2447
+ "Save these codes in your password manager or another secure place.",
2448
+ "パスワードマネージャーなどの安全な場所にコードを保存してください。"
2449
+ ],
2450
+ [
2451
+ "Keep your recovery codes somewhere safe. Use a code to restore access to your wallet.",
2452
+ "リカバリーコードを安全な場所に保管してください。ウォレットへのアクセスを復元する際に使用します。"
2453
+ ],
2454
+ [
2455
+ "Keep these codes private. Anyone with a code can start recovering your wallet.",
2456
+ "コードを他人に渡さないでください。コードを持つ人は、ウォレットの復元を開始できます。"
2457
+ ],
2458
+ ["Reveal with passkey", "パスキーで表示"],
2459
+ ["View on explorer", "エクスプローラーで表示"],
2460
+ ["This wallet", "このウォレット"],
2461
+ ["Addresses", "アドレス"],
2462
+ ["Security & devices", "セキュリティとデバイス"],
2463
+ ["Close wallet settings", "ウォレット設定を閉じる"],
2464
+ ["Wallet account", "ウォレットアカウント"],
2465
+ ["Secured by", "セキュリティ提供:"],
2466
+ ["Copied all codes.", "すべてのコードをコピーしました。"],
2467
+ [
2468
+ "Unable to copy. Download the codes instead.",
2469
+ "コピーできません。コードをダウンロードしてください。"
2470
+ ],
2471
+ ["Downloaded all codes.", "すべてのコードをダウンロードしました。"],
2472
+ [
2473
+ "Unable to download. Copy the codes instead.",
2474
+ "ダウンロードできません。コードをコピーしてください。"
2475
+ ],
2476
+ ["Copy all", "すべてコピー"],
2477
+ ["Download all", "すべてダウンロード"],
2478
+ ["Cancel", "キャンセル"],
2479
+ ["Create your passkey", "パスキーを作成"],
2480
+ [
2481
+ "Use Touch ID or your device passkey to create credentials for this account.",
2482
+ "Touch ID またはデバイスのパスキーで、このアカウントの認証情報を作成してください。"
2483
+ ],
2484
+ ["Confirm Code", "コードを確認"],
2485
+ ["Confirm", "確認"],
2486
+ ["Register with Passkey", "パスキーで登録"],
2487
+ ["Confirm with Passkey", "パスキーで確認"],
2488
+ ["Enter email code to sign", "メールのコードを入力して署名"],
2489
+ ["Review transaction", "トランザクションを確認"],
2490
+ ["Unknown", "不明"],
2491
+ ["The operation did not complete.", "操作を完了できませんでした。"],
2492
+ [
2493
+ "The network reverted this transaction. Network fees may still apply.",
2494
+ "ネットワークがこのトランザクションを取り消しました。ネットワーク手数料が発生する場合があります。"
2495
+ ],
2496
+ [
2497
+ "The network could not execute this transaction. Network fees may still apply.",
2498
+ "ネットワークがこのトランザクションを実行できませんでした。ネットワーク手数料が発生する場合があります。"
2499
+ ],
2500
+ [
2501
+ "Submitted to the network. The response did not include a final execution outcome.",
2502
+ "ネットワークに送信しました。応答には最終的な実行結果が含まれていません。"
2503
+ ],
2504
+ [
2505
+ "The network response did not include an execution status.",
2506
+ "ネットワークの応答には実行状態が含まれていません。"
2507
+ ],
2508
+ [
2509
+ "The transaction did not complete as expected. Check its network status before retrying.",
2510
+ "トランザクションが正常に完了しませんでした。再試行前にネットワークで状態を確認してください。"
2511
+ ],
2512
+ ["Signing transaction", "トランザクションに署名中"],
2513
+ ["Signature ready", "署名の準備完了"],
2514
+ ["Broadcasting transaction", "トランザクションを送信中"],
2515
+ ["Waiting for confirmation", "承認を待機中"],
2516
+ ["Transaction complete", "トランザクション完了"],
2517
+ ["Transaction failed", "トランザクション失敗"],
2518
+ ["Transaction reverted", "トランザクションが取り消されました"],
2519
+ ["Confirmation unavailable", "承認状態を取得できません"],
2520
+ ["Preparing your signed transaction.", "署名済みトランザクションを準備中です。"],
2521
+ ["Signature created, ready to broadcast.", "署名を作成しました。送信する準備ができました。"],
2522
+ [
2523
+ "Submitting your signed transaction to the network.",
2524
+ "署名済みトランザクションをネットワークに送信中です。"
2525
+ ],
2526
+ [
2527
+ "Submitted to the network. Waiting for the receipt.",
2528
+ "ネットワークに送信しました。レシートを待機中です。"
2529
+ ],
2530
+ ["The network confirmed your transaction.", "ネットワークがトランザクションを承認しました。"],
2531
+ ["Email OTP challenge is missing.", "メール認証のリクエストが見つかりません。"],
2532
+ ["Sign Delegate Action", "委任アクションに署名"],
2533
+ ["Demo email code:", "デモ用メールコード:"],
2534
+ ["Recovery code accepted.", "リカバリーコードを確認しました。"],
2535
+ [
2536
+ "Wallet recovered. Unlock it to continue.",
2537
+ "ウォレットを復元しました。ロックを解除して続けてください。"
2538
+ ],
2539
+ ["Back to recovery code", "リカバリーコードに戻る"],
2540
+ ["Back to unlock wallet", "ウォレットのロック解除に戻る"],
2541
+ ["Already have a wallet?", "すでにウォレットをお持ちですか?"],
2542
+ ["Unlock wallet", "ウォレットのロックを解除"],
2543
+ ["Don't have a wallet?", "ウォレットをお持ちでないですか?"],
2544
+ ["Create a wallet", "ウォレットを作成"],
2545
+ ["Create wallet with passkey", "パスキーでウォレットを作成"],
2546
+ ["Unlock with passkey", "パスキーでロック解除"],
2547
+ ["Saved wallets", "保存済みウォレット"],
2548
+ ["Generate another name", "別の名前を生成"],
2549
+ ["Other options", "その他の方法"],
2550
+ ["Link this device", "このデバイスを連携"],
2551
+ ["Scan a code with your other device", "別のデバイスでコードをスキャン"],
2552
+ ["Use your recovery code", "リカバリーコードを使用"],
2553
+ ["Recovery code", "リカバリーコード"],
2554
+ ["You can paste the whole code.", "コード全体を貼り付けできます。"],
2555
+ [
2556
+ "This adds a new sign-in method to your wallet.",
2557
+ "ウォレットに新しいログイン方法を追加します。"
2558
+ ],
2559
+ [
2560
+ "Continue with Google, then verify the code sent to your email.",
2561
+ "Google で続けてから、メールに届いたコードを確認してください。"
2562
+ ],
2563
+ ["Finishing recovery with Google…", "Google での復元を完了中…"],
2564
+ [
2565
+ "Create a new passkey to finish recovering this wallet.",
2566
+ "新しいパスキーを作成して、ウォレットの復元を完了してください。"
2567
+ ],
2568
+ ["Retry finalization", "完了処理を再試行"],
2569
+ ["Loading", "読み込み中"],
2570
+ ["Linking expired", "連携の有効期限切れ"],
2571
+ ["Linking cancelled", "連携をキャンセルしました"],
2572
+ ["Return to unlock wallet", "ウォレットのロック解除に戻る"],
2573
+ ["QR code to link this device", "このデバイスを連携する QR コード"],
2574
+ [
2575
+ "Preparing a one-time code for your other device.",
2576
+ "別のデバイス用のワンタイムコードを準備中です。"
2577
+ ],
2578
+ ["Generating QR code", "QR コードを生成中"],
2579
+ ["Match your other device", "別のデバイスと同じ方法を選択"],
2580
+ [
2581
+ "Choose the unlock method for Device 2. Email code sends a one-time code to the address you enter.",
2582
+ "2台目のデバイスのロック解除方法を選択してください。メールのコードを選ぶと、入力したアドレスにワンタイムコードを送信します。"
2583
+ ],
2584
+ ["Wallet unlock method", "ウォレットのロック解除方法"],
2585
+ ["Email address", "メールアドレス"],
2586
+ ["Email verification code", "メール認証コード"],
2587
+ ["Send a new code", "新しいコードを送信"],
2588
+ ["Verifying", "確認中"],
2589
+ ["Verify code", "コードを確認"],
2590
+ ["Send another code", "別のコードを送信"],
2591
+ ["Device linked", "デバイスを連携しました"],
2592
+ ["Couldn't link device", "デバイスを連携できませんでした"],
2593
+ [
2594
+ "Unable to open the wallet. Go back and try again.",
2595
+ "ウォレットを開けません。前の画面に戻ってもう一度お試しください。"
2596
+ ],
2597
+ ["Opening linked wallet", "連携したウォレットを開いています"],
2598
+ ["Waiting for passkey", "パスキーを待機中"],
2599
+ ["Create passkey", "パスキーを作成"],
2600
+ ["Unlocking…", "ロックを解除中…"],
2601
+ ["Sending…", "送信中…"],
2602
+ ["Resend Code", "コードを再送信"],
2603
+ ["Generating…", "生成中…"],
2604
+ ["Creating...", "作成中…"],
2605
+ ["Sending your code", "コードを送信中"],
2606
+ ["Emailing a 6-digit code", "6桁のコードをメールで送信中"],
2607
+ ["Sending a new code", "新しいコードを送信中"],
2608
+ ["Emailing a fresh 6-digit code", "新しい6桁のコードをメールで送信中"],
2609
+ ["Checking your code", "コードを確認中"],
2610
+ ["Verifying the code you entered", "入力したコードを確認中"],
2611
+ ["Verify your email", "メールを確認"],
2612
+ ["Enter the 6-digit code we just sent.", "送信した6桁のコードを入力してください。"],
2613
+ ["That code expired", "コードの有効期限が切れました"],
2614
+ ["Email code unavailable", "メールのコードを利用できません"],
2615
+ ["Email verified", "メールを確認しました"],
2616
+ ["Finishing linking this device", "デバイスの連携を完了中"],
2617
+ [
2618
+ "Choose the signing key to export. Your wallet will ask you to authenticate.",
2619
+ "エクスポートする署名鍵を選択してください。ウォレットで認証が必要です。"
2620
+ ],
2621
+ [
2622
+ "Keep exported keys private. Anyone with a signing key can control its accounts.",
2623
+ "エクスポートした鍵を他人に渡さないでください。署名鍵を持つ人は、そのアカウントを操作できます。"
2624
+ ],
2625
+ ["Back up your wallet recovery codes", "ウォレットのリカバリーコードを保存"],
2626
+ ["Choose how you unlock this device", "このデバイスのロック解除方法を選択"],
2627
+ ["Scan a QR code to link a device", "QR コードをスキャンしてデバイスを連携"],
2628
+ ["Light mode", "ライトモード"],
2629
+ ["Dark mode", "ダークモード"],
2630
+ [
2631
+ "Unable to lock your wallet. Try again.",
2632
+ "ウォレットをロックできません。もう一度お試しください。"
2633
+ ],
2634
+ ["Unlocked on this device", "このデバイスでロック解除済み"],
2635
+ ["All settings", "すべての設定"],
2636
+ ["Locking…", "ロック中…"],
2637
+ ["Lock wallet", "ウォレットをロック"],
2638
+ ["Lock Wallet", "ウォレットをロック"],
2639
+ [
2640
+ "This setting is unavailable for the current wallet or device.",
2641
+ "このウォレットまたはデバイスでは、この設定を利用できません。"
2642
+ ],
2643
+ ["Your wallet. Your control.", "ウォレットの管理は、あなたの手に。"],
2644
+ [
2645
+ "I’ve saved these codes. They won’t be shown again.",
2646
+ "コードを保存しました。この後は再表示できません。"
2647
+ ],
2648
+ ["Done", "完了"],
2649
+ ["Export NEAR Key", "NEAR の鍵をエクスポート"],
2650
+ ["Ed25519 signing key", "Ed25519 署名鍵"],
2651
+ ["Export EVM Keys", "EVM の鍵をエクスポート"],
2652
+ ["ECDSA threshold key set", "ECDSA しきい値署名の鍵セット"],
2653
+ ["Preparing export…", "エクスポートを準備中…"],
2654
+ ["Export key", "鍵をエクスポート"],
2655
+ ["United States", "米国"],
2656
+ ["Western Europe", "西ヨーロッパ"],
2657
+ ["Asia Pacific", "アジア太平洋"],
2658
+ ["Oceania", "オセアニア"],
2659
+ ["Your wallet is in the new region.", "ウォレットは新しいリージョンにあります。"],
2660
+ [
2661
+ "The move needs service recovery. Your wallet data remains preserved. You can lock this wallet while recovery continues.",
2662
+ "移動にはサービスの復旧が必要です。ウォレットのデータは保持されています。復旧中もウォレットをロックできます。"
2663
+ ],
2664
+ [
2665
+ "The service will retry this stage. Closing or locking this wallet does not cancel the move.",
2666
+ "サービスがこの段階を再試行します。ウォレットを閉じたりロックしたりしても、移動はキャンセルされません。"
2667
+ ],
2668
+ ["Preparing your wallet", "ウォレットを準備中"],
2669
+ ["Transferring wallet data", "ウォレットのデータを転送中"],
2670
+ ["Checking the new region", "新しいリージョンを確認中"],
2671
+ ["Activating the new region", "新しいリージョンを有効化中"],
2672
+ [
2673
+ "The new region is active. Source cleanup continues.",
2674
+ "新しいリージョンが有効です。移動元のクリーンアップを継続中です。"
2675
+ ],
2676
+ ["Checking wallet placement…", "ウォレットの配置を確認中…"],
2677
+ [
2678
+ "Unable to check wallet placement. Unlock this wallet or reconnect to try again.",
2679
+ "ウォレットの配置を確認できません。ロックを解除するか、再接続してお試しください。"
2680
+ ],
2681
+ [
2682
+ "Reconnecting to check progress. The previous request may have been accepted.",
2683
+ "進行状況を確認するため再接続しています。前のリクエストは受け付けられた可能性があります。"
2684
+ ],
2685
+ [
2686
+ "Unable to check wallet placement. Reconnect to try again.",
2687
+ "ウォレットの配置を確認できません。再接続してお試しください。"
2688
+ ],
2689
+ [
2690
+ "Reconnecting to check progress. Retry this same request to continue.",
2691
+ "進行状況を確認するため再接続しています。同じリクエストを再試行してください。"
2692
+ ],
2693
+ [
2694
+ "Reconnecting to check progress. Unlock this wallet if authentication expired.",
2695
+ "進行状況を確認するため再接続しています。認証が期限切れの場合は、ウォレットのロックを解除してください。"
2696
+ ],
2697
+ [
2698
+ "You can lock this wallet. An accepted move continues on the server.",
2699
+ "このウォレットをロックできます。受け付けられた移動はサーバーで継続します。"
2700
+ ],
2701
+ ["Check again", "再確認"],
2702
+ ["Retry same move", "同じ移動を再試行"],
2703
+ [
2704
+ "Your wallet is active in the new region. Another move must wait until cleanup completes.",
2705
+ "ウォレットは新しいリージョンで有効です。次の移動はクリーンアップ完了後に実行できます。"
2706
+ ],
2707
+ [
2708
+ "Signing and wallet changes are paused. Closing or locking this wallet does not cancel the move.",
2709
+ "署名とウォレットの変更を一時停止しています。ウォレットを閉じたりロックしたりしても、移動はキャンセルされません。"
2710
+ ],
2711
+ ["Current region:", "現在のリージョン:"],
2712
+ ["Destination region", "移動先リージョン"],
2713
+ [
2714
+ "Moving your wallet ends signing sessions on all devices. After the move, unlock your wallet again to sign.",
2715
+ "ウォレットを移動すると、すべてのデバイスの署名セッションが終了します。移動後に署名するには、再度ロックを解除してください。"
2716
+ ],
2717
+ ["Another move is available after", "次の移動が可能になる日時:"],
2718
+ ["Move wallet", "ウォレットを移動"],
2719
+ ["Passkey on this device", "このデバイスのパスキー"],
2720
+ ["Email OTP on this device", "このデバイスのメール認証"],
2721
+ ["Checking methods…", "認証方法を確認中…"],
2722
+ ["Unavailable", "利用不可"],
2723
+ ["Unlock to manage", "ロックを解除して管理"],
2724
+ [
2725
+ "Unlock this wallet to manage authentication.",
2726
+ "認証を管理するには、このウォレットのロックを解除してください。"
2727
+ ],
2728
+ ["Enter the email address to verify.", "確認するメールアドレスを入力してください。"],
2729
+ ["Adding a passkey…", "パスキーを追加中…"],
2730
+ ["Adding Email OTP…", "メール認証を追加中…"],
2731
+ ["Passkey added.", "パスキーを追加しました。"],
2732
+ ["Email OTP added.", "メール認証を追加しました。"],
2733
+ ["Unlocking wallet management…", "ウォレット管理のロックを解除中…"],
2734
+ ["Wallet management unlocked.", "ウォレット管理のロックを解除しました。"],
2735
+ ["Checking authentication methods…", "認証方法を確認中…"],
2736
+ ["Unable to load authentication methods:", "認証方法を読み込めません:"],
2737
+ ["Active authentication methods", "有効な認証方法"],
2738
+ ["Remove method", "認証方法を削除"],
2739
+ [
2740
+ "Add another method before removing this one.",
2741
+ "この方法を削除する前に、別の認証方法を追加してください。"
2742
+ ],
2743
+ ["Add a method", "認証方法を追加"],
2744
+ ["Adding…", "追加中…"],
2745
+ ["Add passkey", "パスキーを追加"],
2746
+ [
2747
+ "Use a passkey from this device to unlock the wallet.",
2748
+ "このデバイスのパスキーでウォレットのロックを解除します。"
2749
+ ],
2750
+ ["Add Email OTP", "メール認証を追加"],
2751
+ ["Unlock to manage methods", "ロックを解除して認証方法を管理"],
2752
+ [
2753
+ "Confirm your current authentication method to add or remove methods.",
2754
+ "認証方法を追加・削除するには、現在の認証方法を確認してください。"
2755
+ ],
2756
+ ["Transfer", "送金"],
2757
+ ["Warnings", "警告"],
2758
+ ["No operations", "操作なし"],
2759
+ ["using args:", "引数:"],
2760
+ ["by global contract identifier", "グローバルコントラクト識別子を使用"],
2761
+ ["Stake", "ステーキング"],
2762
+ ["Full Access", "フルアクセス"],
2763
+ ["Function Call", "関数呼び出し"],
2764
+ ["Transactions", "トランザクション"],
2765
+ ["Transaction", "トランザクション"],
2766
+ ["Resend code", "コードを再送信"],
2767
+ ["Enter the 6-digit Email OTP code.", "メールの6桁のワンタイムコードを入力してください。"],
2768
+ ["Could not send code.", "コードを送信できませんでした。"],
2769
+ ["Code sent", "コードを送信しました"],
2770
+ ["Creating passkey", "パスキーを作成中"],
2771
+ ["Creating passkey...", "パスキーを作成中…"],
2772
+ ["Loading website", "ウェブサイトを読み込み中"],
2773
+ ["Loading chain details", "チェーンの詳細を読み込み中"],
2774
+ ["Exported Keys", "エクスポートした鍵"],
2775
+ ["Close exported keys", "エクスポートした鍵を閉じる"],
2776
+ ["Near Account ID", "NEAR アカウント ID"],
2777
+ ["Preparing private key…", "秘密鍵を準備中…"],
2778
+ ["No keys available", "利用可能な鍵がありません"],
2779
+ [
2780
+ "Warning: your private keys grant full control of your account and funds. Keep it in a secret place.",
2781
+ "警告:秘密鍵を持つ人は、アカウントと資金を完全に操作できます。秘密鍵を他人に知られない場所に保管してください。"
2782
+ ],
2783
+ ["Next Steps", "次の手順"],
2784
+ ["Address", "アドレス"],
2785
+ ["Public key copied", "公開鍵をコピーしました"],
2786
+ ["Copy public key", "公開鍵をコピー"],
2787
+ ["Public Key", "公開鍵"],
2788
+ ["Private key copied", "秘密鍵をコピーしました"],
2789
+ ["Copy private key", "秘密鍵をコピー"],
2790
+ ["Private Key", "秘密鍵"],
2791
+ ["Decrypting private key", "秘密鍵を復号中"],
2792
+ ["Private key ready", "秘密鍵の準備完了"],
2793
+ ["Data", "データ"],
2794
+ ["Copied", "コピーしました"],
2795
+ ["Copy", "コピー"],
2796
+ ["Passkey registration details", "パスキー登録の詳細"],
2797
+ ["Account", "アカウント"],
2798
+ ["Website", "ウェブサイト"],
2799
+ ["Open", "開く"],
2800
+ ["Close transaction", "トランザクションを閉じる"],
2801
+ ["Transaction receipt", "トランザクションのレシート"],
2802
+ ["Minimize transaction", "トランザクションを最小化"],
2803
+ ["To", "宛先"],
2804
+ ["Estimated network fee", "推定ネットワーク手数料"],
2805
+ ["Transaction progress", "トランザクションの進行状況"],
2806
+ ["Signed", "署名済み"],
2807
+ ["Signing", "署名中"],
2808
+ ["Broadcast", "送信済み"],
2809
+ ["Broadcasting", "送信中"],
2810
+ ["Reverted", "取り消し済み"],
2811
+ ["Confirmed", "承認済み"],
2812
+ ["Confirming", "承認中"],
2813
+ ["Receipt details", "レシートの詳細"],
2814
+ ["From", "送信元"],
2815
+ ["Continue in background", "バックグラウンドで続ける"],
2816
+ ["View transaction", "トランザクションを表示"],
2817
+ ["Wallet transaction", "ウォレットのトランザクション"],
2818
+ ["Copy value", "値をコピー"],
2819
+ ["Method:", "メソッド:"],
2820
+ ["Raw data", "未加工データ"],
2821
+ ["Network", "ネットワーク"],
2822
+ ["Message details", "メッセージの詳細"],
2823
+ ["Transaction details", "トランザクションの詳細"],
2824
+ ["Signing account", "署名アカウント"],
2825
+ ["Raw payload", "未加工ペイロード"],
2826
+ ["Dismiss confirmation", "確認画面を閉じる"],
2827
+ ["Close", "閉じる"],
2828
+ ["Creating Account", "アカウントを作成"],
2829
+ ["Deleting Account", "アカウントを削除"],
2830
+ ["Adding Key", "鍵を追加"],
2831
+ ["Deleting Key", "鍵を削除"],
2832
+ ["Deploying WASM contract", "WASM コントラクトをデプロイ"],
2833
+ ["Use global contract", "グローバルコントラクトを使用"],
2834
+ ["Transaction to", "トランザクションの宛先"],
2835
+ ["Calling", "呼び出し"],
2836
+ ["Use global contract by hash", "ハッシュでグローバルコントラクトを使用"],
2837
+ ["Backup needed", "バックアップが必要"],
2838
+ ["Backed up", "バックアップ済み"],
2839
+ ["No recovery set", "リカバリーコード未設定"],
2840
+ ["Authorization required", "認証が必要"],
2841
+ ["Could not load", "読み込めませんでした"],
2842
+ ["Checking your codes…", "コードを確認中…"],
2843
+ ["Status unavailable", "状態を取得できません"],
2844
+ ["Seams wallet recovery codes", "Seams ウォレットのリカバリーコード"],
2845
+ [
2846
+ "Save these codes somewhere private. Each code can be used once.",
2847
+ "他人に知られない場所にコードを保存してください。各コードは1回のみ使用できます。"
2848
+ ],
2849
+ ["Finish backup", "バックアップを完了"],
2850
+ ["Back up later", "後でバックアップ"],
2851
+ ["Could not load recovery-code status", "リカバリーコードの状態を読み込めませんでした"],
2852
+ [
2853
+ "Recovery codes are no longer available on this device.",
2854
+ "このデバイスでは、リカバリーコードを表示できなくなりました。"
2855
+ ],
2856
+ ["Could not open recovery codes", "リカバリーコードを開けませんでした"],
2857
+ ["Recovery codes downloaded.", "リカバリーコードをダウンロードしました。"],
2858
+ [
2859
+ "Unable to download the codes. Copy them or try again.",
2860
+ "コードをダウンロードできません。コピーするか、もう一度お試しください。"
2861
+ ],
2862
+ ["Recovery codes copied.", "リカバリーコードをコピーしました。"],
2863
+ [
2864
+ "Unable to copy the codes. Download them or try again.",
2865
+ "コードをコピーできません。ダウンロードするか、もう一度お試しください。"
2866
+ ],
2867
+ ["Close recovery codes", "リカバリーコードを閉じる"],
2868
+ ["Wallet recovery codes", "ウォレットのリカバリーコード"],
2869
+ [
2870
+ "View and save the recovery codes retained by this wallet after registration.",
2871
+ "登録後にウォレットが保持するリカバリーコードを表示・保存します。"
2872
+ ],
2873
+ ["Security", "セキュリティ"],
2874
+ ["Opening recovery codes", "リカバリーコードを開いています"],
2875
+ ["Loading recovery-code status…", "リカバリーコードの状態を読み込み中…"],
2876
+ ["Retry status", "状態を再取得"],
2877
+ [
2878
+ "Each code can recover your wallet once. Save them now, or back them up later from Recovery Codes.",
2879
+ "各コードでウォレットを1回復元できます。今すぐ保存するか、後で「リカバリーコード」から保存してください。"
2880
+ ],
2881
+ [
2882
+ "Each code can recover your wallet once. Keep them somewhere private.",
2883
+ "各コードでウォレットを1回復元できます。他人に知られない場所に保管してください。"
2884
+ ],
2885
+ ["Save your recovery codes", "リカバリーコードを保存"],
2886
+ ["{value0} single-use codes", "1回限りのコード:{value0}個"],
2887
+ ["Download codes", "コードをダウンロード"],
2888
+ ["Copy codes", "コードをコピー"],
2889
+ ["I saved these recovery codes somewhere safe.", "リカバリーコードを安全な場所に保存しました。"],
2890
+ ["They won’t be shown again after you finish.", "完了後は再表示できません。"],
2891
+ ["Back to review", "確認画面に戻る"],
2892
+ ["NEAR account", "NEAR アカウント"],
2893
+ ["needs funding", "への入金が必要です"],
2894
+ [
2895
+ "Too many requests. Try again shortly.",
2896
+ "リクエストが多すぎます。しばらくしてからもう一度お試しください。"
2897
+ ],
2898
+ ["Device linking expired", "デバイス連携の有効期限が切れました"],
2899
+ ["Device linking was cancelled", "デバイス連携がキャンセルされました"],
2900
+ ["Unable to scan a QR code", "QR コードをスキャンできません"],
2901
+ ["Choose an Email OTP method", "メール認証の方法を選択"],
2902
+ [
2903
+ "Select the masked address to authorize this linked device.",
2904
+ "一部を伏せたアドレスを選択して、連携するデバイスを認証してください。"
2905
+ ],
2906
+ ["Available methods", "利用可能な方法"],
2907
+ ["Authorizing", "認証中"],
2908
+ ["Close scanner", "スキャナーを閉じる"],
2909
+ ["Scan and link a device", "スキャンしてデバイスを連携"],
2910
+ [
2911
+ "This linking request expired. Scan the QR code again to retry.",
2912
+ "この連携リクエストは期限切れです。QR コードを再度スキャンしてください。"
2913
+ ],
2914
+ ["Linking device", "デバイスを連携中"],
2915
+ ["Continue linking on your other device.", "別のデバイスで連携を続けてください。"],
2916
+ ["Cancel linking", "連携をキャンセル"],
2917
+ ["Position the QR code within the frame", "QR コードを枠内に合わせてください"],
2918
+ ["Device linking failed", "デバイスの連携に失敗しました"],
2919
+ [
2920
+ "The address is normalized before the QR code is created.",
2921
+ "QR コードの作成前に、アドレスの表記を統一します。"
2922
+ ],
2923
+ [
2924
+ "Device 2 will create a new passkey for this wallet.",
2925
+ "2台目のデバイスで、このウォレット用の新しいパスキーを作成します。"
2926
+ ],
2927
+ ["Device Linking QR Code", "デバイス連携用 QR コード"],
2928
+ ["Scan and Link Device", "スキャンしてデバイスを連携"],
2929
+ ["Scan to backup your other device.", "スキャンして別のデバイスをバックアップしてください。"],
2930
+ [
2931
+ "Confirm on this device to finish linking it to your wallet.",
2932
+ "このデバイスで確認し、ウォレットとの連携を完了してください。"
2933
+ ],
2934
+ ["Creating passkey…", "パスキーを作成中…"],
2935
+ ["Enter the 6-digit email code.", "メールの6桁のコードを入力してください。"],
2936
+ ["Confirm with an email code", "メールのコードで確認"],
2937
+ ["Use the code sent to", "コードの送信先:"],
2938
+ ["Sending your email code…", "メールのコードを送信中…"],
2939
+ ["Sending a new email code…", "新しいメールのコードを送信中…"],
2940
+ [
2941
+ "Email code accepted. Finishing device activation…",
2942
+ "メールのコードを確認しました。デバイスの有効化を完了中…"
2943
+ ],
2944
+ ["Checking code…", "コードを確認中…"],
2945
+ ["Confirm code", "コードを確認"],
2946
+ ["Trying again…", "再試行中…"],
2947
+ ["Send code again", "コードを再送信"],
2948
+ ["Choose another factor", "別の認証方法を選択"],
2949
+ ["Welcome back", "おかえりなさい"],
2950
+ ["Wallet name", "ウォレット名"],
2951
+ ["Sign in", "ログイン"],
2952
+ ["Use your passkey to continue.", "パスキーで続けてください。"],
2953
+ ["Continue with passkey", "パスキーで続ける"],
2954
+ ["Close authentication menu", "認証メニューを閉じる"],
2955
+ ["Passkey name", "パスキー名"],
2956
+ ["Use a passkey to create your wallet.", "パスキーでウォレットを作成します。"],
2957
+ ["Restore access to your wallet.", "ウォレットへのアクセスを復元します。"],
2958
+ ["Preparing a one-time code…", "ワンタイムコードを準備中…"],
2959
+ ["Create a passkey on this device.", "このデバイスでパスキーを作成してください。"],
2960
+ ["Creating your passkey…", "パスキーを作成中…"],
2961
+ ["This code has expired.", "コードの有効期限が切れました。"],
2962
+ ["Device linking was cancelled.", "デバイス連携がキャンセルされました。"],
2963
+ ["Unable to link this device.", "このデバイスを連携できません。"],
2964
+ ["Switch to light mode", "ライトモードに切り替え"],
2965
+ ["Switch to dark mode", "ダークモードに切り替え"],
2966
+ ["Copy recipient address {value}", "送信先アドレス {value} をコピー"],
2967
+ ["Copy signing account address {value}", "署名アカウントのアドレス {value} をコピー"],
2968
+ ["Copy contract address {value}", "コントラクトアドレス {value} をコピー"],
2969
+ ["Use the code already sent to {value}.", "{value} に送信済みのコードを使用してください。"],
2970
+ ["A 6-digit code was sent to {value}.", "{value} に6桁のコードを送信しました。"],
2971
+ ["Loading...", "読み込み中…"],
2972
+ ["Scanning...", "スキャン中…"],
2973
+ ["with", "金額:"],
2974
+ ["using", "使用量:"],
2975
+ ["(recommended)", "(推奨)"],
2976
+ [
2977
+ ". The destination is managed by your wallet and cannot be changed here.",
2978
+ "。送信先はウォレットが管理しており、ここでは変更できません。"
2979
+ ],
2980
+ [
2981
+ "? It will lose access right away.",
2982
+ "を削除しますか?このデバイスは直ちにアクセスできなくなります。"
2983
+ ],
2984
+ [
2985
+ "from this device? You will need the other active method to unlock it.",
2986
+ "をこのデバイスから削除しますか?ロック解除には別の有効な認証方法が必要です。"
2987
+ ],
2988
+ [
2989
+ "Enter all {value0} characters of the recovery code.",
2990
+ "リカバリーコードを{value0}文字すべて入力してください。"
2991
+ ],
2992
+ ["{value0} days ago", "{value0}日前"],
2993
+ ["Device {value0}", "デバイス {value0}"],
2994
+ ["Added {value0}", "追加日:{value0}"],
2995
+ ["Last used {value0}", "最終使用:{value0}"],
2996
+ ['your "{value0}" passkey', "「{value0}」のパスキー"],
2997
+ [
2998
+ "You're signed in with {value0}. To remove it, sign in with {value1} first.",
2999
+ "{value0}でログインしています。削除するには、先に{value1}でログインしてください。"
3000
+ ],
3001
+ ["Device {value0}, {value1} (ID {value2})", "デバイス {value0}、{value1}(ID {value2})"],
3002
+ ["Removing {value0}…", "{value0}を削除中…"],
3003
+ [
3004
+ "{value0} can no longer use this wallet.",
3005
+ "{value0}は、このウォレットを使用できなくなりました。"
3006
+ ],
3007
+ ["Remove {value0}", "{value0}を削除"],
3008
+ [
3009
+ "NEAR signer provisioning must be retried ({value0}).",
3010
+ "NEAR 署名機能の準備を再試行してください({value0})。"
3011
+ ],
3012
+ ["Recovery code {value0}", "リカバリーコード {value0}"],
3013
+ [
3014
+ "Saved wallets. Selected wallet ID {value0}, email {value1}",
3015
+ "保存済みウォレット。選択中のウォレット ID:{value0}、メール:{value1}"
3016
+ ],
3017
+ ["Saved wallets. Selected {value0}", "保存済みウォレット。選択中:{value0}"],
3018
+ ["Recovery codes don’t use {value0}.", "リカバリーコードに{value0}は使用できません。"],
3019
+ ["WASM contract code size: {value0}", "WASM コントラクトのコードサイズ:{value0}"],
3020
+ [
3021
+ "WASM global contract code size: {value0}",
3022
+ "WASM グローバルコントラクトのコードサイズ:{value0}"
3023
+ ],
3024
+ ["sending balance to: {value0}", "残高の送信先:{value0}"],
3025
+ ["Calling {value0} using {value1}", "{value0}を呼び出し、使用量:{value1}"],
3026
+ ["Resend in {value0}s", "{value0}秒後に再送信"],
3027
+ [
3028
+ "Too many requests. Try again in {value0}s.",
3029
+ "リクエストが多すぎます。{value0}秒後にもう一度お試しください。"
3030
+ ],
3031
+ ["Copy {value0}", "{value0}をコピー"],
3032
+ ["Copy NEAR account {value0}", "NEAR アカウント {value0} をコピー"],
3033
+ [
3034
+ "Calling {value0} with {value1} using {value2}",
3035
+ "{value0}を呼び出し、金額:{value1}、使用量:{value2}"
3036
+ ],
3037
+ ["Transfer {value0}", "{value0}を送金"],
3038
+ ["Staking {value0}", "{value0}をステーキング"],
3039
+ [
3040
+ "Deploy global WASM contract (mode: {value0}, size {value1})",
3041
+ "グローバル WASM コントラクトをデプロイ(モード:{value0}、サイズ:{value1})"
3042
+ ],
3043
+ ["Use global contract by account {value0}", "アカウント {value0} のグローバルコントラクトを使用"],
3044
+ ["Use global contract by hash {value0}", "ハッシュ {value0} のグローバルコントラクトを使用"],
3045
+ ["Deploying WASM contract ({value0})", "WASM コントラクトをデプロイ({value0})"],
3046
+ ["{value0} of {value1} codes left", "コード残数:{value0}/{value1}"],
3047
+ ["Copy signer address {value0}", "署名者のアドレス {value0} をコピー"],
3048
+ ["Show {value0}", "{value0}を表示"],
3049
+ ["Camera {value0}...", "カメラ {value0}…"],
3050
+ [
3051
+ "Remove {value0}? It will lose access right away.",
3052
+ "{value0}を削除しますか?このデバイスは直ちにアクセスできなくなります。"
3053
+ ],
3054
+ [
3055
+ "Remove {value0} from this device? You will need the other active method to unlock it.",
3056
+ "このデバイスから{value0}を削除しますか?ロック解除には別の有効な認証方法が必要です。"
3057
+ ],
3058
+ ["today", "今日"],
3059
+ ["yesterday", "昨日"],
3060
+ ["Message", "メッセージ"],
3061
+ ["Signer", "署名者"],
3062
+ ["Recipient", "受信者"],
3063
+ ["Receiver", "受信者"],
3064
+ ["Method", "メソッド"],
3065
+ ["Value (wei)", "金額(wei)"],
3066
+ ["Action Count", "アクション数"],
3067
+ ["Amount (yoctoNEAR)", "金額(yoctoNEAR)"],
3068
+ ["Beneficiary", "残高の受取先"],
3069
+ ["By Account", "アカウントで指定"],
3070
+ ["By Code Hash", "コードハッシュで指定"],
3071
+ ["Code Bytes", "コードサイズ(バイト)"],
3072
+ ["Deploy Mode", "デプロイモード"],
3073
+ ["Deposit (yoctoNEAR)", "付随する金額(yoctoNEAR)"],
3074
+ ["Gas", "ガス"],
3075
+ ["Permission", "権限"],
3076
+ ["Stake (yoctoNEAR)", "ステーキング額(yoctoNEAR)"],
3077
+ ["Validator Key", "バリデーターの鍵"],
3078
+ ["Valid After", "有効期間の開始"],
3079
+ ["Valid Before", "有効期間の終了"],
3080
+ ["EVM Transaction", "EVM トランザクション"],
3081
+ ["NEAR Transaction", "NEAR トランザクション"],
3082
+ ["Tempo Transaction", "Tempo トランザクション"],
3083
+ ["Message signature", "メッセージへの署名"],
3084
+ ["NEP-413 message", "NEP-413 メッセージ"],
3085
+ ["Contract Call", "コントラクト呼び出し"],
3086
+ ["Unsupported EVM Payload", "未対応の EVM ペイロード"],
3087
+ ["Unsupported Tempo Payload", "未対応の Tempo ペイロード"],
3088
+ ["Tempo Payload Missing Calls", "Tempo ペイロードに呼び出しがありません"],
3089
+ ["Function Arguments", "関数の引数"],
3090
+ ["Signed Delegate Payload", "署名済み委任ペイロード"],
3091
+ ["Enter the 6-digit code sent to {value0}", "{value0} に送信した6桁のコードを入力してください"],
3092
+ ["Transaction {value0}", "トランザクション {value0}"],
3093
+ ["Transaction {value0}: to", "トランザクション {value0} の宛先:"],
3094
+ ["Transaction to contract", "コントラクトへのトランザクション"],
3095
+ ["Transaction {value0} to contract", "コントラクトへのトランザクション {value0}"],
3096
+ ["Action {value0}: CreateAccount", "アクション {value0}:アカウント作成"],
3097
+ ["Action {value0}: Transfer", "アクション {value0}:送金"],
3098
+ ["Action {value0}: FunctionCall", "アクション {value0}:関数呼び出し"],
3099
+ ["Action {value0}: Stake", "アクション {value0}:ステーキング"],
3100
+ ["Action {value0}: AddKey", "アクション {value0}:鍵の追加"],
3101
+ ["Action {value0}: DeleteKey", "アクション {value0}:鍵の削除"],
3102
+ ["Action {value0}: DeployContract", "アクション {value0}:コントラクトのデプロイ"],
3103
+ [
3104
+ "Action {value0}: DeployGlobalContract",
3105
+ "アクション {value0}:グローバルコントラクトのデプロイ"
3106
+ ],
3107
+ ["Action {value0}: UseGlobalContract", "アクション {value0}:グローバルコントラクトの使用"],
3108
+ ["Action {value0}: DeleteAccount", "アクション {value0}:アカウント削除"],
3109
+ ["Action {value0}: SignedDelegate", "アクション {value0}:署名済み委任"],
3110
+ ["Action {value0}: Unsupported", "アクション {value0}:未対応の操作"],
3111
+ ["mode: {value0}", "モード:{value0}"],
3112
+ ["by account: {value0}", "アカウント:{value0}"],
3113
+ ["by hash: {value0}", "ハッシュ:{value0}"],
3114
+ ["validator: {value0}", "バリデーター:{value0}"],
3115
+ ["key: {value0}", "鍵:{value0}"],
3116
+ ["permissions: {value0}", "権限:{value0}"],
3117
+ ["Your email", "メールアドレス"],
3118
+ ["your email", "メールアドレス"],
3119
+ ["Create your wallet", "ウォレットを作成"],
3120
+ ["Continue with your Google account.", "Google アカウントで続けてください。"],
3121
+ ["Create wallet", "ウォレットを作成"],
3122
+ [
3123
+ "Check this recovery code and try again.",
3124
+ "リカバリーコードを確認して、もう一度お試しください。"
3125
+ ]
3126
+ ];
3127
+ function messageEntry([en, ja]) {
3128
+ return [en, { en, ja }];
3129
+ }
3130
+ var messages = new Map(walletMessages.map(messageEntry));
3131
+ function escapePattern(text) {
3132
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3133
+ }
3134
+ function messagePattern([english, japanese]) {
3135
+ const parameters = [];
3136
+ const parts = [];
3137
+ let offset = 0;
3138
+ for (const match of english.matchAll(/\{(\w+)\}/g)) {
3139
+ parts.push(escapePattern(english.slice(offset, match.index)), "(.+?)");
3140
+ parameters.push(match[1]);
3141
+ offset = match.index + match[0].length;
3142
+ }
3143
+ parts.push(escapePattern(english.slice(offset)));
3144
+ return { expression: new RegExp("^" + parts.join("") + "$", "s"), parameters, japanese };
3145
+ }
3146
+ function hasParameters(message) {
3147
+ return message[0].includes("{");
3148
+ }
3149
+ function longestMessageFirst(left, right) {
3150
+ return right[0].length - left[0].length;
3151
+ }
3152
+ var patterns = walletMessages.filter(hasParameters).sort(longestMessageFirst).map(messagePattern);
3153
+ function walletText(locale, message, values = {}) {
3154
+ const translated = messages.get(message);
3155
+ if (!translated)
3156
+ throw new Error("Unknown wallet message");
3157
+ let text = translated[locale];
3158
+ for (const [name, value] of Object.entries(values)) {
3159
+ text = text.split("{" + name + "}").join(String(value));
3160
+ }
3161
+ return text;
3162
+ }
3163
+ function walletDisplayText(locale, copy) {
3164
+ if (typeof copy !== "string" || locale === "en")
3165
+ return copy;
3166
+ const normalized = copy.trim();
3167
+ const exact = messages.get(normalized);
3168
+ if (exact)
3169
+ return exact[locale];
3170
+ const field = normalized.endsWith(":") ? messages.get(normalized.slice(0, -1)) : undefined;
3171
+ if (field)
3172
+ return field[locale] + ":";
3173
+ for (const pattern of patterns) {
3174
+ const match = pattern.expression.exec(normalized);
3175
+ if (!match)
3176
+ continue;
3177
+ let translated = pattern.japanese;
3178
+ for (const [index, parameter] of pattern.parameters.entries()) {
3179
+ translated = translated.split("{" + parameter + "}").join(match[index + 1]);
3180
+ }
3181
+ return translated;
3182
+ }
3183
+ return copy;
3184
+ }
3185
+ // ../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
3186
+ var f3 = 0;
3187
+ function u3(e, t, n, o, i, u) {
3188
+ t || (t = {});
3189
+ var a, c, p = t;
3190
+ if ("ref" in p)
3191
+ for (c in p = {}, t)
3192
+ c == "ref" ? a = t[c] : p[c] = t[c];
3193
+ var l2 = { type: e, props: p, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: undefined, __v: --f3, __i: -1, __u: 0, __source: i, __self: u };
3194
+ if (typeof e == "function" && (a = e.defaultProps))
3195
+ for (c in a)
3196
+ p[c] === undefined && (p[c] = a[c]);
3197
+ return l.vnode && l.vnode(l2), l2;
3198
+ }
3199
+
3200
+ // src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.tsx
3201
+ var WalletLocaleContext = X("en");
3202
+ function useWalletLocale() {
3203
+ return x2(WalletLocaleContext);
3204
+ }
3205
+ function withWalletLocale(locale, children) {
3206
+ return /* @__PURE__ */ u3(WalletLocaleContext.Provider, {
3207
+ value: locale,
3208
+ children
3209
+ });
3210
+ }
3211
+ function WalletText(props) {
3212
+ const locale = useWalletLocale();
3213
+ return props.message === undefined ? walletDisplayText(locale, props.copy) : walletText(locale, props.message, props.values);
3214
+ }
3215
+
2048
3216
  // src/core/browser/walletIframe/csp-stylesheet.ts
2049
3217
  function declarationsToCssText(selector, declarations) {
2050
3218
  const body = Object.entries(declarations).map(([property, value]) => `${property}:${value};`).join("");
@@ -2640,26 +3808,12 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
2640
3808
  }
2641
3809
  };
2642
3810
  }
2643
- // ../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
2644
- var f2 = 0;
2645
- function u2(e, t, n, o, i, u) {
2646
- t || (t = {});
2647
- var a, c, p = t;
2648
- if ("ref" in p)
2649
- for (c in p = {}, t)
2650
- c == "ref" ? a = t[c] : p[c] = t[c];
2651
- var l2 = { type: e, props: p, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: undefined, __v: --f2, __i: -1, __u: 0, __source: i, __self: u };
2652
- if (typeof e == "function" && (a = e.defaultProps))
2653
- for (c in a)
2654
- p[c] === undefined && (p[c] = a[c]);
2655
- return l.vnode && l.vnode(l2), l2;
2656
- }
2657
3811
 
2658
3812
  // src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.tsx
2659
3813
  function PadlockIcon(props) {
2660
3814
  const size = props.size ?? "100%";
2661
3815
  const strokeWidth = props.strokeWidth ?? 2;
2662
- return /* @__PURE__ */ u2("svg", {
3816
+ return /* @__PURE__ */ u3("svg", {
2663
3817
  class: "padlock-icon seams-padlock-icon",
2664
3818
  xmlns: "http://www.w3.org/2000/svg",
2665
3819
  viewBox: "0 0 24 24",
@@ -2673,7 +3827,7 @@ function PadlockIcon(props) {
2673
3827
  "aria-hidden": "true",
2674
3828
  focusable: "false",
2675
3829
  children: [
2676
- /* @__PURE__ */ u2("rect", {
3830
+ /* @__PURE__ */ u3("rect", {
2677
3831
  width: "18",
2678
3832
  height: "11",
2679
3833
  x: "3",
@@ -2681,7 +3835,7 @@ function PadlockIcon(props) {
2681
3835
  rx: "2",
2682
3836
  ry: "2"
2683
3837
  }),
2684
- /* @__PURE__ */ u2("path", {
3838
+ /* @__PURE__ */ u3("path", {
2685
3839
  d: "M7 11V7a5 5 0 0 1 10 0v4"
2686
3840
  })
2687
3841
  ]
@@ -2758,22 +3912,22 @@ class HaloBorder extends C {
2758
3912
  this.props.styles.setDynamicDeclarations(this.id, `#${this.id}`, declarations);
2759
3913
  }
2760
3914
  render() {
2761
- return /* @__PURE__ */ u2("div", {
3915
+ return /* @__PURE__ */ u3("div", {
2762
3916
  id: this.id,
2763
3917
  ref: this.element,
2764
3918
  class: "seams-halo-border",
2765
- children: /* @__PURE__ */ u2("div", {
3919
+ children: /* @__PURE__ */ u3("div", {
2766
3920
  class: `halo-root${this.props.animated ? " animated" : ""}`,
2767
- children: /* @__PURE__ */ u2("div", {
3921
+ children: /* @__PURE__ */ u3("div", {
2768
3922
  class: "halo-inner",
2769
- children: /* @__PURE__ */ u2("div", {
3923
+ children: /* @__PURE__ */ u3("div", {
2770
3924
  class: "halo-outer",
2771
3925
  children: [
2772
- this.props.animated && /* @__PURE__ */ u2("div", {
3926
+ this.props.animated && /* @__PURE__ */ u3("div", {
2773
3927
  class: "halo-ring",
2774
3928
  "aria-hidden": "true"
2775
3929
  }),
2776
- /* @__PURE__ */ u2("div", {
3930
+ /* @__PURE__ */ u3("div", {
2777
3931
  class: "halo-content",
2778
3932
  children: this.props.children
2779
3933
  })
@@ -2787,18 +3941,18 @@ class HaloBorder extends C {
2787
3941
 
2788
3942
  // src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.tsx
2789
3943
  function PasskeyHaloLoading(props) {
2790
- return /* @__PURE__ */ u2("div", {
3944
+ return /* @__PURE__ */ u3("div", {
2791
3945
  class: "seams-passkey-halo-loading",
2792
3946
  "aria-hidden": "true",
2793
- children: /* @__PURE__ */ u2("div", {
3947
+ children: /* @__PURE__ */ u3("div", {
2794
3948
  class: "seams-passkey-loading-root",
2795
- children: /* @__PURE__ */ u2(HaloBorder, {
3949
+ children: /* @__PURE__ */ u3(HaloBorder, {
2796
3950
  animated: props.animated,
2797
3951
  innerPadding: props.innerPadding,
2798
3952
  styles: props.styles,
2799
- children: /* @__PURE__ */ u2("div", {
3953
+ children: /* @__PURE__ */ u3("div", {
2800
3954
  class: "seams-passkey-loading-touch-icon-container",
2801
- children: /* @__PURE__ */ u2("svg", {
3955
+ children: /* @__PURE__ */ u3("svg", {
2802
3956
  class: "seams-passkey-loading-touch-icon",
2803
3957
  "data-icon": props.icon,
2804
3958
  width: props.size ?? 36,
@@ -2807,7 +3961,7 @@ function PasskeyHaloLoading(props) {
2807
3961
  fill: "none",
2808
3962
  xmlns: "http://www.w3.org/2000/svg",
2809
3963
  focusable: "false",
2810
- children: props.icon === "mail" ? /* @__PURE__ */ u2(MailPaths, {}) : /* @__PURE__ */ u2(FingerprintPath, {})
3964
+ children: props.icon === "mail" ? /* @__PURE__ */ u3(MailPaths, {}) : /* @__PURE__ */ u3(FingerprintPath, {})
2811
3965
  })
2812
3966
  })
2813
3967
  })
@@ -2815,9 +3969,9 @@ function PasskeyHaloLoading(props) {
2815
3969
  });
2816
3970
  }
2817
3971
  function MailPaths() {
2818
- return /* @__PURE__ */ u2(S, {
3972
+ return /* @__PURE__ */ u3(S, {
2819
3973
  children: [
2820
- /* @__PURE__ */ u2("path", {
3974
+ /* @__PURE__ */ u3("path", {
2821
3975
  d: "M4.5 6.5H19.5C20.0523 6.5 20.5 6.94772 20.5 7.5V16.5C20.5 17.0523 20.0523 17.5 19.5 17.5H4.5C3.94772 17.5 3.5 17.0523 3.5 16.5V7.5C3.5 6.94772 3.94772 6.5 4.5 6.5Z",
2822
3976
  stroke: "currentColor",
2823
3977
  "stroke-width": "var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)",
@@ -2825,7 +3979,7 @@ function MailPaths() {
2825
3979
  "stroke-linejoin": "round",
2826
3980
  "vector-effect": "non-scaling-stroke"
2827
3981
  }),
2828
- /* @__PURE__ */ u2("path", {
3982
+ /* @__PURE__ */ u3("path", {
2829
3983
  d: "M4.25 7.25L12 12.75L19.75 7.25",
2830
3984
  stroke: "currentColor",
2831
3985
  "stroke-width": "var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)",
@@ -2837,7 +3991,7 @@ function MailPaths() {
2837
3991
  });
2838
3992
  }
2839
3993
  function FingerprintPath() {
2840
- return /* @__PURE__ */ u2("path", {
3994
+ return /* @__PURE__ */ u3("path", {
2841
3995
  d: "M6.40519 19.0481C6.58912 18.6051 6.75832 18.1545 6.91219 17.6969M14.3433 20.6926C14.6095 19.9418 14.8456 19.1768 15.0502 18.399C15.2359 17.6934 15.3956 16.9772 15.5283 16.2516M19.4477 17.0583C19.8121 15.0944 20.0026 13.0694 20.0026 11C20.0026 6.58172 16.4209 3 12.0026 3C10.7472 3 9.55932 3.28918 8.50195 3.80456M3.52344 15.0245C3.83663 13.7343 4.00262 12.3865 4.00262 11C4.00262 9.25969 4.55832 7.64917 5.50195 6.33621M12.003 11C12.003 13.7604 11.5557 16.4163 10.7295 18.8992C10.5169 19.5381 10.2792 20.1655 10.0176 20.7803M7.71227 14.5C7.90323 13.3618 8.00262 12.1925 8.00262 11C8.00262 8.79086 9.79348 7 12.0026 7C14.2118 7 16.0026 8.79086 16.0026 11C16.0026 11.6166 15.9834 12.2287 15.9455 12.8357",
2842
3996
  stroke: "currentColor",
2843
3997
  "stroke-width": "var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)",
@@ -2850,29 +4004,31 @@ function FingerprintPath() {
2850
4004
 
2851
4005
  // src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.tsx
2852
4006
  function LoadingStatus(props) {
2853
- return /* @__PURE__ */ u2(S, {
4007
+ return /* @__PURE__ */ u3(S, {
2854
4008
  children: [
2855
- /* @__PURE__ */ u2("span", {
4009
+ /* @__PURE__ */ u3("span", {
2856
4010
  class: "loading-ellipsis",
2857
4011
  "aria-hidden": "true",
2858
4012
  children: [
2859
- /* @__PURE__ */ u2("span", {
4013
+ /* @__PURE__ */ u3("span", {
2860
4014
  class: "loading-ellipsis__dot",
2861
4015
  children: "."
2862
4016
  }),
2863
- /* @__PURE__ */ u2("span", {
4017
+ /* @__PURE__ */ u3("span", {
2864
4018
  class: "loading-ellipsis__dot",
2865
4019
  children: "."
2866
4020
  }),
2867
- /* @__PURE__ */ u2("span", {
4021
+ /* @__PURE__ */ u3("span", {
2868
4022
  class: "loading-ellipsis__dot",
2869
4023
  children: "."
2870
4024
  })
2871
4025
  ]
2872
4026
  }),
2873
- /* @__PURE__ */ u2("span", {
4027
+ /* @__PURE__ */ u3("span", {
2874
4028
  class: "sr-only",
2875
- children: props.label
4029
+ children: /* @__PURE__ */ u3(WalletText, {
4030
+ copy: props.label
4031
+ })
2876
4032
  })
2877
4033
  ]
2878
4034
  });
@@ -2883,7 +4039,7 @@ function addressHref(base, address) {
2883
4039
  return `${base.trim().replace(/\/$/, "")}/address/${encodeURIComponent(address)}`;
2884
4040
  }
2885
4041
  function ReceiverLink(props) {
2886
- return /* @__PURE__ */ u2("a", {
4042
+ return /* @__PURE__ */ u3("a", {
2887
4043
  class: "highlight-receiver-id",
2888
4044
  href: addressHref(props.base, props.address),
2889
4045
  target: "_blank",
@@ -2951,28 +4107,37 @@ function TransactionLabel({ node, explorers }) {
2951
4107
  case "FunctionCall" /* FunctionCall */: {
2952
4108
  const gas = formatGas(action.gas);
2953
4109
  const deposit = formatDeposit(action.deposit);
2954
- return /* @__PURE__ */ u2(S, {
4110
+ return /* @__PURE__ */ u3(S, {
2955
4111
  children: [
2956
- "Calling ",
2957
- /* @__PURE__ */ u2("span", {
4112
+ /* @__PURE__ */ u3(WalletText, {
4113
+ message: "Calling"
4114
+ }),
4115
+ " ",
4116
+ /* @__PURE__ */ u3("span", {
2958
4117
  class: "highlight-method-name",
2959
4118
  children: action.methodName
2960
4119
  }),
2961
- deposit !== "0 NEAR" && /* @__PURE__ */ u2(S, {
4120
+ deposit !== "0 NEAR" && /* @__PURE__ */ u3(S, {
2962
4121
  children: [
2963
4122
  " ",
2964
- "with ",
2965
- /* @__PURE__ */ u2("span", {
4123
+ /* @__PURE__ */ u3(WalletText, {
4124
+ message: "with"
4125
+ }),
4126
+ " ",
4127
+ /* @__PURE__ */ u3("span", {
2966
4128
  class: "highlight-method-name",
2967
4129
  children: deposit
2968
4130
  })
2969
4131
  ]
2970
4132
  }),
2971
- gas && /* @__PURE__ */ u2(S, {
4133
+ gas && /* @__PURE__ */ u3(S, {
2972
4134
  children: [
2973
4135
  " ",
2974
- "using ",
2975
- /* @__PURE__ */ u2("span", {
4136
+ /* @__PURE__ */ u3(WalletText, {
4137
+ message: "using"
4138
+ }),
4139
+ " ",
4140
+ /* @__PURE__ */ u3("span", {
2976
4141
  class: "highlight-method-name",
2977
4142
  children: gas
2978
4143
  })
@@ -2982,36 +4147,57 @@ function TransactionLabel({ node, explorers }) {
2982
4147
  });
2983
4148
  }
2984
4149
  case "Transfer" /* Transfer */:
2985
- return /* @__PURE__ */ u2(S, {
4150
+ return /* @__PURE__ */ u3(S, {
2986
4151
  children: [
2987
- "Transfer ",
2988
- /* @__PURE__ */ u2("span", {
4152
+ /* @__PURE__ */ u3(WalletText, {
4153
+ message: "Transfer"
4154
+ }),
4155
+ " ",
4156
+ /* @__PURE__ */ u3("span", {
2989
4157
  class: "highlight-amount",
2990
4158
  children: formatDeposit(action.amount)
2991
4159
  })
2992
4160
  ]
2993
4161
  });
2994
4162
  case "CreateAccount" /* CreateAccount */:
2995
- return "Creating Account";
4163
+ return /* @__PURE__ */ u3(WalletText, {
4164
+ message: "Creating Account"
4165
+ });
2996
4166
  case "DeleteAccount" /* DeleteAccount */:
2997
- return "Deleting Account";
4167
+ return /* @__PURE__ */ u3(WalletText, {
4168
+ message: "Deleting Account"
4169
+ });
2998
4170
  case "Stake" /* Stake */:
2999
- return `Staking ${formatDeposit(action.stake)}`;
4171
+ return /* @__PURE__ */ u3(WalletText, {
4172
+ message: "Staking {value0}",
4173
+ values: { value0: formatDeposit(action.stake) }
4174
+ });
3000
4175
  case "AddKey" /* AddKey */:
3001
- return "Adding Key";
4176
+ return /* @__PURE__ */ u3(WalletText, {
4177
+ message: "Adding Key"
4178
+ });
3002
4179
  case "DeleteKey" /* DeleteKey */:
3003
- return "Deleting Key";
4180
+ return /* @__PURE__ */ u3(WalletText, {
4181
+ message: "Deleting Key"
4182
+ });
3004
4183
  case "DeployContract" /* DeployContract */:
3005
- return `Deploying WASM contract (${formatCodeSize(action.code)})`;
4184
+ return /* @__PURE__ */ u3(WalletText, {
4185
+ message: "Deploying WASM contract ({value0})",
4186
+ values: { value0: formatCodeSize(action.code) }
4187
+ });
3006
4188
  case "DeployGlobalContract" /* DeployGlobalContract */:
3007
- return transactionLabelTitle(node);
4189
+ return /* @__PURE__ */ u3(WalletText, {
4190
+ copy: transactionLabelTitle(node)
4191
+ });
3008
4192
  case "UseGlobalContract" /* UseGlobalContract */: {
3009
4193
  if (action.accountId)
3010
- return /* @__PURE__ */ u2(S, {
4194
+ return /* @__PURE__ */ u3(S, {
3011
4195
  children: [
3012
- "Use global contract",
4196
+ /* @__PURE__ */ u3(WalletText, {
4197
+ message: "Use global contract"
4198
+ }),
3013
4199
  " ",
3014
- /* @__PURE__ */ u2(ReceiverLink, {
4200
+ /* @__PURE__ */ u3(ReceiverLink, {
3015
4201
  base: explorers.near,
3016
4202
  address: action.accountId,
3017
4203
  children: action.accountId
@@ -3019,17 +4205,21 @@ function TransactionLabel({ node, explorers }) {
3019
4205
  ]
3020
4206
  });
3021
4207
  if (action.codeHash)
3022
- return /* @__PURE__ */ u2(S, {
4208
+ return /* @__PURE__ */ u3(S, {
3023
4209
  children: [
3024
- "Use global contract by hash",
4210
+ /* @__PURE__ */ u3(WalletText, {
4211
+ message: "Use global contract by hash"
4212
+ }),
3025
4213
  " ",
3026
- /* @__PURE__ */ u2("span", {
4214
+ /* @__PURE__ */ u3("span", {
3027
4215
  class: "highlight-method-name",
3028
4216
  children: shortenPubkey(action.codeHash, { prefix: 10, suffix: 6 })
3029
4217
  })
3030
4218
  ]
3031
4219
  });
3032
- return "Use global contract";
4220
+ return /* @__PURE__ */ u3(WalletText, {
4221
+ message: "Use global contract"
4222
+ });
3033
4223
  }
3034
4224
  default:
3035
4225
  return assertNever2(action);
@@ -3037,10 +4227,12 @@ function TransactionLabel({ node, explorers }) {
3037
4227
  }
3038
4228
  if (node.transaction) {
3039
4229
  const prefix = (node.totalTransactions ?? 1) > 1 ? `Transaction ${(node.transactionIndex ?? 0) + 1}: to ` : "Transaction to ";
3040
- return /* @__PURE__ */ u2(S, {
4230
+ return /* @__PURE__ */ u3(S, {
3041
4231
  children: [
3042
- prefix,
3043
- /* @__PURE__ */ u2(ReceiverLink, {
4232
+ /* @__PURE__ */ u3(WalletText, {
4233
+ copy: prefix
4234
+ }),
4235
+ /* @__PURE__ */ u3(ReceiverLink, {
3044
4236
  base: explorers.near,
3045
4237
  address: node.transaction.receiverId,
3046
4238
  children: node.transaction.receiverId
@@ -3052,14 +4244,16 @@ function TransactionLabel({ node, explorers }) {
3052
4244
  const address = node.contractAddress?.trim();
3053
4245
  if (address && prefix) {
3054
4246
  const base = node.chain && node.chain !== "unknown" ? explorers[node.chain] : undefined;
3055
- return /* @__PURE__ */ u2(S, {
4247
+ return /* @__PURE__ */ u3(S, {
3056
4248
  children: [
3057
- prefix,
3058
- base ? /* @__PURE__ */ u2(ReceiverLink, {
4249
+ /* @__PURE__ */ u3(WalletText, {
4250
+ copy: prefix
4251
+ }),
4252
+ base ? /* @__PURE__ */ u3(ReceiverLink, {
3059
4253
  base,
3060
4254
  address,
3061
4255
  children: shortAddress(address)
3062
- }) : /* @__PURE__ */ u2("span", {
4256
+ }) : /* @__PURE__ */ u3("span", {
3063
4257
  class: "highlight-receiver-id",
3064
4258
  children: shortAddress(address)
3065
4259
  })
@@ -3071,10 +4265,13 @@ function TransactionLabel({ node, explorers }) {
3071
4265
  const rest = label.slice("Calling ".length).trim();
3072
4266
  const index = rest.toLowerCase().indexOf(" using ");
3073
4267
  if (index < 0 && rest)
3074
- return /* @__PURE__ */ u2(S, {
4268
+ return /* @__PURE__ */ u3(S, {
3075
4269
  children: [
3076
- "Calling ",
3077
- /* @__PURE__ */ u2("span", {
4270
+ /* @__PURE__ */ u3(WalletText, {
4271
+ message: "Calling"
4272
+ }),
4273
+ " ",
4274
+ /* @__PURE__ */ u3("span", {
3078
4275
  class: "highlight-method-name",
3079
4276
  children: rest
3080
4277
  })
@@ -3083,18 +4280,41 @@ function TransactionLabel({ node, explorers }) {
3083
4280
  const method = rest.slice(0, index).trim();
3084
4281
  const trailing = rest.slice(index + " using ".length).trim();
3085
4282
  if (index >= 0 && method)
3086
- return /* @__PURE__ */ u2(S, {
4283
+ return /* @__PURE__ */ u3(S, {
3087
4284
  children: [
3088
- "Calling ",
3089
- /* @__PURE__ */ u2("span", {
4285
+ /* @__PURE__ */ u3(WalletText, {
4286
+ message: "Calling"
4287
+ }),
4288
+ " ",
4289
+ /* @__PURE__ */ u3("span", {
3090
4290
  class: "highlight-method-name",
3091
4291
  children: method
3092
4292
  }),
3093
- trailing && ` using ${trailing}`
4293
+ trailing && /* @__PURE__ */ u3(S, {
4294
+ children: [
4295
+ /* @__PURE__ */ u3(WalletText, {
4296
+ message: "using"
4297
+ }),
4298
+ " ",
4299
+ trailing
4300
+ ]
4301
+ })
3094
4302
  ]
3095
4303
  });
3096
4304
  }
3097
- return node.label;
4305
+ if (node.fieldLabel) {
4306
+ return /* @__PURE__ */ u3(S, {
4307
+ children: [
4308
+ /* @__PURE__ */ u3(WalletText, {
4309
+ copy: node.fieldLabel
4310
+ }),
4311
+ node.label.slice(node.fieldLabel.length)
4312
+ ]
4313
+ });
4314
+ }
4315
+ return /* @__PURE__ */ u3(WalletText, {
4316
+ copy: node.label
4317
+ });
3098
4318
  }
3099
4319
 
3100
4320
  // src/core/signingEngine/uiConfirm/ui/preact/clipboard.ts
@@ -3129,11 +4349,11 @@ var drivenClasses = ["anim-h", "anim-h-active", "anim-h-driven"];
3129
4349
  var motionClasses = [...drivenClasses, "anim-h-hold"];
3130
4350
  var nextNodeId = 0;
3131
4351
  function Chevron() {
3132
- return /* @__PURE__ */ u2("svg", {
4352
+ return /* @__PURE__ */ u3("svg", {
3133
4353
  class: "chevron",
3134
4354
  viewBox: "0 0 16 16",
3135
4355
  "aria-hidden": "true",
3136
- children: /* @__PURE__ */ u2("path", {
4356
+ children: /* @__PURE__ */ u3("path", {
3137
4357
  fill: "currentColor",
3138
4358
  d: "M6 3l5 5-5 5z"
3139
4359
  })
@@ -3143,7 +4363,7 @@ function hasContentVariants(node) {
3143
4363
  return !!node.contentVariants?.decoded && !!node.contentVariants.raw && node.contentVariants.decoded !== node.contentVariants.raw;
3144
4364
  }
3145
4365
  function renderChild(interactions, depth, node) {
3146
- return /* @__PURE__ */ u2(TransactionNode, {
4366
+ return /* @__PURE__ */ u3(TransactionNode, {
3147
4367
  node,
3148
4368
  depth,
3149
4369
  styles: interactions.styles,
@@ -3155,17 +4375,17 @@ function renderChild(interactions, depth, node) {
3155
4375
  function TransactionTree(props) {
3156
4376
  if (!props.node.children?.length)
3157
4377
  return null;
3158
- const content = /* @__PURE__ */ u2("div", {
4378
+ const content = /* @__PURE__ */ u3("div", {
3159
4379
  class: "tooltip-tree-root",
3160
- children: /* @__PURE__ */ u2("div", {
4380
+ children: /* @__PURE__ */ u3("div", {
3161
4381
  class: "tooltip-tree-children",
3162
4382
  children: props.node.children.map(renderChild.bind(null, props, 1))
3163
4383
  })
3164
4384
  });
3165
- return /* @__PURE__ */ u2("div", {
4385
+ return /* @__PURE__ */ u3("div", {
3166
4386
  class: "seams-tx-tree",
3167
4387
  "data-theme": props.theme,
3168
- children: props.showShadow ? /* @__PURE__ */ u2("div", {
4388
+ children: props.showShadow ? /* @__PURE__ */ u3("div", {
3169
4389
  class: "tooltip-border-outer",
3170
4390
  children: content
3171
4391
  }) : content
@@ -3173,6 +4393,7 @@ function TransactionTree(props) {
3173
4393
  }
3174
4394
 
3175
4395
  class TransactionNode extends C {
4396
+ static contextType = WalletLocaleContext;
3176
4397
  state = {
3177
4398
  mode: this.props.node.contentVariants?.defaultMode === "raw" ? "raw" : "decoded",
3178
4399
  copied: false
@@ -3342,25 +4563,25 @@ class TransactionNode extends C {
3342
4563
  };
3343
4564
  label(chevron) {
3344
4565
  const node = this.props.node;
3345
- return /* @__PURE__ */ u2("span", {
4566
+ return /* @__PURE__ */ u3("span", {
3346
4567
  class: `label${node.type === "file" ? " label-action-node" : ""}`,
3347
4568
  hidden: node.hideLabel,
3348
4569
  children: [
3349
- chevron && !node.hideChevron && /* @__PURE__ */ u2(Chevron, {}),
3350
- /* @__PURE__ */ u2("span", {
4570
+ chevron && !node.hideChevron && /* @__PURE__ */ u3(Chevron, {}),
4571
+ /* @__PURE__ */ u3("span", {
3351
4572
  class: "label-text",
3352
- title: transactionLabelTitle(node),
3353
- children: /* @__PURE__ */ u2(TransactionLabel, {
4573
+ title: walletDisplayText(this.context, transactionLabelTitle(node)),
4574
+ children: /* @__PURE__ */ u3(TransactionLabel, {
3354
4575
  node,
3355
4576
  explorers: this.props.explorers
3356
4577
  })
3357
4578
  }),
3358
- node.type === "file" && node.copyValue && /* @__PURE__ */ u2("button", {
4579
+ node.type === "file" && node.copyValue && /* @__PURE__ */ u3("button", {
3359
4580
  type: "button",
3360
4581
  class: "copy-badge",
3361
4582
  "data-copied": String(this.state.copied),
3362
4583
  onClick: this.copy,
3363
- title: this.state.copied ? "Copied" : "Copy",
4584
+ title: walletDisplayText(this.context, this.state.copied ? "Copied" : "Copy"),
3364
4585
  children: this.state.copied ? "copied" : "copy"
3365
4586
  })
3366
4587
  ]
@@ -3370,12 +4591,12 @@ class TransactionNode extends C {
3370
4591
  const { node, depth } = this.props;
3371
4592
  const rowClass = `row summary-row depth-${Math.max(0, depth - 1)}`;
3372
4593
  if (node.type === "file" && !node.content) {
3373
- return /* @__PURE__ */ u2("div", {
4594
+ return /* @__PURE__ */ u3("div", {
3374
4595
  id: this.id,
3375
4596
  class: `row file-row depth-${Math.max(0, depth - 1)}`,
3376
4597
  "data-no-elbow": String(!!node.hideLabel),
3377
4598
  children: [
3378
- /* @__PURE__ */ u2("span", {
4599
+ /* @__PURE__ */ u3("span", {
3379
4600
  class: "indent"
3380
4601
  }),
3381
4602
  this.label(false)
@@ -3385,35 +4606,37 @@ class TransactionNode extends C {
3385
4606
  const variants = hasContentVariants(node);
3386
4607
  const content = variants && node.contentVariants ? node.contentVariants[this.state.mode] : node.content;
3387
4608
  const toggleLabel = this.state.mode === "decoded" ? "bytes" : "decoded";
3388
- return /* @__PURE__ */ u2("details", {
4609
+ return /* @__PURE__ */ u3("details", {
3389
4610
  id: this.id,
3390
4611
  ref: this.details,
3391
4612
  class: `tree-node ${node.type}`,
3392
4613
  open: !!node.open,
3393
4614
  "data-node-id": node.id,
3394
4615
  children: [
3395
- /* @__PURE__ */ u2("summary", {
4616
+ /* @__PURE__ */ u3("summary", {
3396
4617
  class: rowClass,
3397
4618
  "data-no-elbow": String(!!node.hideLabel),
3398
4619
  onClick: this.toggle,
3399
4620
  children: [
3400
- /* @__PURE__ */ u2("span", {
4621
+ /* @__PURE__ */ u3("span", {
3401
4622
  class: "indent"
3402
4623
  }),
3403
4624
  this.label(true),
3404
- node.type === "file" && /* @__PURE__ */ u2("div", {
4625
+ node.type === "file" && /* @__PURE__ */ u3("div", {
3405
4626
  ref: this.shell,
3406
4627
  class: `file-content-shell${variants ? " has-mode-toggle" : ""}`,
3407
4628
  children: [
3408
- variants && /* @__PURE__ */ u2("button", {
4629
+ variants && /* @__PURE__ */ u3("button", {
3409
4630
  type: "button",
3410
4631
  class: "file-content-mode-toggle",
3411
- title: `Show ${toggleLabel}`,
3412
- "aria-label": `Show ${toggleLabel}`,
4632
+ title: walletDisplayText(this.context, `Show ${toggleLabel}`),
4633
+ "aria-label": walletDisplayText(this.context, `Show ${toggleLabel}`),
3413
4634
  onClick: this.toggleMode,
3414
- children: toggleLabel
4635
+ children: /* @__PURE__ */ u3(WalletText, {
4636
+ copy: toggleLabel
4637
+ })
3415
4638
  }),
3416
- /* @__PURE__ */ u2("div", {
4639
+ /* @__PURE__ */ u3("div", {
3417
4640
  class: "file-content",
3418
4641
  children: content
3419
4642
  })
@@ -3421,7 +4644,7 @@ class TransactionNode extends C {
3421
4644
  })
3422
4645
  ]
3423
4646
  }),
3424
- node.type === "folder" && !!node.children?.length && /* @__PURE__ */ u2("div", {
4647
+ node.type === "folder" && !!node.children?.length && /* @__PURE__ */ u3("div", {
3425
4648
  class: "folder-children",
3426
4649
  children: node.children.map(renderChild.bind(null, this.props, depth + 1))
3427
4650
  })
@@ -3437,6 +4660,7 @@ function stopDragStart(event) {
3437
4660
  }
3438
4661
 
3439
4662
  class ConfirmContent extends C {
4663
+ static contextType = WalletLocaleContext;
3440
4664
  state = { armed: false };
3441
4665
  id = `seams-confirm-content-${++nextContentId}`;
3442
4666
  root = M();
@@ -3511,24 +4735,26 @@ class ConfirmContent extends C {
3511
4735
  };
3512
4736
  render() {
3513
4737
  const preparing = this.props.decision.kind === "preparing";
3514
- return /* @__PURE__ */ u2("div", {
4738
+ return /* @__PURE__ */ u3("div", {
3515
4739
  class: "seams-tx-confirm-content",
3516
4740
  onPointerDown: stopDragStart,
3517
4741
  onMouseDown: stopDragStart,
3518
4742
  onTouchStart: stopDragStart,
3519
- children: /* @__PURE__ */ u2("div", {
4743
+ children: /* @__PURE__ */ u3("div", {
3520
4744
  id: this.id,
3521
4745
  ref: this.root,
3522
4746
  class: "txc-root",
3523
4747
  children: [
3524
- this.props.errorMessage && /* @__PURE__ */ u2("div", {
4748
+ this.props.errorMessage && /* @__PURE__ */ u3("div", {
3525
4749
  class: "error",
3526
4750
  role: "alert",
3527
- children: this.props.errorMessage
4751
+ children: /* @__PURE__ */ u3(WalletText, {
4752
+ copy: this.props.errorMessage
4753
+ })
3528
4754
  }),
3529
- this.props.tree && /* @__PURE__ */ u2("div", {
4755
+ this.props.tree && /* @__PURE__ */ u3("div", {
3530
4756
  class: "tooltip-width",
3531
- children: /* @__PURE__ */ u2(TransactionTree, {
4757
+ children: /* @__PURE__ */ u3(TransactionTree, {
3532
4758
  node: this.props.tree,
3533
4759
  theme: this.props.theme,
3534
4760
  explorers: this.props.explorers,
@@ -3538,36 +4764,42 @@ class ConfirmContent extends C {
3538
4764
  onCopy: this.props.onCopy
3539
4765
  })
3540
4766
  }),
3541
- /* @__PURE__ */ u2("div", {
4767
+ /* @__PURE__ */ u3("div", {
3542
4768
  class: "actions",
3543
4769
  children: [
3544
- !this.props.cancelInHeader && /* @__PURE__ */ u2("button", {
4770
+ !this.props.cancelInHeader && /* @__PURE__ */ u3("button", {
3545
4771
  type: "button",
3546
4772
  class: "cancel",
3547
4773
  onClick: this.cancel,
3548
- children: this.props.cancelText
4774
+ children: /* @__PURE__ */ u3(WalletText, {
4775
+ copy: this.props.cancelText
4776
+ })
3549
4777
  }),
3550
- /* @__PURE__ */ u2("button", {
4778
+ /* @__PURE__ */ u3("button", {
3551
4779
  type: this.props.decision.kind === "form" ? "submit" : "button",
3552
4780
  form: this.props.decision.kind === "form" ? this.props.decision.formId : undefined,
3553
4781
  class: `confirm${preparing ? " loading" : ""}`,
3554
4782
  onClick: this.confirm,
3555
4783
  disabled: preparing || !this.state.armed,
3556
- children: preparing ? /* @__PURE__ */ u2(S, {
4784
+ children: preparing ? /* @__PURE__ */ u3(S, {
3557
4785
  children: [
3558
- /* @__PURE__ */ u2("span", {
4786
+ /* @__PURE__ */ u3("span", {
3559
4787
  class: "loading-indicator",
3560
4788
  role: "progressbar",
3561
- "aria-label": "Loading"
4789
+ "aria-label": walletText(this.context, "Loading")
3562
4790
  }),
3563
- /* @__PURE__ */ u2("span", {
3564
- children: "Loading..."
4791
+ /* @__PURE__ */ u3("span", {
4792
+ children: /* @__PURE__ */ u3(WalletText, {
4793
+ message: "Loading..."
4794
+ })
3565
4795
  })
3566
4796
  ]
3567
- }) : /* @__PURE__ */ u2(S, {
4797
+ }) : /* @__PURE__ */ u3(S, {
3568
4798
  children: [
3569
4799
  this.props.confirmIcon,
3570
- this.props.confirmText
4800
+ /* @__PURE__ */ u3(WalletText, {
4801
+ copy: this.props.confirmText
4802
+ })
3571
4803
  ]
3572
4804
  })
3573
4805
  })
@@ -3585,6 +4817,7 @@ function assertNever3(value) {
3585
4817
  }
3586
4818
 
3587
4819
  class ConfirmationBody extends C {
4820
+ static contextType = WalletLocaleContext;
3588
4821
  copy = () => {
3589
4822
  if (this.props.model.kind === "funding")
3590
4823
  this.props.onCopyAccount(this.props.model.accountId);
@@ -3595,29 +4828,37 @@ class ConfirmationBody extends C {
3595
4828
  case "empty":
3596
4829
  return null;
3597
4830
  case "text":
3598
- return /* @__PURE__ */ u2("div", {
4831
+ return /* @__PURE__ */ u3("div", {
3599
4832
  class: "confirmation-body",
3600
- children: model.text
4833
+ children: /* @__PURE__ */ u3(WalletText, {
4834
+ copy: model.text
4835
+ })
3601
4836
  });
3602
4837
  case "status":
3603
- return /* @__PURE__ */ u2("div", {
4838
+ return /* @__PURE__ */ u3("div", {
3604
4839
  class: "confirmation-body confirmation-body--status",
3605
- children: model.text
4840
+ children: /* @__PURE__ */ u3(WalletText, {
4841
+ copy: model.text
4842
+ })
3606
4843
  });
3607
4844
  case "funding":
3608
- return /* @__PURE__ */ u2("div", {
4845
+ return /* @__PURE__ */ u3("div", {
3609
4846
  class: "confirmation-body confirmation-body--funding",
3610
4847
  children: [
3611
- "NEAR account",
3612
- /* @__PURE__ */ u2("button", {
4848
+ /* @__PURE__ */ u3(WalletText, {
4849
+ message: "NEAR account"
4850
+ }),
4851
+ /* @__PURE__ */ u3("button", {
3613
4852
  type: "button",
3614
4853
  class: "confirmation-body__copy-target",
3615
- title: `Copy ${model.accountId}`,
3616
- "aria-label": `Copy NEAR account ${model.accountId}`,
4854
+ title: walletDisplayText(this.context, `Copy ${model.accountId}`),
4855
+ "aria-label": walletDisplayText(this.context, `Copy NEAR account ${model.accountId}`),
3617
4856
  onClick: this.copy,
3618
4857
  children: model.shortAccountId
3619
4858
  }),
3620
- "needs funding"
4859
+ /* @__PURE__ */ u3(WalletText, {
4860
+ message: "needs funding"
4861
+ })
3621
4862
  ]
3622
4863
  });
3623
4864
  default:
@@ -3628,34 +4869,39 @@ class ConfirmationBody extends C {
3628
4869
 
3629
4870
  // src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.tsx
3630
4871
  function PasskeyRegistrationDetails(props) {
3631
- return /* @__PURE__ */ u2("div", {
4872
+ const locale = useWalletLocale();
4873
+ return /* @__PURE__ */ u3("div", {
3632
4874
  class: "passkey-registration-confirm__identity",
3633
- "aria-label": "Passkey registration details",
4875
+ "aria-label": walletText(locale, "Passkey registration details"),
3634
4876
  children: [
3635
- /* @__PURE__ */ u2("div", {
4877
+ /* @__PURE__ */ u3("div", {
3636
4878
  class: "passkey-registration-confirm__row",
3637
4879
  children: [
3638
- /* @__PURE__ */ u2("span", {
4880
+ /* @__PURE__ */ u3("span", {
3639
4881
  class: "passkey-registration-confirm__label",
3640
- children: "Account"
4882
+ children: /* @__PURE__ */ u3(WalletText, {
4883
+ message: "Account"
4884
+ })
3641
4885
  }),
3642
- /* @__PURE__ */ u2("span", {
4886
+ /* @__PURE__ */ u3("span", {
3643
4887
  class: "passkey-registration-confirm__value",
3644
- title: props.display.intendedUserName,
4888
+ title: walletDisplayText(locale, props.display.intendedUserName),
3645
4889
  children: props.display.intendedUserName
3646
4890
  })
3647
4891
  ]
3648
4892
  }),
3649
- /* @__PURE__ */ u2("div", {
4893
+ /* @__PURE__ */ u3("div", {
3650
4894
  class: "passkey-registration-confirm__row",
3651
4895
  children: [
3652
- /* @__PURE__ */ u2("span", {
4896
+ /* @__PURE__ */ u3("span", {
3653
4897
  class: "passkey-registration-confirm__label",
3654
- children: "Website"
4898
+ children: /* @__PURE__ */ u3(WalletText, {
4899
+ message: "Website"
4900
+ })
3655
4901
  }),
3656
- /* @__PURE__ */ u2("span", {
4902
+ /* @__PURE__ */ u3("span", {
3657
4903
  class: "passkey-registration-confirm__value",
3658
- title: props.display.rpId,
4904
+ title: walletDisplayText(locale, props.display.rpId),
3659
4905
  children: props.display.rpId
3660
4906
  })
3661
4907
  ]
@@ -3666,6 +4912,7 @@ function PasskeyRegistrationDetails(props) {
3666
4912
 
3667
4913
  // src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.tsx
3668
4914
  class PasskeyRegistrationContent extends C {
4915
+ static contextType = WalletLocaleContext;
3669
4916
  confirm = () => {
3670
4917
  if (this.props.decision.kind === "ready")
3671
4918
  this.props.decision.onConfirm();
@@ -3675,68 +4922,80 @@ class PasskeyRegistrationContent extends C {
3675
4922
  };
3676
4923
  render() {
3677
4924
  const creating = this.props.decision.kind === "creating";
3678
- return /* @__PURE__ */ u2("div", {
4925
+ return /* @__PURE__ */ u3("div", {
3679
4926
  ref: this.props.root,
3680
4927
  class: "passkey-registration-confirm",
3681
4928
  children: [
3682
- /* @__PURE__ */ u2("div", {
4929
+ /* @__PURE__ */ u3("div", {
3683
4930
  class: "hero passkey-registration-confirm__hero",
3684
4931
  children: [
3685
- /* @__PURE__ */ u2(PasskeyHaloLoading, {
4932
+ /* @__PURE__ */ u3(PasskeyHaloLoading, {
3686
4933
  animated: !this.props.errorMessage,
3687
4934
  icon: "fingerprint",
3688
4935
  size: 44,
3689
4936
  styles: this.props.styles
3690
4937
  }),
3691
- /* @__PURE__ */ u2("div", {
4938
+ /* @__PURE__ */ u3("div", {
3692
4939
  class: "hero-container passkey-registration-confirm__hero-copy",
3693
4940
  children: [
3694
- /* @__PURE__ */ u2("h2", {
4941
+ /* @__PURE__ */ u3("h2", {
3695
4942
  class: "hero-heading",
3696
- children: this.props.heading
4943
+ children: /* @__PURE__ */ u3(WalletText, {
4944
+ copy: this.props.heading
4945
+ })
3697
4946
  }),
3698
- /* @__PURE__ */ u2("p", {
4947
+ /* @__PURE__ */ u3("p", {
3699
4948
  class: "passkey-registration-confirm__body",
3700
- children: this.props.body
4949
+ children: /* @__PURE__ */ u3(WalletText, {
4950
+ copy: this.props.body
4951
+ })
3701
4952
  })
3702
4953
  ]
3703
4954
  })
3704
4955
  ]
3705
4956
  }),
3706
- this.props.errorMessage && /* @__PURE__ */ u2("div", {
4957
+ this.props.errorMessage && /* @__PURE__ */ u3("div", {
3707
4958
  class: "error-banner",
3708
- children: this.props.errorMessage
4959
+ children: /* @__PURE__ */ u3(WalletText, {
4960
+ copy: this.props.errorMessage
4961
+ })
3709
4962
  }),
3710
- /* @__PURE__ */ u2(PasskeyRegistrationDetails, {
4963
+ /* @__PURE__ */ u3(PasskeyRegistrationDetails, {
3711
4964
  display: this.props.display
3712
4965
  }),
3713
- /* @__PURE__ */ u2("div", {
4966
+ /* @__PURE__ */ u3("div", {
3714
4967
  class: "passkey-registration-confirm__actions",
3715
4968
  children: [
3716
- /* @__PURE__ */ u2("button", {
4969
+ /* @__PURE__ */ u3("button", {
3717
4970
  type: "button",
3718
4971
  class: "btn btn-cancel",
3719
4972
  onClick: this.cancel,
3720
- children: this.props.cancelText
4973
+ children: /* @__PURE__ */ u3(WalletText, {
4974
+ copy: this.props.cancelText
4975
+ })
3721
4976
  }),
3722
- /* @__PURE__ */ u2("button", {
4977
+ /* @__PURE__ */ u3("button", {
3723
4978
  type: "button",
3724
4979
  class: "btn btn-confirm",
3725
4980
  disabled: creating,
3726
4981
  onClick: this.confirm,
3727
- children: creating ? /* @__PURE__ */ u2(S, {
4982
+ children: creating ? /* @__PURE__ */ u3(S, {
3728
4983
  children: [
3729
- /* @__PURE__ */ u2("span", {
4984
+ /* @__PURE__ */ u3("span", {
3730
4985
  class: "loading-indicator passkey-registration-confirm__spinner",
3731
4986
  role: "progressbar",
3732
- "aria-label": "Creating passkey"
4987
+ "aria-label": walletText(this.context, "Creating passkey")
3733
4988
  }),
3734
- /* @__PURE__ */ u2("span", {
4989
+ /* @__PURE__ */ u3("span", {
3735
4990
  class: "passkey-registration-confirm__busy-label",
3736
- children: "Creating passkey..."
4991
+ children: /* @__PURE__ */ u3(WalletText, {
4992
+ message: "Creating passkey..."
4993
+ })
3737
4994
  })
3738
4995
  ]
3739
- }) : "Create passkey"
4996
+ }) : /* @__PURE__ */ u3(WalletText, {
4997
+ message: "Create passkey"
4998
+ })
3740
4999
  })
3741
5000
  ]
3742
5001
  })
@@ -3766,7 +5025,7 @@ class EmailOtpInput extends C {
3766
5025
  };
3767
5026
  renderDigit = (index) => {
3768
5027
  const digit = this.props.code[index] || "";
3769
- return /* @__PURE__ */ u2("span", {
5028
+ return /* @__PURE__ */ u3("span", {
3770
5029
  class: `email-otp-confirm__slot${digit ? " is-filled" : ""}`,
3771
5030
  children: digit
3772
5031
  }, index);
@@ -3775,19 +5034,21 @@ class EmailOtpInput extends C {
3775
5034
  const disabled = this.props.state.kind !== "editing";
3776
5035
  const helperId = `${this.id}-helper`;
3777
5036
  const errorId = `${this.id}-error`;
3778
- return /* @__PURE__ */ u2("div", {
5037
+ return /* @__PURE__ */ u3("div", {
3779
5038
  class: "email-otp-confirm",
3780
5039
  children: [
3781
- /* @__PURE__ */ u2("label", {
5040
+ /* @__PURE__ */ u3("label", {
3782
5041
  class: "email-otp-confirm__label",
3783
5042
  for: this.id,
3784
- children: "Email code"
5043
+ children: /* @__PURE__ */ u3(WalletText, {
5044
+ message: "Email code"
5045
+ })
3785
5046
  }),
3786
- /* @__PURE__ */ u2("div", {
5047
+ /* @__PURE__ */ u3("div", {
3787
5048
  class: "email-otp-confirm__code-field",
3788
5049
  "data-disabled": disabled ? "true" : "false",
3789
5050
  children: [
3790
- /* @__PURE__ */ u2("input", {
5051
+ /* @__PURE__ */ u3("input", {
3791
5052
  id: this.id,
3792
5053
  name: "email-code",
3793
5054
  type: "text",
@@ -3804,29 +5065,35 @@ class EmailOtpInput extends C {
3804
5065
  "aria-invalid": this.props.errorMessage ? "true" : undefined,
3805
5066
  "aria-describedby": this.props.errorMessage ? `${helperId} ${errorId}` : helperId
3806
5067
  }),
3807
- /* @__PURE__ */ u2("div", {
5068
+ /* @__PURE__ */ u3("div", {
3808
5069
  class: `email-otp-confirm__slots${disabled ? " is-submitting" : ""}`,
3809
5070
  "aria-hidden": "true",
3810
5071
  children: [0, 1, 2, 3, 4, 5].map(this.renderDigit)
3811
5072
  })
3812
5073
  ]
3813
5074
  }),
3814
- /* @__PURE__ */ u2("div", {
5075
+ /* @__PURE__ */ u3("div", {
3815
5076
  id: helperId,
3816
5077
  class: "email-otp-confirm__helper",
3817
- children: this.props.helperText
5078
+ children: /* @__PURE__ */ u3(WalletText, {
5079
+ copy: this.props.helperText
5080
+ })
3818
5081
  }),
3819
- this.props.errorMessage && /* @__PURE__ */ u2("div", {
5082
+ this.props.errorMessage && /* @__PURE__ */ u3("div", {
3820
5083
  id: errorId,
3821
5084
  class: "email-otp-confirm__error",
3822
- children: this.props.errorMessage
5085
+ children: /* @__PURE__ */ u3(WalletText, {
5086
+ copy: this.props.errorMessage
5087
+ })
3823
5088
  }),
3824
- this.props.resend && /* @__PURE__ */ u2("button", {
5089
+ this.props.resend && /* @__PURE__ */ u3("button", {
3825
5090
  type: "button",
3826
5091
  class: "email-otp-confirm__resend",
3827
5092
  disabled: this.props.resend.kind === "unavailable",
3828
5093
  onClick: this.resend,
3829
- children: this.props.resend.label
5094
+ children: /* @__PURE__ */ u3(WalletText, {
5095
+ copy: this.props.resend.label
5096
+ })
3830
5097
  })
3831
5098
  ]
3832
5099
  });
@@ -3990,12 +5257,13 @@ class EmailOtpSession {
3990
5257
 
3991
5258
  // src/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.tsx
3992
5259
  function EmailOtpContent(props) {
3993
- return /* @__PURE__ */ u2(EmailOtpSessionView, {
5260
+ return /* @__PURE__ */ u3(EmailOtpSessionView, {
3994
5261
  ...props
3995
5262
  }, props.prompt.challengeId);
3996
5263
  }
3997
5264
 
3998
5265
  class EmailOtpSessionView extends C {
5266
+ static contextType = WalletLocaleContext;
3999
5267
  session;
4000
5268
  form = M();
4001
5269
  lifetime;
@@ -4090,16 +5358,16 @@ class EmailOtpSessionView extends C {
4090
5358
  return { kind: "available", label: resend.label, onResend: this.session.resend };
4091
5359
  }
4092
5360
  render() {
4093
- return /* @__PURE__ */ u2("form", {
5361
+ return /* @__PURE__ */ u3("form", {
4094
5362
  ref: this.form,
4095
5363
  id: this.props.formId,
4096
5364
  onSubmit: this.confirm,
4097
5365
  noValidate: true,
4098
- children: /* @__PURE__ */ u2(EmailOtpInput, {
5366
+ children: /* @__PURE__ */ u3(EmailOtpInput, {
4099
5367
  challengeId: this.lifetime.kind === "active" ? this.lifetime.challengeId : "",
4100
5368
  code: this.state.code,
4101
5369
  helperText: this.props.prompt.helperText?.trim() || formatEmailOtpSentText(this.lifetime.kind === "active" ? this.lifetime.emailHint : ""),
4102
- errorMessage: this.state.error || undefined,
5370
+ errorMessage: walletDisplayText(this.context, this.state.error || undefined),
4103
5371
  state: this.inputState(),
4104
5372
  resend: this.resendAction()
4105
5373
  })
@@ -4124,33 +5392,33 @@ function formatResendError(error) {
4124
5392
 
4125
5393
  // src/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.tsx
4126
5394
  function CopyStatusIcon() {
4127
- return /* @__PURE__ */ u2("span", {
5395
+ return /* @__PURE__ */ u3("span", {
4128
5396
  class: "copy-icon",
4129
5397
  "aria-hidden": "true",
4130
5398
  children: [
4131
- /* @__PURE__ */ u2("span", {
5399
+ /* @__PURE__ */ u3("span", {
4132
5400
  class: "copy-icon-check",
4133
- children: /* @__PURE__ */ u2("svg", {
5401
+ children: /* @__PURE__ */ u3("svg", {
4134
5402
  width: "16",
4135
5403
  height: "16",
4136
5404
  viewBox: "0 0 24 24",
4137
5405
  fill: "none",
4138
5406
  stroke: "currentColor",
4139
- children: /* @__PURE__ */ u2("path", {
5407
+ children: /* @__PURE__ */ u3("path", {
4140
5408
  d: "M20 6 9 17l-5-5"
4141
5409
  })
4142
5410
  })
4143
5411
  }),
4144
- /* @__PURE__ */ u2("span", {
5412
+ /* @__PURE__ */ u3("span", {
4145
5413
  class: "copy-icon-copy",
4146
- children: /* @__PURE__ */ u2("svg", {
5414
+ children: /* @__PURE__ */ u3("svg", {
4147
5415
  width: "16",
4148
5416
  height: "16",
4149
5417
  viewBox: "0 0 24 24",
4150
5418
  fill: "none",
4151
5419
  stroke: "currentColor",
4152
5420
  children: [
4153
- /* @__PURE__ */ u2("rect", {
5421
+ /* @__PURE__ */ u3("rect", {
4154
5422
  width: "14",
4155
5423
  height: "14",
4156
5424
  x: "8",
@@ -4158,7 +5426,7 @@ function CopyStatusIcon() {
4158
5426
  rx: "2",
4159
5427
  ry: "2"
4160
5428
  }),
4161
- /* @__PURE__ */ u2("path", {
5429
+ /* @__PURE__ */ u3("path", {
4162
5430
  d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
4163
5431
  })
4164
5432
  ]
@@ -4241,7 +5509,10 @@ class ReviewDisclosure extends C {
4241
5509
  onSettled: this.finish
4242
5510
  }))
4243
5511
  return;
4244
- const size = body.animate([{ height: `${height}px`, overflow: "hidden" }, { height: `${target}px`, overflow: "hidden" }], {
5512
+ const size = body.animate([
5513
+ { height: `${height}px`, overflow: "hidden" },
5514
+ { height: `${target}px`, overflow: "hidden" }
5515
+ ], {
4245
5516
  duration: opening ? 220 : 180,
4246
5517
  easing: "cubic-bezier(.2,0,0,1)",
4247
5518
  fill: "both"
@@ -4255,15 +5526,17 @@ class ReviewDisclosure extends C {
4255
5526
  size.onfinish = this.finish;
4256
5527
  };
4257
5528
  render() {
4258
- return /* @__PURE__ */ u2("details", {
5529
+ return /* @__PURE__ */ u3("details", {
4259
5530
  ref: this.root,
4260
5531
  class: `seams-review-${this.props.kind ?? "technical"}`,
4261
5532
  children: [
4262
- /* @__PURE__ */ u2("summary", {
5533
+ /* @__PURE__ */ u3("summary", {
4263
5534
  onClick: this.toggle,
4264
5535
  children: [
4265
- this.props.label,
4266
- /* @__PURE__ */ u2("svg", {
5536
+ /* @__PURE__ */ u3(WalletText, {
5537
+ copy: this.props.label
5538
+ }),
5539
+ /* @__PURE__ */ u3("svg", {
4267
5540
  class: "seams-review-caret",
4268
5541
  viewBox: "0 0 20 20",
4269
5542
  width: "16",
@@ -4274,13 +5547,13 @@ class ReviewDisclosure extends C {
4274
5547
  "stroke-linecap": "round",
4275
5548
  "stroke-linejoin": "round",
4276
5549
  "aria-hidden": "true",
4277
- children: /* @__PURE__ */ u2("path", {
5550
+ children: /* @__PURE__ */ u3("path", {
4278
5551
  d: "m5 7.5 5 5 5-5"
4279
5552
  })
4280
5553
  })
4281
5554
  ]
4282
5555
  }),
4283
- /* @__PURE__ */ u2("div", {
5556
+ /* @__PURE__ */ u3("div", {
4284
5557
  id: this.id,
4285
5558
  children: this.props.children
4286
5559
  })
@@ -4294,12 +5567,12 @@ var SEAMS_STANDARD_WORDMARK_PATH = "M 1152.240 22.260 C 1142.208 32.303, 1134 41
4294
5567
 
4295
5568
  // src/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.tsx
4296
5569
  function SeamsWordmark() {
4297
- return /* @__PURE__ */ u2("svg", {
5570
+ return /* @__PURE__ */ u3("svg", {
4298
5571
  class: "seams-receipt-wordmark",
4299
5572
  viewBox: "0 0 1428 285",
4300
5573
  role: "img",
4301
5574
  "aria-label": "seams",
4302
- children: /* @__PURE__ */ u2("path", {
5575
+ children: /* @__PURE__ */ u3("path", {
4303
5576
  d: SEAMS_STANDARD_WORDMARK_PATH,
4304
5577
  stroke: "none",
4305
5578
  fill: "currentColor",
@@ -4324,7 +5597,7 @@ function ReviewIcon({
4324
5597
  alert: "M12 8v5m0 3v.1M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0",
4325
5598
  fingerprint: "M6.405 19.048c.184-.443.353-.894.507-1.351M14.343 20.693c.266-.751.502-1.516.707-2.294.186-.706.346-1.422.478-2.147M19.448 17.058c.364-1.964.555-3.989.555-6.058 0-4.418-3.582-8-8-8-1.255 0-2.443.289-3.501.805M3.523 15.025c.314-1.29.48-2.638.48-4.025 0-1.74.556-3.351 1.499-4.664M12.003 11c0 2.76-.447 5.416-1.273 7.899-.213.639-.451 1.266-.712 1.881M7.712 14.5c.191-1.138.291-2.308.291-3.5 0-2.209 1.791-4 4-4s4 1.791 4 4c0 .617-.02 1.229-.058 1.836"
4326
5599
  };
4327
- return /* @__PURE__ */ u2("svg", {
5600
+ return /* @__PURE__ */ u3("svg", {
4328
5601
  viewBox: "0 0 24 24",
4329
5602
  fill: "none",
4330
5603
  stroke: "currentColor",
@@ -4332,7 +5605,7 @@ function ReviewIcon({
4332
5605
  "stroke-linecap": "round",
4333
5606
  "stroke-linejoin": "round",
4334
5607
  "aria-hidden": "true",
4335
- children: /* @__PURE__ */ u2("path", {
5608
+ children: /* @__PURE__ */ u3("path", {
4336
5609
  d: paths[kind]
4337
5610
  })
4338
5611
  });
@@ -4360,15 +5633,16 @@ function ReviewMiddleTruncated({
4360
5633
  value,
4361
5634
  class: className
4362
5635
  }) {
4363
- return /* @__PURE__ */ u2("bdi", {
5636
+ const locale = useWalletLocale();
5637
+ return /* @__PURE__ */ u3("bdi", {
4364
5638
  class: `seams-review-middle ${className}`,
4365
5639
  dir: "ltr",
4366
- title: value,
5640
+ title: walletDisplayText(locale, value),
4367
5641
  children: [
4368
- /* @__PURE__ */ u2("span", {
5642
+ /* @__PURE__ */ u3("span", {
4369
5643
  children: value.slice(0, -8)
4370
5644
  }),
4371
- /* @__PURE__ */ u2("span", {
5645
+ /* @__PURE__ */ u3("span", {
4372
5646
  children: value.slice(-8)
4373
5647
  })
4374
5648
  ]
@@ -4376,44 +5650,44 @@ function ReviewMiddleTruncated({
4376
5650
  }
4377
5651
  function TokenIcon({ symbol }) {
4378
5652
  if (symbol === "ETH")
4379
- return /* @__PURE__ */ u2("svg", {
5653
+ return /* @__PURE__ */ u3("svg", {
4380
5654
  class: "seams-review-token",
4381
5655
  viewBox: "0 0 42 42",
4382
5656
  "aria-hidden": "true",
4383
5657
  children: [
4384
- /* @__PURE__ */ u2("circle", {
5658
+ /* @__PURE__ */ u3("circle", {
4385
5659
  cx: "21",
4386
5660
  cy: "21",
4387
5661
  r: "21",
4388
5662
  fill: "#eef0fb"
4389
5663
  }),
4390
- /* @__PURE__ */ u2("path", {
5664
+ /* @__PURE__ */ u3("path", {
4391
5665
  d: "m21 6-9 15 9 5 9-5Z",
4392
5666
  fill: "#627eea"
4393
5667
  }),
4394
- /* @__PURE__ */ u2("path", {
5668
+ /* @__PURE__ */ u3("path", {
4395
5669
  d: "m21 6 9 15-9 5Z",
4396
5670
  fill: "#465da9"
4397
5671
  }),
4398
- /* @__PURE__ */ u2("path", {
5672
+ /* @__PURE__ */ u3("path", {
4399
5673
  d: "m12 23 9 13 9-13-9 5Z",
4400
5674
  fill: "#627eea"
4401
5675
  })
4402
5676
  ]
4403
5677
  });
4404
5678
  if (symbol === "USDC")
4405
- return /* @__PURE__ */ u2("svg", {
5679
+ return /* @__PURE__ */ u3("svg", {
4406
5680
  class: "seams-review-token",
4407
5681
  viewBox: "0 0 42 42",
4408
5682
  "aria-hidden": "true",
4409
5683
  children: [
4410
- /* @__PURE__ */ u2("circle", {
5684
+ /* @__PURE__ */ u3("circle", {
4411
5685
  cx: "21",
4412
5686
  cy: "21",
4413
5687
  r: "21",
4414
5688
  fill: "#2775ca"
4415
5689
  }),
4416
- /* @__PURE__ */ u2("path", {
5690
+ /* @__PURE__ */ u3("path", {
4417
5691
  d: "M17 8a14 14 0 0 0 0 26M25 8a14 14 0 0 1 0 26M26 15c-1-4-10-4-10 1 0 5 10 3 10 8 0 5-9 5-11 1M21 10v4m0 14v4",
4418
5692
  fill: "none",
4419
5693
  stroke: "white",
@@ -4421,7 +5695,7 @@ function TokenIcon({ symbol }) {
4421
5695
  })
4422
5696
  ]
4423
5697
  });
4424
- return /* @__PURE__ */ u2("span", {
5698
+ return /* @__PURE__ */ u3("span", {
4425
5699
  class: "seams-review-token seams-review-token-fallback",
4426
5700
  "aria-hidden": "true",
4427
5701
  children: symbol.slice(0, 1)
@@ -4434,19 +5708,19 @@ function ReviewAmount({
4434
5708
  const amount = reviewAmount(model);
4435
5709
  if (!amount)
4436
5710
  return null;
4437
- return /* @__PURE__ */ u2("div", {
5711
+ return /* @__PURE__ */ u3("div", {
4438
5712
  class: `seams-review-amount${compact ? " seams-review-amount--compact" : ""}`,
4439
5713
  children: [
4440
- !compact && /* @__PURE__ */ u2(TokenIcon, {
5714
+ !compact && /* @__PURE__ */ u3(TokenIcon, {
4441
5715
  symbol: amount.symbol
4442
5716
  }),
4443
- /* @__PURE__ */ u2("div", {
5717
+ /* @__PURE__ */ u3("div", {
4444
5718
  children: [
4445
- /* @__PURE__ */ u2("span", {
5719
+ /* @__PURE__ */ u3("span", {
4446
5720
  children: amount.value
4447
5721
  }),
4448
5722
  " ",
4449
- /* @__PURE__ */ u2("small", {
5723
+ /* @__PURE__ */ u3("small", {
4450
5724
  children: amount.symbol
4451
5725
  })
4452
5726
  ]
@@ -4455,18 +5729,20 @@ function ReviewAmount({
4455
5729
  });
4456
5730
  }
4457
5731
  function WalletReceiptFooter() {
4458
- return /* @__PURE__ */ u2("div", {
5732
+ return /* @__PURE__ */ u3("div", {
4459
5733
  class: "seams-receipt-footer",
4460
5734
  children: [
4461
- /* @__PURE__ */ u2(ReviewIcon, {
5735
+ /* @__PURE__ */ u3(ReviewIcon, {
4462
5736
  kind: "shield"
4463
5737
  }),
4464
5738
  " ",
4465
- /* @__PURE__ */ u2("span", {
4466
- children: "Secured by"
5739
+ /* @__PURE__ */ u3("span", {
5740
+ children: /* @__PURE__ */ u3(WalletText, {
5741
+ message: "Secured by"
5742
+ })
4467
5743
  }),
4468
5744
  " ",
4469
- /* @__PURE__ */ u2(SeamsWordmark, {})
5745
+ /* @__PURE__ */ u3(SeamsWordmark, {})
4470
5746
  ]
4471
5747
  });
4472
5748
  }
@@ -4487,6 +5763,7 @@ function reviewAmount(model) {
4487
5763
  }
4488
5764
 
4489
5765
  class CopyReviewValue extends C {
5766
+ static contextType = WalletLocaleContext;
4490
5767
  state = { copied: false };
4491
5768
  lifetime = new AbortController;
4492
5769
  timer = null;
@@ -4526,45 +5803,50 @@ class CopyReviewValue extends C {
4526
5803
  }
4527
5804
  };
4528
5805
  render() {
4529
- return /* @__PURE__ */ u2("button", {
5806
+ return /* @__PURE__ */ u3("button", {
4530
5807
  type: "button",
4531
5808
  class: `seams-review-copy${this.props.address ? " seams-review-copy-address" : ""}${this.state.copied ? " copied" : ""}`,
4532
5809
  onClick: this.copy,
4533
- "aria-label": this.state.copied ? "Copied" : this.props.label ?? "Copy value",
5810
+ "aria-label": walletDisplayText(this.context, this.state.copied ? "Copied" : this.props.label ?? "Copy value"),
4534
5811
  children: [
4535
- this.props.address && /* @__PURE__ */ u2("bdi", {
5812
+ this.props.address && /* @__PURE__ */ u3("bdi", {
4536
5813
  class: "seams-review-full-address",
4537
5814
  dir: "ltr",
4538
5815
  children: this.props.value
4539
5816
  }),
4540
- /* @__PURE__ */ u2(CopyStatusIcon, {})
5817
+ /* @__PURE__ */ u3(CopyStatusIcon, {})
4541
5818
  ]
4542
5819
  });
4543
5820
  }
4544
5821
  }
4545
5822
  function ReviewDetailLabel({ node }) {
5823
+ const locale = useWalletLocale();
4546
5824
  if (node.action || node.transaction) {
4547
- return /* @__PURE__ */ u2(S, {
4548
- children: transactionLabelTitle(node)
5825
+ return /* @__PURE__ */ u3(S, {
5826
+ children: /* @__PURE__ */ u3(WalletText, {
5827
+ copy: transactionLabelTitle(node)
5828
+ })
4549
5829
  });
4550
5830
  }
4551
5831
  const contract = contractPrefix(node);
4552
5832
  if (contract && node.contractAddress) {
4553
5833
  const address = node.contractAddress;
4554
- return /* @__PURE__ */ u2("span", {
5834
+ return /* @__PURE__ */ u3("span", {
4555
5835
  class: "seams-review-contract",
4556
5836
  children: [
4557
- contract.trim(),
4558
- /* @__PURE__ */ u2("span", {
5837
+ /* @__PURE__ */ u3(WalletText, {
5838
+ copy: contract.trim()
5839
+ }),
5840
+ /* @__PURE__ */ u3("span", {
4559
5841
  class: "seams-review-contract-value",
4560
5842
  children: [
4561
- /* @__PURE__ */ u2(ReviewMiddleTruncated, {
5843
+ /* @__PURE__ */ u3(ReviewMiddleTruncated, {
4562
5844
  value: address,
4563
5845
  class: "seams-review-contract-address"
4564
5846
  }),
4565
- /* @__PURE__ */ u2(CopyReviewValue, {
5847
+ /* @__PURE__ */ u3(CopyReviewValue, {
4566
5848
  value: address,
4567
- label: `Copy contract address ${address}`
5849
+ label: walletDisplayText(locale, `Copy contract address ${address}`)
4568
5850
  })
4569
5851
  ]
4570
5852
  })
@@ -4573,10 +5855,12 @@ function ReviewDetailLabel({ node }) {
4573
5855
  }
4574
5856
  if (node.fieldLabel) {
4575
5857
  const value = node.label.slice(node.fieldLabel.length);
4576
- return /* @__PURE__ */ u2(S, {
5858
+ return /* @__PURE__ */ u3(S, {
4577
5859
  children: [
4578
- node.fieldLabel,
4579
- node.fieldLabel === "Method:" ? /* @__PURE__ */ u2("span", {
5860
+ /* @__PURE__ */ u3(WalletText, {
5861
+ copy: node.fieldLabel
5862
+ }),
5863
+ node.fieldLabel === "Method:" ? /* @__PURE__ */ u3("span", {
4580
5864
  class: "seams-review-function",
4581
5865
  children: value
4582
5866
  }) : value
@@ -4585,10 +5869,12 @@ function ReviewDetailLabel({ node }) {
4585
5869
  }
4586
5870
  const call = /^(Call(?:ing)? )([^\s]+)(.*)$/.exec(node.label);
4587
5871
  if (call) {
4588
- return /* @__PURE__ */ u2(S, {
5872
+ return /* @__PURE__ */ u3(S, {
4589
5873
  children: [
4590
- call[1],
4591
- /* @__PURE__ */ u2("span", {
5874
+ /* @__PURE__ */ u3(WalletText, {
5875
+ copy: call[1]
5876
+ }),
5877
+ /* @__PURE__ */ u3("span", {
4592
5878
  class: "seams-review-function",
4593
5879
  children: call[2]
4594
5880
  }),
@@ -4596,43 +5882,46 @@ function ReviewDetailLabel({ node }) {
4596
5882
  ]
4597
5883
  });
4598
5884
  }
4599
- return /* @__PURE__ */ u2(S, {
4600
- children: node.label
5885
+ return /* @__PURE__ */ u3(S, {
5886
+ children: /* @__PURE__ */ u3(WalletText, {
5887
+ copy: node.label
5888
+ })
4601
5889
  });
4602
5890
  }
4603
5891
  function ReviewDetail({ node }) {
5892
+ const locale = useWalletLocale();
4604
5893
  const content = node.contentVariants?.decoded ?? node.content;
4605
5894
  const block = Boolean(node.contentVariants || content?.includes(`
4606
5895
  `));
4607
- return /* @__PURE__ */ u2("div", {
5896
+ return /* @__PURE__ */ u3("div", {
4608
5897
  class: "seams-review-detail",
4609
5898
  children: [
4610
- /* @__PURE__ */ u2("div", {
5899
+ /* @__PURE__ */ u3("div", {
4611
5900
  class: content ? `seams-review-detail-row${block ? " seams-review-detail-row--block" : ""}` : "seams-review-detail-label",
4612
5901
  children: [
4613
- /* @__PURE__ */ u2("span", {
4614
- children: /* @__PURE__ */ u2(ReviewDetailLabel, {
5902
+ /* @__PURE__ */ u3("span", {
5903
+ children: /* @__PURE__ */ u3(ReviewDetailLabel, {
4615
5904
  node
4616
5905
  })
4617
5906
  }),
4618
- content && /* @__PURE__ */ u2("pre", {
5907
+ content && /* @__PURE__ */ u3("pre", {
4619
5908
  children: content
4620
5909
  }),
4621
- node.copyValue && /* @__PURE__ */ u2(CopyReviewValue, {
5910
+ node.copyValue && /* @__PURE__ */ u3(CopyReviewValue, {
4622
5911
  value: node.copyValue
4623
5912
  })
4624
5913
  ]
4625
5914
  }),
4626
- node.contentVariants && /* @__PURE__ */ u2(ReviewDisclosure, {
4627
- label: "Raw data",
5915
+ node.contentVariants && /* @__PURE__ */ u3(ReviewDisclosure, {
5916
+ label: walletText(locale, "Raw data"),
4628
5917
  kind: "raw",
4629
- children: /* @__PURE__ */ u2("pre", {
5918
+ children: /* @__PURE__ */ u3("pre", {
4630
5919
  children: node.contentVariants.raw
4631
5920
  })
4632
5921
  }),
4633
- Boolean(node.children?.length) && /* @__PURE__ */ u2("div", {
5922
+ Boolean(node.children?.length) && /* @__PURE__ */ u3("div", {
4634
5923
  class: "seams-review-detail-children",
4635
- children: node.children?.map((child) => /* @__PURE__ */ u2(ReviewDetail, {
5924
+ children: node.children?.map((child) => /* @__PURE__ */ u3(ReviewDetail, {
4636
5925
  node: child
4637
5926
  }, child.id))
4638
5927
  })
@@ -4643,46 +5932,53 @@ function TransactionReview({
4643
5932
  data,
4644
5933
  details = true
4645
5934
  }) {
5935
+ const locale = useWalletLocale();
4646
5936
  const model = data.model;
4647
5937
  const operation = model?.operations[0];
4648
5938
  const recipient = reviewRecipient(model);
4649
- return /* @__PURE__ */ u2("div", {
5939
+ return /* @__PURE__ */ u3("div", {
4650
5940
  class: "seams-transaction-review",
4651
5941
  children: [
4652
- /* @__PURE__ */ u2(ReviewAmount, {
5942
+ /* @__PURE__ */ u3(ReviewAmount, {
4653
5943
  model
4654
5944
  }),
4655
- model?.warnings?.map((warning) => /* @__PURE__ */ u2("div", {
5945
+ model?.warnings?.map((warning) => /* @__PURE__ */ u3("div", {
4656
5946
  class: "seams-review-warning",
4657
5947
  role: "alert",
4658
- children: warning.message
5948
+ children: /* @__PURE__ */ u3(WalletText, {
5949
+ copy: warning.message
5950
+ })
4659
5951
  }, warning.code)),
4660
- /* @__PURE__ */ u2("dl", {
5952
+ /* @__PURE__ */ u3("dl", {
4661
5953
  class: "seams-review-fields",
4662
5954
  children: [
4663
- recipient && /* @__PURE__ */ u2("div", {
5955
+ recipient && /* @__PURE__ */ u3("div", {
4664
5956
  children: [
4665
- /* @__PURE__ */ u2("dt", {
4666
- children: "To"
5957
+ /* @__PURE__ */ u3("dt", {
5958
+ children: /* @__PURE__ */ u3(WalletText, {
5959
+ message: "To"
5960
+ })
4667
5961
  }),
4668
- /* @__PURE__ */ u2("dd", {
5962
+ /* @__PURE__ */ u3("dd", {
4669
5963
  class: "seams-review-recipient",
4670
- children: /* @__PURE__ */ u2(CopyReviewValue, {
5964
+ children: /* @__PURE__ */ u3(CopyReviewValue, {
4671
5965
  value: recipient,
4672
5966
  address: true,
4673
- label: `Copy recipient address ${recipient}`
5967
+ label: walletDisplayText(locale, `Copy recipient address ${recipient}`)
4674
5968
  })
4675
5969
  })
4676
5970
  ]
4677
5971
  }),
4678
- model && /* @__PURE__ */ u2("div", {
5972
+ model && /* @__PURE__ */ u3("div", {
4679
5973
  children: [
4680
- /* @__PURE__ */ u2("dt", {
4681
- children: "Network"
5974
+ /* @__PURE__ */ u3("dt", {
5975
+ children: /* @__PURE__ */ u3(WalletText, {
5976
+ message: "Network"
5977
+ })
4682
5978
  }),
4683
- /* @__PURE__ */ u2("dd", {
5979
+ /* @__PURE__ */ u3("dd", {
4684
5980
  children: [
4685
- /* @__PURE__ */ u2("span", {
5981
+ /* @__PURE__ */ u3("span", {
4686
5982
  class: "seams-review-network-dot"
4687
5983
  }),
4688
5984
  reviewNetwork(model)
@@ -4690,12 +5986,14 @@ function TransactionReview({
4690
5986
  })
4691
5987
  ]
4692
5988
  }),
4693
- model?.totals?.estimatedFee && /* @__PURE__ */ u2("div", {
5989
+ model?.totals?.estimatedFee && /* @__PURE__ */ u3("div", {
4694
5990
  children: [
4695
- /* @__PURE__ */ u2("dt", {
4696
- children: "Estimated network fee"
5991
+ /* @__PURE__ */ u3("dt", {
5992
+ children: /* @__PURE__ */ u3(WalletText, {
5993
+ message: "Estimated network fee"
5994
+ })
4697
5995
  }),
4698
- /* @__PURE__ */ u2("dd", {
5996
+ /* @__PURE__ */ u3("dd", {
4699
5997
  children: [
4700
5998
  model.totals.estimatedFee,
4701
5999
  " ",
@@ -4706,29 +6004,31 @@ function TransactionReview({
4706
6004
  })
4707
6005
  ]
4708
6006
  }),
4709
- details && data.tree && /* @__PURE__ */ u2(ReviewDisclosure, {
6007
+ details && data.tree && /* @__PURE__ */ u3(ReviewDisclosure, {
4710
6008
  initiallyOpen: data.detailsInitiallyOpen,
4711
- label: operation?.kind === "near.message" ? "Message details" : "Transaction details",
4712
- children: /* @__PURE__ */ u2(ReviewDetail, {
6009
+ label: walletDisplayText(locale, operation?.kind === "near.message" ? "Message details" : "Transaction details"),
6010
+ children: /* @__PURE__ */ u3(ReviewDetail, {
4713
6011
  node: data.tree
4714
6012
  })
4715
6013
  }),
4716
- model?.signerAccount && /* @__PURE__ */ u2("div", {
6014
+ model?.signerAccount && /* @__PURE__ */ u3("div", {
4717
6015
  class: "seams-review-account",
4718
6016
  children: [
4719
- /* @__PURE__ */ u2("span", {
6017
+ /* @__PURE__ */ u3("span", {
4720
6018
  class: "seams-review-avatar",
4721
6019
  "aria-hidden": "true",
4722
6020
  children: "S"
4723
6021
  }),
4724
- /* @__PURE__ */ u2("div", {
6022
+ /* @__PURE__ */ u3("div", {
4725
6023
  children: [
4726
- "Signing account",
4727
- /* @__PURE__ */ u2("small", {
4728
- children: /* @__PURE__ */ u2(CopyReviewValue, {
6024
+ /* @__PURE__ */ u3(WalletText, {
6025
+ message: "Signing account"
6026
+ }),
6027
+ /* @__PURE__ */ u3("small", {
6028
+ children: /* @__PURE__ */ u3(CopyReviewValue, {
4729
6029
  value: model.signerAccount,
4730
6030
  address: true,
4731
- label: `Copy signing account address ${model.signerAccount}`
6031
+ label: walletDisplayText(locale, `Copy signing account address ${model.signerAccount}`)
4732
6032
  })
4733
6033
  })
4734
6034
  ]
@@ -4743,6 +6043,7 @@ function TransactionReview({
4743
6043
  var nextConfirmationId = 0;
4744
6044
 
4745
6045
  class ConfirmationContent extends C {
6046
+ static contextType = WalletLocaleContext;
4746
6047
  root = M();
4747
6048
  otpFormId = `seams-confirmation-email-${++nextConfirmationId}`;
4748
6049
  reflowId = `seams-confirmation-content-surface-${nextConfirmationId}`;
@@ -4785,7 +6086,7 @@ class ConfirmationContent extends C {
4785
6086
  const model = this.props.model;
4786
6087
  switch (model.kind) {
4787
6088
  case "registration":
4788
- return /* @__PURE__ */ u2(PasskeyRegistrationContent, {
6089
+ return /* @__PURE__ */ u3(PasskeyRegistrationContent, {
4789
6090
  ...model.registration,
4790
6091
  root: this.root,
4791
6092
  styles: this.props.styles
@@ -4799,79 +6100,85 @@ class ConfirmationContent extends C {
4799
6100
  renderTransaction(model) {
4800
6101
  const contentClass = this.props.variant === "drawer" ? "seams-confirmation-content seams-confirmation-content--drawer" : "seams-confirmation-content";
4801
6102
  const decision = model.prompt.kind === "email" && model.transaction.decision.kind === "ready" ? { kind: "form", formId: this.otpFormId } : model.transaction.decision;
4802
- return /* @__PURE__ */ u2("div", {
6103
+ return /* @__PURE__ */ u3("div", {
4803
6104
  ref: this.root,
4804
6105
  class: contentClass,
4805
- children: /* @__PURE__ */ u2("div", {
6106
+ children: /* @__PURE__ */ u3("div", {
4806
6107
  class: "seams-review-content",
4807
6108
  children: [
4808
- this.props.variant !== "drawer" && /* @__PURE__ */ u2("div", {
6109
+ this.props.variant !== "drawer" && /* @__PURE__ */ u3("div", {
4809
6110
  class: "seams-review-toolbar",
4810
6111
  children: [
4811
- /* @__PURE__ */ u2("div", {
6112
+ /* @__PURE__ */ u3("div", {
4812
6113
  class: "seams-review-origin",
4813
6114
  children: [
4814
- model.transaction.onBack && /* @__PURE__ */ u2("button", {
6115
+ model.transaction.onBack && /* @__PURE__ */ u3("button", {
4815
6116
  type: "button",
4816
- "aria-label": "Back to review",
4817
- title: "Back to review",
6117
+ "aria-label": walletText(this.context, "Back to review"),
6118
+ title: walletText(this.context, "Back to review"),
4818
6119
  disabled: decision.kind === "preparing",
4819
6120
  onClick: model.transaction.onBack,
4820
- children: /* @__PURE__ */ u2(ReviewIcon, {
6121
+ children: /* @__PURE__ */ u3(ReviewIcon, {
4821
6122
  kind: "back"
4822
6123
  })
4823
6124
  }),
4824
- /* @__PURE__ */ u2(PadlockIcon, {}),
4825
- model.header.website.kind === "ready" ? model.header.website.text : /* @__PURE__ */ u2(LoadingStatus, {
4826
- label: "Loading website"
6125
+ /* @__PURE__ */ u3(PadlockIcon, {}),
6126
+ model.header.website.kind === "ready" ? model.header.website.text : /* @__PURE__ */ u3(LoadingStatus, {
6127
+ label: walletText(this.context, "Loading website")
4827
6128
  })
4828
6129
  ]
4829
6130
  }),
4830
- /* @__PURE__ */ u2("button", {
6131
+ /* @__PURE__ */ u3("button", {
4831
6132
  type: "button",
4832
- "aria-label": model.transaction.cancelText,
6133
+ "aria-label": walletDisplayText(this.context, model.transaction.cancelText),
4833
6134
  onClick: model.transaction.onCancel,
4834
- children: /* @__PURE__ */ u2(ReviewIcon, {
6135
+ children: /* @__PURE__ */ u3(ReviewIcon, {
4835
6136
  kind: "close"
4836
6137
  })
4837
6138
  })
4838
6139
  ]
4839
6140
  }),
4840
- model.review.model && /* @__PURE__ */ u2("div", {
6141
+ model.review.model && /* @__PURE__ */ u3("div", {
4841
6142
  class: "seams-review-eyebrow",
4842
- children: model.review.model.operations.length === 1 ? model.review.model.operations[0].label.replace(/\s+using\s+[\d,.]+\s+gas$/i, "") : "Transaction"
6143
+ children: model.review.model.operations.length === 1 ? /* @__PURE__ */ u3(WalletText, {
6144
+ copy: model.review.model.operations[0].label.replace(/\s+using\s+[\d,.]+\s+gas$/i, "")
6145
+ }) : /* @__PURE__ */ u3(WalletText, {
6146
+ message: "Transaction"
6147
+ })
4843
6148
  }),
4844
- /* @__PURE__ */ u2("h2", {
6149
+ /* @__PURE__ */ u3("h2", {
4845
6150
  class: "seams-review-title",
4846
- children: model.header.heading
6151
+ children: /* @__PURE__ */ u3(WalletText, {
6152
+ copy: model.header.heading
6153
+ })
4847
6154
  }),
4848
- /* @__PURE__ */ u2(TransactionReview, {
6155
+ /* @__PURE__ */ u3(TransactionReview, {
4849
6156
  data: model.review
4850
6157
  }),
4851
- /* @__PURE__ */ u2("div", {
6158
+ /* @__PURE__ */ u3("div", {
4852
6159
  class: "seams-review-context",
4853
6160
  children: [
4854
- /* @__PURE__ */ u2(ConfirmationBody, {
6161
+ /* @__PURE__ */ u3(ConfirmationBody, {
4855
6162
  model: model.body,
4856
6163
  onCopyAccount: this.copyAccount
4857
6164
  }),
4858
- model.prompt.kind === "email" && /* @__PURE__ */ u2(EmailOtpContent, {
6165
+ model.prompt.kind === "email" && /* @__PURE__ */ u3(EmailOtpContent, {
4859
6166
  ...model.prompt.email,
4860
6167
  formId: this.otpFormId
4861
6168
  })
4862
6169
  ]
4863
6170
  }),
4864
- /* @__PURE__ */ u2(ConfirmContent, {
6171
+ /* @__PURE__ */ u3(ConfirmContent, {
4865
6172
  ...model.transaction,
4866
6173
  tree: null,
4867
6174
  styles: this.props.styles,
4868
6175
  decision,
4869
6176
  cancelInHeader: true,
4870
- confirmIcon: model.prompt.kind === "passkey" ? /* @__PURE__ */ u2(ReviewIcon, {
6177
+ confirmIcon: model.prompt.kind === "passkey" ? /* @__PURE__ */ u3(ReviewIcon, {
4871
6178
  kind: "fingerprint"
4872
6179
  }) : undefined
4873
6180
  }),
4874
- /* @__PURE__ */ u2(WalletReceiptFooter, {})
6181
+ /* @__PURE__ */ u3(WalletReceiptFooter, {})
4875
6182
  ]
4876
6183
  })
4877
6184
  });
@@ -4885,12 +6192,13 @@ function assertNever4(value) {
4885
6192
  // src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.tsx
4886
6193
  var nextModalId = 0;
4887
6194
  function ConfirmationModal(props) {
4888
- return /* @__PURE__ */ u2(ModalShell, {
6195
+ return /* @__PURE__ */ u3(ModalShell, {
4889
6196
  ...props
4890
6197
  }, props.context);
4891
6198
  }
4892
6199
 
4893
6200
  class ModalShell extends C {
6201
+ static contextType = WalletLocaleContext;
4894
6202
  dialog = M();
4895
6203
  hosted = M();
4896
6204
  containerId = `seams-confirmation-modal-${++nextModalId}`;
@@ -4924,13 +6232,13 @@ class ModalShell extends C {
4924
6232
  };
4925
6233
  render() {
4926
6234
  if (this.props.context === "standalone") {
4927
- return /* @__PURE__ */ u2("dialog", {
6235
+ return /* @__PURE__ */ u3("dialog", {
4928
6236
  ref: this.dialog,
4929
6237
  class: "seams-confirmation-modal",
4930
- "aria-label": this.props.label,
6238
+ "aria-label": walletDisplayText(this.context, this.props.label),
4931
6239
  onCancel: this.cancel,
4932
6240
  onClick: this.backdropClick,
4933
- children: /* @__PURE__ */ u2("div", {
6241
+ children: /* @__PURE__ */ u3("div", {
4934
6242
  id: this.containerId,
4935
6243
  class: "modal-container-root",
4936
6244
  tabIndex: -1,
@@ -4938,12 +6246,12 @@ class ModalShell extends C {
4938
6246
  })
4939
6247
  });
4940
6248
  }
4941
- return /* @__PURE__ */ u2("div", {
6249
+ return /* @__PURE__ */ u3("div", {
4942
6250
  ref: this.hosted,
4943
6251
  class: "seams-confirmation-modal seams-confirmation-modal--hosted",
4944
6252
  tabIndex: -1,
4945
6253
  onKeyDown: this.hostedKeyDown,
4946
- children: /* @__PURE__ */ u2("div", {
6254
+ children: /* @__PURE__ */ u3("div", {
4947
6255
  id: this.containerId,
4948
6256
  class: "modal-container-root",
4949
6257
  children: this.props.children
@@ -4969,12 +6277,13 @@ function shouldDismissDrawerDrag(args) {
4969
6277
  // src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.tsx
4970
6278
  var nextDrawerId = 0;
4971
6279
  function ConfirmationDrawer(props) {
4972
- return /* @__PURE__ */ u2(DrawerShell, {
6280
+ return /* @__PURE__ */ u3(DrawerShell, {
4973
6281
  ...props
4974
6282
  }, props.context);
4975
6283
  }
4976
6284
 
4977
6285
  class DrawerShell extends C {
6286
+ static contextType = WalletLocaleContext;
4978
6287
  state = { settled: false };
4979
6288
  id = `seams-confirmation-drawer-${++nextDrawerId}`;
4980
6289
  dialog = M();
@@ -5220,7 +6529,7 @@ class DrawerShell extends C {
5220
6529
  classes.push("is-open");
5221
6530
  if (this.gesture.kind === "dragging")
5222
6531
  classes.push("is-dragging");
5223
- const sheet = /* @__PURE__ */ u2("section", {
6532
+ const sheet = /* @__PURE__ */ u3("section", {
5224
6533
  ref: this.sheet,
5225
6534
  id: this.id,
5226
6535
  class: classes.join(" "),
@@ -5232,40 +6541,42 @@ class DrawerShell extends C {
5232
6541
  onTransitionEnd: this.transitionEnd,
5233
6542
  onKeyDown: this.keyDown,
5234
6543
  children: [
5235
- /* @__PURE__ */ u2("div", {
6544
+ /* @__PURE__ */ u3("div", {
5236
6545
  class: "seams-drawer-controls",
5237
6546
  children: [
5238
- this.props.origin && /* @__PURE__ */ u2("div", {
6547
+ this.props.origin && /* @__PURE__ */ u3("div", {
5239
6548
  class: "seams-drawer-origin",
5240
6549
  children: this.props.origin
5241
6550
  }),
5242
- /* @__PURE__ */ u2("button", {
6551
+ /* @__PURE__ */ u3("button", {
5243
6552
  type: "button",
5244
6553
  class: "seams-drawer-handle",
5245
- "aria-label": "Dismiss confirmation",
6554
+ "aria-label": walletText(this.context, "Dismiss confirmation"),
5246
6555
  disabled: !this.canDrag(),
5247
6556
  onClick: this.cancel,
5248
- children: /* @__PURE__ */ u2("span", {})
6557
+ children: /* @__PURE__ */ u3("span", {})
5249
6558
  }),
5250
- /* @__PURE__ */ u2("button", {
6559
+ /* @__PURE__ */ u3("button", {
5251
6560
  type: "button",
5252
6561
  class: "seams-drawer-close",
5253
- "aria-label": "Close",
6562
+ "aria-label": walletText(this.context, "Close"),
5254
6563
  disabled: !this.canDrag(),
5255
6564
  onClick: this.cancel,
5256
6565
  children: "×"
5257
6566
  })
5258
6567
  ]
5259
6568
  }),
5260
- /* @__PURE__ */ u2("div", {
6569
+ /* @__PURE__ */ u3("div", {
5261
6570
  class: "seams-drawer-body",
5262
6571
  ref: this.body,
5263
6572
  children: [
5264
- this.props.errorMessage && /* @__PURE__ */ u2("div", {
6573
+ this.props.errorMessage && /* @__PURE__ */ u3("div", {
5265
6574
  class: "error",
5266
- children: this.props.errorMessage
6575
+ children: /* @__PURE__ */ u3(WalletText, {
6576
+ copy: this.props.errorMessage
6577
+ })
5267
6578
  }),
5268
- /* @__PURE__ */ u2("div", {
6579
+ /* @__PURE__ */ u3("div", {
5269
6580
  class: "seams-drawer-content",
5270
6581
  ref: this.content,
5271
6582
  children: this.props.children
@@ -5276,10 +6587,10 @@ class DrawerShell extends C {
5276
6587
  });
5277
6588
  if (this.props.context === "wallet-iframe")
5278
6589
  return sheet;
5279
- return /* @__PURE__ */ u2("dialog", {
6590
+ return /* @__PURE__ */ u3("dialog", {
5280
6591
  class: "seams-drawer-dialog",
5281
6592
  ref: this.dialog,
5282
- "aria-label": this.props.label,
6593
+ "aria-label": walletDisplayText(this.context, this.props.label),
5283
6594
  onCancel: this.cancel,
5284
6595
  onClick: this.backdropClick,
5285
6596
  onClickCapture: this.suppressDragClick,
@@ -5364,6 +6675,7 @@ var EXPLORER_REVEAL_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
5364
6675
  var nextExplorerRowId = 0;
5365
6676
 
5366
6677
  class TransactionReceipt extends C {
6678
+ static contextType = WalletLocaleContext;
5367
6679
  explorerRow = M();
5368
6680
  explorerRowId = `seams-receipt-explorer-row-${++nextExplorerRowId}`;
5369
6681
  minimize = () => {
@@ -5444,134 +6756,150 @@ class TransactionReceipt extends C {
5444
6756
  const recipient = reviewRecipient(data.model);
5445
6757
  const explorerHref = receipt.state.kind === "confirmed" && receipt.state.hash ? transactionExplorerHref(data.model, this.props.explorers, receipt.state.hash) : null;
5446
6758
  if (receipt.view === "toast") {
5447
- return /* @__PURE__ */ u2("div", {
6759
+ return /* @__PURE__ */ u3("div", {
5448
6760
  class: "seams-transaction-toast",
5449
6761
  "data-completed-stages": completedStages,
5450
6762
  "data-stage": receipt.state.kind,
5451
6763
  "data-pending": pending,
5452
6764
  children: [
5453
- /* @__PURE__ */ u2("div", {
6765
+ /* @__PURE__ */ u3("div", {
5454
6766
  class: "seams-toast-progress",
5455
6767
  "aria-hidden": "true",
5456
- children: /* @__PURE__ */ u2("span", {
6768
+ children: /* @__PURE__ */ u3("span", {
5457
6769
  class: "seams-toast-progress-fill",
5458
- children: pending && /* @__PURE__ */ u2("span", {
6770
+ children: pending && /* @__PURE__ */ u3("span", {
5459
6771
  class: "seams-toast-progress-active"
5460
6772
  })
5461
6773
  })
5462
6774
  }),
5463
- /* @__PURE__ */ u2("span", {
6775
+ /* @__PURE__ */ u3("span", {
5464
6776
  class: "seams-receipt-symbol",
5465
6777
  "data-pending": pending,
5466
- children: /* @__PURE__ */ u2(ReviewIcon, {
6778
+ children: /* @__PURE__ */ u3(ReviewIcon, {
5467
6779
  kind: pending ? "loader" : complete ? "check" : "alert"
5468
6780
  })
5469
6781
  }),
5470
- /* @__PURE__ */ u2("div", {
6782
+ /* @__PURE__ */ u3("div", {
5471
6783
  class: "seams-transaction-toast-text",
5472
6784
  children: [
5473
- /* @__PURE__ */ u2("strong", {
6785
+ /* @__PURE__ */ u3("strong", {
5474
6786
  role: "status",
5475
- children: heading
6787
+ children: /* @__PURE__ */ u3(WalletText, {
6788
+ copy: heading
6789
+ })
5476
6790
  }),
5477
- /* @__PURE__ */ u2("span", {
6791
+ /* @__PURE__ */ u3("span", {
5478
6792
  children: reviewNetwork(data.model)
5479
6793
  })
5480
6794
  ]
5481
6795
  }),
5482
- /* @__PURE__ */ u2("button", {
6796
+ /* @__PURE__ */ u3("button", {
5483
6797
  type: "button",
5484
6798
  class: "seams-receipt-open",
5485
6799
  onClick: this.expand,
5486
6800
  children: [
5487
- "Open ",
5488
- /* @__PURE__ */ u2(ReviewIcon, {
6801
+ /* @__PURE__ */ u3(WalletText, {
6802
+ message: "Open"
6803
+ }),
6804
+ " ",
6805
+ /* @__PURE__ */ u3(ReviewIcon, {
5489
6806
  kind: "arrow"
5490
6807
  })
5491
6808
  ]
5492
6809
  }),
5493
- !pending && /* @__PURE__ */ u2("button", {
6810
+ !pending && /* @__PURE__ */ u3("button", {
5494
6811
  type: "button",
5495
6812
  class: "seams-receipt-dismiss",
5496
- "aria-label": "Close transaction",
6813
+ "aria-label": walletText(this.context, "Close transaction"),
5497
6814
  onClick: receipt.onDismiss,
5498
- children: /* @__PURE__ */ u2(ReviewIcon, {
6815
+ children: /* @__PURE__ */ u3(ReviewIcon, {
5499
6816
  kind: "close"
5500
6817
  })
5501
6818
  })
5502
6819
  ]
5503
6820
  });
5504
6821
  }
5505
- return /* @__PURE__ */ u2("div", {
6822
+ return /* @__PURE__ */ u3("div", {
5506
6823
  class: "seams-transaction-receipt",
5507
6824
  children: [
5508
- /* @__PURE__ */ u2("div", {
6825
+ /* @__PURE__ */ u3("div", {
5509
6826
  class: "seams-review-toolbar",
5510
6827
  children: [
5511
- /* @__PURE__ */ u2("span", {
5512
- children: "Transaction receipt"
6828
+ /* @__PURE__ */ u3("span", {
6829
+ children: /* @__PURE__ */ u3(WalletText, {
6830
+ message: "Transaction receipt"
6831
+ })
5513
6832
  }),
5514
- /* @__PURE__ */ u2("button", {
6833
+ /* @__PURE__ */ u3("button", {
5515
6834
  type: "button",
5516
- "aria-label": "Minimize transaction",
6835
+ "aria-label": walletText(this.context, "Minimize transaction"),
5517
6836
  onClick: this.minimize,
5518
- children: /* @__PURE__ */ u2(ReviewIcon, {
6837
+ children: /* @__PURE__ */ u3(ReviewIcon, {
5519
6838
  kind: "minimize"
5520
6839
  })
5521
6840
  })
5522
6841
  ]
5523
6842
  }),
5524
- /* @__PURE__ */ u2("div", {
6843
+ /* @__PURE__ */ u3("div", {
5525
6844
  class: "seams-receipt-heading",
5526
6845
  children: [
5527
- /* @__PURE__ */ u2("span", {
6846
+ /* @__PURE__ */ u3("span", {
5528
6847
  class: "seams-receipt-symbol",
5529
6848
  "data-pending": pending,
5530
- children: /* @__PURE__ */ u2(ReviewIcon, {
6849
+ children: /* @__PURE__ */ u3(ReviewIcon, {
5531
6850
  kind: pending ? "loader" : complete ? "check" : "alert"
5532
6851
  })
5533
6852
  }),
5534
- /* @__PURE__ */ u2("div", {
6853
+ /* @__PURE__ */ u3("div", {
5535
6854
  children: [
5536
- /* @__PURE__ */ u2("h2", {
6855
+ /* @__PURE__ */ u3("h2", {
5537
6856
  role: "status",
5538
- children: heading
6857
+ children: /* @__PURE__ */ u3(WalletText, {
6858
+ copy: heading
6859
+ })
5539
6860
  }),
5540
- /* @__PURE__ */ u2("p", {
5541
- children: receiptDescription(receipt.state)
6861
+ /* @__PURE__ */ u3("p", {
6862
+ children: /* @__PURE__ */ u3(WalletText, {
6863
+ copy: receiptDescription(receipt.state)
6864
+ })
5542
6865
  })
5543
6866
  ]
5544
6867
  })
5545
6868
  ]
5546
6869
  }),
5547
- /* @__PURE__ */ u2(ReviewAmount, {
6870
+ /* @__PURE__ */ u3(ReviewAmount, {
5548
6871
  model: data.model,
5549
6872
  compact: true
5550
6873
  }),
5551
- /* @__PURE__ */ u2("div", {
6874
+ /* @__PURE__ */ u3("div", {
5552
6875
  class: "seams-receipt-destination",
5553
6876
  children: [
5554
- recipient && /* @__PURE__ */ u2(S, {
6877
+ recipient && /* @__PURE__ */ u3(S, {
5555
6878
  children: [
5556
- "To ",
5557
- /* @__PURE__ */ u2(CopyReviewValue, {
6879
+ /* @__PURE__ */ u3(WalletText, {
6880
+ message: "To"
6881
+ }),
6882
+ " ",
6883
+ /* @__PURE__ */ u3(CopyReviewValue, {
5558
6884
  value: recipient,
5559
6885
  address: true,
5560
- label: `Copy recipient address ${recipient}`
6886
+ label: walletDisplayText(this.context, `Copy recipient address ${recipient}`)
5561
6887
  })
5562
6888
  ]
5563
6889
  }),
5564
6890
  !recipient && reviewNetwork(data.model)
5565
6891
  ]
5566
6892
  }),
5567
- data.model?.totals?.estimatedFee && /* @__PURE__ */ u2("dl", {
6893
+ data.model?.totals?.estimatedFee && /* @__PURE__ */ u3("dl", {
5568
6894
  class: "seams-review-fields",
5569
- children: /* @__PURE__ */ u2("div", {
6895
+ children: /* @__PURE__ */ u3("div", {
5570
6896
  children: [
5571
- /* @__PURE__ */ u2("dt", {
5572
- children: "Estimated network fee"
6897
+ /* @__PURE__ */ u3("dt", {
6898
+ children: /* @__PURE__ */ u3(WalletText, {
6899
+ message: "Estimated network fee"
6900
+ })
5573
6901
  }),
5574
- /* @__PURE__ */ u2("dd", {
6902
+ /* @__PURE__ */ u3("dd", {
5575
6903
  children: [
5576
6904
  data.model.totals.estimatedFee,
5577
6905
  " ",
@@ -5581,123 +6909,143 @@ class TransactionReceipt extends C {
5581
6909
  ]
5582
6910
  })
5583
6911
  }),
5584
- /* @__PURE__ */ u2("div", {
6912
+ /* @__PURE__ */ u3("div", {
5585
6913
  class: "seams-receipt-steps",
5586
- "aria-label": "Transaction progress",
6914
+ "aria-label": walletText(this.context, "Transaction progress"),
5587
6915
  children: [
5588
- /* @__PURE__ */ u2(ReceiptStep, {
6916
+ /* @__PURE__ */ u3(ReceiptStep, {
5589
6917
  stage: "signing",
5590
- label: "Signed",
6918
+ label: walletText(this.context, "Signed"),
5591
6919
  activeLabel: "Signing",
5592
6920
  complete: completedStages >= 1,
5593
6921
  active: receipt.state.kind === "signing"
5594
6922
  }),
5595
- /* @__PURE__ */ u2(ReceiptStep, {
6923
+ /* @__PURE__ */ u3(ReceiptStep, {
5596
6924
  stage: "broadcast",
5597
- label: "Broadcast",
6925
+ label: walletText(this.context, "Broadcast"),
5598
6926
  activeLabel: "Broadcasting",
5599
6927
  complete: completedStages >= 2,
5600
6928
  active: receipt.state.kind === "broadcasting"
5601
6929
  }),
5602
- /* @__PURE__ */ u2(ReceiptStep, {
6930
+ /* @__PURE__ */ u3(ReceiptStep, {
5603
6931
  stage: "confirming",
5604
- label: receipt.state.kind === "reverted" ? "Reverted" : "Confirmed",
6932
+ label: walletDisplayText(this.context, receipt.state.kind === "reverted" ? "Reverted" : "Confirmed"),
5605
6933
  activeLabel: "Confirming",
5606
6934
  complete: completedStages === 3,
5607
6935
  active: receipt.state.kind === "submitted"
5608
6936
  })
5609
6937
  ]
5610
6938
  }),
5611
- /* @__PURE__ */ u2(ReviewDisclosure, {
5612
- label: "Receipt details",
5613
- children: /* @__PURE__ */ u2("dl", {
6939
+ /* @__PURE__ */ u3(ReviewDisclosure, {
6940
+ label: walletText(this.context, "Receipt details"),
6941
+ children: /* @__PURE__ */ u3("dl", {
5614
6942
  class: "seams-review-fields",
5615
6943
  children: [
5616
- data.model?.signerAccount && /* @__PURE__ */ u2("div", {
6944
+ data.model?.signerAccount && /* @__PURE__ */ u3("div", {
5617
6945
  children: [
5618
- /* @__PURE__ */ u2("dt", {
5619
- children: "From"
6946
+ /* @__PURE__ */ u3("dt", {
6947
+ children: /* @__PURE__ */ u3(WalletText, {
6948
+ message: "From"
6949
+ })
5620
6950
  }),
5621
- /* @__PURE__ */ u2("dd", {
6951
+ /* @__PURE__ */ u3("dd", {
5622
6952
  class: "seams-review-recipient",
5623
- children: /* @__PURE__ */ u2(CopyReviewValue, {
6953
+ children: /* @__PURE__ */ u3(CopyReviewValue, {
5624
6954
  value: data.model.signerAccount,
5625
6955
  address: true,
5626
- label: `Copy signer address ${data.model.signerAccount}`
6956
+ label: walletDisplayText(this.context, `Copy signer address ${data.model.signerAccount}`)
5627
6957
  })
5628
6958
  })
5629
6959
  ]
5630
6960
  }),
5631
- recipient && /* @__PURE__ */ u2("div", {
6961
+ recipient && /* @__PURE__ */ u3("div", {
5632
6962
  children: [
5633
- /* @__PURE__ */ u2("dt", {
5634
- children: "To"
6963
+ /* @__PURE__ */ u3("dt", {
6964
+ children: [
6965
+ /* @__PURE__ */ u3(WalletText, {
6966
+ message: "To"
6967
+ }),
6968
+ " "
6969
+ ]
5635
6970
  }),
5636
- /* @__PURE__ */ u2("dd", {
6971
+ /* @__PURE__ */ u3("dd", {
5637
6972
  class: "seams-review-recipient",
5638
- children: /* @__PURE__ */ u2(CopyReviewValue, {
6973
+ children: /* @__PURE__ */ u3(CopyReviewValue, {
5639
6974
  value: recipient,
5640
6975
  address: true,
5641
- label: `Copy recipient address ${recipient}`
6976
+ label: walletDisplayText(this.context, `Copy recipient address ${recipient}`)
5642
6977
  })
5643
6978
  })
5644
6979
  ]
5645
6980
  }),
5646
- receipt.state.hash && /* @__PURE__ */ u2("div", {
6981
+ receipt.state.hash && /* @__PURE__ */ u3("div", {
5647
6982
  children: [
5648
- /* @__PURE__ */ u2("dt", {
5649
- children: "Transaction"
6983
+ /* @__PURE__ */ u3("dt", {
6984
+ children: /* @__PURE__ */ u3(WalletText, {
6985
+ message: "Transaction"
6986
+ })
5650
6987
  }),
5651
- /* @__PURE__ */ u2("dd", {
6988
+ /* @__PURE__ */ u3("dd", {
5652
6989
  children: [
5653
- /* @__PURE__ */ u2(ReviewMiddleTruncated, {
6990
+ /* @__PURE__ */ u3(ReviewMiddleTruncated, {
5654
6991
  value: receipt.state.hash,
5655
6992
  class: "seams-review-hash"
5656
6993
  }),
5657
- /* @__PURE__ */ u2(CopyReviewValue, {
6994
+ /* @__PURE__ */ u3(CopyReviewValue, {
5658
6995
  value: receipt.state.hash
5659
6996
  })
5660
6997
  ]
5661
6998
  })
5662
6999
  ]
5663
7000
  }),
5664
- /* @__PURE__ */ u2("div", {
7001
+ /* @__PURE__ */ u3("div", {
5665
7002
  children: [
5666
- /* @__PURE__ */ u2("dt", {
5667
- children: "Status"
7003
+ /* @__PURE__ */ u3("dt", {
7004
+ children: /* @__PURE__ */ u3(WalletText, {
7005
+ message: "Status"
7006
+ })
5668
7007
  }),
5669
- /* @__PURE__ */ u2("dd", {
5670
- children: heading
7008
+ /* @__PURE__ */ u3("dd", {
7009
+ children: /* @__PURE__ */ u3(WalletText, {
7010
+ copy: heading
7011
+ })
5671
7012
  })
5672
7013
  ]
5673
7014
  })
5674
7015
  ]
5675
7016
  })
5676
7017
  }),
5677
- /* @__PURE__ */ u2("button", {
7018
+ /* @__PURE__ */ u3("button", {
5678
7019
  type: "button",
5679
7020
  class: "seams-receipt-primary",
5680
7021
  onClick: this.close,
5681
- children: receiptIsPending(receipt.state) ? "Continue in background" : "Done"
7022
+ children: receiptIsPending(receipt.state) ? /* @__PURE__ */ u3(WalletText, {
7023
+ message: "Continue in background"
7024
+ }) : /* @__PURE__ */ u3(WalletText, {
7025
+ message: "Done"
7026
+ })
5682
7027
  }),
5683
- explorerHref && /* @__PURE__ */ u2("div", {
7028
+ explorerHref && /* @__PURE__ */ u3("div", {
5684
7029
  id: this.explorerRowId,
5685
7030
  class: "seams-receipt-explorer-row",
5686
7031
  ref: this.explorerRow,
5687
- children: /* @__PURE__ */ u2("a", {
7032
+ children: /* @__PURE__ */ u3("a", {
5688
7033
  class: "seams-receipt-explorer",
5689
7034
  href: explorerHref,
5690
7035
  target: "_blank",
5691
7036
  rel: "noopener noreferrer",
5692
7037
  children: [
5693
- "View transaction ",
5694
- /* @__PURE__ */ u2(ReviewIcon, {
7038
+ /* @__PURE__ */ u3(WalletText, {
7039
+ message: "View transaction"
7040
+ }),
7041
+ " ",
7042
+ /* @__PURE__ */ u3(ReviewIcon, {
5695
7043
  kind: "arrow"
5696
7044
  })
5697
7045
  ]
5698
7046
  })
5699
7047
  }),
5700
- /* @__PURE__ */ u2(WalletReceiptFooter, {})
7048
+ /* @__PURE__ */ u3(WalletReceiptFooter, {})
5701
7049
  ]
5702
7050
  });
5703
7051
  }
@@ -5731,17 +7079,19 @@ function assertNeverDisplayChain(chain) {
5731
7079
  }
5732
7080
  function ReceiptStep(props) {
5733
7081
  const state = props.complete ? "complete" : props.active ? "active" : "waiting";
5734
- return /* @__PURE__ */ u2("span", {
7082
+ return /* @__PURE__ */ u3("span", {
5735
7083
  class: "seams-receipt-step",
5736
7084
  "data-stage": props.stage,
5737
7085
  "data-state": state,
5738
7086
  "aria-current": props.active ? "step" : undefined,
5739
7087
  children: [
5740
- /* @__PURE__ */ u2("span", {
7088
+ /* @__PURE__ */ u3("span", {
5741
7089
  class: "seams-receipt-track",
5742
7090
  "aria-hidden": "true"
5743
7091
  }),
5744
- props.active ? props.activeLabel : props.label
7092
+ /* @__PURE__ */ u3(WalletText, {
7093
+ copy: props.active ? props.activeLabel : props.label
7094
+ })
5745
7095
  ]
5746
7096
  });
5747
7097
  }
@@ -5749,7 +7099,11 @@ function ReceiptStep(props) {
5749
7099
  // src/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.tsx
5750
7100
  var RECEIPT_MORPH_DURATION_MS = 360;
5751
7101
  var RECEIPT_MORPH_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
5752
- var RECEIPT_ANCHORS = [".seams-receipt-symbol", '[role="status"]', ".seams-review-amount"];
7102
+ var RECEIPT_ANCHORS = [
7103
+ ".seams-receipt-symbol",
7104
+ '[role="status"]',
7105
+ ".seams-review-amount"
7106
+ ];
5753
7107
  function captureReceiptAnchors(surface) {
5754
7108
  const anchors = [];
5755
7109
  for (const selector of RECEIPT_ANCHORS) {
@@ -5811,6 +7165,7 @@ class MountedConfirmationSurface {
5811
7165
  this.state.model = model;
5812
7166
  this.element.dataset.confirmationKind = model.content.kind;
5813
7167
  this.element.dataset.seamsConfirmReady = String(model.content.kind === "transaction" && model.content.transaction.decision.kind === "ready");
7168
+ this.element.lang = model.appearance.locale ?? "en";
5814
7169
  this.element.dataset.theme = model.appearance.theme.mode;
5815
7170
  this.styles.setDynamicRule(this.element.id, appearanceTokenCssRule(this.element.id, model.appearance));
5816
7171
  this.renderSurface();
@@ -5849,8 +7204,20 @@ class MountedConfirmationSurface {
5849
7204
  this.receiptShell = shell;
5850
7205
  this.element.setAttribute("data-receipt-morphing", "");
5851
7206
  const morph = shell.animate([
5852
- { left: `${previousBounds.left}px`, top: `${previousBounds.top}px`, width: `${previousBounds.width}px`, height: `${previousBounds.height}px`, borderRadius: previousRadius },
5853
- { left: `${bounds.left}px`, top: `${bounds.top}px`, width: `${bounds.width}px`, height: `${bounds.height}px`, borderRadius: getComputedStyle(target).borderRadius }
7207
+ {
7208
+ left: `${previousBounds.left}px`,
7209
+ top: `${previousBounds.top}px`,
7210
+ width: `${previousBounds.width}px`,
7211
+ height: `${previousBounds.height}px`,
7212
+ borderRadius: previousRadius
7213
+ },
7214
+ {
7215
+ left: `${bounds.left}px`,
7216
+ top: `${bounds.top}px`,
7217
+ width: `${bounds.width}px`,
7218
+ height: `${bounds.height}px`,
7219
+ borderRadius: getComputedStyle(target).borderRadius
7220
+ }
5854
7221
  ], { duration: RECEIPT_MORPH_DURATION_MS, easing: RECEIPT_MORPH_EASING, fill: "both" });
5855
7222
  this.receiptMotion = [morph];
5856
7223
  const shared = new Set;
@@ -5944,32 +7311,32 @@ class MountedConfirmationSurface {
5944
7311
  return;
5945
7312
  const source = state.model.content;
5946
7313
  const model = this.contentModel(source, state.kind === "closing");
5947
- const content = this.receipt && source.kind === "transaction" ? /* @__PURE__ */ u2(TransactionReceipt, {
7314
+ const content = this.receipt && source.kind === "transaction" ? /* @__PURE__ */ u3(TransactionReceipt, {
5948
7315
  receipt: this.receipt,
5949
7316
  data: source.review,
5950
7317
  explorers: source.transaction.explorers
5951
- }) : /* @__PURE__ */ u2(ConfirmationContent, {
7318
+ }) : /* @__PURE__ */ u3(ConfirmationContent, {
5952
7319
  model,
5953
7320
  styles: this.styles,
5954
7321
  variant: this.presentation.variant
5955
7322
  });
5956
7323
  const label = source.kind === "registration" ? source.registration.heading : source.header.heading;
5957
7324
  if (this.receipt || this.presentation.variant === "modal") {
5958
- R(/* @__PURE__ */ u2(ConfirmationModal, {
7325
+ R(withWalletLocale(state.model.appearance.locale ?? "en", /* @__PURE__ */ u3(ConfirmationModal, {
5959
7326
  context: this.receipt ? "wallet-iframe" : this.presentation.context,
5960
7327
  label,
5961
7328
  onCancel: this.cancel,
5962
7329
  children: content
5963
- }), this.element);
7330
+ })), this.element);
5964
7331
  return;
5965
7332
  }
5966
7333
  const decision = source.kind === "registration" ? source.registration.decision : source.transaction.decision;
5967
- R(/* @__PURE__ */ u2(ConfirmationDrawer, {
7334
+ R(withWalletLocale(state.model.appearance.locale ?? "en", /* @__PURE__ */ u3(ConfirmationDrawer, {
5968
7335
  context: this.presentation.context,
5969
7336
  label,
5970
- origin: source.kind === "transaction" && source.header.website.kind === "ready" ? /* @__PURE__ */ u2(S, {
7337
+ origin: source.kind === "transaction" && source.header.website.kind === "ready" ? /* @__PURE__ */ u3(S, {
5971
7338
  children: [
5972
- /* @__PURE__ */ u2(PadlockIcon, {}),
7339
+ /* @__PURE__ */ u3(PadlockIcon, {}),
5973
7340
  source.header.website.text
5974
7341
  ]
5975
7342
  }) : undefined,
@@ -5978,7 +7345,7 @@ class MountedConfirmationSurface {
5978
7345
  state: state.kind === "closing" ? { kind: "closing", onClosed: this.dispose } : { kind: "open", interaction: decision.kind === "ready" ? "ready" : "busy" },
5979
7346
  onCancel: this.cancel,
5980
7347
  children: content
5981
- }), this.element);
7348
+ })), this.element);
5982
7349
  }
5983
7350
  contentModel(source, closing) {
5984
7351
  switch (source.kind) {