From 3993e1d690ebf68b41978a83c70ef21319368587 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 8 Oct 2024 20:29:06 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/tap/domain/sdk/TangemSdkManager.kt | 4 + .../sdk/impl/DefaultTangemSdkManager.kt | 59 +++++--- .../domain/sdk/impl/MockTangemSdkManager.kt | 4 + .../redux/OnboardingWalletMiddleware.kt | 4 + .../wallet/redux/OnboardingWalletReducer.kt | 4 + .../wallet/redux/OnboardingWalletState.kt | 2 + .../wallet/ui/OnboardingWalletFragment.kt | 55 +++++-- core/res/src/main/res/values-de/strings.xml | 12 +- core/res/src/main/res/values-es/strings.xml | 2 +- core/res/src/main/res/values-fr/strings.xml | 2 +- core/res/src/main/res/values-ja/strings.xml | 140 +++++++++--------- core/res/src/main/res/values-ru/strings.xml | 33 +++-- core/res/src/main/res/values/strings.xml | 43 +++--- gradle/dependencies.toml | 2 +- 14 files changed, 233 insertions(+), 133 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt index 2dbfaec5b7..8b6a8cc74f 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt @@ -134,5 +134,9 @@ interface TangemSdkManager { initialMessage: Message, ): CompletionResult + fun changeProductType(isRing: Boolean) + + fun clearProductType() + // endregion } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt index 835a2fee69..c2d455b867 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt @@ -9,7 +9,6 @@ import com.tangem.TangemSdk import com.tangem.common.* import com.tangem.common.authentication.AuthenticationManager import com.tangem.common.authentication.keystore.KeystoreManager -import com.tangem.common.card.FirmwareVersion import com.tangem.common.core.* import com.tangem.common.extensions.ByteArrayKey import com.tangem.common.services.secure.SecureStorage @@ -137,6 +136,14 @@ class DefaultTangemSdkManager( scanResponse: ScanResponse, shouldReset: Boolean, ): CompletionResult { + tangemSdk.config.setupForProduct( + if (scanResponse.cardTypesResolver.isRing()) { + ProductType.RING + } else { + ProductType.CARD + }, + ) + return runTaskAsync( runnable = CreateProductWalletTask( cardTypesResolver = scanResponse.cardTypesResolver, @@ -144,9 +151,14 @@ class DefaultTangemSdkManager( shouldReset = shouldReset, ), cardId = scanResponse.card.cardId, - initialMessage = Message(resources.getString(R.string.initial_message_create_wallet_body)), + initialMessage = if (scanResponse.cardTypesResolver.isRing()) { + Message(resources.getString(R.string.initial_message_create_wallet_body_ring)) + } else { + Message(resources.getString(R.string.initial_message_create_wallet_body)) + }, iconScanRes = if (scanResponse.cardTypesResolver.isRing()) R.drawable.img_hand_scan_ring else null, ) + .doOnResult { tangemSdk.config.setupForProduct(ProductType.ANY) } } override suspend fun importWallet( @@ -160,17 +172,31 @@ class DefaultTangemSdkManager( } catch (e: TangemSdkError.MnemonicException) { return CompletionResult.Failure(e) } + + tangemSdk.config.setupForProduct( + if (scanResponse.cardTypesResolver.isRing()) { + ProductType.RING + } else { + ProductType.CARD + }, + ) + return runTaskAsync( - CreateProductWalletTask( + runnable = CreateProductWalletTask( cardTypesResolver = scanResponse.cardTypesResolver, derivationStyleProvider = scanResponse.derivationStyleProvider, mnemonic = defaultMnemonic, passphrase = passphrase, shouldReset = shouldReset, ), - scanResponse.card.cardId, - Message(resources.getString(R.string.initial_message_create_wallet_body)), + cardId = scanResponse.card.cardId, + initialMessage = if (scanResponse.cardTypesResolver.isRing()) { + Message(resources.getString(R.string.initial_message_create_wallet_body_ring)) + } else { + Message(resources.getString(R.string.initial_message_create_wallet_body)) + }, ) + .doOnResult { tangemSdk.config.setupForProduct(ProductType.ANY) } } private fun sendScanResultsToAnalytics(result: CompletionResult) { @@ -381,6 +407,16 @@ class DefaultTangemSdkManager( return runTaskAsync(task, null, initialMessage) } + override fun changeProductType(isRing: Boolean) { + tangemSdk.config.setupForProduct( + type = if (isRing) ProductType.RING else ProductType.CARD, + ) + } + + override fun clearProductType() { + tangemSdk.config.setupForProduct(type = ProductType.ANY) + } + override suspend fun finalizeTwin( secondCardPublicKey: ByteArray, issuerKeyPair: KeyPair, @@ -398,18 +434,5 @@ class DefaultTangemSdkManager( companion object { private const val MAX_INITIALIZE_ATTEMPTS = 10 - - @Deprecated("Use [DefaultCardSdkProvider] instead") - val config = Config( - linkedTerminal = true, - allowUntrustedCards = true, - filter = CardFilter( - allowedCardTypes = FirmwareVersion.FirmwareType.values().toList(), - maxFirmwareVersion = FirmwareVersion(major = 6, minor = 33), - batchIdFilter = CardFilter.Companion.ItemFilter.Deny( - items = setOf("0027", "0030", "0031", "0035"), - ), - ), - ) } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt index 0dffc198a7..460b353cdf 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt @@ -174,6 +174,10 @@ class MockTangemSdkManager( return MockProvider.createSecondTwinWallet() } + override fun changeProductType(isRing: Boolean) = Unit + + override fun clearProductType() = Unit + override suspend fun finalizeTwin( secondCardPublicKey: ByteArray, issuerKeyPair: KeyPair, diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 6f46d4f764..8dabd175b0 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -512,6 +512,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) store.dispatchOnMain(BackupAction.SetHasRing(hasRing = isRing)) + tangemSdkManager.changeProductType(isRing) backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { @@ -520,6 +521,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) is CompletionResult.Failure -> Unit } } + tangemSdkManager.clearProductType() } is BackupAction.WriteBackupCard -> { val cardIndex = if (action.cardNumber > 0) action.cardNumber - 1 else action.cardNumber @@ -529,6 +531,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) store.dispatchOnMain(BackupAction.SetHasRing(hasRing = isRing)) + tangemSdkManager.changeProductType(isRing) backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { @@ -555,6 +558,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } } + tangemSdkManager.clearProductType() } is BackupAction.DiscardBackup -> { backupService.discardSavedBackup() diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 8d95bd3b47..c7cb0ecd1e 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -110,7 +110,9 @@ private object BackupReducer { is BackupAction.PrepareToWritePrimaryCard -> if (state.primaryCardId == null) { state.copy( primaryCardId = backupService.primaryCardId, + primaryCardBatchId = backupService.primaryCardBatchId, backupCardIds = backupService.backupCardIds, + backupCardBatchIds = backupService.backupCardsBatchIds, backupCardsNumber = backupService.backupCardIds.size, backupStep = BackupStep.WritePrimaryCard, ) @@ -120,7 +122,9 @@ private object BackupReducer { is BackupAction.PrepareToWriteBackupCard -> if (state.primaryCardId == null) { state.copy( primaryCardId = backupService.primaryCardId, + primaryCardBatchId = backupService.primaryCardBatchId, backupCardIds = backupService.backupCardIds, + backupCardBatchIds = backupService.backupCardsBatchIds, backupCardsNumber = backupService.backupCardIds.size, backupStep = BackupStep.WriteBackupCard(action.cardNumber), ) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt index 57d5a5c46c..214dafe1b0 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt @@ -65,9 +65,11 @@ enum class OnboardingWalletStep { data class BackupState( val primaryCardId: String? = null, + val primaryCardBatchId: String? = null, val backupCardsNumber: Int = 0, val backupCards: List = emptyList(), val backupCardIds: List = emptyList(), + val backupCardBatchIds: List = emptyList(), @Transient val backupCardsArtworks: Map = emptyMap(), val accessCode: String = "", diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index b08e95d228..bbeb4fbe22 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -28,6 +28,8 @@ import com.tangem.core.analytics.models.Basic import com.tangem.core.ui.extensions.setStatusBarColor import com.tangem.datasource.utils.isNullOrEmpty import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX import com.tangem.feature.onboarding.data.model.CreateWalletResponse import com.tangem.feature.onboarding.presentation.wallet2.analytics.SeedPhraseSource import com.tangem.feature.onboarding.presentation.wallet2.viewmodel.SeedPhraseMediator @@ -398,13 +400,26 @@ class OnboardingWalletFragment : reInitCardsWidgetIfNeeded(state.backupCardsNumber) prepareViewForFinalizeStep() - val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) - tvHeader.text = getText(R.string.common_origin_card) - tvBody.text = getString( - R.string.onboarding_subtitle_scan_primary_card_format, - state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, + val isRing = state.primaryCardBatchId != null && isRing(batchId = state.primaryCardBatchId) + + tvHeader.text = getText( + if (isRing) R.string.common_origin_ring else R.string.common_origin_card, ) - layoutButtonsCommon.btnWalletMainAction.text = getText(R.string.onboarding_button_backup_origin) + + tvBody.text = if (isRing) { + getString(R.string.onboarding_subtitle_scan_ring) + } else { + val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) + getString( + R.string.onboarding_subtitle_scan_primary_card_format, + state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, + ) + } + + layoutButtonsCommon.btnWalletMainAction.text = getText( + if (isRing) R.string.onboarding_button_backup_ring else R.string.onboarding_button_backup_origin, + ) + layoutButtonsCommon.btnWalletMainAction.setIconResource(R.drawable.ic_tangem_24) layoutButtonsCommon.btnWalletMainAction.setOnClickListener { store.dispatch(BackupAction.WritePrimaryCard) } @@ -428,16 +443,26 @@ class OnboardingWalletFragment : prepareViewForFinalizeStep() val cardNumber = (state.backupStep as? BackupStep.WriteBackupCard)?.cardNumber ?: 1 - val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) - tvHeader.text = getString(R.string.onboarding_title_backup_card_format, cardNumber) - tvBody.text = getString( - R.string.onboarding_subtitle_scan_backup_card_format, - cardIdFormatter.getFormattedCardId(state.backupCardIds[cardNumber - 1]), + + val isRing = isRing(batchId = state.backupCardBatchIds[cardNumber - 1]) + tvHeader.text = getString( + if (isRing) R.string.onboarding_title_backup_ring else R.string.onboarding_title_backup_card, ) + + tvBody.text = if (isRing) { + getString(R.string.onboarding_subtitle_scan_ring) + } else { + val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) + getString( + R.string.onboarding_subtitle_scan_primary_card_format, + state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, + ) + } + layoutButtonsCommon.btnWalletMainAction.text = getString( - R.string.onboarding_button_backup_card_format, - cardNumber, + if (isRing) R.string.onboarding_button_backup_ring else R.string.onboarding_button_backup_origin, ) + layoutButtonsCommon.btnWalletMainAction.setIconResource(R.drawable.ic_tangem_24) layoutButtonsCommon.btnWalletMainAction.setOnClickListener { store.dispatch(BackupAction.WriteBackupCard(cardNumber)) @@ -565,4 +590,8 @@ class OnboardingWalletFragment : } } } + + private fun isRing(batchId: String): Boolean { + return RING_BATCH_IDS.contains(batchId) || batchId.startsWith(RING_BATCH_PREFIX) + } } \ No newline at end of file diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index fa3319cfaa..242e76cf07 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -119,12 +119,14 @@ Adressen abrufen Zum Anbieter gehen Zum Token + Stunde Importieren In Arbeit Später %1$s übrig Gesperrt Hauptnetz + Monat Netzgebühr Der überwiesene Betrag wird um %1$s (%2$s) gekürzt, um die gewählte Gebührenhöhe zu decken. Weiter @@ -133,6 +135,7 @@ Jetzt OK Hauptkarte + Primärring Passphrase Einfügen Datenschutzbestimmungen @@ -173,6 +176,7 @@ Es ist ein Fehler aufgetreten. Bitte versuche es erneut. Nicht erreichbar staking beenden + Woche Ja Vertragsadresse kopiert! Verfügbare Netzwerke @@ -291,6 +295,7 @@ Rückmeldung Feedback zu Tangem Eine Transaktion kann nicht gesendet werden + Fehler in der Coinbeschreibung Nur diese Das Netzwerk erhebt eine Token-Genehmigungsgebühr, um zu überprüfen, ob Sie die Verwendung Ihres Tokens für den Swap genehmigen. Gib das Genehmigungslimit für das ausgewählte Token an @@ -306,6 +311,7 @@ Um den Zugangscode zu ändern, halte die Karte wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. Um den Passcode zu ändern, halte die Karte wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. Um die Wallet zu erstellen, halte die Karte wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. + Um die Wallet zu erstellen, tippe auf den Ring wie oben gezeigt und entferne ihn erst am Ende des Vorgangs Halte deine Karte Nr. %s des Sets an dein Smartphone Legen Sie die Karte zum Scannen an Tippen um zu signieren @@ -349,7 +355,7 @@ Wallet auswählen Das Wallet unterstützt nicht mehr als ein Netzwerk Um dieses Asset zu kaufen, zu tauschen oder zu erhalten, füge diesen Deinem Portfolio hinzu - Dieses Asset ist nicht verfügbar + Dieses Asset wird derzeit in der Wallet nicht unterstützt. Dieses Asset ist für dieses Wallet nicht verfügbar Zum Portfolio hinzufügen Hinzufügen @@ -468,9 +474,11 @@ Der Sicherungsvorgang ist teilweise abgeschlossen. Du kannst ihn jetzt nicht beenden. 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. Hinzufügen einer Sicherungskarte + Karte scannen Scanne die Karte Nr. %d Jetzt sichern Scannen der Hauptkarte + Ring scannen Weiter zu meiner Wallet Backup abschließen Krypto empfangen @@ -584,6 +592,8 @@ Mir ist klar, dass ich diese Karte nicht verwenden kann, um meinen Zugangscode auf den anderen Karten der aktuellen Wallet wiederherzustellen Durch das Zurücksetzen auf Werkseinstellungen wird die Wallet vollständig von der ausgewählten Karte gelöscht. Du kannst die aktuelle Wallet nicht wiederherstellen oder die Karte verwenden, um den Zugangscode wiederherzustellen. Beim Zurücksetzen auf die Werkseinstellungen wird die Wallet der ausgewählten Karte vollständig gelöscht und aus der App entfernt. Es ist nicht möglich, die aktuelle Wallet wiederherzustellen. + Ringbesitzer erhalten bis zum 15.11. 3 provisionsfreie Swaps auf Changelly! + Jetzt mit 0 %% Gebühren tauschen! Besitzt du eine Bankkarte aus einem anderen Land und eine Aufenthaltserlaubnis oder Registrierung außerhalb der Russischen Föderation? Russische Bankkarten werden derzeit nicht akzeptiert Melde dich bei der App an und überprüfe dein Guthaben, ohne die Karte zu scannen diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index 406280f934..ea242dd220 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -344,7 +344,7 @@ Elegir wallet La billetera no admite más de una red Para comprar, intercambiar o recibir este activo, agréguelo a su portafolio - Este activo no está disponible + Este activo no está disponible en la billetera Añadir al portafolio Agregue un token Redes disponibles diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index d7c361e8d0..7cf0fda106 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -344,7 +344,7 @@ Choisissez un portefeuille Le portefeuille ne prend pas en charge plus d\'un réseau Pour acheter, échanger ou recevoir cet actif, ajoutez-le à votre portefeuille - Cet actif n\'est pas disponible + Cet actif n\'est plus pris en charge dans le portefeuille Ajouter au portfolio Ajoutez un jeton Réseaux disponibles diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index fc9a95d147..c1a429ffe6 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -12,19 +12,19 @@ 取引を送信できません 選択したものは%1$sネットワークをサポートしていません。 %1$sブロックチェーンの暗号化を有効にするには、ウォレットを工場出荷時の設定にリセットする必要があります。リセットする前に出金して、資金が失われないようにしてから、リセット処理を完了してください。リセット後は、現在のウォレットにアクセスできなくなります。 - %1$s ネットワークのトークンは、ファームウェアの制限により、このカードではサポートされていません。 - カードのスキャンに問題がありますか? + %1$s ネットワークのトークンは、ファームウェアの制限により、このカードまたはリングではサポートされていません。 + カードまたはリングのスキャンに問題がありますか? このカードはこのアプリでは使用できません。 デフォルト手数料 デフォルト手数料を有効にすると、取引手数料が自動的に設定され、送金時に手数料ページを表示する必要がなくなります。必要に応じて、いつでもこのページに戻ることができます。 設定に移動して、Tangemアプリで生体認証を有効にします。 生体認証を有効にする これにより、保存されているウォレットアクセスコードがすべて削除されます。ウォレットでの今後の操作には、アクセスコードの送信が必要になります。 - 保存したカードを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。 + 保存したデバイスを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。 アクセスコードを保存 - カードとのやり取りには、アクセスコードの代わりに生体認証が要求されます。 + カードまたはリングとのやり取りには、アクセスコードの代わりに生体認証が要求されます。 ウォレットをアプリに保存する - すべてのウォレットをTangemアプリにリンクできるようにします。アプリのロックを解除するには、生体認証が必要になります。取引の署名には、Tangemカードをタップする必要があります。 + すべてのウォレットをTangemアプリにリンクできるようにします。アプリのロックを解除するには、生体認証が必要になります。取引の署名には、Tangemカードまたはリングをタップする必要があります。 ダーク ライト システムのデフォルト @@ -34,28 +34,28 @@ 今後表示しない わかりました 残高は非表示 - カードをスキャンしてください - 30秒後に再試行するか、カードをスキャンしてください。 + カードまたはリングをスキャンしてください + 30秒後に再試行するか、カードまたはリングをスキャンしてください 試行回数が多すぎます お使いの携帯電話で生体認証が無効になっているため、アプリにウォレットを保存できません。ウォレットを保存するには、携帯電話の設定で生体認証機能を有効にしてください。 バックアップ処理を開始する 銀行カードまたはその他の支払い方法を使用する - %d カード + %d デバイス - このカードを使用して、このウォレット内の他のカードのアクセスコードをリセットしたくない場合は、このオプションを無効にしてください。これにより、このカードのアクセスコードもリセットできなくなりますのでご注意ください。 + このカードを使用して、このウォレット内の他のカードまたはリングのアクセスコードをリセットしたくない場合は、このオプションを無効にしてください。これにより、このカードのアクセスコードもリセットできなくなりますのでご注意ください。 このカードを使用して、このウォレット内の他のカードのアクセスコードをリセットできます。 アクセスコードの復元 リセット 本当に実行しますか? アクセスコードの変更 アクセスコードは、このカードのみで変更されます - 選択したウォレットのすべてのカードが、工場出荷時の設定にリセットされました。これで、新しいウォレットを作成できます。 + 選択したウォレットのすべてのTangemデバイスが、工場出荷時の設定にリセットされました。これで、新しいウォレットを作成できます。 リセット完了 - このウォレットの次のカードをリセットしますか? - カードのリセット - このウォレットのすべてのカードをリセットすることをお勧めします。 - すべてのカードのリセットが完了していません。 + このウォレットの次のデバイスをリセットしますか? + ウォレットのリセット + このウォレットのすべてのTangemデバイスをリセットすることをお勧めします + すべてのTangemデバイスのリセットが完了していません 工場出荷時の設定にリセット セキュリティ・モード カード設定 @@ -132,6 +132,7 @@ わかりました プライマリーカード + プライマリーリング パスフレーズ ペースト プライバシーポリシー @@ -209,7 +210,7 @@ アクセスコード カードをスキャンする前に、正しいアクセスコードを送信する必要があります。 長くタップ - このメカニズムは、カードに対する近接攻撃から保護します。コマンドの受信と実行の間に遅延を強制します。 + このメカニズムは、カードまたはリングに対する近接攻撃から保護します。コマンドの受信と実行の間に遅延を強制します。 パスコード カードの状態の変更を伴うコマンドを実行する前に、パスコードを入力する必要があります。 紹介プログラム @@ -226,7 +227,7 @@ 詳細 インターネット接続を確認するか、別のネットワークに切り替えてください。 利用規約 - 別のウォレットのカードを使用しました。このウォレットに関連付けられているカードをタップしてください。 + 別のウォレットのカードまたはリングを使用しました。このウォレットにリンクしているカードまたはリングをタップしてください。 マイトークン まだトークンを追加していません。マーケットからトークンを追加して交換してください。 %sとの交換はできません @@ -283,11 +284,11 @@ ポートフォリオ内のアセットをこのトークンと交換する 以下の情報はオプションです。共有したくない場合は消去できます。 どのような機能が不足しているかを教えください。解決できるよう尽力致します。 - お持ちのカードについて教えてください + お持ちのカードまたはリングについて教えてください サポートチームの皆さん、こんにちは。 問題について詳しく教えてください。どんな些細なことでも役に立ちます。 私の提案 - カードをスキャンできません + カード / リングをスキャンできません フィードバック Tangemへのフィードバック 取引を送信できません @@ -301,17 +302,18 @@ 続行するには、%1sスマートコントラクトに%2sを使用する権限を付与してください 許可を与える 無制限 - カードを注文 - スキャン + Tangemを注文 + Tangemをスキャン この情報はAIによって生成されました - アクセスコードを変更するには、上図のようにカードをタップし、操作が終了するまで取り外さないでください。 + アクセスコードを変更するには、上図のようにカードまたはリングをタップし、操作が終了するまで取り外さないでください。 パスコードを変更するには、上記のようにカードをタップし、操作が終了するまで取り外さないでください。 ウォレットを作成するには、上記のようにカードをタップし、操作が終了するまで取り外さないでください。 + ウォレットを作成するには、上図のようにリングをタップし、操作が終了するまで取り外さないでください。 ウォレットの%s番目のカードをタップします タップしてスキャン タップして署名 - カードをタップ - 生体認証を更新しました。カードをスキャンして入ってください。 + カードまたはリングをタップ + 生体認証を更新しました。カードまたはリングをスキャンして入ってください。 送金するには、残高が手数料額より高くなければなりません。 残高不足 この取引に必要なManaが不足しています。Manaが補充されるまでお待ちください。あなたのMana残高は%1$s/%2$sです。 @@ -323,7 +325,7 @@ 暗号資産および取引の追跡を開始するには、トークンを追加してください トークンの管理 すべてのネットワークにアクセスするには、カードをスキャンする必要があります。 - カードをスキャンする + カードまたはリングをスキャンする 2月%2$s - %3$sの期間、Changelly経由のスワップは%1$sのサービス手数料となります。 Changellyでスワップ、手数料%s トークン @@ -356,7 +358,7 @@ 利用可能なネットワーク 私のポートフォリオ マーケット - 選択したネットワークのアドレスを生成するには、Tangemカードをスキャンする必要があります。 + 選択したネットワークのアドレスを生成するには、Tangemウォレットカードまたはリングをスキャンする必要があります。 トークンを追加するには、これをスワイプするか、検索バーをタップしてください。 このセクションのデータは、次のネットワークから取得されています: %s データを読み込めません… @@ -446,11 +448,11 @@ これをドラッグするか、検索窓をタップして、マーケットから直接トークンを追加します トークンを追加 お使いのデバイスではNFCが使用できません - すべてのカードを保護するには、単一のアクセスコードを設定する必要があります + すべてのデバイスを保護するには、単一のアクセスコードを設定してください。 保護する - 後で各カードに個別のアクセスコードを設定できます + 後で各カードおよびリングに個別のアクセスコードを設定できます。 パーソナライズする - アクセスコードはリンクされたカード1枚で復元できます。すべてのカードを1か所に保管しないでください。 + アクセスコードはリンクされたカードおよびリング1つで復元できます。すべてのデバイスを1か所に保管しないでください。 復元する アクセスコードとして任意の単語、フレーズ、または数字を選択してください アクセスコードの作成 @@ -461,24 +463,26 @@ 操作を繰り返してください。カードは工場出荷時の設定にリセットされます。 アクティベーションに失敗しました トークンを追加する - バックアップカードを1枚追加しました。バックアップ処理が終了すると、これ以上バックアップカードを追加することはできません。もう一枚カードがあれば、バックアップに追加してください。バックアップ処理を続けますか? + バックアップカードまたはリングを1つ追加しました。バックアップ処理が終了すると、これ以上バックアップデバイスを追加することはできません。もう一つカードまたはリングがある場合、バックアップに追加してください。バックアップ処理を続けますか? バックアップ手続きは部分的に完了しています。現在終了することはできません。 パスフレーズは、暗号資産ウォレットが使用する高度なセキュリティ機能です。既存のリカバリフレーズに、自分で選択した単語またはフレーズを追加することで、まったく新しいアドレスのロック解除が可能になります。 - バックアップカードを追加する + バックアップ用のカードまたはリングを追加 + カードをスキャン カード #%d をスキャン 今すぐバックアップ - プライマリカードをスキャン + カードをスキャン + リングをスキャン ウォレットへ進む バックアップを完了する 暗号資産を受け取る プライマリカードをスキャン スキップする どのように機能しますか? - すべての秘密鍵をカード内で生成し、安全なウォレットを作成しましょう + すべての秘密鍵をカードまたはリング内で生成し、安全なウォレットを作成しましょう ウォレットを作成する ウォレットを作成する その他のオプション - 秘密鍵はカード内で安全に生成されます。シードフレーズは存在しないので、誰もエクスポートしたり盗んだりすることはできません。 + 秘密鍵はカードまたはリング内で安全に生成されます。シードフレーズは存在しないので、誰もエクスポートしたり盗んだりすることはできません。 秘密鍵を非公開で生成する カードは有効化され、使用可能になりました 成功! @@ -498,27 +502,27 @@ ウォレットをインポートするには、下のフィールドにシードフレーズを入力してください。 シードフレーズを生成する ウォレットをインポート - シードフレーズは、ウォレットを復元できる一連の単語です。カードによって生成される秘密鍵とは異なり、シードフレーズは保護されていないため、コピーされて盗まれる可能性があります。このオプションは自己責任で使用してください。 + シードフレーズは、ウォレットを復元できる一連の単語です。カードやリングによって生成される秘密鍵とは異なり、シードフレーズは保護されていないため、コピーされて盗まれる可能性があります。このオプションは自己責任で使用してください。 シードフレーズを使用する 無効なシードフレーズです。語順を確認してください。 無効なシードフレーズです。スペルを確認してください。 レガシー シードフレーズを正しく書き込んだかどうかを確認するために、2番目、7番目、11番目の単語を入力してください。 では、確認してみましょう - バックアップ処理を開始するには、最大2枚のバックアップカードを追加します。 - カードをもう1枚追加するか、バックアップ処理を完了します + バックアップ処理を開始するには、最大2つのバックアップカードまたはリングを追加します。 + カードまたはリングをもう1つ追加するか、バックアップ処理を完了します 番号%sのバックアップカードを準備してください - プライマリカードをスキャンして、バックアップ処理を開始します。 + プライマリカードまたはリングをスキャンして、バックアップ処理を開始します。 番号%sのプライマリカードを準備してください - ウォレットカードが設定され、使用できるようになりました。 - 最大枚数のカードが追加されました。バックアップ処理を完了します。 - カードの有効化 + ウォレットが設定され、使用できるようになりました。 + 最大数のデバイスが追加されました。バックアップ処理を完了します。 + ウォレットの有効化 バックアップカード # %d - バックアップカードなし + バックアップカードまたはリングなし 通知 - バックアップカードが1枚追加されました + バックアップデバイスが1つ追加されました カードを準備してください - バックアップカード2枚が追加されました + バックアップデバイス2つが追加されました 始めるには、ウォレットに任意の金額を入金するだけです 始めるには、ウォレットに%1$s %2$s以上入金するだけです 暗号資産を購入する @@ -526,7 +530,7 @@ ウォレットを有効化する ツイン化プロセスは部分的に完了しています。現在終了することはできません。 ウォレットの作成プロセスが何らかの理由で中断された場合は、最初からやり直す必要があります。 - 秘密鍵のバックアップは、未使用のTangemウォレットカード2枚まで可能です。 + 秘密鍵のバックアップは、未使用のTangemウォレットカードまたはリング2つまで可能です。 アクセスコードは、バックアップカード1枚を使用して復元できます。 すべてのバックアップカードは同一の秘密鍵を使用しており、すべての機能を使用できます。 ウォレットを保護するためにアクセスコードを設定できます。 @@ -575,13 +579,13 @@ カードをリセットする この操作を実行すると、現在のウォレットにアクセスできなくなることを理解しています。 このカードを使用して、現在のウォレットの他のカードのアクセスコードを回復させられないことを認識しています。 - 工場出荷時設定にリセットすると、選択したカードからウォレットが完全に削除されます。現在のウォレットを復元したり、カードを使用してアクセスコードを回復したりすることはできません。 - 工場出荷時の状態にリセットすると、選択したカードからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 + 工場出荷時設定にリセットすると、選択したカードやリングからウォレットが完全に削除されます。現在のウォレットを復元したり、カードやリングを使用してアクセスコードを復元することはできません。 + 工場出荷時の状態にリセットすると、選択したカードやリングからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 Tangem Ringユーザーは、11/15日までChangelly経由でスワップを3回手数料ゼロで行えます! 今すぐ手数料0%でスワップしましょう! 他の国の銀行カードと、ロシア連邦外での居住許可証または登録をお持ちですか? ロシアの銀行カードは現在ご利用いただけません - アプリにログインして、カードをスキャンせずに残高を確認できます + アプリにログインして、カードまたはリングをスキャンせずに残高を確認できます アプリにアクセスする 生体認証の使用を許可する ウォレットの操作には、アクセスコードの代わりに生体認証が要求されます。 @@ -589,10 +593,10 @@ 生体認証が無効になっているようです。ウォレットを保存する必要があります。 生体認証を有効にする 生体認証を使用しますか? - 資金を使って取引を行うには、カードが必要になりますのでご注意ください。 - カードをスキャン - カードをスキャンして設定を変更します。変更はスキャンしたカードにのみ影響し、ウォレットに関連付けられている他のカードには影響しません。 - カードを準備してください! + 資金を使って取引を行うには、カードまたはリングが必要になりますのでご注意ください + カードまたはリングをスキャン + カードまたはリングをスキャンして設定を変更します。変更はスキャンしたカードまたはリングにのみ影響し、ウォレットに関連付けられている他のデバイスには影響しません。 + Tangemを準備してください! 入力したアドレスにすでに含まれています 手数料額が推奨額の%s倍となっています。設定を再度確認し、調整してください。 推奨手数料を下回る手数料が指定されたため、取引に遅れが生じる可能性があります。続行しますか? @@ -668,7 +672,7 @@ 取引は正常に署名され、ブロックチェーンノードに送信されました。ウォレットの残高はしばらくして更新されます。 %1$sはTronネットワークのアセットです。手数料を計算して取引を行うには、アカウントにTron(TRX)を入金する必要があります。 取引が送信されました - セットアップしたいカードをスキャンするために準備してください。 + 設定したいカードまたはリングをスキャンするために準備してください。 ウォレット削除 これにより、ウォレットがアプリから削除されます。ウォレットは再度追加できます。 名前 @@ -692,7 +696,7 @@ 請求中の報酬 ステーキング報酬の受け取り方法。\n自動であなたのアドレスに報酬が入金される方法と、手動で取引を生成して報酬を引き出す方法があります。 報酬スケジュール - これは、ステーキングの参加者がいつ報酬を受け取るかを決定するスケジュールです。 + これは、ステーキングの参加者が報酬を受け取る時期を決定するスケジュールです。報酬の配布時間は、バリデーターとネットワークの負荷に応じて若干異なる場合があります。 報酬: %s ステーキング%s 解約完了までの期間 @@ -744,7 +748,7 @@ 報酬 ステーキングはロックされています もっとステーキングする - %1$sをステーキングし、年間 %2$sを受け取ります + %1$sをステーキングし、毎%2$s報酬を受け取ります タップしてロック解除 タップしてロック解除もしくは投票 タップして引き出す @@ -764,13 +768,13 @@ 投票する 引き出す あなたのステーキング - カード内に秘密鍵を保管しながら暗号資産を安全に保管します + カードまたはリング内に秘密鍵を保管しながら、暗号資産を安全に保管します 革新的なハードウェアウォレット - 1つのウォレットに最大3枚のカード + 1つのウォレットに最大3枚のカードまたは3本のリング 安全なバックアップ - ビットコイン、イーサリアム、その他多くの暗号資産を同時に管理できるハードウェアウォレット – オールインワンカード + ビットコイン、イーサリアム、その他多くの暗号資産を同時に管理できるハードウェアウォレット – オール・イン・ワンのカード / リング 数千の通貨 - 外出先でも、いつでもどこでも使用できます。コードや電池は不要です。暗号資産が必要なときに、カードをスマートフォンにタップするだけです。 + 外出先でも、いつでもどこでも使用できます。コードや電池は不要です。暗号資産が必要なときに、カードまたはリングをスマートフォンにタップするだけです。 すべての人のためのウォレット Tangemのご紹介 100種類以上の分散型サービスで、NFTの交換・購入や、借入・預金を行うことができます。 @@ -838,13 +842,13 @@ Tangemツイン この操作は元に戻せません。古いウォレットにはアクセスできなくなります。 番号%sのツインカードをタップし、操作が終了するまで取り外さないでください。 - %sを使用するか、カードをスキャンしてウォレットにアクセスしてください + %sを使用するか、カード / リングをスキャンしてウォレットにアクセスしてください 最新の機能とニュースをお届けします 新しいプロモーション情報をいち早く入手しましょう プッシュ通知を使用しますか? 新しいウォレットを追加 本当にこのウォレットを削除してもよろしいですか? - エラーが発生しました。カードをスキャンしてログインしてください。 + エラーが発生しました。カードまたはリングをスキャンしてログインしてください。 このウォレットはすでに保存されています。別のウォレットを追加できます。 %sという名前のウォレットはすでに存在します。 ウォレット名 @@ -852,7 +856,7 @@ すべてのロックを解除 %sですべてをロック解除 ブロックチェーンにアクセスできません。後でもう一度お試しください。 - カードをスキャン + カードまたはリングをスキャン メッセージに署名することを要求しています。 \n\n %s Dapp%1$s 、BNB取引の署名を要求しています\n\n%2$s %1$sの取引注文\n価格: %2$s\n受取金額: %3$s\n支払金額: %4$s @@ -866,7 +870,7 @@ セッションリクエストには、WalletConnect接続でサポートされていないブロックチェーンが含まれています。サポートされていないブロックチェーン: \n 技術的な実装のため、このDappとの接続は確立できません。 不明なエラーが発生しました。エラーメッセージ: %s 。問題が解決しない場合は、お気軽にサポートにお問い合わせください。 - Tangemアプリで間違ったカードが選択されました + Tangemアプリで誤ったカードまたはリングが選択されました Dappデータから取引を作成できませんでした。コード: %s 不明なエラーが発生しました。エラーコード: %d 。問題が解決しない場合は、お気軽にサポートにお問い合わせください。 WalletConnectセッションが開かれていません @@ -891,10 +895,10 @@ インターネット接続がありません ウォレット設定 Tangem - %sを使用するか、カードをスキャンしてウォレットにアクセスしてください + %sを使用するか、カード / リングをスキャンしてウォレットにアクセスしてください 許可付与のプロセスは現在進行中であり、まもなく完了する予定です。 承認中 - カードのアクティベーションが正しく完了しませんでした。デバイスの NFCモジュールに問題があるか、カードをデバイスに正しくタップしていないことが原因かもしれません。サポートチームにお問い合わせください。 + カードまたはリングのアクティベーションが正しく完了しませんでした。デバイスのNFCモジュールに問題があるか、カードまたはリングをデバイスに正しくタップしていないことが原因かもしれません。サポートチームにお問い合わせください。 アクティベーションに失敗しました BNBネットワーク開発者によると、BEP-2規格のサポートは2024年6月に終了します。この規格の資産を失わないために、BEP-20規格に変換してください。BNBスマートチェーンネットワークへ移行するには、Tangemのスワップサービスをご利用ください。 BNBビーコンチェーンは閉鎖されます。 @@ -940,7 +944,7 @@ MATICはPOLに移行中です。ただし、期限は設定されておらず、MATICはまだ廃止されていません。MATICトークンを引き続き安全に使用することも、取引所でPOLに交換することもできます。 MATICからPOLへの移行 - %d ネットワークのアドレスを取得するために、カードを利用してください + %d ネットワークのアドレスを取得するために、カードまたはリングを利用してください 一部のアドレスが見つかりません 現在、ネットワークにアクセスできません。しばらくしてからもう一度お試しください。 @@ -967,11 +971,11 @@ バックアップが中断されました。再開しますか? はい、再開します 破棄 - バックアップを破棄する場合は、カードを工場出荷時の設定にリセットしてやり直す必要があります。 + バックアップを破棄する場合は、デバイスを工場出荷時の設定にリセットしてやり直す必要があります。 バックアップを再開する これはやり直しができないアクションです %sでログイン - カードをスキャン - アプリにアクセスするには、 %sを使用するか、カードをスキャンしてください + カードまたはリングをスキャン + アプリにアクセスするには、 %sを使用するか、カードまたはリングをスキャンします お帰りなさい! diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index e9dc92acd8..5fa173ec0f 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -122,7 +122,7 @@ По рынку Медленно Скорость и комиссия - Получить адреса + Получить ваши адреса К провайдеру Перейти в токен Импортировать @@ -131,6 +131,7 @@ Осталось %1$s Заблокирован Основная сеть + месяц Сетевая комиссия Сумма отправки будет уменьшена на %1$s (%2$s) для покрытия выбранного уровня комиссии Далее @@ -139,6 +140,7 @@ Сейчас OK Основная карта + Основное кольцо Парольная фраза Вставить Политикой конфиденциальности @@ -312,7 +314,8 @@ Информация сгенерирована ИИ Чтобы изменить код доступа, приложите карту или кольцо как показано выше и не убирайте до окончания операции Чтобы изменить пароль, приложите карту как показано выше и не убирайте до окончания операции - Чтобы создать кошелек, приложите карту или кольцо как показано выше и не убирайте до окончания операции + Чтобы создать кошелек, приложите карту как показано выше и не убирайте до окончания операции + Чтобы создать кошелек, приложите кольцо как показано выше и не убирайте до окончания операции Приложите карту #%s для сброса Приложите, чтобы отсканировать Приложите, чтобы подписать @@ -336,6 +339,7 @@ Добавить Изменить Рыночная капитализация + Блокчейн, в котором криптовалюта изначально была создана Основная сеть Не основной или основной блокчейн, на котором размещен токен Не основные сети @@ -459,11 +463,11 @@ Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка Добавить токены Функция NFC недоступна на вашем устройстве - Вам необходимо установить единый код доступа для защиты всех ваших карт или колец + Установите единый код доступа для защиты всех ваших карт или колец Защита - Позже вы сможете установить индивидуальный код доступа для каждой карты или кольца + Установите индивидуальный код доступа для каждой карты или кольца позже. Персонализация - Код доступа можно восстановить с помощью привязанной карты или кольца. Не храните все в одном месте. + Восстановите код доступа с помощью связанной карты или кольца. Не храните все устройства в одном месте. Восстановление Выберите любое слово, фразу или число в качестве кода доступа Создайте код доступа @@ -477,10 +481,12 @@ Вы добавили одну резервную карту или кольцо. После того, как процесс будет завершен, Вы больше не сможете добавить еще. Если у Вас есть еще одна карта или кольцо, добавьте ее в резервную копию. Хотите продолжить? Процесс резервного копирования почти завершен. Вы не можете выйти из него сейчас. Парольная фраза — это расширенная функция безопасности, которую используют криптокошельки. Она добавляет дополнительное слово или фразу по вашему выбору к уже существующей seed - фразе, чтобы разблокировать совершенно новый набор адресов. - Добавить резервную карту или кольцо + Добавить карту или кольцо + Сканировать карту Сканировать карту #%d Создать резервную копию - Сканировать основную карту + Сканировать карту + Сканировать кольцо Перейти к моему кошельку Завершение бэкапа Получить криптовалюту @@ -491,7 +497,7 @@ Создать кошелек Создать кошелек Другие опции - Ваши ключи будут надежно сгенерированы внутри карты или кольца. Никакой seed-фразы, а это значит, что никто не может экспортировать или украсть ее. + Ваши ключи будут надежно сгенерированы внутри чипа. Никакой seed-фразы, а это значит, что никто не может экспортировать или украсть ее. Cоздавайте ключи приватно Ваша карта активирована и готова к использованию Успешно! @@ -517,7 +523,7 @@ Чтобы импортировать кошелек, введите seed-фразу в поле ниже Создать seed-фразу Импорт кошелька - Seed-фраза — это набор слов, который дает возможность восстановить кошелек. В отличие от ключей, сгенерированных картой, seed-фраза не защищена и может быть скопирована и украдена. Используйте этот вариант на свой страх и риск. + Seed-фраза — это набор слов, который дает возможность восстановить кошелек. В отличие от ключей, сгенерированных картой или кольцом, seed-фраза не защищена и может быть скопирована и украдена. Используйте этот вариант на свой страх и риск. Использовать seed-фразу Неверная seed-фраза. Пожалуйста, проверьте порядок слов. Неверная seed-фраза. Пожалуйста, проверьте орфографию. @@ -529,11 +535,14 @@ Подготовьте резервную карту с номером %s Отсканируйте основную карту или кольцо, чтобы начать процесс резервного копирования. Подготовьте основную карту с номером %s - Ваш кошелек настроен и готова к использованию. + Приготовьте кольцо и нажмите кнопку сканирования кольца внизу + Ваш кошелек настроен и готов к использованию. Добавлено максимальное количество устройств. Завершите процесс резервного копирования. Активация кошелька + Резервная карта Резервная карта #%d - Нет резервных карт или колец + Резервное кольцо + Нет резервных устройств Уведомления Добавлено одно резервное устройство Подготовьте свою карту @@ -600,7 +609,7 @@ Сбросить карту Я понимаю, что после выполнения этого действия у меня больше не будет доступа к текущему кошельку Я понимаю, что не смогу этой картой восстановить пароль на остальных картах этого кошелька, если я его забуду - Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты. Вы не сможете восстановить текущий кошелек или использовать данную карту для восстановления кода доступа. + Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты или кольца. Вы не сможете восстановить текущий кошелек или использовать данную карту или кольцо для восстановления кода доступа. Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты или кольца. Вы не сможете восстановить текущий кошелек. Владельцам колец — 3 обмена без комиссии на Changelly до 15.11! Обмен с 0%% комиссией! diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index d8a5fd66bd..4abb12f95e 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -116,7 +116,7 @@ Market Slow Speed and fee - Get addresses + Get your addresses Go to provider Go to token hour @@ -135,6 +135,7 @@ Now OK Primary card + Primary ring Passphrase Paste Privacy Policy @@ -309,7 +310,8 @@ This information was generated with AI To change the access code tap the card or ring as shown above and do not remove until the end of the operation To change the passcode tap the card as shown above and do not remove until the end of the operation - To create the wallet tap the card or ring as shown above and do not remove until the end of the operation + To create the wallet tap the card as shown above and do not remove until the end of the operation + To create the wallet tap the ring as shown above and do not remove until the end of the operation Tap the card #%s of the wallet Tap to scan Tap to sign @@ -452,11 +454,11 @@ Pull this up or tap the search bar to add tokens directly from the market Add tokens NFC is not available on your device - You have to set up a single access code to protect all your cards or rings + Set up a single access code to protect all your devices. Protect - You can set up an individual access code on each card or ring later + Set an individual access code for each card or ring later. Personalize - The access code can be restored with a linked card or ring. Don’t keep all at one place. + Restore the access code with a linked card or ring. Don`t keep all your devices in one place. Restore Choose any word, phrase, or number you want as your access code Create Access Code @@ -470,12 +472,14 @@ You\'ve added one backup card or ring. When backup process is finished you can\'t add more backup devices. If you have one more card or ring, add it to backup. Do you like to continue the backup process? The backup process is partly complete. You can\'t exit it now. The passphrase is an advanced security feature that crypto wallets use. It adds an extra word or phrase of your own choosing to your already existing recovery phrase to unlock a brand-new set of addresses. - Add a backup card or ring - Scan the card #%d + Add a card or ring + Scan card + Scan card #%d Backup now - Scan the primary card + Scan card + Scan ring Continue to my wallet - Finalize the backup + Finalize backup Receive crypto Scan primary card Skip for later @@ -484,7 +488,7 @@ Create wallet Create a wallet Other options - Your keys will be securely generated inside the card or ring. There is no seed phrase, which means nobody can export or steal it. + Your keys will be securely generated inside the chip. There is no seed phrase, which means nobody can export or steal it. Generate keys privately Your card is activated and ready to be used Success! @@ -506,7 +510,7 @@ To import your wallet, enter your seed phrase in the field below Generate seed phrase Import wallet - A seed phrase is a series of words that allows you to recover your wallet. Unlike the keys generated by the card, seed phrases are unprotected and can be copied and stolen. Use this option at your own risk. + A seed phrase is a series of words that allows you to recover your wallet. Unlike the keys generated by the card or ring, seed phrases are unprotected and can be copied and stolen. Use this option at your own risk. Use seed phrase Invalid seed phrase. Please check the word order. Invalid seed phrase. Please check your spelling. @@ -518,11 +522,14 @@ Prepare the backup card with number %s Scan the primary card or ring to start the backup process. Prepare the primary card with number %s + Prepare the ring and press the scan button below Your wallet is configured and ready for use. Max number of devices added. Finalize the backup process. Activating wallet + Backup card Backup card #%d - No backup cards or rings + Backup ring + No backup devices Notifications One backup device added Prepare your card @@ -585,7 +592,7 @@ Reset the card I understand that after performing this action, I will no longer have access to the current wallet I realize that I can\'t use this card to recover my access code on the other cards of the current wallet - Factory Reset will completely delete the wallet from the selected card. You will not be able to restore the current wallet or use the card to recover the access code. + Factory Reset will completely delete the wallet from the selected card or ring. You will not be able to restore the current wallet or use the card or ring to recover the access code. Factory Reset will completely delete the wallet from the selected card or ring and remove it from the app. You will not be able to restore the current wallet. Ring owners get 3 commission-free swaps on Changelly until 15.11! Swap With 0%% Fees Now! @@ -678,7 +685,7 @@ Transaction has been successfully signed and sent to the blockchain node. Wallet balance will be updated in a while %1$s is an asset in the Tron network. To calculate the fee and make a transaction you need to deposit some Tron (TRX) in your account. Transaction sent - Prepare to scan card or ring you want to setup. + Prepare to scan card or ring you want to set up. Forget wallet This will remove the wallet from the application. The wallet itself can be added again. Name @@ -841,14 +848,14 @@ You\'ve scanned wrong twin card. Please try another one This one that you are holding in your hands and the other one with number %s.\n\nBoth cards can be used to extract funds from this wallet. One wallet. Two cards. - Scan the card #%s + Scan card #%s Creating wallet Scan the #%s twin card Preparing card Tangem Twin This action is irreversible. You will not have access to the old wallet. Tap the twin card with number %s and do not remove until the end of the operation - Use %s or scan a card/ring to have an access to your wallet + Use %s or scan a card/ring to have access to your wallet Stay up to date with the latest features and news Be the first to know about new promotions Would you like to use\nPush-notifications? @@ -862,7 +869,7 @@ Unlock all Unlock all with %s Blockchain is unreachable. Try later - Scan the card or ring + Scan card or ring Requesting to sign a message.\n\n%s Dapp %1$s, requesting to\nsign BNB transaction.\n\n%2$s Trade order for %1$s\nPrice: %2$s\nAmount to receive: %3$s\nAmount to pay: %4$s @@ -979,7 +986,7 @@ You have an interrupted backup. Do you want to resume? Yes, resume Discard - If you will discard the backup now, then you will have to reset the devices to factory settings to start over again + If you discard the backup now, then you will have to reset the devices to factory settings to start over again Resume backup This is an irreversible action Log in with %s diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 6e38987881..d24b9a04a4 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -91,7 +91,7 @@ markdownComposeView = "0.5.4" # region Tangem tangemBlockchainSdk = "release-app_5.16-813" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.16-388" +tangemCardSdk = "release-app_5.16-389" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem17" #tangemVico = "0.0.1" # Keep it! - used for local builds ^