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