From 77e400b400544589d8b37c57799c9d8cb1442cc4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 13 Aug 2025 18:15:10 +0500 Subject: [PATCH] Updated on 2026-08-14 --- core/res/src/main/res/values-de/strings.xml | 13 ++++ core/res/src/main/res/values-es/strings.xml | 71 ++++++++++++++++++- core/res/src/main/res/values-fr/strings.xml | 13 ++++ core/res/src/main/res/values-it/strings.xml | 14 ++++ core/res/src/main/res/values-ja/strings.xml | 49 ++++++++++--- core/res/src/main/res/values-ru/strings.xml | 31 +++++++- .../src/main/res/values-uk-rUA/strings.xml | 56 +++++++++++++++ .../src/main/res/values-zh-rTW/strings.xml | 13 ++++ core/res/src/main/res/values/strings.xml | 39 ++++++++-- .../pair/DefaultWcPairUseCase.kt | 7 ++ .../connections/components/WcPairComponent.kt | 1 + .../connections/model/WcPairModel.kt | 3 + .../connections/routes/WcAppInfoRoutes.kt | 1 + .../connections/utils/WcAlertsFactory.kt | 18 +++++ .../converter/WcSendTransactionUMConverter.kt | 12 +++- 15 files changed, 322 insertions(+), 19 deletions(-) diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index 673c284024..7bc007eb36 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -147,6 +147,7 @@ Schließen Demnächst verfügbar Bestätigen + Verbinden Kontakt zum Tangem-Support Kontakt zum Visa-Support Weiter @@ -249,6 +250,10 @@ Allgemeine Geschäftsbedingungen Nutzungsbedingungen Heute + + %d Token + %d Token + Transaktion fehlgeschlagen Transaktionsstatus Transaktionen @@ -315,6 +320,8 @@ Details Überprüfe deine Internetverbindung oder wechseln zu einem anderen Netzwerk Nutzungsbedingungen + Hallo Support-Team, ich habe einen Fehler mit dem Code %s festgestellt. + WalletConnect-Fehler Du hast eine Karte oder Ring aus einer anderen Wallet verwendet. Tippe auf die Karte oder Ring, die dieser Wallet zugeordnet ist. Nicht genug Geld für die Transaktion. Bitte lade dein Konto auf. Meine Token @@ -1426,6 +1433,12 @@ Alle trennen Text über die Trennung aller dApps Alle dApps trennen + Versuchen Sie erneut, mit einer neuen URI zu koppeln + Ungültige dApp-Domain + %s gibt keine Blockchains an — weder erforderlich noch optional.\nBitte stellen Sie sicher, dass Sie die richtige URI verwendet haben + Keine Netzwerke + Bitte generieren Sie eine neue URI und versuchen Sie erneut, eine Verbindung herzustellen + Verbindungsvorschlag abgelaufen Geschätzte Wallet-Änderungen Die Transaktion konnte nicht simuliert werden. Bitte sei vorsichtig. Böswillige/ gefährliche Transaktion diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index f17262fd95..8d38231daf 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -1,5 +1,9 @@ + Archivar cuenta + Archivo + Estás archivando esta cuenta, pero siempre puedes recuperarla. + Cuenta ¿No encuentra el token en su billetera? Consulte la sección de Mercados para encontrarlo y añadirlo a la compra ¿No encuentra el token en su billetera? Consulte los mercados para encontrarlo y añadirlo a la venta Vender @@ -34,12 +38,16 @@ Esta tarjeta no admite tokens en la red %1$s debido a una limitación del firmware. ¿Tiene dificultades para escanear su tarjeta/anillo? Esta tarjeta no está diseñada para funcionar con Tangem + Utilice %1$s para desbloquear de forma rápida y segura su biletera y autorizar todas las acciones importantes, como la firma de transacciones. En el caso de las billeteras físicas, seguirá necesitando una tarjeta para firmar. Tarifa por defecto Habilite las Tarifas predeterminadas para establecer automáticamente las tarifas de transacción y omitir la página de Tarifas al enviar fondos. Siempre puede volver a esta página si es necesario. Vaya a ajustes para habilitar la autenticación biométrica en la Tangem App Habilitar autenticación biométrica + Para deshabilitar %1$s deberá ingresar su código de acceso para desbloquear la aplicación e interactuar con su billetera. Esto eliminará todos los códigos de acceso guardados de la billetera. Cualquier operación posterior con la billetera requerirá introducir el código de acceso. Eliminar la tarjeta guardada borra todos las billeteras guardadas y sus códigos de acceso de la app. + Requerir código de acceso + Esta opción desactiva la autenticación biométrica para acciones importantes. Se le pedirá que introduzca su código de acceso cada vez que, por ejemplo, deba firmar una transacción. Guardar código de acceso Se solicitará la autenticación biométrica en lugar del código de acceso para las interacciones con su tarjeta o anillo. Mantener la billetera en la app @@ -135,6 +143,7 @@ Cerrar Próximamente Confirme + Conectando Contacte con el soporte de Tangem Contacte con el soporte de Visa Continuar @@ -153,6 +162,7 @@ días Suprimir + Desactivar Desactivado Desconectar Listo @@ -191,6 +201,7 @@ No Ninguna dirección No aregada + Ahora no Ahora OK Abrir en el navegador @@ -206,6 +217,7 @@ Rechazar Recargar Renombrar + Requerido Guarde Guardar cambios Buscar @@ -235,6 +247,10 @@ términos y condiciones Condiciones de uso Hoy + + %d ficha + %d fichas + Transacción fallida Estado de la transacción Transacciones @@ -301,6 +317,9 @@ Detalles Compruebe su conexión a internet o cambia a una red diferente Condiciones de uso + Recibir activos + Hola equipo de soporte, he encontrado un error con el código: %s + Error de WalletConnect Ha usado una tarjeta de otra billetera. Toque la tarjeta asociada con esta billetera No hay fondos suficientes para la transacción. Por favor, recargue su cuenta. Mis tokens @@ -358,6 +377,7 @@ Proveedor Mejor tarifa Lista de advertencias de la FCA + Proveedor en la lista de advertencia de la FCA Disponible hasta %s Disponible desde %s No disponible para este par @@ -405,6 +425,8 @@ Escanee a %s En la red %s + ¿Está seguro de que desea salir del proceso de creación del código de acceso? + Si lo haces, tendrás que empezar de nuevo. Mantente al día con las últimas funciones y noticias Esta información fue generada con IA.\nPulse aquí si encuentra algún error. Para cambiar el código de acceso coloque la tarjeta o el anillo como se muestra arriba y no lo retire hasta el fin de la operación @@ -908,9 +930,14 @@ Cantidad no válida La tarifa excede el saldo El monto total excede el saldo + Intercambiar y enviar + ¿Continuar con la conversión? Esto borrará tus datos anteriores. + Confirmar Conversión Envía cualquier token y lo convertiremos en el camino. Su destinatario obtiene exactamente lo que necesita, sin problemas. - Se enviará un destinatario + El destinatario recibirá + Al destinatario Cantidad a recibir + ¿Seguro que desea cancelar la conversión? Se borrarán sus datos anteriores. Enviar con swap Transacción enviada Escanee la tarjeta/anillo que quiere configurar @@ -1210,8 +1237,10 @@ Consíguelo ahora con un 10 % de descuento Accede a más de 13 000 criptomonedas. Compra, vende, intercambia y realiza staking con un solo toque.\nVincula hasta tres tarjetas para hacer copias de seguridad. Descubre Tangem Wallet + Cambiar código de acceso Manténteinformado sobre las transacciones entrantes de la billetera y las actualizaciones de Tangem. Notificaciones de transacciones + Establecer código de acceso Ajustes de la wallet Tangem Use %s o escanee una tarjeta/anillo para desbloquear el acceso a su billetera @@ -1308,16 +1337,27 @@ Se requiere línea de confianza Dominio malicioso Dominio desconocido + Conectarse de todas formas + Error de tiempo de espera. Por favor, inténtalo de nuevo más tarde. + Error al establecer WalletConnect Este dominio no puede ser verificado. Compruebe cuidadosamente la solicitud de aprobación. Vuelva a su navegador y vuelva a conectarse a través de WalletConnect. + La sesión de Wallet Connect se desconectó Firmar de todos modos Código de error: %s. Si el problema persiste - no dude en ponerse en contacto con nuestro soporte. Si el problema persiste, no dudes en ponerte en contacto con nuestro soporte. + Hemos encontrado un error desconocido + Tangem Wallet actualmente no es compatible con %s. + dApp no compatible Código de error: 8 005. Si el problema persiste, no dudes en contactar con nuestro soporte. Hemos encontrado un error desconocido Actualmente, Tangem no es compatible con una red requerida por %s. + Redes no compatibles Tangem soporta una red requerida por %s + Dominio verificado Se seleccionó una tarjeta o un anillo incorrectos en la app + Tenemos algún tipo de problema + Todas las dApps desconectadas Permitir gastar Dirección Conectar @@ -1326,30 +1366,59 @@ Redes Ilimitado Billetera + Aplicación conectada Redes conectadas + Conectado a %1$s Ver el saldo y la actividad de su billetera Firmar transacciones sin previo aviso Solicitar aprobación para transacciones No podrá Me gustaría Solicitud de conexión + Conexiones Contenido Copiar datos Asignación personalizada + dApp desconectada + Desconectar todo + Texto sobre desconexión de todas las dApps + Desconectar todas las dApps + Intente emparejar nuevamente con una URI nueva + Dominio de dApp no válido + %s no especifica ninguna cadena de bloques, ni obligatoria ni opcional. Asegúrese de haber utilizado el URI correcto + Sin redes + Por favor, genere una nueva URI e intente conectarse nuevamente + Propuesta de conexión caducada Cambios estimados en la billetera La transacción no ha podido ser simulada. Por favor, proceda con precaución. + La estimación no es compatible con %s + Sugerido por %s + Recargue su saldo para cubrir la tarifa de red + Insuficiente %1$s Transacción maliciosa Añada la red %s a su perfil para esta billetera La billetera no tiene las redes requeridas + Nueva conexión + Conecta tu billetera a diferentes dApps + Sin sesiones + No se han detectado cambios en la cartera Se han detectado riesgos potenciales o comportamiento malicioso. Conectarse o firmar transacciones puede resultar en la pérdida de fondos. Riesgo de seguridad conocido + Abra la aplicación Web3 y elija la opción WalletConnect Solicitud de + Firmar de todos modos Tipo de firma + Se requiere al menos una red para la conexión dApp + Especificar las redes seleccionadas + Firmado correctamente A Solicitud de transacción Solicitud de transacción Cantidad ilimitada + Asegúrese de que cada intento de emparejamiento utiliza un URI nuevo y único + URI ya utilizado Wallet connect + Transacción sospechosa Ignorar Tiene un backup interrumpido. ¿Quiere reanudarlo? Sí, reanudar diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index bbf154df4e..00b0250a97 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -124,6 +124,7 @@ Réclamez des récompenses Fermer Confirmez + Connexion Continuer Convertir Copier @@ -222,6 +223,10 @@ termes et conditions Conditions d\'utilisation Aujourd\'hui + + %d jeton + %d jetons + La transaction a échoué Statut de la transaction Transactions @@ -288,6 +293,8 @@ Détails Vérifiez votre connexion Internet ou passez à un réseau différent Conditions d\'utilisation + Bonjour équipe de support, j’ai rencontré une erreur avec le code : %s + Erreur WalletConnect Vous avez utilisé une carte d\'un autre portefeuille. Appuyez sur la carte associée à ce portefeuille Pas assez de fonds pour la transaction. Veuillez recharger votre compte. Mes jetons @@ -1327,6 +1334,12 @@ Déconnecter tout Texte sur la déconnexion de toutes les dApps Déconnecter toutes les dApps + Essayez de jumeler à nouveau avec un nouvel URI + Domaine dApp invalide + %s ne spécifie aucune blockchain — ni requise ni optionnelle.\nVeuillez vous assurer que vous avez utilisé l’URI correct + Aucun réseau + Veuillez générer un nouvel URI et essayer de vous connecter à nouveau + 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. Transaction malveillante diff --git a/core/res/src/main/res/values-it/strings.xml b/core/res/src/main/res/values-it/strings.xml index 5caec91961..a585f2e30a 100644 --- a/core/res/src/main/res/values-it/strings.xml +++ b/core/res/src/main/res/values-it/strings.xml @@ -10,6 +10,8 @@ Impossibile creare la transazione Non hai fornito l\'accesso alla tua videocamera, modifica le tue impostazioni sulla privacy Annulla + Scegli portafoglio + Connessione in corso Rimuovere Fatto Errore @@ -20,6 +22,10 @@ Invia Impossibile inviare la transazione Con successo + + %d gettone + %d gettoni + Codice di accesso Prima di scansionare la carta sarà necessario inserire il codice di accesso corretto Mantenimento della carta @@ -34,6 +40,8 @@ Firmato Requisiti Termini del servizio + Ciao team di supporto, ho riscontrato un errore con il codice: %s + Errore WalletConnect Not enough funds for the transaction. Please top up your account. An error occurred Notifica richiesta @@ -66,6 +74,12 @@ Nessuna connessione a Internet Tangem Ok, ho capito! + Prova a eseguire nuovamente l’associazione con un nuovo URI + Dominio dApp non valido + %s non specifica alcuna blockchain — né obbligatoria né opzionale.\nAssicurati di aver utilizzato l’URI corretto + Nessuna rete + Genera un nuovo URI e prova a connetterti di nuovo + La proposta di connessione è scaduta No, invia l\'intero importo Riduci di %s XTZ Per evitare di pagare una commissione maggiore la prossima volta che ricarichi il tuo portafoglio, riduci l\'importo di %s XTZ diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index cf05e40cb9..ff32b8bf8b 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -12,6 +12,10 @@ ウォレットのロックを解除するには、 %s桁のアクセスコードを設定します。 アクセスコードの作成 アクセスコード + アカウントをアーカイブする + アーカイブ + このアカウントをアーカイブしますが、いつでも復元できます。 + アカウント アカウントを追加 保存 アカウント名 @@ -58,12 +62,16 @@ %1$s ネットワークのトークンは、ファームウェアの制限により、このカードまたはリングではサポートされていません。 カードまたはリングのスキャンに問題がありますか? このカードはこのアプリでは使用できません。 + %1$sを使用すると、ウォレットのロックを迅速かつ安全に解除できます。また、取引の署名など、機密性の高い操作も承認できます。ハードウェアウォレットの場合は、署名にカードが必要です。 デフォルト手数料 デフォルト手数料を有効にすると、取引手数料が自動的に設定され、送金時に手数料ページを表示する必要がなくなります。必要に応じて、いつでもこのページに戻ることができます。 設定に移動して、Tangemアプリで生体認証を有効にします。 生体認証を有効にする + %1$sが無効になると、アプリのロックを解除してウォレットを操作するために、パスコードを入力する必要があります。 これにより、保存されているウォレットアクセスコードがすべて削除されます。ウォレットでの今後の操作には、アクセスコードの送信が必要になります。 保存したデバイスを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。 + アクセスコードを要求する + このオプションを選択すると、機密性の高い操作における生体認証が無効になります。取引の署名時などには、毎回アクセスコードの入力が必要になります。 アクセスコードを保存 カードまたはリングとのやり取りには、アクセスコードの代わりに生体認証が要求されます。 ウォレットをアプリに保存する @@ -89,6 +97,7 @@ これらの%s個の単語をパスワードマネージャーなどの安全な場所に保存し、決して他の人と共有しないでください。 復元は不可能です リカバリーフレーズ + これらの単語は、絶対に誰にも共有しないでください。もし他人がこの単語を知れば、あなたの暗号資産をすべて盗むことができます。Tangemがこれらの単語を尋ねることはありません。以下の%s単語はウォレットの復元フレーズです。これらのフレーズを使用すると、デバイスを紛失した場合でもウォレットを復元できます。 これらの%s語を順番に書き留めて、安全かつプライベートに保管してください。 ウォレットと、リカバリーフレーズのセキュリティとバックアップの全責任は、Tangemではなくユーザーにあります。 リカバリーフレーズ @@ -166,6 +175,7 @@ 閉じる 近日公開 確認 + 接続中 Tangemサポートへ問い合わせる Visaサポートへ問い合わせる 続ける @@ -182,6 +192,7 @@ 削除 + 無効にする 無効 切断 完了 @@ -221,6 +232,7 @@ いいえ アドレスがありません 未追加 + 今はしない わかりました ブラウザで開く @@ -267,6 +279,9 @@ 利用規約 利用規約 今日 + + %d トークン + 取引が失敗しました 取引状況 取引 @@ -333,9 +348,12 @@ 詳細 インターネット接続を確認するか、別のネットワークに切り替えてください。 利用規約 + 資金を受け取る 他のネットワークで資産を送金すると、永久に失われます。 %sネットワーク 下記のみを使用して資金を送金する + サポートチームの皆様、コード %s のエラーが発生しました。 + WalletConnect エラー 別のウォレットのカードまたはリングを使用しました。このウォレットにリンクしているカードまたはリングをタップしてください。 取引に必要な資金が不足しています。アカウントに入金してください。 マイトークン @@ -441,10 +459,15 @@ Tangemをスキャン %sへ %sネットワーク + アクセスコードの作成プロセスを終了してもよろしいですか? 今すぐバックアップ セットアップを完了するには、ウォレットをバックアップし、アクセスコードを使用してアプリへのアクセスを保護します。 今すぐ実施 ウォレットのアクティベーションを完了する + セットアップを完了するには、アクセスコードを使用してアプリへのアクセスを保護します。 + そうした場合は、最初からやり直す必要があります。 + アクティベーションプロセスを終了してもよろしいですか? + 実行すると、最初からやり直す必要があります。 Googleドライブのバックアップに保存されている既存のウォレットを復元する Googleドライブのバックアップ バックアップへ移動 @@ -458,6 +481,7 @@ 最新の機能とニュースをお届けします シードフレーズのバックアップ モバイルウォレットを作成する + モバイルウォレット この情報はAIで生成されました。 \nエラーが見つかった場合は、ここをタップしてください。 アクセスコードを変更するには、上図のようにカードまたはリングをタップし、操作が終了するまで取り外さないでください。 パスコードを変更するには、上記のようにカードをタップし、操作が終了するまで取り外さないでください。 @@ -954,15 +978,17 @@ 無効な金額 手数料が残高を超えています 合計金額が残高を超えています - トークンを変更してもよろしいですか? 変更後、以前のデータはリセットされます。 + 受信トークンを変更してもよろしいですか? 変更すると、以前入力したデータがリセットされます。 トークンの変更 スワップして送信 + 変換を続行しますか? これにより以前のデータは消去されます。 + 変換を確定 トークンを送信すれば、送信中に変換されます。受信者は必要なものをシームレスに受け取ります。 受信者は受け取ります - 受信者に送信されます + 受取人へ 受取金額 - 変換をキャンセルしてもよろしいですか? 変更後、以前のデータはリセットされます。 - キャンセルの確認 + 変換をキャンセルしてもよろしいですか?以前のデータは消去されます。 + 変換を削除 スワップして送信 取引が送信されました 設定したいカードまたはリングをスキャンするために準備してください。 @@ -1420,7 +1446,7 @@ エラーコード: 8 005。問題が解決しない場合は、お気軽にサポートまでお問い合わせください。 不明なエラーが発生しました Tangemは現在%sで必要なネットワークをサポートしていません。 - サポートされていないネットワーク + 未対応のネットワーク Tangemは%sで必要なネットワークをサポートします 検証済みドメイン アプリで間違ったカードまたはリングが選択されました @@ -1451,6 +1477,12 @@ すべての接続を解除する すべてのdAppsの接続解除に関するテキスト すべてのdAppを接続解除する + 新しいURIで、再度ペアリングを試してください + 無効なdAppドメイン + %sはブロックチェーンを指定していません(必須でもオプションでもありません)。 \n正しいURIを使用していることを確認してください。 + ネットワークなし + 新しいURIを生成し、再度接続してください + 接続提案の期限が切れました ウォレットの変更の予測 取引をシミュレーションできませんでした。注意して続行してください。 %sでは見積もりはサポートされていません @@ -1461,13 +1493,14 @@ このウォレットのポートフォリオに%sネットワークを追加します ウォレットに必要なネットワークはありません 新しい接続 - ウォレットを別のdAppに接続する + ウォレットをさまざまなdAppに接続する セッションなし ウォレットの変更は検出されませんでした - このドメインは複数のセキュリティプロバイダーから安全でないとの警告を受けています。あなたの資産を守るため、直ちにアクセスを中止してください。 + 潜在的なリスクまたは悪意のある行為が検出されました。接続または取引への署名は資金の損失につながる可能性があります。 既知のセキュリティリスク + Web3アプリを開き、WalletConnectオプションを選択します リクエスト元 - とにかく送金 + とにかく署名する 署名タイプ dApp接続には、少なくとも1つのネットワークが必要です 選択したネットワークを指定する diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index 10a53f974e..5b238275be 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -116,11 +116,12 @@ Выберите действие Выберите сеть Выберите токен - Выберите кошелек + Выберите кошелёк Получить Вывести награду Закрыть Подтвердить + Подключение Продолжить Копировать Скопировать адрес @@ -219,6 +220,12 @@ условия участия Условиями использования Сегодня + + %d токен + %d токена + %d токенов + %d токенов + Ошибка транзакции Статус транзакции Транзакции @@ -284,6 +291,8 @@ Подробности Проверьте подключение с интернетом или переключитесь на другую сеть Условия использования + Привет, команда поддержки, у меня возникла ошибка с кодом: %s + Ошибка WalletConnect Вы использовали карту или кольцо от другого кошелька. Приложите карту или кольцо, связанную с этим кошельком. Недостаточно средств для совершения транзакции. Пожалуйста, пополните свой аккаунт. Мои токены @@ -895,6 +904,18 @@ Недопустимая сумма Комиссия превышает остаток Отправляемая сумма превышает остаток + Вы уверены, что хотите изменить токен для получения? Это действие сбросит ранее введённые данные. + Изменение токена + Обмен и отправка + Продолжить с конвертацией? Это действие удалит предыдущие данные + Подтвердить конвертацию + Отправьте любой токен, и мы конвертируем его по пути. Адресат получит именно то, что нужно — без лишних действий. + Будет получено + Получателю + Сумма к получению + Вы уверены, что хотите отменить конвертацию? Ваши предыдущие данные будут удалены. + Убрать конвертацию + Отправка с обменом Транзакция отправлена Подготовьтесь к сканированию кольца или карты, которую вы хотите настроить. Забыть кошелек @@ -1285,7 +1306,7 @@ Требуется трастлайн Вредоносный домен Неизвестный домен - Подключиться всё равно + Всё равно подключиться Ошибка тайм-аута. Пожалуйста, попробуйте позже. Не удалось подключиться через Wallet Connect Этот домен не может быть верифицирован. Внимательно проверьте запрос перед одобрением. @@ -1329,6 +1350,12 @@ dApp отключен Отключить все Отключить все dApp + Попробуйте соединиться снова, используя новый URI + Недействительный домен dApp + %s не указывает никаких блокчейнов — ни обязательных, ни опциональных.\nПожалуйста, убедитесь, что вы использовали правильный URI + Нет сетей + Пожалуйста, сгенерируйте новый URI и попробуйте подключиться снова + Предложение подключения истекло Предварительные изменения Не удалось выполнить симуляцию транзакции. Пожалуйста, действуйте с осторожностью. Оценка не поддерживается для %s diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml index 9c820fac97..79d1d3c092 100644 --- a/core/res/src/main/res/values-uk-rUA/strings.xml +++ b/core/res/src/main/res/values-uk-rUA/strings.xml @@ -120,6 +120,7 @@ Отримати винагороди Закрити Підтвердити + Підключення Продовжити Копіювати Скопіювати адресу @@ -191,6 +192,7 @@ Відхилити Оновити Перейменувати + Обов\'язково Зберегти Зберегти зміни Пошук @@ -218,6 +220,12 @@ умови участі Умовами використання Сьогодні + + %d токен + %d токени + %d токенів + %d токенів + Помилка транзакції Статус транзакції Транзакції @@ -282,6 +290,8 @@ Деталі Перевірте підключення до інтернету або змініть мережу Умови використання + Привіт, команда підтримки, я зіткнувся з помилкою з кодом: %s + Помилка WalletConnect Ви використали картку або кільце від іншого гаманця. Прикладіть картку або кільце, пов\'язану з цим гаманцем. Недостатньо коштів для здійснення транзакції. Будь ласка, поповніть свій акаунт. Мої токени @@ -1282,18 +1292,64 @@ Відкрити Trustline Щоб отримати цей токен, потрібно увімкнути Trustline. Мережа вимагає резерв %1$s %2$s. Відкрийте Trustline + Невідомий домен + Все одно підключитися + Помилка тайм-ауту. Будь ласка, спробуйте пізніше. + Не вдалося зʼєднатися через Wallet Connect + Цей домен не може бути підтверджений. Уважно перевірте запит перед схваленням. Будь ласка, поверніться до браузеру і повторно підключіться через WalletConnect. + Сеанс Wallet Connect було завершено + Код помилки: %s. Якщо проблема зберігається, зверніться до нашої служби підтримки. + Ми зіткнулися з невідомою помилкою + Tangem наразі не підтримує необхідну мережу для %s. + Непідтримувані мережі + Tangem підтримує мережу, необхідну для %s + Верифікований домен Обрана не вірна картка або кільце + Схоже, виникла проблема + Усі dApps відключені Адреса Підключення + Мережа + Мережі + Гаманець + Підключений додаток Підключені мережі + Підключений до %1$s Переглянути баланс гаманця та активність + Підписати транзакцію без вашої участі + Запит схвалення на транзакцію + Не має можливості + Хотіли б Запит на підключення + З\'єднання Вміст Копіювати дані + dApp відключено + Розʼєднати все + Відключити всі dApps + Відключити всі dApps + Спробуйте ще раз з новим URI + Недійсний домен dApp + %s не вказує жодних блокчейнів — ні обов\'язкових, ні необов\'язкових. \n Переконайтеся, що ви використали правильний URI + Немає мереж + Будь ласка, згенеруйте новий URI та спробуйте ще раз + Термін для з’єднання минув + Поповніть баланс, щоб покрити комісію мережі + Недостатньо %1$s + Додайте %s мережі до вашого портфелю для цього гаманця + В гаманці не додані необхідні мережі + Нове з\'єднання + Підключайте свій гаманець до різних dApps + Немає підключень Виявлено потенційні ризики або шкідливу активність. Підключення чи підпис транзакцій можуть призвести до втрати коштів. + Відомий ризик безпеки + Відкрийте програму Web3 та виберіть опцію WalletConnect Запит від Тип підпису + Для підключення dApp потрібна принаймні одна мережа + Вкажіть вибрані мережі + Успішно підписано До Запит транзакції Запит транзакції diff --git a/core/res/src/main/res/values-zh-rTW/strings.xml b/core/res/src/main/res/values-zh-rTW/strings.xml index b33588b325..713520796a 100644 --- a/core/res/src/main/res/values-zh-rTW/strings.xml +++ b/core/res/src/main/res/values-zh-rTW/strings.xml @@ -52,7 +52,9 @@ 您尚未授予相機訪問權限,請更改您的隱私設置 删除 選擇代幣 + 選擇錢包 關閉 + 連線中 繼續 複製 複製地址 @@ -90,6 +92,9 @@ 成功 交換 條款和條件 + + %d 代幣 + 交易 我了解 無法觸達 @@ -129,6 +134,8 @@ 更多 檢查您的網路連接或切換到其他網絡 服務條款 + 您好,支援團隊,我遇到了一個錯誤,代碼為:%s + WalletConnect 錯誤 您使用了另一個錢包中的卡。點按與此錢包關聯的卡片 沒有足夠的資金進行交易。請先入金 以下信息是可選的。如果不想共享,可以將其刪除 @@ -372,6 +379,12 @@ 認證檢查失敗 網路無法使用 Solana 網絡每 2 天收取 %1$s 的費用。無法付此費用的帳戶將從網絡中清除。向您的帳戶存入超過 %2$s 即可免費使用 + 請使用新的 URI 再次嘗試配對 + 無效的 dApp 網域 + %s 未指定任何區塊鏈——無論是必須的還是可選的。\n請確保您使用了正確的 URI + 沒有網路 + 請生成新的 URI,然後再次嘗試連線 + 連線提案已過期 捨棄 您有一個備份中斷了,您想繼續嗎? 是的,恢復 diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 4c933aff60..4089de8ca8 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -12,6 +12,12 @@ Set a %s-digit Access Code to unlock your wallet. Create Access Code Access code + Recover + Archived + Archive account + Archive + You are archiving this account, but you can always get it back. + Account Add account Save Account name @@ -63,6 +69,7 @@ Enable Default Fee to set transaction fees automatically and skip the Fee page when sending funds. You can always go back to this page if necessary. Go to settings to enable biometric authentication in the Tangem App Enable biometric authentication + Disabling %1$s will require you to enter your passcode to unlock the app and to interact with your wallet. This will delete all the saved wallet access codes. Any further operation with the wallet will require submitting the access code. Removing the saved devices deletes all the saved wallets and their access codes from the app. Require Access Code @@ -173,6 +180,7 @@ Close Coming Soon Confirm + Connecting Contact Tangem Support Contact Visa Support Continue @@ -231,6 +239,7 @@ No No address Not Added + Not Now Now OK Open in Browser @@ -278,6 +287,10 @@ terms and conditions Terms of Use Today + + %d token + %d tokens + Transaction failed Transaction status Transactions @@ -348,6 +361,8 @@ Sending assets in other networks will result in permanent loss. %s network Send funds using only + Hi support team, I\'ve encountered an error with code: %s + WalletConnect error You have used a card or ring from another wallet. Tap the card or ring associated with this wallet Not enough funds for the transaction. Please top up your account. My tokens @@ -453,6 +468,7 @@ Scan Tangem to %s On %s network + Are you sure you want to exit the access code creation process? Backup Now To complete setup, back up your wallet and secure app access with a Access Code. Finish Now @@ -460,6 +476,7 @@ To complete setup, secure app access with Access Code. If you do, you\'ll need to start over. Are you sure you want to exit the activation process? + If you do, you\'ll need to start over. Recover an existing wallet stored in your Google Drive backup Google Drive Backup Go to backup @@ -979,15 +996,18 @@ Invalid amount Fee exceeds balance Total amount exceeds balance - Are you sure you want to change the token? After changing, previous data will be reset. + Are you sure you want to change the receiving token? This will reset your previously entered data. Changing token Swap and send + Proceed with conversion? This will clear your previous data. + Confirm Conversion Send any token, and we’ll convert it on the way. Your recipient gets exactly what they need—seamlessly. Recipient will receive - Will be sent a recipient + To recipient Amount to receive - Are you sure you want to cancel the conversion? After changing, previous data will be reset. - Confirm cancelation + Recipient get %s + Are you sure you want to cancel the conversion? Your previous data will be cleared. + Remove Conversion Send with swap Transaction sent Prepare to scan card or ring you want to set up. @@ -1525,6 +1545,12 @@ Disconnect all Text about discnected all dApps Disconect All dApps + Try pairing again with a fresh URI + Invalid dApp domain + %s does not specify any blockchains — neither required nor optional.\nPlease ensure you used the correct URI + No networks + Please, generate a new URI and attempt connecting again + Connection proposal expired Estimated wallet changes The transaction couldn\'t be simulated. Please proceed with caution. Estimation is not supported for %s @@ -1535,18 +1561,19 @@ Add the %s network to your portfolio for this wallet The wallet has no required networks New connection - Connect your wallet to a different dApps + Connect your wallet to different dApps No sessions No wallet changes detected Potential risks or malicious behavior have been detected. Connecting or signing transactions may lead to loss of funds. Known security risk + Open Web3 app and chose WalletConnect option Request from Sign anyway Signature Type At least one network is required for dApp connection Specify selected networks Successfully signed - Wallet connect + WalletConnect To Transaction request Transaction request diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt index bfd1192118..c9e11ec7fb 100644 --- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt +++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt @@ -24,6 +24,7 @@ import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.* import org.joda.time.DateTime import timber.log.Timber +import java.net.URI @Suppress("LongParameterList") internal class DefaultWcPairUseCase @AssistedInject constructor( @@ -63,6 +64,12 @@ internal class DefaultWcPairUseCase @AssistedInject constructor( return@flow } + val dAppUri = URI(sdkSessionProposal.url) + if (!dAppUri.host.isNullOrEmpty()) { + emit(WcPairState.Error(WcPairError.InvalidDomainURL)) + return@flow + } + val proposalState = buildProposalState(sdkSessionProposal, sdkVerifyContext) .onLeft { analytics.send(WcAnalyticEvents.PairFailed(it.code)) diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/components/WcPairComponent.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/components/WcPairComponent.kt index e9aa7aa21c..b41e493f67 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/components/WcPairComponent.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/components/WcPairComponent.kt @@ -114,6 +114,7 @@ internal class WcPairComponent( return when (alertType) { is Alert.Type.Verified -> WcAlertsFactory.createVerifiedDomainAlert(alertType.appName) is Alert.Type.UnknownDomain -> WcAlertsFactory.createUnknownDomainAlert(model::connectFromAlert) + is Alert.Type.InvalidDomain -> WcAlertsFactory.createInvalidDomainAlert(model::errorAlertOnDismiss) is Alert.Type.UnsafeDomain -> WcAlertsFactory.createUnsafeDomainAlert(model::connectFromAlert) is Alert.Type.UnsupportedDApp -> WcAlertsFactory.createUnsupportedDomainAlert(alertType.appName, model::errorAlertOnDismiss) diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcPairModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcPairModel.kt index c1dcb8cf95..7c566be7c6 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcPairModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcPairModel.kt @@ -216,6 +216,9 @@ internal class WcPairModel @Inject constructor( private fun processError(error: WcPairError) { val alert = when (error) { + is WcPairError.InvalidDomainURL -> { + WcAppInfoRoutes.Alert.Type.InvalidDomain + } is WcPairError.UnsupportedDApp -> { WcAppInfoRoutes.Alert.Type.UnsupportedDApp(error.appName) } diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routes/WcAppInfoRoutes.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routes/WcAppInfoRoutes.kt index 27a3879932..226ececbbc 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routes/WcAppInfoRoutes.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/routes/WcAppInfoRoutes.kt @@ -32,6 +32,7 @@ internal sealed class WcAppInfoRoutes : TangemBottomSheetConfigContent, Route { data class Verified(val appName: String) : Type() data object UnknownDomain : Type() data object UnsafeDomain : Type() + data object InvalidDomain : Type() data class UnsupportedDApp(val appName: String) : Type() data class UnsupportedNetwork(val appName: String) : Type() data object UriAlreadyUsed : Type() diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/utils/WcAlertsFactory.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/utils/WcAlertsFactory.kt index 095ccd662e..a17284a34d 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/utils/WcAlertsFactory.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/utils/WcAlertsFactory.kt @@ -48,6 +48,24 @@ internal object WcAlertsFactory { } } + fun createInvalidDomainAlert(onDismiss: () -> Unit): MessageBottomSheetUMV2 { + return messageBottomSheetUM { + infoBlock { + icon(R.drawable.ic_wallet_connect_24) { + type = Type.Informative + backgroundType = MessageBottomSheetUMV2.Icon.BackgroundType.SameAsTint + } + title = resourceReference(R.string.wc_errors_invalid_domain_title) + body = resourceReference(R.string.wc_errors_invalid_domain_subtitle) + } + primaryButton { + text = resourceReference(R.string.common_got_it) + onClick { onDismiss() } + } + onDismissRequest = onDismiss + } + } + fun createUnsafeDomainAlert(activeButtonOnClick: (() -> Unit)? = null): MessageBottomSheetUMV2 { return messageBottomSheetUM { infoBlock { diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcSendTransactionUMConverter.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcSendTransactionUMConverter.kt index c9f6f86182..49aadb776f 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcSendTransactionUMConverter.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcSendTransactionUMConverter.kt @@ -54,10 +54,18 @@ internal class WcSendTransactionUMConverter @Inject constructor( isLoading = value.signState.domainStep == WcSignStep.Signing, address = WcAddressConverter.convert(value.context.derivationState), transactionValidationResult = value.securityCheck?.result?.validation, - sendEnabled = value.feeSelectorUM is FeeSelectorUM.Content && feeErrorNotification == null, + sendEnabled = when (value.feeState) { + WcTransactionFeeState.None -> feeErrorNotification == null + is WcTransactionFeeState.Success -> { + value.feeSelectorUM is FeeSelectorUM.Content && feeErrorNotification == null + } + }, feeErrorNotification = feeErrorNotification, ), - feeSelectorUM = value.feeSelectorUM ?: FeeSelectorUM.Loading, + feeSelectorUM = when (value.feeState) { + WcTransactionFeeState.None -> FeeSelectorUM.Loading + is WcTransactionFeeState.Success -> value.feeSelectorUM ?: FeeSelectorUM.Loading + }, transactionRequestInfo = WcTransactionRequestInfoUM( blocks = buildList { addAll(