Updated on 2026-08-14
This commit is contained in:
commit
a3d5e878a7
15 changed files with 170 additions and 44 deletions
|
|
@ -722,6 +722,7 @@
|
|||
<string name="staking_reward_schedule_block">Pro Block</string>
|
||||
<string name="staking_reward_schedule_day">Täglich</string>
|
||||
<string name="staking_reward_schedule_each_day">Täglich</string>
|
||||
<string name="staking_reward_schedule_each_sec">Alle %1$s Sek.</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>
|
||||
|
|
@ -744,6 +745,7 @@
|
|||
<string name="staking_unstaking_item_name">Unstake Assets %s</string>
|
||||
<string name="staking_validator">Validator/ Prüfer</string>
|
||||
<string name="staking_validators">Validatoren</string>
|
||||
<string name="staking_validators_label">Strategischer Partner</string>
|
||||
<string name="staking_vote">Abstimmung</string>
|
||||
<string name="staking_vote_locked">Abstimmung gesperrt</string>
|
||||
<string name="staking_withdraw">Zurückziehen</string>
|
||||
|
|
|
|||
|
|
@ -338,7 +338,7 @@
|
|||
</plurals>
|
||||
<string name="manage_tokens_remove">Eliminar</string>
|
||||
<string name="manage_tokens_search_placeholder">por ejemplo, BTC I trust, hodl I must</string>
|
||||
<string name="manage_tokens_toast_portfolio_updated">Su cartera ha sido actualizada</string>
|
||||
<string name="manage_tokens_toast_portfolio_updated">Su portafolio ha sido actualizada</string>
|
||||
<string name="manage_tokens_unavailable_description">El token seleccionado no está disponible actualmente para acciones dentro de la billetera cripto. Pero no se preocupa, puede expresar su interés votando a favor.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Votar a favor</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Elegir wallet</string>
|
||||
|
|
@ -373,7 +373,7 @@
|
|||
<string name="markets_sort_by_experienced_buyers_title">Compradores experimentados</string>
|
||||
<string name="markets_sort_by_rating_title">Evaluación</string>
|
||||
<string name="markets_sort_by_title">Ordenar por</string>
|
||||
<string name="markets_sort_by_top_gainers_title">Mejores Ganadores</string>
|
||||
<string name="markets_sort_by_top_gainers_title">Top Ganadores</string>
|
||||
<string name="markets_sort_by_top_losers_title">Top Perdedores</string>
|
||||
<string name="markets_sort_by_trending_title">Tendencias</string>
|
||||
<string name="markets_token_details_about_token_title">Acerca de %s</string>
|
||||
|
|
@ -720,6 +720,7 @@
|
|||
<string name="staking_reward_schedule_block">Bloquear</string>
|
||||
<string name="staking_reward_schedule_day">Día</string>
|
||||
<string name="staking_reward_schedule_each_day">Cada día</string>
|
||||
<string name="staking_reward_schedule_each_sec">Cada %1$s segundo(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>
|
||||
|
|
@ -742,8 +743,9 @@
|
|||
<string name="staking_unstaking_item_name">Detenando el staking de activos %s</string>
|
||||
<string name="staking_validator">Validador</string>
|
||||
<string name="staking_validators">Validadores</string>
|
||||
<string name="staking_validators_label">Socio estratégico</string>
|
||||
<string name="staking_vote">Votar</string>
|
||||
<string name="staking_vote_locked">Voto bloqueado</string>
|
||||
<string name="staking_vote_locked">Votar</string>
|
||||
<string name="staking_withdraw">Retirar</string>
|
||||
<string name="staking_your_stakes">Sus stakes</string>
|
||||
<string name="story_awe_description">Almacene sus activos crypto de forma segura manteniendo las claves privadas contenidas en su tarjeta</string>
|
||||
|
|
|
|||
|
|
@ -720,6 +720,7 @@
|
|||
<string name="staking_reward_schedule_block">Bloquer</string>
|
||||
<string name="staking_reward_schedule_day">Jour</string>
|
||||
<string name="staking_reward_schedule_each_day">Chaque jour</string>
|
||||
<string name="staking_reward_schedule_each_sec">Toute(s) les %1$s seconde(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>
|
||||
|
|
@ -742,8 +743,9 @@
|
|||
<string name="staking_unstaking_item_name">En train de destaker les actifs %s</string>
|
||||
<string name="staking_validator">Validateur</string>
|
||||
<string name="staking_validators">Validateurs</string>
|
||||
<string name="staking_validators_label">Partenaire stratégique</string>
|
||||
<string name="staking_vote">Voter</string>
|
||||
<string name="staking_vote_locked">Vote bloqué</string>
|
||||
<string name="staking_vote_locked">Voter</string>
|
||||
<string name="staking_withdraw">Retirer</string>
|
||||
<string name="staking_your_stakes">Vos stakes</string>
|
||||
<string name="story_awe_description">Stockez vos actifs crypto en toute sécurité tout en conservant les clés privées contenues dans votre carte</string>
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@
|
|||
<plurals name="common_days">
|
||||
<item quantity="other">%d 日</item>
|
||||
</plurals>
|
||||
<plurals name="common_days_no_param">
|
||||
<item quantity="other">日</item>
|
||||
</plurals>
|
||||
<string name="common_delete">削除</string>
|
||||
<string name="common_disabled">無効</string>
|
||||
<string name="common_done">完了</string>
|
||||
|
|
@ -340,7 +343,7 @@
|
|||
<string name="manage_tokens_unavailable_vote">賛成票を投じる</string>
|
||||
<string name="manage_tokens_wallet_selector_title">ウォレットを選択</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">ウォレットは複数のネットワークをサポートしていません。</string>
|
||||
<string name="markets_add_to_my_portfolio_description">このアセットの購入、交換、受け取りを開始するには、ポートフォリオに追加してください。</string>
|
||||
<string name="markets_add_to_my_portfolio_description">このアセットを購入・交換・受け取るには、ポートフォリオに追加してください。</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">このアセットは利用できません</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">このアセットはこのウォレットでは使用できません。</string>
|
||||
<string name="markets_add_to_portfolio_button">ポートフォリオに追加</string>
|
||||
|
|
@ -375,6 +378,9 @@
|
|||
<string name="markets_sort_by_top_losers_title">下落率上位</string>
|
||||
<string name="markets_sort_by_trending_title">トレンド</string>
|
||||
<string name="markets_token_details_about_token_title">%sについて</string>
|
||||
<plurals name="markets_token_details_amount_exchanges">
|
||||
<item quantity="other">%d取引所</item>
|
||||
</plurals>
|
||||
<plurals name="markets_token_details_based_on_ratings">
|
||||
<item quantity="other">%d のレーティングに基づいて</item>
|
||||
</plurals>
|
||||
|
|
@ -385,6 +391,12 @@
|
|||
<string name="markets_token_details_circulating_supply">循環供給量</string>
|
||||
<string name="markets_token_details_circulating_supply_description">取引可能で市場に流通しているコインの総数</string>
|
||||
<string name="markets_token_details_circulating_supply_full">循環供給量</string>
|
||||
<string name="markets_token_details_empty_exchanges">取引所が見つかりません</string>
|
||||
<string name="markets_token_details_exchange">取引所</string>
|
||||
<string name="markets_token_details_exchange_trust_score_caution">注意</string>
|
||||
<string name="markets_token_details_exchange_trust_score_risky">危険</string>
|
||||
<string name="markets_token_details_exchange_trust_score_trusted">信頼できる</string>
|
||||
<string name="markets_token_details_exchanges_title">取引所</string>
|
||||
<string name="markets_token_details_experienced_buyers">経験豊富な買い手</string>
|
||||
<string name="markets_token_details_experienced_buyers_description">少なくとも100の発信取引を持つネット・バイヤー</string>
|
||||
<string name="markets_token_details_experienced_buyers_full">経験豊富な買い手</string>
|
||||
|
|
@ -402,6 +414,7 @@
|
|||
<string name="markets_token_details_liquidity_description">指定された期間中のトークンに利用可能な流動性の変化</string>
|
||||
<string name="markets_token_details_liquidity_full">流動性</string>
|
||||
<string name="markets_token_details_liquidity_index">流動性指数</string>
|
||||
<string name="markets_token_details_listed_on">上場先</string>
|
||||
<string name="markets_token_details_low">低い</string>
|
||||
<string name="markets_token_details_market_capitalization">時価総額</string>
|
||||
<string name="markets_token_details_market_capitalization_description">暗号資産の市場価値の合計。コインの現在の価格と、流通しているコインの総数を掛けて計算されます。</string>
|
||||
|
|
@ -424,6 +437,7 @@
|
|||
<string name="markets_token_details_trading_volume">取引量(24時間)</string>
|
||||
<string name="markets_token_details_trading_volume_24h_description">過去24時間以内に取引された暗号資産の合計額。市場の活発さと流動性を示します。</string>
|
||||
<string name="markets_token_details_trading_volume_full">取引量(24時間)</string>
|
||||
<string name="markets_token_details_volume">取引量</string>
|
||||
<string name="markets_tooltip_message">これをドラッグするか、検索窓をタップして、マーケットから直接トークンを追加します</string>
|
||||
<string name="markets_tooltip_title">トークンを追加</string>
|
||||
<string name="nfc_error_unavailable">お使いのデバイスではNFCが使用できません</string>
|
||||
|
|
@ -712,7 +726,10 @@
|
|||
<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">%1$s日ごとに</string>
|
||||
<string name="staking_reward_schedule_each_sec">%1$s秒毎</string>
|
||||
<string name="staking_reward_schedule_epoch">エポック毎</string>
|
||||
<string name="staking_reward_schedule_era">時代毎</string>
|
||||
<string name="staking_reward_schedule_hour">毎時間</string>
|
||||
|
|
@ -723,6 +740,7 @@
|
|||
<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>
|
||||
<string name="staking_title_stake">%sをステーキングする</string>
|
||||
<string name="staking_title_unstake">%sのステーキング解除</string>
|
||||
|
|
@ -735,8 +753,9 @@
|
|||
<string name="staking_unstaking_item_name">ステーキング解除中の資産%s</string>
|
||||
<string name="staking_validator">バリデーター</string>
|
||||
<string name="staking_validators">バリデーター</string>
|
||||
<string name="staking_validators_label">戦略的パートナー</string>
|
||||
<string name="staking_vote">投票する</string>
|
||||
<string name="staking_vote_locked">投票はロックされています</string>
|
||||
<string name="staking_vote_locked">投票する</string>
|
||||
<string name="staking_withdraw">引き出す</string>
|
||||
<string name="staking_your_stakes">あなたのステーキング</string>
|
||||
<string name="story_awe_description">カード内に秘密鍵を保管しながら暗号資産を安全に保管します</string>
|
||||
|
|
|
|||
|
|
@ -101,6 +101,12 @@
|
|||
<item quantity="many">%d дней</item>
|
||||
<item quantity="other">%d дней</item>
|
||||
</plurals>
|
||||
<plurals name="common_days_no_param">
|
||||
<item quantity="one">день</item>
|
||||
<item quantity="few">дня</item>
|
||||
<item quantity="many">дней</item>
|
||||
<item quantity="other">дней</item>
|
||||
</plurals>
|
||||
<string name="common_delete">Удалить</string>
|
||||
<string name="common_disabled">Отключено</string>
|
||||
<string name="common_done">Готово</string>
|
||||
|
|
@ -382,6 +388,12 @@
|
|||
<string name="markets_sort_by_top_losers_title">Лидеры падения</string>
|
||||
<string name="markets_sort_by_trending_title">В тренде</string>
|
||||
<string name="markets_token_details_about_token_title">О %s</string>
|
||||
<plurals name="markets_token_details_amount_exchanges">
|
||||
<item quantity="one">%d биржа</item>
|
||||
<item quantity="few">%d биржи</item>
|
||||
<item quantity="many">%d бирж</item>
|
||||
<item quantity="other">%d бирж</item>
|
||||
</plurals>
|
||||
<plurals name="markets_token_details_based_on_ratings">
|
||||
<item quantity="one">На основе %d оценки</item>
|
||||
<item quantity="few">На основе %d оценок</item>
|
||||
|
|
@ -395,6 +407,12 @@
|
|||
<string name="markets_token_details_circulating_supply">Циркулир. предл.</string>
|
||||
<string name="markets_token_details_circulating_supply_description">Общее количество монет, доступных для торговли и находящихся в обращении на рынке</string>
|
||||
<string name="markets_token_details_circulating_supply_full">Циркулирующее предложение</string>
|
||||
<string name="markets_token_details_empty_exchanges">Биржи не найдены</string>
|
||||
<string name="markets_token_details_exchange">Биржа</string>
|
||||
<string name="markets_token_details_exchange_trust_score_caution">Осторожно</string>
|
||||
<string name="markets_token_details_exchange_trust_score_risky">Рискованно</string>
|
||||
<string name="markets_token_details_exchange_trust_score_trusted">Надежно</string>
|
||||
<string name="markets_token_details_exchanges_title">Биржи</string>
|
||||
<string name="markets_token_details_experienced_buyers">Опытные трейдеры</string>
|
||||
<string name="markets_token_details_experienced_buyers_description">Покупатели, у которых было как минимум 100 исходящих транзакций.</string>
|
||||
<string name="markets_token_details_experienced_buyers_full">Опытные трейдеры</string>
|
||||
|
|
@ -412,6 +430,7 @@
|
|||
<string name="markets_token_details_liquidity_description">Изменение объема ликвидности, доступной для токена в течение указанного периода времени.</string>
|
||||
<string name="markets_token_details_liquidity_full">Ликвидность</string>
|
||||
<string name="markets_token_details_liquidity_index">Индекс ликвидности</string>
|
||||
<string name="markets_token_details_listed_on">Листинг на</string>
|
||||
<string name="markets_token_details_low">Низкий</string>
|
||||
<string name="markets_token_details_market_capitalization">Рын. кап.</string>
|
||||
<string name="markets_token_details_market_capitalization_description">Общая рыночная стоимость криптовалюты, рассчитываемая путем умножения текущей цены монеты на общее количество монет в обращении.</string>
|
||||
|
|
@ -434,6 +453,7 @@
|
|||
<string name="markets_token_details_trading_volume">Объем торгов (24ч)</string>
|
||||
<string name="markets_token_details_trading_volume_24h_description">Общая сумма криптовалюты, которая была продана за последние 24 часа, показывающая уровень активности и ликвидности на рынке.</string>
|
||||
<string name="markets_token_details_trading_volume_full">Объем торгов (24ч)</string>
|
||||
<string name="markets_token_details_volume">Объем</string>
|
||||
<string name="markets_tooltip_message">Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка</string>
|
||||
<string name="markets_tooltip_title">Добавить токены</string>
|
||||
<string name="nfc_error_unavailable">Функция NFC недоступна на вашем устройстве</string>
|
||||
|
|
@ -509,7 +529,7 @@
|
|||
<string name="onboarding_subtitle_scan_primary_card_format">Подготовьте основную карту с номером %s</string>
|
||||
<string name="onboarding_subtitle_success_tangem_wallet_onboarding">Ваша карта настроена и готова к использованию.</string>
|
||||
<string name="onboarding_subtitle_two_backup_cards">Добавлено максимальное количество карт. Завершите процесс резервного копирования.</string>
|
||||
<string name="onboarding_title">Активация карты</string>
|
||||
<string name="onboarding_title">Активация кошелька</string>
|
||||
<string name="onboarding_title_backup_card_format">Резервная карта #%d</string>
|
||||
<string name="onboarding_title_no_backup_cards">Нет резервных карт</string>
|
||||
<string name="onboarding_title_notifications">Уведомления</string>
|
||||
|
|
@ -734,6 +754,8 @@
|
|||
<string name="staking_reward_schedule_block">За блок</string>
|
||||
<string name="staking_reward_schedule_day">Ежедневно</string>
|
||||
<string name="staking_reward_schedule_each_day">Каждый день</string>
|
||||
<string name="staking_reward_schedule_each_days">Каждые %1$s дня</string>
|
||||
<string name="staking_reward_schedule_each_sec">Каждые %1$s сек</string>
|
||||
<string name="staking_reward_schedule_epoch">За эпоху</string>
|
||||
<string name="staking_reward_schedule_era">За эру</string>
|
||||
<string name="staking_reward_schedule_hour">Ежечасно</string>
|
||||
|
|
@ -757,8 +779,9 @@
|
|||
<string name="staking_unstaking_item_name">Завершение стейкинга %s</string>
|
||||
<string name="staking_validator">Валидатор</string>
|
||||
<string name="staking_validators">Валидаторы</string>
|
||||
<string name="staking_validators_label">Стратегический партнер</string>
|
||||
<string name="staking_vote">Проголосовать</string>
|
||||
<string name="staking_vote_locked">Голосование заблокировано</string>
|
||||
<string name="staking_vote_locked">Проголосовать</string>
|
||||
<string name="staking_withdraw">Вывод</string>
|
||||
<string name="staking_your_stakes">Застейканные средства</string>
|
||||
<string name="story_awe_description">Держите свои криптосбережения в безопасности. Приватные ключи надежно хранятся на карте.</string>
|
||||
|
|
|
|||
|
|
@ -737,6 +737,7 @@
|
|||
<string name="staking_reward_schedule_block">Блок</string>
|
||||
<string name="staking_reward_schedule_day">День</string>
|
||||
<string name="staking_reward_schedule_each_day">Щодня</string>
|
||||
<string name="staking_reward_schedule_each_sec">Кожні %1$s сек</string>
|
||||
<string name="staking_reward_schedule_epoch">Епоха</string>
|
||||
<string name="staking_reward_schedule_era">Ера</string>
|
||||
<string name="staking_reward_schedule_hour">Година</string>
|
||||
|
|
@ -759,6 +760,7 @@
|
|||
<string name="staking_unstaking_item_name">Виведення зі стейкінгу %s</string>
|
||||
<string name="staking_validator">Валідатор</string>
|
||||
<string name="staking_validators">Валідатори</string>
|
||||
<string name="staking_validators_label">Стратегічний партнер</string>
|
||||
<string name="staking_vote">Проголосувати</string>
|
||||
<string name="staking_vote_locked">Голос заблоковано</string>
|
||||
<string name="staking_withdraw">Зняти</string>
|
||||
|
|
|
|||
|
|
@ -97,6 +97,10 @@
|
|||
<item quantity="one">%d day</item>
|
||||
<item quantity="other">%d days</item>
|
||||
</plurals>
|
||||
<plurals name="common_days_no_param">
|
||||
<item quantity="one">day</item>
|
||||
<item quantity="other">days</item>
|
||||
</plurals>
|
||||
<string name="common_delete">Delete</string>
|
||||
<string name="common_disabled">Disabled</string>
|
||||
<string name="common_done">Done</string>
|
||||
|
|
@ -378,6 +382,10 @@
|
|||
<string name="markets_sort_by_top_losers_title">Top Losers</string>
|
||||
<string name="markets_sort_by_trending_title">Trending</string>
|
||||
<string name="markets_token_details_about_token_title">About %s</string>
|
||||
<plurals name="markets_token_details_amount_exchanges">
|
||||
<item quantity="one">%d exchange</item>
|
||||
<item quantity="other">%d exchanges</item>
|
||||
</plurals>
|
||||
<plurals name="markets_token_details_based_on_ratings">
|
||||
<item quantity="one">Based on %d rating</item>
|
||||
<item quantity="other">Based on %d ratings</item>
|
||||
|
|
@ -389,6 +397,12 @@
|
|||
<string name="markets_token_details_circulating_supply">Circulating supply</string>
|
||||
<string name="markets_token_details_circulating_supply_description">The total number of coins that are available for trading and are circulating in the market</string>
|
||||
<string name="markets_token_details_circulating_supply_full">Circulating supply</string>
|
||||
<string name="markets_token_details_empty_exchanges">No exchanges found</string>
|
||||
<string name="markets_token_details_exchange">Exchange</string>
|
||||
<string name="markets_token_details_exchange_trust_score_caution">Caution</string>
|
||||
<string name="markets_token_details_exchange_trust_score_risky">Risky</string>
|
||||
<string name="markets_token_details_exchange_trust_score_trusted">Trusted</string>
|
||||
<string name="markets_token_details_exchanges_title">Exchanges</string>
|
||||
<string name="markets_token_details_experienced_buyers">Experienced buyers</string>
|
||||
<string name="markets_token_details_experienced_buyers_description">Net buyers with the additional requirement of having at least 100 outgoing transactions</string>
|
||||
<string name="markets_token_details_experienced_buyers_full">Experienced buyers</string>
|
||||
|
|
@ -406,6 +420,7 @@
|
|||
<string name="markets_token_details_liquidity_description">The change in how much liquidity is available for the token during the specified timeframe</string>
|
||||
<string name="markets_token_details_liquidity_full">Liquidity</string>
|
||||
<string name="markets_token_details_liquidity_index">Liquidity index</string>
|
||||
<string name="markets_token_details_listed_on">Listed on</string>
|
||||
<string name="markets_token_details_low">Low</string>
|
||||
<string name="markets_token_details_market_capitalization">Market cap</string>
|
||||
<string name="markets_token_details_market_capitalization_description">The total market value of a cryptocurrency, calculated by multiplying the current price of the coin by the total number of coins in circulation</string>
|
||||
|
|
@ -428,6 +443,7 @@
|
|||
<string name="markets_token_details_trading_volume">Trading volume (24h)</string>
|
||||
<string name="markets_token_details_trading_volume_24h_description">The total amount of a cryptocurrency that has been traded within the last 24 hours, indicating the level of activity and liquidity in the market</string>
|
||||
<string name="markets_token_details_trading_volume_full">Trading volume (24h)</string>
|
||||
<string name="markets_token_details_volume">Volume</string>
|
||||
<string name="markets_tooltip_message">Pull this up or tap the search bar to add tokens directly from the market</string>
|
||||
<string name="markets_tooltip_title">Add tokens</string>
|
||||
<string name="nfc_error_unavailable">NFC is not available on your device</string>
|
||||
|
|
@ -499,7 +515,7 @@
|
|||
<string name="onboarding_subtitle_scan_primary_card_format">Prepare the primary card with number %s</string>
|
||||
<string name="onboarding_subtitle_success_tangem_wallet_onboarding">Your wallet card is configured and ready for use.</string>
|
||||
<string name="onboarding_subtitle_two_backup_cards">Max number of cards added. Finalize the backup process.</string>
|
||||
<string name="onboarding_title">Activating card</string>
|
||||
<string name="onboarding_title">Activating wallet</string>
|
||||
<string name="onboarding_title_backup_card_format">Backup card #%d</string>
|
||||
<string name="onboarding_title_no_backup_cards">No backup cards</string>
|
||||
<string name="onboarding_title_notifications">Notifications</string>
|
||||
|
|
@ -679,7 +695,7 @@
|
|||
<string name="staking_details_reward_claiming">Reward claiming</string>
|
||||
<string name="staking_details_reward_claiming_info">Method of receiving staking rewards.\nIt can be either automatic, where the reward is credited to your address, or manual, where you need to withdraw the reward by creating a transaction to receive it.</string>
|
||||
<string name="staking_details_reward_schedule">Reward schedule</string>
|
||||
<string name="staking_details_reward_schedule_info">This is a schedule that determines when participants in staking receive their rewards.</string>
|
||||
<string name="staking_details_reward_schedule_info">This is a schedule that determines when participants in staking receive their rewards. The reward distribution time may vary slightly depending on the validator and network load.</string>
|
||||
<string name="staking_details_rewards_to_claim">Rewards: %s</string>
|
||||
<string name="staking_details_title">Staking %s</string>
|
||||
<string name="staking_details_unbonding_period">Unbonding Period</string>
|
||||
|
|
@ -720,7 +736,10 @@
|
|||
<string name="staking_reward_claiming_manual">Manual</string>
|
||||
<string name="staking_reward_schedule_block">Per Block</string>
|
||||
<string name="staking_reward_schedule_day">Daily</string>
|
||||
<string name="staking_reward_schedule_each_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 %1$s days</string>
|
||||
<string name="staking_reward_schedule_each_sec">Each %1$s sec</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>
|
||||
|
|
@ -744,8 +763,9 @@
|
|||
<string name="staking_unstaking_item_name">Unstaking assets %s</string>
|
||||
<string name="staking_validator">Validator</string>
|
||||
<string name="staking_validators">Validators</string>
|
||||
<string name="staking_validators_label">Strategic partner</string>
|
||||
<string name="staking_vote">Vote</string>
|
||||
<string name="staking_vote_locked">Vote locked</string>
|
||||
<string name="staking_vote_locked">Vote</string>
|
||||
<string name="staking_withdraw">Withdraw</string>
|
||||
<string name="staking_your_stakes">Your stakes</string>
|
||||
<string name="story_awe_description">Store your crypto assets secure while keeping private keys contained in your card</string>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ import com.tangem.core.ui.components.inputrow.inner.InputRowAsyncImage
|
|||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resolveAnnotatedReference
|
||||
import com.tangem.core.ui.extensions.resolveReference
|
||||
import com.tangem.core.ui.res.TangemColorPalette
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
|
||||
|
|
@ -33,15 +32,17 @@ import com.tangem.core.ui.res.TangemThemePreview
|
|||
* [Input Row Image](https://www.figma.com/design/14ISV23YB1yVW1uNVwqrKv/Android?node-id=2841-1589&t=u6pOF6lsdpvWLELb-4)
|
||||
*
|
||||
* @param subtitle subtitle text
|
||||
* @param caption caption text
|
||||
* @param modifier modifier
|
||||
* @param caption caption text
|
||||
* @param imageUrl icon to load
|
||||
* @param iconRes icon resource
|
||||
* @param subtitleColor subtitle text color
|
||||
* @param captionColor caption text color
|
||||
* @param iconTint icon tint
|
||||
* @param isGrayscaleImage whether to display grayscale image
|
||||
* @param subtitleEndIconRes icon to show after subtitle
|
||||
* @param iconEndRes icon to end of row
|
||||
* @param onImageError composable to show if image loading failed
|
||||
* @param subtitleExtraContent subtitle extra content
|
||||
* @param extraContent extra content
|
||||
*/
|
||||
@Suppress("LongMethod")
|
||||
|
|
@ -56,10 +57,9 @@ internal fun InputRowImageBase(
|
|||
captionColor: Color = TangemTheme.colors.text.tertiary,
|
||||
iconTint: Color = TangemTheme.colors.icon.informative,
|
||||
isGrayscaleImage: Boolean = false,
|
||||
@DrawableRes subtitleEndIconRes: Int? = null,
|
||||
subtitleEndIconTint: Color = TangemColorPalette.Azure,
|
||||
@DrawableRes iconEndRes: Int? = null,
|
||||
onImageError: (@Composable () -> Unit)? = null,
|
||||
subtitleExtraContent: (@Composable RowScope.() -> Unit)? = null,
|
||||
extraContent: (@Composable RowScope.() -> Unit)? = null,
|
||||
) {
|
||||
Row(
|
||||
|
|
@ -100,10 +100,7 @@ internal fun InputRowImageBase(
|
|||
style = TangemTheme.typography.subtitle2,
|
||||
color = subtitleColor,
|
||||
)
|
||||
SubtitleEndIconRes(
|
||||
subtitleEndIconRes = subtitleEndIconRes,
|
||||
subtitleEndIconTint = subtitleEndIconTint,
|
||||
)
|
||||
subtitleExtraContent?.invoke(this)
|
||||
}
|
||||
if (caption != null) {
|
||||
Text(
|
||||
|
|
@ -124,23 +121,6 @@ internal fun InputRowImageBase(
|
|||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun RowScope.SubtitleEndIconRes(subtitleEndIconRes: Int?, subtitleEndIconTint: Color) {
|
||||
AnimatedVisibility(
|
||||
visible = subtitleEndIconRes != null,
|
||||
label = "Subtitle end icon visibility animation",
|
||||
modifier = Modifier.align(Alignment.CenterVertically),
|
||||
) {
|
||||
val icon = remember(this) { requireNotNull(subtitleEndIconRes) }
|
||||
Icon(
|
||||
painter = rememberVectorPainter(image = ImageVector.vectorResource(id = icon)),
|
||||
tint = subtitleEndIconTint,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.padding(start = TangemTheme.dimens.spacing4),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun RowScope.InputRowEndIcon(iconRes: Int?) {
|
||||
AnimatedVisibility(
|
||||
|
|
|
|||
|
|
@ -2,14 +2,21 @@ package com.tangem.core.ui.components.inputrow
|
|||
|
||||
import android.content.res.Configuration
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.graphics.vector.rememberVectorPainter
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.buildAnnotatedString
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
|
|
@ -17,6 +24,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
|||
import com.tangem.core.ui.R
|
||||
import com.tangem.core.ui.components.atoms.text.EllipsisText
|
||||
import com.tangem.core.ui.extensions.*
|
||||
import com.tangem.core.ui.res.TangemColorPalette
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
|
||||
|
|
@ -24,17 +32,19 @@ import com.tangem.core.ui.res.TangemThemePreview
|
|||
* Input row component with selector
|
||||
* [Input Row Image](https://www.figma.com/design/14ISV23YB1yVW1uNVwqrKv/Android?node-id=2841-1589&t=u6pOF6lsdpvWLELb-4)
|
||||
*
|
||||
* @param title title text
|
||||
* @param subtitle subtitle text
|
||||
* @param caption caption text
|
||||
* @param infoTitle info title text
|
||||
* @param infoSubtitle info subtitle text
|
||||
* @param modifier modifier
|
||||
* @param title title text
|
||||
* @param caption caption text
|
||||
* @param infoSubtitle info subtitle text
|
||||
* @param imageUrl icon to load
|
||||
* @param iconRes icon resource
|
||||
* @param subtitleColor subtitle text color
|
||||
* @param captionColor caption text color
|
||||
* @param iconTint icon color
|
||||
* @param isGrayscaleImage whether to display grayscale image
|
||||
* @param showPendingIcon whether to show pending icon
|
||||
* @param subtitleEndIconRes subtitle icon to end of row
|
||||
* @param iconEndRes icon to end of row
|
||||
* @param onImageError composable to show if image loading failed
|
||||
*/
|
||||
|
|
@ -78,9 +88,14 @@ fun InputRowImageInfo(
|
|||
subtitleColor = subtitleColor,
|
||||
captionColor = captionColor,
|
||||
isGrayscaleImage = isGrayscaleImage,
|
||||
subtitleEndIconRes = subtitleEndIconRes,
|
||||
iconEndRes = iconEndRes,
|
||||
onImageError = onImageError,
|
||||
subtitleExtraContent = {
|
||||
SubtitleEndIconRes(
|
||||
subtitleEndIconRes = subtitleEndIconRes,
|
||||
subtitleEndIconTint = TangemColorPalette.Azure,
|
||||
)
|
||||
},
|
||||
) {
|
||||
Column(
|
||||
verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing2),
|
||||
|
|
@ -120,6 +135,23 @@ fun InputRowImageInfo(
|
|||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun RowScope.SubtitleEndIconRes(subtitleEndIconRes: Int?, subtitleEndIconTint: Color) {
|
||||
AnimatedVisibility(
|
||||
visible = subtitleEndIconRes != null,
|
||||
label = "Subtitle end icon visibility animation",
|
||||
modifier = Modifier.align(Alignment.CenterVertically),
|
||||
) {
|
||||
val icon = remember(this) { requireNotNull(subtitleEndIconRes) }
|
||||
Icon(
|
||||
painter = rememberVectorPainter(image = ImageVector.vectorResource(id = icon)),
|
||||
tint = subtitleEndIconTint,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.padding(start = TangemTheme.dimens.spacing4),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// region Preview
|
||||
@Preview(showBackground = true, widthDp = 360)
|
||||
@Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.content.res.Configuration
|
|||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.ripple
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -40,8 +41,9 @@ import java.math.BigDecimal
|
|||
* @param subtitleColor subtitle text color
|
||||
* @param captionColor caption text color
|
||||
* @param isSelected true if selected
|
||||
* @param selectorContent selector content
|
||||
* @param onImageError composable to show if image loading failed
|
||||
* @param subtitleExtraContent subtitle selector content
|
||||
* @param selectorContent selector content
|
||||
*/
|
||||
@Composable
|
||||
fun InputRowImageSelector(
|
||||
|
|
@ -54,6 +56,7 @@ fun InputRowImageSelector(
|
|||
captionColor: Color = TangemTheme.colors.text.tertiary,
|
||||
isSelected: Boolean = false,
|
||||
onImageError: (@Composable () -> Unit)? = null,
|
||||
subtitleExtraContent: (@Composable RowScope.() -> Unit)? = null,
|
||||
selectorContent: @Composable ((isSelected: Boolean, isEnabled: Boolean, onSelect: () -> Unit) -> Unit),
|
||||
) {
|
||||
InputRowImageBase(
|
||||
|
|
@ -63,6 +66,7 @@ fun InputRowImageSelector(
|
|||
subtitleColor = subtitleColor,
|
||||
captionColor = captionColor,
|
||||
onImageError = onImageError,
|
||||
subtitleExtraContent = subtitleExtraContent,
|
||||
modifier = modifier
|
||||
.clickable(
|
||||
onClick = onSelect,
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ class YieldConverter(
|
|||
stakedBalance = validatorDTO.stakedBalance,
|
||||
votingPower = validatorDTO.votingPower,
|
||||
preferred = validatorDTO.preferred,
|
||||
isStrategicPartner = isStrategicPartner(validatorDTO.address),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -174,4 +175,12 @@ class YieldConverter(
|
|||
else -> Yield.Args.ArgType.UNKNOWN
|
||||
}
|
||||
}
|
||||
|
||||
private fun isStrategicPartner(validatorAddress: String): Boolean = PARTNERS.any { it == validatorAddress }
|
||||
|
||||
private companion object {
|
||||
val PARTNERS = listOf(
|
||||
"cosmosvaloper1wrx0x9m9ykdhw9sg04v7uljme53wuj03aa5d4f",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -62,6 +62,7 @@ data class Yield(
|
|||
val stakedBalance: String? = null,
|
||||
val votingPower: Double? = null,
|
||||
val preferred: Boolean,
|
||||
val isStrategicPartner: Boolean,
|
||||
) {
|
||||
|
||||
enum class ValidatorStatus {
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ internal object ConfirmationStatePreviewData {
|
|||
website = "https://luganodes.com/",
|
||||
votingPower = 0.09778360195377911,
|
||||
preferred = true,
|
||||
isStrategicPartner = false,
|
||||
),
|
||||
Yield.Validator(
|
||||
address = "0x35b1ca0f398905cf752e6fe122b51c88022fca32",
|
||||
|
|
@ -40,6 +41,7 @@ internal object ConfirmationStatePreviewData {
|
|||
website = "https://infstones.com/",
|
||||
votingPower = 0.0034366257754399774,
|
||||
preferred = true,
|
||||
isStrategicPartner = false,
|
||||
),
|
||||
Yield.Validator(
|
||||
address = "0xd14a87025109013b0a2354a775cb335f926af65a",
|
||||
|
|
@ -52,6 +54,7 @@ internal object ConfirmationStatePreviewData {
|
|||
website = "https://infstones.com/",
|
||||
votingPower = 0.023487238579718264,
|
||||
preferred = true,
|
||||
isStrategicPartner = true,
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ internal object InitialStakingStatePreview {
|
|||
stakedBalance = null,
|
||||
votingPower = null,
|
||||
preferred = false,
|
||||
isStrategicPartner = false,
|
||||
),
|
||||
pendingActions = persistentListOf(),
|
||||
isClickable = true,
|
||||
|
|
|
|||
|
|
@ -5,16 +5,22 @@ import androidx.compose.animation.AnimatedVisibility
|
|||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
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.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.graphics.vector.rememberVectorPainter
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.tangem.core.ui.components.inputrow.InputRowImageSelector
|
||||
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
|
||||
import com.tangem.core.ui.extensions.*
|
||||
|
|
@ -78,6 +84,9 @@ internal fun StakingValidatorListContent(
|
|||
false,
|
||||
)
|
||||
.background(TangemTheme.colors.background.action),
|
||||
subtitleExtraContent = {
|
||||
ValidatorLabel(item.isStrategicPartner)
|
||||
},
|
||||
selectorContent = { checked, _, _ ->
|
||||
AnimatedVisibility(
|
||||
modifier = Modifier,
|
||||
|
|
@ -99,6 +108,23 @@ internal fun StakingValidatorListContent(
|
|||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun RowScope.ValidatorLabel(isStrategicPartner: Boolean) {
|
||||
if (isStrategicPartner) {
|
||||
Text(
|
||||
text = stringResource(R.string.staking_validators_label),
|
||||
style = TangemTheme.typography.caption1,
|
||||
color = TangemTheme.colors.icon.constant,
|
||||
modifier = Modifier
|
||||
.align(Alignment.CenterVertically)
|
||||
.padding(horizontal = 6.dp)
|
||||
.clip(RoundedCornerShape(6.dp))
|
||||
.background(TangemTheme.colors.text.accent)
|
||||
.padding(horizontal = 8.dp),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// region Preview
|
||||
@Preview(showBackground = true, widthDp = 360)
|
||||
@Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue