diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index ab28c8f601..a3491e0401 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -468,9 +468,12 @@ %s Netzwerk Sende Geld nur mit Beste Gelegenheiten + Filter löschen Alle Netzwerke Alle Arten + Filtern nach Meist verwendet + Keine Ergebnisse Verdienen Hallo Support-Team, ich habe einen Fehler mit dem Code %s festgestellt. WalletConnect-Fehler @@ -1481,10 +1484,12 @@ Abgeschlossen Abgelehnt Ausstehend + Storniert Bedingungen, Gebühren & Limits Bedingungen und Einschränkungen Die Bank hat diese Transaktionsanfrage abgelehnt. Diese Gebühr dient zur Deckung der Kosten für die Abwicklung Deiner Überweisung.Questa commissione copre il costo della gestione del tuo trasferimento. + Die Transaktion wurde vom Händler teilweise oder vollständig storniert Nutze Dein Geld weiterhin. Du kannst es jederzeit einfrieren. Karte entsperren? Entsperren der Karte fehlgeschlagen. Versuchen Sie es später erneut. diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index 4e0238e409..fac79c1d1f 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -1481,10 +1481,12 @@ Completado Rechazado Pendiente + Revertida Términos, tarifas y límites Términos y límites El banco rechazó esta solicitud de transacción. Esta tarifa cubre el costo de procesar tu transferencia. + La transacción fue revertida parcial o totalmente por el comerciante Sigue usando tu dinero. Puedes congelarlo en cualquier momento. ¿Descongelar tu tarjeta? No se pudo descongelar la tarjeta. Inténtalo de nuevo más tarde. diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 7eda943c3f..a89fafa94f 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -468,9 +468,14 @@ %s réseau Envoyez des fonds en utilisant uniquement Meilleures opportunités + Effacer le filtre Tous les réseaux Tous les types + Filtrer par + Mes réseaux + Réseaux Principalement utilisé + Pas de résultat Gagner Bonjour équipe de support, j’ai rencontré une erreur avec le code : %s Erreur WalletConnect @@ -823,6 +828,7 @@ Volume Tirez vers le haut ou appuyez sur la barre de recherche pour ajouter des jetons directement depuis le marché Ajouter des jetons + Ajouter plus de tokens Optimisez vos actifs tout en leur fournissant un accès instantané. %s Activer le mode rendement Vous devez effectuer la mise à jour %1$s afin de créer un portefeuille mobile. @@ -1481,10 +1487,12 @@ Terminé Refusé En attente + Annulée Conditions, frais et limites Conditions et limites La banque a rejeté cette demande de transaction. Ces frais couvrent le coût du traitement de votre virement. + La transaction a été partiellement ou totalement annulée par le commerçant Continuez à utiliser votre argent. Vous pouvez le geler à tout moment. Dégeler votre carte ? Échec du dégel de la carte. Réessayez plus tard. @@ -1849,6 +1857,7 @@ Rafraîchir Lancer la migration Copier + Pour conserver l\'accès à vos fonds, lancez la migration conformément aux directives officielles de Clore. La signature des messages n\'est pas prise en charge pour ce réseau. Impossible de signer le message. Veuillez réessayer. Selon la documentation officielle de Clore, toutes les pièces reçues avant le 21 décembre seront migrées vers Clore (token ERC-20) ; les pièces reçues après cette date ne le seront pas. Une solution de transfert arrive — restez à l\'écoute. diff --git a/core/res/src/main/res/values-it/strings.xml b/core/res/src/main/res/values-it/strings.xml index 0c8bcde7ac..50290eaea8 100644 --- a/core/res/src/main/res/values-it/strings.xml +++ b/core/res/src/main/res/values-it/strings.xml @@ -87,10 +87,12 @@ Completato Rifiutato In sospeso + Stornata Termini, commissioni e limiti Termini e limiti La banca ha rifiutato questa richiesta di transazione. Questa commissione copre il costo della gestione del tuo trasferimento. + La transazione è stata parzialmente o totalmente stornata dal commerciante Continua a usare i tuoi soldi. Puoi congelarli in qualsiasi momento. Sbloccare la tua carta? Impossibile sbloccare la carta. Riprova più tardi. diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index c773a24141..d554a4bd2f 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -1462,10 +1462,12 @@ 完了 拒否 保留中 + 取消済み 利用規約・手数料・利用制限 利用規約と上限条件 銀行がこの取引リクエストを拒否しました。 この手数料は、送金処理にかかるコストをカバーするためのものです。 + この取引は加盟店により一部または全額取り消されました 資金は引き続き使用できます。いつでも一時停止できます。 カードの一時停止を解除しますか? カードの凍結解除に失敗しました。しばらくしてからもう一度お試しください。 diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index cc50a2188a..550f256f3f 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -310,6 +310,7 @@ Перейти в токен Понятно Скрыть + Удерживайте, чтобы %s час Импортировать В процессе @@ -387,6 +388,7 @@ Обменять Tangem Tangem Wallet + Нажмите и удерживайте условия участия Условиями использования На @@ -478,9 +480,15 @@ Отправка средств в другой сети может повлечь потерю средств. %s сеть Отправляйте средства, используя только + Лучшие возможности + Очистить фильтр Все сети Все типы + Фильтровать по + Мои сети + Сети Часто используемые + Нет результата Привет, команда поддержки, у меня возникла ошибка с кодом: %s Ошибка WalletConnect Вы использовали карту или кольцо от другого кошелька. Приложите карту или кольцо, связанную с этим кошельком. @@ -836,6 +844,7 @@ Объем Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка Добавить токены + Добавить токены Увеличивайте доход с активов, сохраняя мгновенный доступ к ним. %s Активировать режим доходности Обновитесь до версии %1$s, чтобы создать мобильный кошелёк @@ -1507,10 +1516,12 @@ Успешно завершено Отклонено В процессе + Возврат Тарифы и полные условия Тарифы и лимиты Банк отклонил транзакцию Эта комиссия покрывает стоимость обработки вашего перевода. + Транзакция частично или полностью возвращена продавцом Продолжайте пользоваться картой, заморозить всегда успеете Разморозить карту? Не удалось разморозить карту, попробуйте еще раз @@ -1810,6 +1821,7 @@ Обновить Начать миграцию Копировать + Чтобы сохранить доступ к своим средствам, начните миграцию в соответствии с официальными рекомендациями Clore. Подписание сообщений не поддерживается в этой сети Невозможно подписать сообщение. Пожалуйста, попробуй позже. Согласно официальной документации Clore, все монеты, полученные до 21 декабря, будут мигрированы в токен Clore (ERC-20); монеты, полученные после этой даты, — нет. Решение для перевода находится в разработке — следите за обновлениями. @@ -1920,6 +1932,7 @@ Мы обнаружили неизвестную ошибку Кошелек Tangem в настоящий момент не поддерживает %s Неподдерживаемый dApp + Код ошибки: 8 005.\nЕсли проблема сохраняется — пожалуйста, свяжитесь с нашей службой поддержки. Мы обнаружили неизвестную ошибку Эта сеть %s не поддерживается Tangem Wallet и не может быть подключена. Неподдерживаемая сеть diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml index 4bb916c300..cd70c14fcd 100644 --- a/core/res/src/main/res/values-uk-rUA/strings.xml +++ b/core/res/src/main/res/values-uk-rUA/strings.xml @@ -1480,10 +1480,12 @@ Завершено Відхилено В очікуванні + Скасовано Умови, комісії та ліміти Умови та обмеження Банк відхилив цей запит на транзакцію. Ця комісія покриває витрати на обробку вашого переказу. + Транзакцію було частково або повністю скасовано продавцем Продовжуйте користуватися карткою. Заморозити можна в будь-який момент. Розморозити картку? Не вдалося розморозити картку. Спробуйте пізніше. diff --git a/core/res/src/main/res/values-zh-rTW/strings.xml b/core/res/src/main/res/values-zh-rTW/strings.xml index ad66420637..f2a8057772 100644 --- a/core/res/src/main/res/values-zh-rTW/strings.xml +++ b/core/res/src/main/res/values-zh-rTW/strings.xml @@ -330,10 +330,12 @@ 已完成 已拒絕 處理中 + 已撤銷 條款、費用與限制 條款與限制 銀行拒絕了此交易請求。 此費用用於支付處理您轉帳的成本。 + 該交易已被商家部分或全額撤銷 繼續使用您的資金。您可以隨時凍結。 解凍您的卡片? 無法解凍卡片。請稍後再試。 diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 8916a5a857..38fbaf5e44 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -469,9 +469,11 @@ Send funds using only Best opportunities Clear filter + The list is temporarily empty as it’s being refreshed. Check back in a moment. All networks All types Filter by + My networks Networks Mostly used No results @@ -828,6 +830,7 @@ Volume Pull this up or tap the search bar to add tokens directly from the market Add tokens + Add more tokens Power up your assets while supplying them with instant access. %s Activate Yield Mode You must update to %1$s before creating a mobile wallet @@ -1486,10 +1489,12 @@ Completed Declined Pending + Reversed Terms, Fees & Limits Terms and Limits The bank rejected this transaction request. This fee goes to cover the cost of handling your transfer. + The transaction was partially or fully reversed by the merchant Keep using your money. You can freeze anytime. Unfreeze your card? Failed to unfreeze the card. Try again later. diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt index 775b3843a9..e1ac53a595 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt @@ -10,6 +10,7 @@ internal object TangemPayTxHistoryItemStatusConverter : Converter TangemPayTxHistoryItem.Status.RESERVED "COMPLETED" -> TangemPayTxHistoryItem.Status.COMPLETED "DECLINED" -> TangemPayTxHistoryItem.Status.DECLINED + "REVERSED" -> TangemPayTxHistoryItem.Status.REVERSED else -> TangemPayTxHistoryItem.Status.UNKNOWN } } diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt index 9741b0d593..33289fa8f7 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt @@ -72,6 +72,7 @@ sealed class TangemPayTxHistoryItem { RESERVED, COMPLETED, DECLINED, + REVERSED, UNKNOWN, } } \ No newline at end of file diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt index d5be0d999b..4a1de8ef38 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt @@ -110,6 +110,7 @@ internal object TangemPayTxHistoryDetailsConverter : is TangemPayTxHistoryItem.Spend -> { val amountPrefix = when { this.amount.isZero() -> "" + this.status == TangemPayTxHistoryItem.Status.REVERSED -> StringsSigns.MINUS this.status == TangemPayTxHistoryItem.Status.DECLINED || this.amount.isPositive() -> StringsSigns.MINUS else -> StringsSigns.PLUS @@ -205,6 +206,10 @@ internal object TangemPayTxHistoryDetailsConverter : text = resourceReference(R.string.tangem_pay_status_declined), style = LabelStyle.WARNING, ) + TangemPayTxHistoryItem.Status.REVERSED -> LabelUM( + text = resourceReference(R.string.tangem_pay_status_reversed), + style = LabelStyle.REGULAR, + ) TangemPayTxHistoryItem.Status.RESERVED, TangemPayTxHistoryItem.Status.UNKNOWN, -> null @@ -227,24 +232,33 @@ internal object TangemPayTxHistoryDetailsConverter : containerColor = null, ) is TangemPayTxHistoryItem.Spend -> when (this.status) { - TangemPayTxHistoryItem.Status.DECLINED -> - TangemPayTxHistoryDetailsUM.NotificationState( - config = NotificationConfig( - title = if (declinedReason.isNullOrEmpty()) { - resourceReference(R.string.tangem_pay_transaction_declined_notification_text) - } else { - resourceReference( - id = R.string.tangem_pay_history_item_spend_mc_declined_reason, - formatArgs = wrappedList(requireNotNull(declinedReason)), - ) - }, - subtitle = TextReference.EMPTY, - iconResId = R.drawable.ic_token_info_24, - ), - titleColor = themedColor { TangemTheme.colors.text.warning }, - iconTint = themedColor { TangemTheme.colors.icon.warning }, - containerColor = themedColor { TangemColorPalette.Amaranth.copy(alpha = 0.1F) }, - ) + TangemPayTxHistoryItem.Status.DECLINED -> TangemPayTxHistoryDetailsUM.NotificationState( + config = NotificationConfig( + title = if (declinedReason.isNullOrEmpty()) { + resourceReference(R.string.tangem_pay_transaction_declined_notification_text) + } else { + resourceReference( + id = R.string.tangem_pay_history_item_spend_mc_declined_reason, + formatArgs = wrappedList(requireNotNull(declinedReason)), + ) + }, + subtitle = TextReference.EMPTY, + iconResId = R.drawable.ic_token_info_24, + ), + titleColor = themedColor { TangemTheme.colors.text.warning }, + iconTint = themedColor { TangemTheme.colors.icon.warning }, + containerColor = themedColor { TangemColorPalette.Amaranth.copy(alpha = 0.1F) }, + ) + TangemPayTxHistoryItem.Status.REVERSED -> TangemPayTxHistoryDetailsUM.NotificationState( + config = NotificationConfig( + title = resourceReference(R.string.tangem_pay_transaction_reversed_notification_text), + subtitle = TextReference.EMPTY, + iconResId = R.drawable.ic_token_info_24, + ), + titleColor = themedColor { TangemTheme.colors.text.tertiary }, + iconTint = themedColor { TangemTheme.colors.icon.secondary }, + containerColor = null, + ) TangemPayTxHistoryItem.Status.PENDING, TangemPayTxHistoryItem.Status.COMPLETED, TangemPayTxHistoryItem.Status.RESERVED, diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt index bf0f79c163..e868de30a5 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt @@ -37,6 +37,7 @@ internal class TangemPayTxHistoryItemsConverter( val localDate = spend.date.withZone(DateTimeZone.getDefault()) val amountPrefix = when { spend.amount.isZero() -> "" + spend.status == TangemPayTxHistoryItem.Status.REVERSED -> StringsSigns.MINUS spend.status == TangemPayTxHistoryItem.Status.DECLINED || spend.amount.isPositive() -> StringsSigns.MINUS else -> StringsSigns.PLUS }