Updated on 2026-08-14

This commit is contained in:
Tangem 2024-12-12 16:54:37 +05:00
commit 364f4e51b7
16 changed files with 170 additions and 35 deletions

View file

@ -3,10 +3,18 @@
<string name="action_buttons_buy_empty_search_message">Du kannst Deinen Token nicht finden? Gehe zum Bereich „Markt“ auf der Hauptseite und fügen diesen zum kaufen im Portfolio hinzu.</string>
<string name="action_buttons_sell_empty_search_message">Du kannst Deinen Token nicht finden? Gehe zum Bereich „Markt“ auf der Hauptseite und fügen diesen zum verkaufen im Portfolio hinzu.</string>
<string name="action_buttons_sell_navigation_bar_title">Verkaufen</string>
<string name="action_buttons_service_loading_alert_message">Einige Netzwerke sind derzeit nicht erreichbar. Bitte versuche es später erneut.</string>
<string name="action_buttons_service_loading_alert_title">Die Daten wurden noch nicht geladen.</string>
<string name="action_buttons_something_wrong_alert_message">Die Aktion ist derzeit nicht verfügbar. Bitte versuche es später erneut oder aktualisiere die Daten, indem Du auf dem Bildschirm nach unten wischst.</string>
<string name="action_buttons_something_wrong_alert_title">Schaltfläche ist nicht verfügbar</string>
<string name="action_buttons_swap_choose_token">Wähle den Token</string>
<string name="action_buttons_swap_empty_search_message">Du kannst Deinen Token nicht finden? Gehe zum Bereich „Markt“ auf der Hauptseite und fügen diesen zum tauschen im Portfolio hinzu.</string>
<string name="action_buttons_swap_no_available_pair_notification_message">Es gibt keine verfügbaren Token, die mit dem ausgewählten Token getauscht werden können. Bitte wähle einen anderen.</string>
<string name="action_buttons_swap_no_available_pair_notification_title">Kein verfügbares Paar</string>
<string name="action_buttons_swap_no_tokens_added_alert_message">Um die Tauschfunktion zu nutzen, muss Dein Portfolio mindestens 2 Token enthalten.</string>
<string name="action_buttons_swap_no_tokens_added_alert_title">Token hinzufügen</string>
<string name="action_buttons_swap_not_enough_tokens_alert_message">Du hast Deinem Portfolio nur 1 Token hinzugefügt. Um die Tauschfunktion zu verwenden, musst Du mindestens 2 Token hinzufügen.</string>
<string name="action_buttons_swap_not_enough_tokens_alert_title">Token hinzufügen</string>
<string name="action_buttons_you_want_to_receive">Wähle den Token aus, den Du erhalten möchtest</string>
<string name="action_buttons_you_want_to_swap">Wähle den Token, den Du tauschen möchtest</string>
<string name="add_custom_token_choose_network">Netzwerk wählen</string>
@ -263,6 +271,9 @@
<string name="express_exchange_notification_refund_title">Der Betrag wurde in %1$s (%2$s Netzwerk) zurückerstattet.</string>
<string name="express_exchange_notification_verification_text">Besuche die Website des Anbieters zur Überprüfung</string>
<string name="express_exchange_notification_verification_title">KYC-Überprüfung durch den Anbieter erforderlich</string>
<string name="express_exchange_status_bought">Gekauft</string>
<string name="express_exchange_status_buying">Einkaufen</string>
<string name="express_exchange_status_buying_active">Einkaufen...</string>
<string name="express_exchange_status_canceled">Abgebrochen</string>
<string name="express_exchange_status_confirmed">Bestätigt</string>
<string name="express_exchange_status_confirming">Bestätigen</string>
@ -308,6 +319,7 @@
<string name="feedback_preface_scan_failed">Bitte sag uns, welche Karte oder Ring du hast</string>
<string name="feedback_preface_support">Hallo Support-Team,</string>
<string name="feedback_preface_tx_failed">Bitte erzähle uns mehr über dein Problem. Jedes kleine Detail kann helfen.</string>
<string name="feedback_subject_pre_activated_wallet">Zuvor aktivierte Wallet</string>
<string name="feedback_subject_rate_negative">Meine Vorschläge</string>
<string name="feedback_subject_scan_failed">Kann eine Karte oder Ring nicht scannen</string>
<string name="feedback_subject_support">Rückmeldung</string>
@ -585,7 +597,7 @@
<string name="onramp_settings_residence">Residenz</string>
<string name="onramp_settings_residence_description">Bitte wähle das richtige Land aus, um korrekte Zahlungsoptionen und Dienstleistungen zu gewährleisten.</string>
<string name="onramp_settings_title">Einstellungen</string>
<string name="onramp_statuses_view_footer">Du kannst den Transaktionsstatus auf der Token-Seite überprüfen.</string>
<string name="onramp_statuses_view_footer">Du kannst diesen Bildschirm schließen und den Transaktionsstatus auf dem Bildschirm mit den Token-Details überprüfen.</string>
<string name="onramp_transaction_status_footer_text">Du kannst diesen Bildschirm schließen und den Transaktionsstatus auf dem Bildschirm mit den Token-Details überprüfen.</string>
<string name="onramp_via">Über</string>
<string name="organize_tokens_group">Gruppe erstellen</string>
@ -600,6 +612,7 @@
<string name="receive_bottom_sheet_warning_message">%1$s ( %2$s ) im %3$s Netzwerk</string>
<string name="receive_bottom_sheet_warning_message_description">Das Senden einer anderen Währung führt zu deren irreversiblem Verlust.</string>
<string name="receive_bottom_sheet_warning_message_full">Sende nur %s an diese Adresse. Der Versand einer anderen Währung führt zu ihrem unwiderruflichen Verlust.</string>
<string name="receive_bottom_sheet_warning_title">Senden nur %1$s im Netzwerk %2$s</string>
<string name="receive_token_description">Überweise Geld von einem anderen Wallet oder einer anderen Börse</string>
<string name="referral_button_participate">Teilnehmen</string>
<string name="referral_error_failed_to_load_info">Die Informationen zum Empfehlungsprogramm konnten nicht geladen werden. Bitte versuche es später noch einmal.</string>
@ -651,6 +664,7 @@
<string name="scan_card_settings_button">Karte oder Ring scannen</string>
<string name="scan_card_settings_message">Scanne die Karte oder Ring, um ihre Einstellungen zu ändern. Die Änderungen wirken sich nur auf die von dir gescannte Karte oder Ring aus und haben keine Auswirkungen auf andere mit deiner Wallet verknüpften Geräte.</string>
<string name="scan_card_settings_title">Halte deine Karte oder Ring bereit!</string>
<string name="security_alert_title">Sicherheitswarnung</string>
<string name="selling_insufficient_balance_alert_message">Dein Konto verfügt nicht über genügend Guthaben, um diese Kryptowährung zu verkaufen. Bitte zahle den gewünschten Vermögenswert ein, um fortzufahren.</string>
<string name="selling_insufficient_balance_alert_title">Unzureichendes Guthaben</string>
<string name="selling_regional_restriction_alert_message">Der Verkauf von Kryptowährung ist in Deiner Region derzeit nicht möglich. Wir arbeiten aktiv daran, Ihnen diese Option bald anzubieten bleib dran!</string>
@ -868,6 +882,7 @@
<string name="swapping_to_title">Du erhältst</string>
<string name="swapping_token_list_title">Token auswählen</string>
<string name="swapping_token_not_available">Nicht verfügbar</string>
<string name="this_is_my_wallet_title">Das ist meine Wallet</string>
<string name="toast_balances_hidden">Guthaben versteckt</string>
<string name="toast_balances_shown">Angezeigte Salden</string>
<string name="toast_undo">Rückgängig machen</string>
@ -937,6 +952,7 @@
<string name="user_wallet_list_unlock_all_with">Alle mit %s freischalten</string>
<string name="wallet_balance_blockchain_unreachable_try_later">Blockchain ist nicht erreichbar. Versuche es später nochmal</string>
<string name="wallet_balance_missing_derivation">Karte oder Ring scannen</string>
<string name="wallet_been_activated_message">Diese Wallet wurde bereits früher aktiviert.\nWenn es nicht von Dir durchgeführt wurde, wende Dich bitte an den Support.\nTangem verkauft niemals Wallets zusammen mit dem vorgenerierten Zugangscode.</string>
<string name="wallet_connect_alert_sign_message">Aufforderung zum Signieren einer Nachricht. \n\n %s</string>
<string name="wallet_connect_bnb_sign_message">Dapp %1$s, mit der Bitte um\nBNB-Transaktion zu unterzeichnen.\n\n%2$s</string>
<string name="wallet_connect_bnb_trade_order_message">Handelsauftrag für %1$s\n Preis: %2$s\n Zu erhaltender Betrag: %3$s\n Zu zahlender Betrag: %4$s</string>
@ -984,7 +1000,7 @@
<string name="warning_approval_in_progress_title">Genehmigung läuft</string>
<string name="warning_backup_errors_message">Es scheint, dass die Aktivierung der Karte oder des Rings nicht korrekt abgeschlossen wurde. Dies kann an einem Problem mit dem NFC-Modul deines Gerätes oder an einem falschen Tippen der Karte oder Ring auf dein Gerät liegen. Bitte wende dich an unser Support-Team, um Unterstützung zu erhalten.</string>
<string name="warning_backup_errors_title">Aktivierungsfehler</string>
<string name="warning_beacon_chain_retirement_content">Laut den Entwicklern des BNB-Netzes wird die Unterstützung für den BEP-2-Standard im Juni 2024 enden. Um den Verlust von Vermögenswerten mit diesem Standard zu vermeiden, konvertiere bitte in den BEP-20 Standard. Nutze gerne unseren Swap-Service, um sie auf das BNB Smart Chain Netzwerk zu übertragen.</string>
<string name="warning_beacon_chain_retirement_content">Am 3. Dezember 2024 wurde das BEP-2-Netzwerk auf Entscheidung der Netzwerkentwickler deaktiviert und wird nicht mehr unterstützt</string>
<string name="warning_beacon_chain_retirement_title">BNB Beacon Chain wird abgeschaltet</string>
<string name="warning_blocked_funds_for_fee_message">Bitte zahle ein paar %1$s ein, um die Netzwerkgebühr zu decken</string>
<string name="warning_blocked_funds_for_fee_title">Unzureichende Mittel zur Deckung der Netzgebühr</string>

View file

@ -176,7 +176,7 @@
<string name="common_submit">Enviar</string>
<string name="common_success">Con éxito</string>
<string name="common_support">Soporte</string>
<string name="common_swap">Intercambiar</string>
<string name="common_swap">Swap</string>
<string name="common_terms_and_conditions">términos y condiciones</string>
<string name="common_terms_of_use">Condiciones de uso</string>
<string name="common_today">Hoy</string>
@ -982,7 +982,7 @@
<string name="warning_approval_in_progress_title">Aprobación en curso</string>
<string name="warning_backup_errors_message">Parece que la activación de la tarjeta no ha ido correctamente. Esto puede deberse a un problema con el módulo NFC de su dispositivo o a una mala conexión de la tarjeta de su dispositivo. Comuníquese con nuestro equipo de soporte para obtener ayuda.</string>
<string name="warning_backup_errors_title">Error de activación</string>
<string name="warning_beacon_chain_retirement_content">Según los desarrolladores de la red BNB, el soporte para el estándar BEP-2\nfinalizará en junio de 2024. Para evitar perder activos con este estándar, por favor conviértalos al estándar BEP-20. Usa nuestro servicio de swap para transferirlos a la red BNB Smart Chain.</string>
<string name="warning_beacon_chain_retirement_content">El 3 de diciembre de 2024, la red BEP-2 fue desactivada por decisión de los desarrolladores de la red y ya no es compatible</string>
<string name="warning_beacon_chain_retirement_title">BNB Beacon Chain se cerrará</string>
<string name="warning_blocked_funds_for_fee_message">Por favor deposite %1$s para cubrir la tarifa de red</string>
<string name="warning_blocked_funds_for_fee_title">Fondos insuficientes para cubrir la tarifa de red</string>

View file

@ -982,7 +982,7 @@
<string name="warning_approval_in_progress_title">Approbation en cours</string>
<string name="warning_backup_errors_message">Il semble que l\'activation de la carte ne se soit pas déroulée correctement. Cela peut être dû à un problème avec le module NFC de votre appareil ou à une mauvaise connexion de la carte sur votre appareil. Veuillez contacter notre équipe de support pour obtenir de laide.</string>
<string name="warning_backup_errors_title">Erreur d\'activation</string>
<string name="warning_beacon_chain_retirement_content">Selon les développeurs du réseau BNB, le support de la norme BEP-2\nprendra fin en juin 2024. Pour éviter de perdre des actifs avec cette norme, veuillez les convertir à la norme BEP-20. Utilisez notre service de d\'échange pour les transférer sur le réseau BNB Smart Chain.</string>
<string name="warning_beacon_chain_retirement_content">Le 3 décembre 2024, le réseau BEP-2 a été désactivé par décision des développeurs du réseau et n\'est plus pris en charge</string>
<string name="warning_beacon_chain_retirement_title">BNB Beacon Chain va s\'arrêter de fonctionner</string>
<string name="warning_blocked_funds_for_fee_message">Veuillez déposer environ %1$s pour couvrir les frais de réseau</string>
<string name="warning_blocked_funds_for_fee_title">Fonds insuffisants pour couvrir les frais de réseau</string>

View file

@ -3,8 +3,8 @@
<string name="action_buttons_buy_empty_search_message">トークンが見つかりませんか?メインページのマーケットセクションに移動し、ポートフォリオに追加して買付できるようにします。</string>
<string name="action_buttons_sell_empty_search_message">トークンが見つかりませんか?メインページのマーケットセクションに移動し、ポートフォリオに追加して売却できるようにします。</string>
<string name="action_buttons_sell_navigation_bar_title">売却</string>
<string name="action_buttons_service_loading_alert_message">接続には数秒かかる場合があります。しばらくお待ちください。</string>
<string name="action_buttons_service_loading_alert_title">接続</string>
<string name="action_buttons_service_loading_alert_message">これには数秒かかる場合があります。しばらくしてからもう一度お試しください。</string>
<string name="action_buttons_service_loading_alert_title">データはまだ読み込まれていません。</string>
<string name="action_buttons_something_wrong_alert_message">この操作は現在利用できません。しばらくしてからもう一度お試しいただくか、画面を下にスワイプしてデータを更新してください。</string>
<string name="action_buttons_something_wrong_alert_title">ボタンは使用できません</string>
<string name="action_buttons_swap_choose_token">トークンを選択</string>
@ -316,6 +316,7 @@
<string name="feedback_preface_scan_failed">お持ちのカードまたはリングについて教えてください</string>
<string name="feedback_preface_support">サポートチームの皆さん、こんにちは。</string>
<string name="feedback_preface_tx_failed">問題について詳しく教えてください。どんな些細なことでも役に立ちます。</string>
<string name="feedback_subject_pre_activated_wallet">以前に有効化されたウォレット</string>
<string name="feedback_subject_rate_negative">私の提案</string>
<string name="feedback_subject_scan_failed">カード / リングをスキャンできません</string>
<string name="feedback_subject_support">フィードバック</string>
@ -588,7 +589,7 @@
<string name="onramp_settings_residence">住居</string>
<string name="onramp_settings_residence_description">正確なお支払い方法とサービスを確保するため、正しい国を選択してください。</string>
<string name="onramp_settings_title">設定</string>
<string name="onramp_statuses_view_footer">トークンページから取引状況を確認できます。</string>
<string name="onramp_statuses_view_footer">この画面を閉じて、トークンの詳細画面で取引状況を確認できます。</string>
<string name="onramp_transaction_status_footer_text">この画面を閉じて、トークンの詳細画面で取引状況を確認できます。</string>
<string name="onramp_via">経由</string>
<string name="organize_tokens_group">グループ</string>
@ -653,7 +654,8 @@
<string name="scan_card_settings_button">カードまたはリングをスキャン</string>
<string name="scan_card_settings_message">カードまたはリングをスキャンして設定を変更します。変更はスキャンしたカードまたはリングにのみ影響し、ウォレットに関連付けられている他のデバイスには影響しません。</string>
<string name="scan_card_settings_title">Tangemを準備してください</string>
<string name="selling_insufficient_balance_alert_message">この暗号資産を売却するのに十分な資金が残高にありません。続行するには、希望の資産を入金してください。</string>
<string name="security_alert_title">セキュリティ警告</string>
<string name="selling_insufficient_balance_alert_message">暗号通貨を売却するための十分な資金が残高にありません。続行するには希望の資産を入金してください。</string>
<string name="selling_insufficient_balance_alert_title">残高不足</string>
<string name="selling_regional_restriction_alert_message">現在、お住まいの地域では暗号資産の売却はご利用いただけません。このオプションをすぐにご利用いただけるよう積極的に取り組んでいますので、お楽しみに!</string>
<string name="selling_regional_restriction_alert_title">地域制限</string>
@ -870,6 +872,7 @@
<string name="swapping_to_title">受け取る</string>
<string name="swapping_token_list_title">トークンを選択</string>
<string name="swapping_token_not_available">利用不可</string>
<string name="this_is_my_wallet_title">これは私のウォレットです</string>
<string name="toast_balances_hidden">残高非表示</string>
<string name="toast_balances_shown">残高表示</string>
<string name="toast_undo">元に戻す</string>
@ -939,6 +942,7 @@
<string name="user_wallet_list_unlock_all_with">%sですべてをロック解除</string>
<string name="wallet_balance_blockchain_unreachable_try_later">ブロックチェーンにアクセスできません。後でもう一度お試しください。</string>
<string name="wallet_balance_missing_derivation">カードまたはリングをスキャン</string>
<string name="wallet_been_activated_message">このウォレットはすでに有効化されています。\nあなたが行ったのでない場合は、サポートに連絡してください。\nTangemは、事前に生成されたアクセスコードと一緒にウォレットを販売することはありません。</string>
<string name="wallet_connect_alert_sign_message">メッセージに署名することを要求しています。 \n\n %s</string>
<string name="wallet_connect_bnb_sign_message">Dapp%1$s 、BNB取引の署名を要求しています\n\n%2$s</string>
<string name="wallet_connect_bnb_trade_order_message">%1$sの取引注文\n価格: %2$s\n受取金額: %3$s\n支払金額: %4$s</string>
@ -986,8 +990,8 @@
<string name="warning_approval_in_progress_title">承認中</string>
<string name="warning_backup_errors_message">カードまたはリングのアクティベーションが正しく完了しませんでした。デバイスのNFCモジュールに問題があるか、カードまたはリングをデバイスに正しくタップしていないことが原因かもしれません。サポートチームにお問い合わせください。</string>
<string name="warning_backup_errors_title">アクティベーションに失敗しました</string>
<string name="warning_beacon_chain_retirement_content">BNBネットワーク開発者によると、BEP-2規格のサポートは2024年6月に終了します。この規格の資産を失わないために、BEP-20規格に変換してください。BNBスマートチェーンネットワークへ移行するには、Tangemのスワップサービスをご利用ください</string>
<string name="warning_beacon_chain_retirement_title">BNBビーコンチェーンは閉鎖されます。</string>
<string name="warning_beacon_chain_retirement_content">2024年12月3日、BEP-2ネットワークはネットワーク開発者の決定により使用不能となり、サポートは終了しました</string>
<string name="warning_beacon_chain_retirement_title">BNBビーコンチェーンは閉鎖されました</string>
<string name="warning_blocked_funds_for_fee_message">ネットワーク手数料をカバーするために%1$sを入金してください</string>
<string name="warning_blocked_funds_for_fee_title">ネットワーク手数料をカバーする資金が不足しています</string>
<string name="warning_button_could_be_better">もっと良くなるはず</string>

View file

@ -3,8 +3,8 @@
<string name="action_buttons_buy_empty_search_message">Не нашли свой токен? Перейдите в раздел «Рынок» на главной странице и добавьте его в свой портфель для покупки.</string>
<string name="action_buttons_sell_empty_search_message">Не нашли свой токен? Перейдите в раздел «Рынок» на главной странице и добавьте его в свой портфель для продажи.</string>
<string name="action_buttons_sell_navigation_bar_title">Продать</string>
<string name="action_buttons_service_loading_alert_message">Подключение может занять несколько секунд. Пожалуйста, подождите.</string>
<string name="action_buttons_service_loading_alert_title">Соединение</string>
<string name="action_buttons_service_loading_alert_message">Это может занять несколько секунд. Пожалуйста, попробуйте позже.</string>
<string name="action_buttons_service_loading_alert_title">Данные ещё не загрузились</string>
<string name="action_buttons_something_wrong_alert_message">Действие в данный момент недоступно, пожалуйста попробуйте позже или обновить данные, сделав свайп экрана вниз.</string>
<string name="action_buttons_something_wrong_alert_title">Кнопка недоступна</string>
<string name="action_buttons_swap_choose_token">Выберите токен</string>
@ -682,7 +682,7 @@
<string name="scan_card_settings_message">Отсканируйте карту или кольцо, чтобы изменить ее настройки. Изменения затронут только ту карту или кольцо, которые вы отсканировали, и не повлияют на другие устройства, привязанные к вашему кошельку.</string>
<string name="scan_card_settings_title">Приготовьте свой Tangem!</string>
<string name="security_alert_title">Уведомление безопасности</string>
<string name="selling_insufficient_balance_alert_message">На вашем балансе недостаточно средств для продажи этой криптовалюты. Пожалуйста, пополните нужный актив, чтобы продолжить.</string>
<string name="selling_insufficient_balance_alert_message">На вашем балансе недостаточно средств для продажи криптовалюты. Пожалуйста, пополните нужный актив, чтобы продолжить.</string>
<string name="selling_insufficient_balance_alert_title">Недостаточно средств</string>
<string name="selling_regional_restriction_alert_message">Продажа криптовалюты в вашем регионе временно недоступна. Мы активно работаем над тем, чтобы добавить эту возможность. Следите за нашими новостями!</string>
<string name="selling_regional_restriction_alert_title">Региональные ограничения</string>
@ -1016,7 +1016,7 @@
<string name="warning_approval_in_progress_title">Выдача разрешения</string>
<string name="warning_backup_errors_message">Похоже, что процесс активации карт или кольца не был завершен корректно. Это могло быть вызвано проблемой взаимодействия с модулем NFC либо некорректным прикладыванием карты или кольца к телефону. Пожалуйста, обратитесь в нашу службу поддержки для уточнения деталей.</string>
<string name="warning_backup_errors_title">Ошибка активации</string>
<string name="warning_beacon_chain_retirement_content">По решению разработчиков сети BNB стандарт BEP-2 перестанет поддерживаться в июне 2024 года. Чтобы не потерять активы, их необходимо преобразовать в стандарт BEP-20. Используйте функцию обмена в приложении или сторонние сервисы, чтобы перевести средства в cеть BNB Smart Chain.</string>
<string name="warning_beacon_chain_retirement_content">С 3 декабря 2024 года сеть BEP-2 была отключена по решению разработчиков сети и более не поддерживается</string>
<string name="warning_beacon_chain_retirement_title">Отключение сети BNB Beacon Chain</string>
<string name="warning_blocked_funds_for_fee_message">Внесите немного %1$s, чтобы покрыть комиссию сети</string>
<string name="warning_blocked_funds_for_fee_title">Недостаточно средств для оплаты комиссии сети</string>

View file

@ -988,7 +988,7 @@
<string name="warning_approval_in_progress_title">Підтвердження в процесі</string>
<string name="warning_backup_errors_message">Схоже, що активація карток або кільця була виконана неправильно. Це може бути пов\'язано з проблемою з модулем NFC вашого пристрою або неправильним прикладанням картки або кільця до телефону. Будь ласка, зверніться за допомогою до нашої служби підтримки для уточнення деталей.</string>
<string name="warning_backup_errors_title">Помилка активації</string>
<string name="warning_beacon_chain_retirement_content">За рішенням розробників мережі BNB стандарт BEP-2 перестане підтримуватись у червні 2024 року. Щоб не втратити свої активи, їх необхідно конвертувати у стандарт BEP-20. Використовуйте функцію обміну, щоб перевести їх у мережу BNB Smart Chain.</string>
<string name="warning_beacon_chain_retirement_content">3 грудня 2024 року мережу BEP-2 було відключено за рішенням розробників мережі, і вона більше не підтримується</string>
<string name="warning_beacon_chain_retirement_title">Відключення мережі BNB Beacon Chain</string>
<string name="warning_blocked_funds_for_fee_message">Будь ласка, поповніть рахунок на %1$s для покриття комісії мережі</string>
<string name="warning_blocked_funds_for_fee_title">Недостатньо коштів для покриття комісії мережі</string>

View file

@ -3,8 +3,8 @@
<string name="action_buttons_buy_empty_search_message">Cant find your token? Go to the Market section on the main page and add it to your portfolio for purchase</string>
<string name="action_buttons_sell_empty_search_message">Cant find your token? Go to the Market section on the main page and add it to your portfolio for selling.</string>
<string name="action_buttons_sell_navigation_bar_title">Sell</string>
<string name="action_buttons_service_loading_alert_message">Connection may take a few seconds. Please wait.</string>
<string name="action_buttons_service_loading_alert_title">Connection</string>
<string name="action_buttons_service_loading_alert_message">This may take a few seconds. Please try again later.</string>
<string name="action_buttons_service_loading_alert_title">The data has not loaded yet.</string>
<string name="action_buttons_something_wrong_alert_message">The action is currently unavailable. Please try again later or refresh the data by swiping down on the screen.</string>
<string name="action_buttons_something_wrong_alert_title">Button is unavailable</string>
<string name="action_buttons_swap_choose_token">Choose the Token</string>
@ -584,6 +584,7 @@
<string name="onramp_country_search">Search by country</string>
<string name="onramp_country_unavailable">Unavailable</string>
<string name="onramp_currency_search">Search by currency</string>
<string name="onramp_legal">By using onramp functionality, you agree with providers %1$s and %2$s</string>
<string name="onramp_max_amount_restriction">The purchase amount should be no more than %s</string>
<string name="onramp_min_amount_restriction">The amount to buy must be at least %s</string>
<string name="onramp_no_available_providers">No available providers for this currency</string>
@ -665,7 +666,7 @@
<string name="scan_card_settings_message">Scan the card or ring to change its settings. The changes will impact only the card or ring you\'ve scanned and will not affect other devices tied to your wallet.</string>
<string name="scan_card_settings_title">Get your Tangem ready!</string>
<string name="security_alert_title">Security Alert</string>
<string name="selling_insufficient_balance_alert_message">You dont have enough funds in your balance to sell this cryptocurrency. Please deposit the desired asset to proceed.</string>
<string name="selling_insufficient_balance_alert_message">You dont have enough funds in your balance to sell cryptocurrency. Please deposit the desired asset to proceed.</string>
<string name="selling_insufficient_balance_alert_title">Insufficient Balance</string>
<string name="selling_regional_restriction_alert_message">Selling cryptocurrency is unavailable in your region at the moment. Were actively working to bring this option to you soon—stay tuned!</string>
<string name="selling_regional_restriction_alert_title">Regional Restriction</string>
@ -1000,8 +1001,8 @@
<string name="warning_approval_in_progress_title">Approval in Progress</string>
<string name="warning_backup_errors_message">It seems that the card or ring activation was not completed correctly. This could be due to an issue with your device\'s NFC module or incorrect tapping of the card or ring to your device. Please contact our Support team for assistance.</string>
<string name="warning_backup_errors_title">Activation error</string>
<string name="warning_beacon_chain_retirement_content">According to BNB network developers, support for the BEP-2 standard will end in June 2024. To avoid losing assets with this standard, please convert them to the BEP-20 standard. Use our swap service or third-party services to transfer funds to the BNB Smart Chain network.</string>
<string name="warning_beacon_chain_retirement_title">BNB Beacon Chain will shut down</string>
<string name="warning_beacon_chain_retirement_content">On December 3, 2024, the BEP-2 network was disabled by decision of the network developers and is no longer supported</string>
<string name="warning_beacon_chain_retirement_title">BNB Beacon Chain shut down</string>
<string name="warning_blocked_funds_for_fee_message">Please deposit some %1$s to cover the network fee</string>
<string name="warning_blocked_funds_for_fee_title">Insufficient funds to cover the network fee</string>
<string name="warning_button_could_be_better">Could be better</string>

View file

@ -376,7 +376,12 @@ internal class DefaultOnrampRepository(
OnrampProvider(
id = onrampProviderDTO.providerId,
info = OnrampProviderInfo(name = providerInfo.name, imageLarge = providerInfo.imageLargeUrl),
info = OnrampProviderInfo(
name = providerInfo.name,
imageLarge = providerInfo.imageLargeUrl,
termsOfUseLink = providerInfo.termsOfUse,
privacyPolicyLink = providerInfo.privacyPolicy,
),
paymentMethods = onrampPaymentMethods.filter { paymentMethod ->
onrampProviderDTO.paymentMethods.any { paymentMethod.id == it }
},

View file

@ -10,4 +10,9 @@ data class OnrampProvider(
)
@Serializable
data class OnrampProviderInfo(val name: String, val imageLarge: String)
data class OnrampProviderInfo(
val name: String,
val imageLarge: String,
val termsOfUseLink: String?,
val privacyPolicyLink: String?,
)

View file

@ -9,4 +9,5 @@ interface OnrampIntents {
fun onBuyClick(quote: OnrampProviderWithQuote.Data)
fun openProviders()
fun onRefresh()
fun onLinkClick(link: String)
}

View file

@ -9,7 +9,10 @@ sealed class OnrampProviderBlockUM {
val providerId: String,
val paymentMethod: OnrampPaymentMethod,
val providerName: String,
val termsOfUseLink: String?,
val privacyPolicyLink: String?,
val isBestRate: Boolean,
val onLinkClick: (String) -> Unit,
val onClick: () -> Unit,
) : OnrampProviderBlockUM()
}

View file

@ -61,6 +61,7 @@ internal class OnrampAmountFieldChangeConverter(
amountFieldModel = amountFieldModel,
secondaryFieldModel = OnrampAmountSecondaryFieldUM.Content(TextReference.EMPTY),
),
buyButtonConfig = buyButtonConfig.copy(enabled = false),
providerBlockState = OnrampProviderBlockUM.Empty,
)
}

View file

@ -122,6 +122,9 @@ internal class OnrampAmountStateFactory(
providerName = providerResult.provider.info.name,
isBestRate = isBestRate,
onClick = onrampIntents::openProviders,
termsOfUseLink = providerResult.provider.info.termsOfUseLink,
privacyPolicyLink = providerResult.provider.info.privacyPolicyLink,
onLinkClick = onrampIntents::onLinkClick,
),
buyButtonConfig = currentState.buyButtonConfig.copy(
enabled = providerResult is SelectProviderResult.ProviderWithQuote,
@ -148,6 +151,9 @@ internal class OnrampAmountStateFactory(
providerName = provider.info.name,
isBestRate = isBestRate,
onClick = onrampIntents::openProviders,
termsOfUseLink = provider.info.termsOfUseLink,
privacyPolicyLink = provider.info.privacyPolicyLink,
onLinkClick = onrampIntents::onLinkClick,
)
}

View file

@ -10,6 +10,7 @@ import com.tangem.core.decompose.model.Model
import com.tangem.core.decompose.model.ParamsContainer
import com.tangem.core.decompose.navigation.Router
import com.tangem.core.decompose.ui.UiMessageSender
import com.tangem.core.navigation.url.UrlOpener
import com.tangem.core.ui.components.BasicDialog
import com.tangem.core.ui.components.DialogButtonUM
import com.tangem.core.ui.extensions.resolveReference
@ -60,6 +61,7 @@ internal class OnrampMainComponentModel @Inject constructor(
private val fetchPairsUseCase: OnrampFetchPairsUseCase,
private val amountInputManager: InputManager,
private val messageSender: UiMessageSender,
private val urlOpener: UrlOpener,
getWalletsUseCase: GetWalletsUseCase,
paramsContainer: ParamsContainer,
) : Model(), OnrampIntents {
@ -286,6 +288,8 @@ internal class OnrampMainComponentModel @Inject constructor(
}
}
override fun onLinkClick(link: String) = urlOpener.openUrl(link)
override fun onDestroy() {
modelScope.launch { clearOnrampCacheUseCase.invoke() }
quotesTaskScheduler.cancelTask()

View file

@ -0,0 +1,100 @@
package com.tangem.features.onramp.main.ui
import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
import androidx.compose.animation.togetherWith
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.ClickableText
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.tangem.core.ui.components.PrimaryButton
import com.tangem.core.ui.extensions.appendColored
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.main.entity.OnrampMainComponentUM
import com.tangem.features.onramp.main.entity.OnrampProviderBlockUM
private const val TERMS_OF_USE_KEY = "termsOfUse"
private const val PRIVACY_POLICY_KEY = "privacyPolicy"
@Composable
internal fun OnrampButtonComponent(state: OnrampMainComponentUM) {
val content = state as? OnrampMainComponentUM.Content
val providerState = content?.providerBlockState as? OnrampProviderBlockUM.Content
Column(
modifier = Modifier
.navigationBarsPadding()
.padding(horizontal = 16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp),
) {
OnrampTosText(providerState)
PrimaryButton(
modifier = Modifier.fillMaxWidth(),
text = stringResource(id = R.string.common_buy),
onClick = state.buyButtonConfig.onClick,
enabled = state.buyButtonConfig.enabled,
)
}
}
@Composable
private fun OnrampTosText(provider: OnrampProviderBlockUM.Content?) {
val termsOfUse = stringResource(R.string.common_terms_of_use)
val privacyPolicy = stringResource(R.string.common_privacy_policy)
val tosText = stringResource(R.string.onramp_legal, termsOfUse, privacyPolicy)
val clickableAnnotation = buildAnnotatedString {
append(tosText.substringBefore(termsOfUse))
pushStringAnnotation(TERMS_OF_USE_KEY, "")
appendColored(termsOfUse, TangemTheme.colors.text.accent)
pop()
append(tosText.substringAfter(termsOfUse).substringBefore(privacyPolicy))
pushStringAnnotation(PRIVACY_POLICY_KEY, "")
appendColored(privacyPolicy, TangemTheme.colors.text.accent)
pop()
}
AnimatedContent(
targetState = provider,
transitionSpec = { fadeIn().togetherWith(fadeOut()) },
label = "Onramp Legal Info Animation",
) { state ->
val termsOfUseLink = provider?.termsOfUseLink
val privacyPolicyLink = provider?.privacyPolicyLink
if (state != null && termsOfUseLink != null && privacyPolicyLink != null) {
ClickableText(
text = clickableAnnotation,
style = TangemTheme.typography.caption2.copy(
color = TangemTheme.colors.text.tertiary,
textAlign = TextAlign.Center,
),
onClick = { offset ->
clickableAnnotation.getStringAnnotations(
tag = TERMS_OF_USE_KEY,
start = offset,
end = offset,
).firstOrNull()?.let {
state.onLinkClick(termsOfUseLink)
}
clickableAnnotation.getStringAnnotations(
tag = PRIVACY_POLICY_KEY,
start = offset,
end = offset,
).firstOrNull()?.let {
state.onLinkClick(privacyPolicyLink)
}
},
)
}
}
}

View file

@ -11,16 +11,13 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.stringResource
import com.tangem.core.ui.components.CircleShimmer
import com.tangem.core.ui.components.PrimaryButton
import com.tangem.core.ui.components.RectangleShimmer
import com.tangem.core.ui.components.appbar.TangemTopAppBar
import com.tangem.core.ui.components.notifications.Notification
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.utils.WindowInsetsZero
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.main.entity.OnrampMainComponentUM
@Composable
@ -49,15 +46,7 @@ internal fun OnrampMainComponentContent(state: OnrampMainComponentUM, modifier:
}
},
floatingActionButton = {
PrimaryButton(
modifier = Modifier
.navigationBarsPadding()
.padding(horizontal = TangemTheme.dimens.spacing16)
.fillMaxWidth(),
text = stringResource(id = R.string.common_buy),
onClick = state.buyButtonConfig.onClick,
enabled = state.buyButtonConfig.enabled,
)
OnrampButtonComponent(state)
},
floatingActionButtonPosition = FabPosition.Center,
)