diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 5996fd51d5..1b64b43e63 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -195,6 +195,7 @@ Rejeter Recharger Renommer + Obligatoire Enregistrez Sauvegarder les modifications Rechercher @@ -1320,27 +1321,55 @@ Le réseau requis %s n’est pas ajouté à votre portefeuille. Ajoutez-le d’abord, puis poursuivez la connexion. Ajouter le réseau au portefeuille Domaine malveillant + Domaine inconnu + Se connecter quand même + Erreur de délai d\'attente. Veuillez réessayer plus tard. + Échec de la connexion à WalletConnect + Ce domaine ne peut pas être vérifié. Vérifiez attentivement la demande avant de l\'approuver. Pour continuer, veuillez reconnecter votre session dApp avec le réseau requis %s. Réseau non connecté Vérifiez votre connexion réseau Délai d’attente de la requête dépassé + Veuillez retourner à votre navigateur et vous reconnecter via WalletConnect. + La session Wallet Connect a été déconnectée. Signer quand même + Code d\'erreur : %s. Si le problème persiste, n\'hésitez pas à contacter notre service d\'assistance. Si le problème persiste, n’hésitez pas à contacter notre support. + Nous avons rencontré une erreur inconnue. Le portefeuille Tangem ne prend actuellement pas en charge %ss dApp non prise en charge Code d\'erreur : 8 005. Si le problème persiste, n\'hésitez pas à contacter notre support. Nous avons rencontré une erreur inconnue Le réseau %s n’est pas pris en charge par Tangem Wallet et ne peut pas être connecté. Réseau non pris en charge + Tangem ne prend actuellement pas en charge le réseau requis par %s. + Réseaux non pris en charge Ce domaine a passé les contrôles de vérification et est considéré comme sûr, fiable et exempt de menaces connues ou d’activités suspectes. + Domaine vérifié + Carte ou bague incorrecte sélectionnée dans l\'application + Nous avons un problème. + Toutes les dApps sont déconnectées Autoriser à dépenser Adresse + Connecter Chargement + Réseau + Réseaux Illimité + Wallet + Application connectée Réseaux connectés + Connecté à %1$s + Consultez le solde et l\'activité de votre portefeuille + Signer des transactions sans vous en informer + Demander l\'accord pour les transactions + Ne pourra pas + Souhaite + Demande de connexion Connexions Contenu Copier les données + dApp déconnectée Déconnecter tout Toutes les sessions dApp seront déconnectées. Votre portefeuille ne sera plus lié à aucune dApp. Déconnecter toutes les dApps @@ -1352,13 +1381,22 @@ La proposition de connexion a expiré Modifications estimées du portefeuille La transaction n\'a pas pu être simulée. Veuillez procéder avec prudence. + Rechargez votre solde pour couvrir les frais de réseau. + %1$s Insuffisant Transaction malveillante + Ajoutez le réseau %s à votre portefeuille pour ce wallet + Le wallet ne nécessite aucun réseaux Nouvelle connexion Connectez votre portefeuille à différentes dApps Aucune séance Des risques potentiels ou un comportement malveillant ont été détectés. Se connecter ou signer des transactions peut entraîner une perte de fonds. + Risque de sécurité connu + Ouvrez l\'application Web3 et sélectionnez l\'option WalletConnect. Demande de Type de signature + Au moins un réseau est requis pour la connexion à une dApp. + Spécifier les réseaux sélectionnés + Signé avec succès À Demande de transaction Demande de transaction diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 7e06ea9819..7f437b9d1e 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -71,8 +71,10 @@ 設定に移動して、Tangemアプリで生体認証を有効にします。 生体認証を有効にする %1$sが無効になると、アプリのロックを解除してウォレットを操作するために、パスコードを入力する必要があります。 + 後でウォレットのアクセスコードを入力してもらいます。それを安全に保存し、今後の利用に備えるためです。 これにより、保存されているウォレットアクセスコードがすべて削除されます。ウォレットでの今後の操作には、アクセスコードの送信が必要になります。 保存したデバイスを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。 + これにより、保存されているウォレットアクセスコードがすべて削除されます。今後ウォレットを操作するには、アクセスコードの送信が必要になります。 アクセスコードを要求する このオプションを選択すると、機密性の高い操作における生体認証が無効になります。取引の署名時などには、毎回アクセスコードの入力が必要になります。 アクセスコードを保存 @@ -486,6 +488,7 @@ 最新の機能とニュースをお届けします シードフレーズのバックアップ モバイルウォレットを作成する + このリカバリーフレーズはすでにインポートされています。 モバイルウォレット この情報はAIで生成されました。 \nエラーが見つかった場合は、ここをタップしてください。 アクセスコードを変更するには、上図のようにカードまたはリングをタップし、操作が終了するまで取り外さないでください。 @@ -1491,7 +1494,7 @@ 使用可能量の設定 dAppが接続解除されました すべての接続を解除する - すべてのdAppセッションが切断されます。ウォレットはどのdAppにも接続されなくなります。 + すべてのdAppセッションの接続が解除されます。ウォレットはどのdAppにもリンクされなくなります。 すべてのdAppを接続解除する 新しいURIで、再度ペアリングを試してください 無効なdAppドメイン diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt index c0e035a70e..335160da29 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt @@ -27,6 +27,7 @@ import com.tangem.domain.tokens.GetNetworkCoinStatusUseCase import com.tangem.domain.tokens.error.CurrencyStatusError import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.domain.transaction.error.GetFeeError +import com.tangem.domain.transaction.error.SendTransactionError.UserCancelledError import com.tangem.domain.transaction.usecase.GetFeeUseCase import com.tangem.domain.walletconnect.WcAnalyticEvents import com.tangem.domain.walletconnect.WcAnalyticEvents.SignatureRequestReceived.EmulationStatus @@ -346,25 +347,35 @@ internal class WcSendTransactionModel @Inject constructor( } private fun signingIsDone(signState: WcSignState<*>, useCase: WcSignUseCase<*>): Boolean { - (signState.domainStep as? WcSignStep.Result)?.result?.let { - return handleSigningError(it, useCase) + return when (val step = signState.domainStep) { + is WcSignStep.Result -> processResultStep(result = step.result, useCase = useCase) + WcSignStep.PreSign, + WcSignStep.Signing, + -> false } - return false } - private fun handleSigningError(result: Either, useCase: WcSignUseCase<*>): Boolean { - return if (result.isLeft()) { - val error = WcTransactionRoutes.Alert.Type.UnknownError( - errorMessage = result.leftOrNull()?.message(), - onDismiss = { cancel(useCase) }, - onRetry = { signFromAlert() }, - ) - stackNavigation.pushNew(WcTransactionRoutes.Alert(error)) - false - } else { - showSuccessSignMessage() - router.pop() - true + private fun processResultStep(result: Either, useCase: WcSignUseCase<*>): Boolean { + return when (result) { + is Either.Left -> { + val error = result.value + if (error is WcRequestError.WrappedSendError && error.sendTransactionError is UserCancelledError) { + return false + } + + val alertError = WcTransactionRoutes.Alert.Type.UnknownError( + errorMessage = result.value.message(), + onDismiss = { cancel(useCase) }, + onRetry = { signFromAlert() }, + ) + stackNavigation.pushNew(WcTransactionRoutes.Alert(alertError)) + false + } + is Either.Right -> { + showSuccessSignMessage() + router.pop() + true + } } }