Updated on 2026-08-14

This commit is contained in:
Tangem 2024-10-15 16:17:56 +04:00
parent 9441ede453
commit b8c2f1b0e9
12 changed files with 105 additions and 43 deletions

View file

@ -35,7 +35,7 @@
<string name="balance_hidden_got_it_button">Verstanden</string>
<string name="balance_hidden_title">Guthaben sind ausgeblendet</string>
<string name="biometric_lockout_permanent_warning_description">Bitte Karte oder Ring scannen</string>
<string name="biometric_lockout_warning_description">Bitte versuche es in 30 Sekunden erneut oder scanne die Karte</string>
<string name="biometric_lockout_warning_description">Bitte versuche es in 30 Sekunden erneut oder scanne die Karte oder Ring</string>
<string name="biometric_lockout_warning_title">Zu viele Versuche</string>
<string name="biometric_unavailable_warning">Du hast die biometrische Authentifizierung auf deinem Telefon deaktiviert und kannst keine Wallets in der App speichern. Um Wallets zu speichern, aktiviere bitte die biometrische Authentifizierung in deinen Telefoneinstellungen.</string>
<string name="button_start_backup_process">Backup-Prozess starten</string>
@ -59,7 +59,7 @@
<string name="card_settings_interrupted_reset_alert_title">Du hast nicht alle deine Karten oder Ringe zurückgesetzt</string>
<string name="card_settings_reset_card_to_factory">Auf Werkseinstellungen zurücksetzen</string>
<string name="card_settings_security_mode">Sicherheitsmodus</string>
<string name="card_settings_title">Karteneinstellungen</string>
<string name="card_settings_title">Karten oder Ring-Einstellungen</string>
<string name="cardano_coin_will_be_send_with_token_description">Zusätzlich zu den Netzwerkgebühren erhebt das Cardano-Netzwerk %1$s ADA bei Transaktionen mit dem Token %2$s </string>
<string name="cardano_coin_will_be_send_with_token_title">Cardano-Transaktionsanforderungen</string>
<string name="cardano_insufficient_balance_to_send_token_description">Um eine %1$s Transaktion durchzuführen, musst du einen gewissen ADA-Betrag einzahlen, um die Netzwerkgebühr und den ADA-Mindestwert zu decken (5 ADA werden empfohlen).</string>
@ -213,7 +213,7 @@
<string name="details_manage_security_access_code">Zugangscode</string>
<string name="details_manage_security_access_code_description">Du musst den richtigen Zugangscode eingeben, bevor du die Karte oder Ring scannst.</string>
<string name="details_manage_security_long_tap">Langes Tippen</string>
<string name="details_manage_security_long_tap_description">Dieser Mechanismus schützt vor Annäherungsangriffen auf eine Karte oder Ring. Es wird eine Verzögerung zwischen dem Empfang und der Ausführung eines Befehls erzwungen. Nach der ersten signierten Transaktion wird dieses Telefon mit der Karte oder Ring verknüpft und die Transaktionen werden sofort signiert.</string>
<string name="details_manage_security_long_tap_description">Dieser Mechanismus schützt vor Annäherungsangriffen auf eine Karte oder einen Ring. Er erzwingt eine Verzögerung zwischen dem Empfang und der Ausführung eines Befehls.</string>
<string name="details_manage_security_passcode">Passcode</string>
<string name="details_manage_security_passcode_description">Bevor du einen Befehl ausführst, der eine Änderung des Kartenstatus zur Folge hat, musst du den Passcode eingeben.</string>
<string name="details_referral_title">Empfehlungsprogramm</string>
@ -257,6 +257,7 @@
<string name="express_exchange_status_exchanging">Tauschen läuft</string>
<string name="express_exchange_status_exchanging_active">Austauschen...</string>
<string name="express_exchange_status_failed">Fehlgeschlagen</string>
<string name="express_exchange_status_paused">Pausiert</string>
<string name="express_exchange_status_received">Einzahlung empfangen</string>
<string name="express_exchange_status_receiving">Einzahlung wird erwartet</string>
<string name="express_exchange_status_receiving_active">Warten auf Einzahlung...</string>
@ -307,7 +308,7 @@
<string name="give_permission_unlimited">Unbegrenzt</string>
<string name="home_button_order">Karte oder Ring bestellen</string>
<string name="home_button_scan">Karte oder Ring scannen</string>
<string name="information_generated_with_ai">Diese Information ist KI generiert</string>
<string name="information_generated_with_ai">Diese Informationen wurden mithilfe von KI generiert. \n Tippe hier, wenn Du Fehler finden.</string>
<string name="initial_message_change_access_code_body">Um den Zugangscode zu ändern, halte die Karte oder Ring wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs.</string>
<string name="initial_message_change_passcode_body">Um den Passcode zu ändern, halte die Karte oder Ring wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs.</string>
<string name="initial_message_create_wallet_body">Um die Wallet zu erstellen, halte die Karte oder Ring wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs.</string>
@ -459,7 +460,7 @@
<string name="onboarding_access_code_feature_1_title">Schützen</string>
<string name="onboarding_access_code_feature_2_description">Du kannst später auf jeder Karte oder Ring einen individuellen Zugangscode einrichten</string>
<string name="onboarding_access_code_feature_2_title">Personalisieren</string>
<string name="onboarding_access_code_feature_3_description">Der Zugangscode kann mit einer verbundenen Karte oder Ring wiederhergestellt werden. Bewahre nicht alle Karten oder Ringe an einem Ort auf.</string>
<string name="onboarding_access_code_feature_3_description">Stelle den Zugangscode mit einer verknüpften Karte oder einem Ring wieder her. Bewahre nicht alle Deine Geräte an einem Ort auf.</string>
<string name="onboarding_access_code_feature_3_title">Wiederherstellen</string>
<string name="onboarding_access_code_hint">Wähle ein beliebiges Wort, eine Phrase oder eine Zahl als Zugangscode</string>
<string name="onboarding_access_code_intro_title">Zugangscode erstellen</string>
@ -470,7 +471,7 @@
<string name="onboarding_activation_error_message">Bitte wiederhole den Vorgang. Die Karte oder Ring wird auf Werkseinstellungen zurückgesetzt.</string>
<string name="onboarding_activation_error_title">Aktivierungsfehler</string>
<string name="onboarding_add_tokens">Token hinzufügen</string>
<string name="onboarding_alert_message_not_max_backup_cards_added">Du hast eine Backup-Karte oder Ring hinzugefügt. Wenn der Backup-Prozess abgeschlossen ist, kannst du keine weiteren Backup-Karten oder Ringe hinzufügen. Wenn du noch eine Karte oder Ring hast, füge diese zum Backup hinzu. Möchtest du den Backup-Prozess fortsetzen?</string>
<string name="onboarding_alert_message_not_max_backup_cards_added">Du hast einee Backup-Karte oder einen Backup-Ring hinzugefügt. Wenn der Backup-Prozess abgeschlossen ist, kannst Du keine weiteren Backup-Geräte hinzufügen. Wenn Du noch eine Karte oder einen Ring hast, fügen diese(n) zum Backup hinzu. Möchtest Du den Backup-Prozess fortsetzen?</string>
<string name="onboarding_backup_exit_warning">Der Sicherungsvorgang ist teilweise abgeschlossen. Du kannst ihn jetzt nicht beenden.</string>
<string name="onboarding_bottom_sheet_passphrase_description">Die Passphrase ist eine fortschrittliche Sicherheitsfunktion, die von Krypto-Wallets verwendet wird. Sie fügt ein zusätzliches Wort oder eine Phrase deiner Wahl zu der bereits bestehenden Wiederherstellungsphrase hinzu, um einen brandneuen Satz von Adressen zu erzeugen.</string>
<string name="onboarding_button_add_backup_card">Hinzufügen einer Sicherungskarte oder Ring</string>
@ -610,7 +611,7 @@
<string name="save_user_wallet_agreement_notice">Beachte, dass für Transaktionen mit deinem Guthaben weiterhin deine Karte oder Ring erforderlich ist</string>
<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 Karten oder Ringe.</string>
<string name="scan_card_settings_title">Halte deine Karte bereit!</string>
<string name="scan_card_settings_title">Halte deine Karte oder Ring bereit!</string>
<string name="send_additional_field_already_included">Bereits in der eingegebenen Adresse enthalten</string>
<string name="send_alert_fee_too_high_text">Der Provisionsbetrag ist %s mal der empfohlene Betrag. Stelle sicher, dass die benutzerdefinierten Einstellungen korrekt sind.</string>
<string name="send_alert_fee_too_low_text">Du hast eine Kommission angegeben, die unter dem empfohlenen Betrag liegt, was zu einer Verzögerung Ihrer Transaktion führen könnte. Weiter?</string>
@ -710,7 +711,7 @@
<string name="staking_details_reward_claiming">Belohnungen beanspruchen</string>
<string name="staking_details_reward_claiming_info">Eine Möglichkeit, Staking-Belohnungen zu erhalten. Es kann automatisch oder manuell beansprucht werden.</string>
<string name="staking_details_reward_schedule">Belohnungszeitplan</string>
<string name="staking_details_reward_schedule_info">Dabei handelt es sich um einen Zeitplan, der festlegt, wann die Teilnehmer am Staking ihre Belohnungen erhalten.</string>
<string name="staking_details_reward_schedule_info">Dies ist ein Zeitplan, der bestimmt, wann Teilnehmer am Staking ihre Belohnungen erhalten. Der Zeitpunkt der Belohnungsverteilung kann je nach Validator und Netzwerklast leicht variieren.</string>
<string name="staking_details_rewards_to_claim">Belohnungen %s</string>
<string name="staking_details_title">Staking %s</string>
<string name="staking_details_unbonding_period">Entbindungsdauer</string>
@ -736,6 +737,7 @@
<string name="staking_notification_network_error_text">Aufgrund von Netzwerkproblemen ist Staking derzeit nicht verfügbar. Bitte versuche es später erneut.</string>
<string name="staking_notification_new_validator_funds_transfer">Beim Staking im %1$s -Netzwerk mit einem neuen Validator werden alle zuvor eingesetzten Kryptos automatisch an diesen Validator übertragen</string>
<string name="staking_notification_restake_rewards_text">Reinvestiert Deine verdienten Prämien in Deinen Einsatzbetrag und erhöht so den potenziellen Gewinn.</string>
<string name="staking_notification_restake_text">Mit Restake kannst Du Dein Guthaben von einem Validator zu einem anderen verschieben, ohne dass Du den Stake aufheben musst.</string>
<string name="staking_notification_unlock_text">Entsperre dein Geld, um es aus dem Staking-Prozess abzuheben. Das Freischalten nimmt %s.</string>
<string name="staking_notification_unstake_cosmos_text">Nach Ablauf der 21-tägigen Bindungsfrist kannst Du über Dein Guthaben verfügen. Die Prämie wird zusammen mit dem ungestaketen Guthaben abgehoben.</string>
<string name="staking_notification_unstake_text">Deine Assets steht Dir nach Ablauf der Frist für die Aufhebung der Bindung %s zur Verfügung.</string>
@ -754,6 +756,7 @@
<string name="staking_reward_schedule_day">Täglich</string>
<string name="staking_reward_schedule_each">Alle %s</string>
<string name="staking_reward_schedule_each_day">Täglich</string>
<string name="staking_reward_schedule_each_days">Alle %s</string>
<string name="staking_reward_schedule_epoch">Pro Epoche</string>
<string name="staking_reward_schedule_era">Pro Ära</string>
<string name="staking_reward_schedule_hour">Stündlich</string>
@ -762,7 +765,6 @@
<string name="staking_rewards">Belohnungen</string>
<string name="staking_stake_locked">Stake gesperrt</string>
<string name="staking_stake_more">Mehr staken</string>
<string name="staking_summary_description_text">Du setzt %1$s ein und erhältst jährlich %2$s</string>
<string name="staking_tap_to_unlock">Zum Entsperren antippen</string>
<string name="staking_tap_to_unlock_or_vote">Tippe zum Entsperren oder Abstimmen</string>
<string name="staking_tap_to_withdraw">Zum abheben antippen</string>
@ -955,7 +957,7 @@
<string name="warning_low_signatures_message">Auf dieser Karte oder Ring sind nur noch %s Unterschriften übrig. Du musst dein gesamtes Guthaben abheben.</string>
<string name="warning_low_signatures_title">Geringe Anzahl von Unterschriften</string>
<string name="warning_manage_tokens_legacy_derivation_message">Token in verschiedenen Netzwerken können unterschiedliche Adressen haben. Überprüfe bei der Überweisung noch einmal, ob deine Adresse mit der des Netzwerks übereinstimmt.</string>
<string name="warning_matic_migration_message">MATIC wird auf POL migriert. Es gibt jedoch keine Frist, und MATIC wird noch nicht abgeschafft. Du kannst MATIC-Token weiterhin verwenden oder sie über eien Exchange gegen POL tauschen.</string>
<string name="warning_matic_migration_message">MATIC wird zu POL migriert. Es gibt jedoch keine festgelegte Frist und MATIC wird noch nicht abgeschafft. Du kannst den MATIC-Token weiterhin bedenkenlos verwenden oder es gegen POL austauschen.</string>
<string name="warning_matic_migration_title">Migration von MATIC zu POL</string>
<plurals name="warning_missing_derivation_message">
<item quantity="one">Verwende deine Karte oder Ring, um eine Adresse für das %d-Netz zu erhalten</item>

View file

@ -729,7 +729,9 @@
<string name="staking_reward_claiming_manual">Manual</string>
<string name="staking_reward_schedule_block">Bloquear</string>
<string name="staking_reward_schedule_day">Día</string>
<string name="staking_reward_schedule_each">Cada %s</string>
<string name="staking_reward_schedule_each_day">Cada día</string>
<string name="staking_reward_schedule_each_days">Cada %s</string>
<string name="staking_reward_schedule_epoch">Época</string>
<string name="staking_reward_schedule_era">Era</string>
<string name="staking_reward_schedule_hour">Hora</string>
@ -738,7 +740,6 @@
<string name="staking_rewards">Recompensas</string>
<string name="staking_stake_locked">El stake está bloqueado</string>
<string name="staking_stake_more">Hacer más staking</string>
<string name="staking_summary_description_text">Haga staking de %1$s y recibirá %2$s anualmente</string>
<string name="staking_tap_to_unlock">Toque para desbloquear</string>
<string name="staking_tap_to_withdraw">Toque para retirar</string>
<string name="staking_title_stake">Stake %s</string>

View file

@ -729,7 +729,9 @@
<string name="staking_reward_claiming_manual">Manuel</string>
<string name="staking_reward_schedule_block">Bloquer</string>
<string name="staking_reward_schedule_day">Jour</string>
<string name="staking_reward_schedule_each">Chaque %s</string>
<string name="staking_reward_schedule_each_day">Chaque jour</string>
<string name="staking_reward_schedule_each_days">Chaque %s</string>
<string name="staking_reward_schedule_epoch">Époque</string>
<string name="staking_reward_schedule_era">Ère</string>
<string name="staking_reward_schedule_hour">Heure</string>
@ -738,7 +740,6 @@
<string name="staking_rewards">Récompenses</string>
<string name="staking_stake_locked">Stake verrouillé</string>
<string name="staking_stake_more">Staker plus</string>
<string name="staking_summary_description_text">Vous stakez %1$s et recevrez %2$s par an</string>
<string name="staking_tap_to_unlock">Appuyez pour déverrouiller</string>
<string name="staking_tap_to_withdraw">Appuyez pour retirer</string>
<string name="staking_title_stake">Stake %s</string>

View file

@ -254,6 +254,7 @@
<string name="express_exchange_status_exchanging">交換中</string>
<string name="express_exchange_status_exchanging_active">交換中...</string>
<string name="express_exchange_status_failed">失敗しました</string>
<string name="express_exchange_status_paused">停止中</string>
<string name="express_exchange_status_received">入金済み</string>
<string name="express_exchange_status_receiving">入金待ち</string>
<string name="express_exchange_status_receiving_active">入金待ち...</string>
@ -585,7 +586,7 @@
<string name="reset_card_with_backup_to_factory_message">工場出荷時設定にリセットすると、選択したカードやリングからウォレットが完全に削除されます。現在のウォレットを復元したり、カードやリングを使用してアクセスコードを復元することはできません。</string>
<string name="reset_card_without_backup_to_factory_message">工場出荷時の状態にリセットすると、選択したカードやリングからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。</string>
<string name="ring_promo_text">Tangem Ringユーザーは、11/15日までChangelly経由でスワップを3回手数料ゼロで行えます</string>
<string name="ring_promo_title">今すぐ手数料0%でスワップしましょう!</string>
<string name="ring_promo_title">今すぐ手数料0%%でスワップしましょう!</string>
<string name="russian_bank_card_warning_subtitle">他の国の銀行カードと、ロシア連邦外での居住許可証または登録をお持ちですか?</string>
<string name="russian_bank_card_warning_title">ロシアの銀行カードは現在ご利用いただけません</string>
<string name="save_user_wallet_agreement_access_description">アプリにログインして、カードまたはリングをスキャンせずに残高を確認できます</string>
@ -725,6 +726,7 @@
<string name="staking_notification_network_error_text">ネットワークの状態により、現在ステーキングはご利用いただけません。しばらくしてからもう一度お試しください。</string>
<string name="staking_notification_new_validator_funds_transfer">新しいバリデーターで%1$sネットワークにステーキングすると、以前にステーキングされた資金はすべてこのバリデーターに自動的に転送されます。</string>
<string name="staking_notification_restake_rewards_text">獲得した報酬をステーキングに再投資し、潜在的な収益を増やします。</string>
<string name="staking_notification_restake_text">再ステーキングを使うと、ステーキングを解除することなく、あるバリデータから別のバリデータに資金を移動できます。</string>
<string name="staking_notification_unlock_text">資金をステーキングから引き出すには、ロックを解除してください。ロック解除には%sかかります。</string>
<string name="staking_notification_unstake_cosmos_text">資金は、21日間のロック解除期間後に使用可能になります。報酬は、ロック解除後の資金とともに引き出されます。</string>
<string name="staking_notification_unstake_text">%sのステーキング解除期間後、資金はすぐ利用可能となります。</string>
@ -743,6 +745,7 @@
<string name="staking_reward_schedule_day">毎日</string>
<string name="staking_reward_schedule_each">%sごと</string>
<string name="staking_reward_schedule_each_day">毎日</string>
<string name="staking_reward_schedule_each_days">%sごと</string>
<string name="staking_reward_schedule_epoch">エポック毎</string>
<string name="staking_reward_schedule_era">時代毎</string>
<string name="staking_reward_schedule_hour">毎時間</string>
@ -751,7 +754,6 @@
<string name="staking_rewards">報酬</string>
<string name="staking_stake_locked">ステーキングはロックされています</string>
<string name="staking_stake_more">もっとステーキングする</string>
<string name="staking_summary_description_text">%1$sをステーキングし、毎%2$s報酬を受け取ります</string>
<string name="staking_tap_to_unlock">タップしてロック解除</string>
<string name="staking_tap_to_unlock_or_vote">タップしてロック解除もしくは投票</string>
<string name="staking_tap_to_withdraw">タップして引き出す</string>

View file

@ -261,6 +261,7 @@
<string name="express_exchange_status_exchanging">Обмен</string>
<string name="express_exchange_status_exchanging_active">Обмен...</string>
<string name="express_exchange_status_failed">Неудачно</string>
<string name="express_exchange_status_paused">Приостановлен</string>
<string name="express_exchange_status_received">Депозит получен</string>
<string name="express_exchange_status_receiving">Ожидание депозита</string>
<string name="express_exchange_status_receiving_active">Ожидаем пополнения...</string>
@ -752,6 +753,7 @@
<string name="staking_notification_network_error_text">Стейкинг временно недоступен из-за проблем в сети. Пожалуйста, попробуйте позже.</string>
<string name="staking_notification_new_validator_funds_transfer">Стейкинг в сети %1$s с новым валидатором автоматически переведет ваши текущие застейканные средства на него.</string>
<string name="staking_notification_restake_rewards_text">Реинвестируйте свои заработанные награды в вашу застейканную сумму, увеличивая потенциальный доход</string>
<string name="staking_notification_restake_text">Рестейк позволяет вам переместить средства из одного валидатора в другого без необходимости выхода из стейкинга.</string>
<string name="staking_notification_unlock_text">Разблокируйте свои средства, чтобы вывести их из стейкинга. Разблокировка займёт %s.</string>
<string name="staking_notification_unstake_cosmos_text">Ваши средства будут доступны для использования после 21-дневного периода отзыва. Награда будет выведена вместе с вашими выводими средствами.</string>
<string name="staking_notification_unstake_text">Ваши средства будут доступны после %s периода отзыва.</string>
@ -767,7 +769,9 @@
<string name="staking_reward_claiming_manual">Вручную</string>
<string name="staking_reward_schedule_block">За блок</string>
<string name="staking_reward_schedule_day">Ежедневно</string>
<string name="staking_reward_schedule_each">Каждый %s</string>
<string name="staking_reward_schedule_each_day">Каждый день</string>
<string name="staking_reward_schedule_each_days">Каждые %s дня</string>
<string name="staking_reward_schedule_epoch">За эпоху</string>
<string name="staking_reward_schedule_era">За эру</string>
<string name="staking_reward_schedule_hour">Ежечасно</string>
@ -776,7 +780,6 @@
<string name="staking_rewards">Вознаграждения</string>
<string name="staking_stake_locked">Стейкинг закрыт</string>
<string name="staking_stake_more">Застейкать еще</string>
<string name="staking_summary_description_text">Вы стейкаете %1$s и будете получать %2$s ежегодно</string>
<string name="staking_tap_to_unlock">Нажмите для разблокировки</string>
<string name="staking_tap_to_unlock_or_vote">Нажмите для разблокировки</string>
<string name="staking_tap_to_withdraw">Нажмите для вывода</string>

View file

@ -262,6 +262,7 @@
<string name="express_exchange_status_exchanging">Обмін</string>
<string name="express_exchange_status_exchanging_active">Обмін...</string>
<string name="express_exchange_status_failed">Не вдалося</string>
<string name="express_exchange_status_paused">Призупинено</string>
<string name="express_exchange_status_received">Депозит отримано</string>
<string name="express_exchange_status_receiving">Очікуємо на депозит</string>
<string name="express_exchange_status_receiving_active">Очікуємо на депозит...</string>
@ -766,6 +767,7 @@
<string name="staking_reward_schedule_day">День</string>
<string name="staking_reward_schedule_each">Кожен %s</string>
<string name="staking_reward_schedule_each_day">Щодня</string>
<string name="staking_reward_schedule_each_days">Кожен %s</string>
<string name="staking_reward_schedule_epoch">Епоха</string>
<string name="staking_reward_schedule_era">Ера</string>
<string name="staking_reward_schedule_hour">Година</string>
@ -774,7 +776,6 @@
<string name="staking_rewards">Винагороди</string>
<string name="staking_stake_locked">Стейкінг закрито</string>
<string name="staking_stake_more">Застейкати більше</string>
<string name="staking_summary_description_text">Ви стейкаєте %1$s і будете отримувати %2$s щороку</string>
<string name="staking_tap_to_unlock">Натисніть, щоб розблокувати</string>
<string name="staking_tap_to_unlock_or_vote">Натисніть, щоб розблокувати або проголосувати</string>
<string name="staking_tap_to_withdraw">Натисніть, щоб вивести кошти</string>

View file

@ -257,6 +257,7 @@
<string name="express_exchange_status_exchanging">Exchanging</string>
<string name="express_exchange_status_exchanging_active">Exchanging...</string>
<string name="express_exchange_status_failed">Failed</string>
<string name="express_exchange_status_paused">Paused</string>
<string name="express_exchange_status_received">Deposit received</string>
<string name="express_exchange_status_receiving">Awaiting deposit</string>
<string name="express_exchange_status_receiving_active">Awaiting deposit...</string>
@ -307,7 +308,7 @@
<string name="give_permission_unlimited">Unlimited</string>
<string name="home_button_order">Order Tangem</string>
<string name="home_button_scan">Scan Tangem</string>
<string name="information_generated_with_ai">This information was generated with AI.\nTap here, If you find any errors.</string>
<string name="information_generated_with_ai">This information was generated with AI.\nTap here, if you find any errors.</string>
<string name="initial_message_change_access_code_body">To change the access code tap the card or ring as shown above and do not remove until the end of the operation</string>
<string name="initial_message_change_passcode_body">To change the passcode tap the card as shown above and do not remove until the end of the operation</string>
<string name="initial_message_create_wallet_body">To create the wallet tap the card as shown above and do not remove until the end of the operation</string>
@ -735,6 +736,7 @@
<string name="staking_notification_network_error_text">Staking is currently unavailable due to network conditions. Please try again later.</string>
<string name="staking_notification_new_validator_funds_transfer">Staking in the %1$s network with a new validator will automatically transfer all previously staked funds to this validator</string>
<string name="staking_notification_restake_rewards_text">Reinvests your earned rewards in your staked amount, increasing potential earnings.</string>
<string name="staking_notification_restake_text">Restake lets you move your funds from one validator to another without the need to unstake</string>
<string name="staking_notification_unlock_text">Unlock your money to withdraw it from staking process. Unlocking takes %s.</string>
<string name="staking_notification_unstake_cosmos_text">Your funds will be available for use after the 21-day unbonding period. Reward will be withdrawn along with your unstaking funds.</string>
<string name="staking_notification_unstake_text">Your funds will be available for use after the %s unbonding period.</string>
@ -753,6 +755,7 @@
<string name="staking_reward_schedule_day">Daily</string>
<string name="staking_reward_schedule_each">Each %s</string>
<string name="staking_reward_schedule_each_day">Each day</string>
<string name="staking_reward_schedule_each_days">Each %s days</string>
<string name="staking_reward_schedule_epoch">Per Epoch</string>
<string name="staking_reward_schedule_era">Per Era</string>
<string name="staking_reward_schedule_hour">Hourly</string>

View file

@ -9,7 +9,7 @@ internal class ExchangeStatusConverter : Converter<ExchangeStatusResponse, Excha
override fun convert(value: ExchangeStatusResponse): ExchangeStatusModel {
return ExchangeStatusModel(
providerId = value.providerId,
status = ExchangeStatus.values().firstOrNull {
status = ExchangeStatus.entries.firstOrNull {
it.name.lowercase() == value.status.name.lowercase()
},
txId = value.externalTxId,

View file

@ -24,4 +24,5 @@ enum class ExchangeStatus {
Cancelled,
TxFailed,
Unknown,
Paused,
}

View file

@ -35,7 +35,7 @@ internal data class SwapTransactionsState(
)
@Immutable
internal class ExchangeStatusState(
internal data class ExchangeStatusState(
val status: ExchangeStatus,
val text: TextReference,
val isActive: Boolean,

View file

@ -3,6 +3,7 @@ package com.tangem.feature.tokendetails.presentation.tokendetails.state.factory
import com.tangem.core.analytics.api.AnalyticsEventHandler
import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
import com.tangem.core.ui.extensions.TextReference
import com.tangem.core.ui.extensions.resourceReference
import com.tangem.core.ui.utils.BigDecimalFormatter
import com.tangem.core.ui.utils.toDateFormatWithTodayYesterday
import com.tangem.core.ui.utils.toTimeFormat
@ -189,6 +190,7 @@ internal class TokenDetailsSwapTransactionsStateConverter(
val isFailed = status == ExchangeStatus.Failed
val isSending = status == ExchangeStatus.Sending
val isRefunded = status == ExchangeStatus.Refunded
val isPaused = status == ExchangeStatus.Paused
val isWaitingDone = !isWaiting
val isConfirmingDone = !isConfirming && isWaitingDone
@ -212,6 +214,7 @@ internal class TokenDetailsSwapTransactionsStateConverter(
hasFailed = hasFailed,
isVerifying = isVerifying,
isFailed = isFailed,
isPaused = isPaused,
),
)
add(
@ -276,6 +279,7 @@ internal class TokenDetailsSwapTransactionsStateConverter(
hasFailed: Boolean,
isVerifying: Boolean = false,
isFailed: Boolean = false,
isPaused: Boolean,
) = when {
isVerifying -> ExchangeStatusState(
status = ExchangeStatus.Verifying,
@ -283,6 +287,12 @@ internal class TokenDetailsSwapTransactionsStateConverter(
isActive = true,
isDone = false,
)
isPaused -> ExchangeStatusState(
status = ExchangeStatus.Paused,
text = resourceReference(id = R.string.express_exchange_status_paused),
isActive = true,
isDone = false,
)
hasFailed || isFailed || isRefunded -> ExchangeStatusState(
status = ExchangeStatus.Failed,
text = TextReference.Res(R.string.express_exchange_status_failed),

View file

@ -18,13 +18,17 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.components.SpacerWMax
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.extensions.resourceReference
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.feature.swap.domain.models.domain.ExchangeStatus
import com.tangem.feature.tokendetails.presentation.tokendetails.state.ExchangeStatusState
import com.tangem.features.tokendetails.impl.R
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
@Composable
internal fun ExchangeStatusBlock(
@ -103,34 +107,34 @@ private fun ExchangeStatusStep(
label = "Exchange Step Change Success",
modifier = Modifier
.size(TangemTheme.dimens.size20),
) {
) { state ->
when {
it.status == ExchangeStatus.Cancelled -> ExchangeStep(
iconRes = R.drawable.ic_close_24,
color = TangemTheme.colors.icon.warning,
isDone = false,
)
it.status == ExchangeStatus.Failed -> ExchangeStep(
iconRes = R.drawable.ic_close_24,
color = TangemTheme.colors.icon.warning,
isDone = it.isDone,
)
it.status == ExchangeStatus.Refunded -> ExchangeStep(
iconRes = R.drawable.ic_close_24,
color = TangemTheme.colors.icon.warning,
isDone = it.isDone,
)
it.status == ExchangeStatus.Verifying -> ExchangeStep(
state.status == ExchangeStatus.Cancelled -> {
ExchangeStep(
iconRes = R.drawable.ic_close_24,
color = TangemTheme.colors.icon.warning,
isDone = false,
)
}
state.status == ExchangeStatus.Failed || state.status == ExchangeStatus.Refunded ||
state.status == ExchangeStatus.Paused -> {
ExchangeStep(
iconRes = R.drawable.ic_close_24,
color = TangemTheme.colors.icon.warning,
isDone = state.isDone,
)
}
state.status == ExchangeStatus.Verifying -> ExchangeStep(
iconRes = R.drawable.ic_exclamation_24,
color = TangemTheme.colors.icon.attention,
isDone = it.isDone,
isDone = state.isDone,
)
it.isDone -> ExchangeStep(
state.isDone -> ExchangeStep(
iconRes = R.drawable.ic_check_24,
color = TangemTheme.colors.icon.primary1,
isDone = true,
)
it.isActive -> ExchangeStepInProgress()
state.isActive -> ExchangeStepInProgress()
else -> ExchangeStepDefault()
}
}
@ -144,11 +148,14 @@ private fun ExchangeStatusStep(
@Composable
private fun ExchangeStatusStepText(stepStatus: ExchangeStatusState) {
val status = stepStatus.status
val textColor = when {
stepStatus.status == ExchangeStatus.Cancelled -> TangemTheme.colors.icon.warning
stepStatus.status == ExchangeStatus.Refunded -> TangemTheme.colors.icon.warning
stepStatus.status == ExchangeStatus.Failed && !stepStatus.isDone -> TangemTheme.colors.icon.warning
stepStatus.status == ExchangeStatus.Verifying && !stepStatus.isDone -> TangemTheme.colors.icon.attention
status == ExchangeStatus.Cancelled || status == ExchangeStatus.Refunded || status == ExchangeStatus.Paused -> {
TangemTheme.colors.icon.warning
}
status == ExchangeStatus.Failed && !stepStatus.isDone -> TangemTheme.colors.icon.warning
status == ExchangeStatus.Verifying && !stepStatus.isDone -> TangemTheme.colors.icon.attention
stepStatus.isDone -> TangemTheme.colors.text.primary1
!stepStatus.isActive -> TangemTheme.colors.text.disabled
else -> TangemTheme.colors.text.primary1
@ -222,4 +229,35 @@ private fun ExchangeStepSeparator() {
shape = CircleShape,
),
)
}
@Preview
@Composable
private fun Preview_ExchangeStatusBlock() {
val base = ExchangeStatusState(
status = ExchangeStatus.Failed,
text = resourceReference(id = R.string.express_exchange_status_failed),
isActive = true,
isDone = false,
)
TangemThemePreview {
ExchangeStatusBlock(
statuses = listOf(
base,
base.copy(isActive = false, isDone = false),
base.copy(isActive = true, isDone = false),
base.copy(isActive = true, isDone = true),
ExchangeStatusState(
status = ExchangeStatus.Paused,
text = resourceReference(id = R.string.express_exchange_status_paused),
isActive = true,
isDone = false,
),
)
.toImmutableList(),
showLink = false,
onClick = {},
)
}
}