Updated on 2026-08-14
This commit is contained in:
parent
5f95ba532e
commit
4942718cc9
22 changed files with 322 additions and 344 deletions
|
|
@ -14,7 +14,6 @@ import com.tangem.tap.common.extensions.dispatchOnMain
|
|||
import com.tangem.tap.common.extensions.dispatchWithMain
|
||||
import com.tangem.tap.common.redux.AppDialog
|
||||
import com.tangem.tap.common.redux.AppState
|
||||
import com.tangem.tap.domain.configurable.warningMessage.WarningMessagesManager
|
||||
import com.tangem.tap.features.send.redux.SendAction
|
||||
import com.tangem.tap.features.wallet.redux.WalletAction
|
||||
import com.tangem.tap.network.exchangeServices.BuyExchangeService
|
||||
|
|
@ -84,10 +83,10 @@ private fun handleAction(action: Action, appState: () -> AppState?, dispatch: Di
|
|||
is GlobalAction.HideWarningMessage -> {
|
||||
store.state.globalState.warningManager?.let {
|
||||
if (it.hideWarning(action.warning)) {
|
||||
if (WarningMessagesManager.isAlreadySignedHashesWarning(action.warning)) {
|
||||
// TODO: No appropriate warningMessage identification. Make it better later
|
||||
store.dispatch(WalletAction.Warnings.CheckHashesCount.SaveCardId)
|
||||
}
|
||||
// if (WarningMessagesManager.isAlreadySignedHashesWarning()) {
|
||||
// // TODO: No appropriate warningMessage identification. Make it better later
|
||||
// store.dispatch(WalletAction.Warnings.CheckHashesCount.SaveCardId)
|
||||
// }
|
||||
|
||||
store.dispatch(WalletAction.Warnings.Update)
|
||||
store.dispatch(SendAction.Warnings.Update)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import java.util.concurrent.CopyOnWriteArrayList
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
class WarningMessagesManager {
|
||||
|
||||
private val warningsList = CopyOnWriteArrayList<WarningMessage>()
|
||||
|
|
@ -73,7 +75,7 @@ class WarningMessagesManager {
|
|||
location = listOf(WarningMessage.Location.MainScreen),
|
||||
blockchains = null,
|
||||
titleResId = R.string.common_warning,
|
||||
messageResId = R.string.alert_developer_card,
|
||||
// messageResId = R.string.alert_developer_card,
|
||||
origin = WarningMessage.Origin.Local,
|
||||
)
|
||||
|
||||
|
|
@ -85,7 +87,7 @@ class WarningMessagesManager {
|
|||
location = listOf(WarningMessage.Location.MainScreen),
|
||||
blockchains = null,
|
||||
titleResId = R.string.common_warning,
|
||||
messageResId = R.string.alert_card_signed_transactions,
|
||||
// messageResId = R.string.alert_card_signed_transactions,
|
||||
origin = WarningMessage.Origin.Local,
|
||||
)
|
||||
|
||||
|
|
@ -96,8 +98,8 @@ class WarningMessagesManager {
|
|||
priority = WarningMessage.Priority.Info,
|
||||
location = listOf(WarningMessage.Location.MainScreen),
|
||||
blockchains = null,
|
||||
titleResId = R.string.warning_important_security_info,
|
||||
messageResId = R.string.warning_signed_tx_previously,
|
||||
// titleResId = R.string.warning_important_security_info,
|
||||
// messageResId = R.string.warning_signed_tx_previously,
|
||||
origin = WarningMessage.Origin.Local,
|
||||
buttonTextId = R.string.warning_button_learn_more,
|
||||
titleFormatArg = "\u26A0",
|
||||
|
|
@ -147,7 +149,7 @@ class WarningMessagesManager {
|
|||
location = listOf(WarningMessage.Location.MainScreen),
|
||||
blockchains = null,
|
||||
titleResId = R.string.common_warning,
|
||||
messageResId = R.string.alert_demo_message,
|
||||
// messageResId = R.string.alert_demo_message,
|
||||
origin = WarningMessage.Origin.Local,
|
||||
)
|
||||
|
||||
|
|
@ -160,14 +162,14 @@ class WarningMessagesManager {
|
|||
location = listOf(WarningMessage.Location.MainScreen),
|
||||
blockchains = null,
|
||||
titleResId = R.string.common_warning,
|
||||
messageResId = R.string.warning_low_signatures_format,
|
||||
// messageResId = R.string.warning_low_signatures_format,
|
||||
origin = WarningMessage.Origin.Local,
|
||||
messageFormatArg = remainingSignatures.toString(),
|
||||
)
|
||||
}
|
||||
|
||||
fun isAlreadySignedHashesWarning(warning: WarningMessage): Boolean {
|
||||
return warning.messageResId == R.string.alert_card_signed_transactions
|
||||
}
|
||||
// fun isAlreadySignedHashesWarning(warning: WarningMessage): Boolean {
|
||||
// return warning.messageResId == R.string.alert_card_signed_transactions
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
@ -151,7 +151,7 @@ private fun DifferentAddressesWarning() {
|
|||
),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
val text = stringResource(id = R.string.alert_manage_tokens_addresses_message)
|
||||
val text = stringResource(id = R.string.warning_manage_tokens_legacy_derivation_message)
|
||||
Text(
|
||||
text = text,
|
||||
modifier = Modifier.padding(
|
||||
|
|
|
|||
|
|
@ -19,11 +19,12 @@ import com.tangem.tap.preferencesStorage
|
|||
import com.tangem.tap.proxy.redux.DaggerGraphState
|
||||
import com.tangem.tap.scope
|
||||
import com.tangem.tap.store
|
||||
import com.tangem.wallet.R
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
class WarningsMiddleware {
|
||||
fun handle(action: WalletAction.Warnings, globalState: GlobalState?) {
|
||||
when (action) {
|
||||
|
|
@ -49,7 +50,7 @@ class WarningsMiddleware {
|
|||
if (action.remainingSignatures != null &&
|
||||
action.remainingSignatures <= WarningMessagesManager.REMAINING_SIGNATURES_WARNING
|
||||
) {
|
||||
store.state.globalState.warningManager?.removeWarnings(R.string.warning_low_signatures_format)
|
||||
// store.state.globalState.warningManager?.removeWarnings(R.string.warning_low_signatures_format)
|
||||
addWarningMessage(
|
||||
warning = WarningMessagesManager.remainingSignaturesNotEnough(action.remainingSignatures),
|
||||
autoUpdate = true,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ import com.tangem.tap.store
|
|||
import com.tangem.wallet.R
|
||||
import com.tangem.wallet.databinding.CardBalanceBinding
|
||||
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
class BalanceWidget(
|
||||
private val binding: CardBalanceBinding,
|
||||
private val fragment: WalletFragment,
|
||||
|
|
@ -46,12 +48,11 @@ class BalanceWidget(
|
|||
val statusView = if (blockchainWalletData.status is WalletDataModel.VerifiedOnline) {
|
||||
R.id.tv_status_verified
|
||||
} else {
|
||||
tvStatusError.text =
|
||||
fragment.getText(R.string.wallet_balance_tx_in_progress)
|
||||
// tvStatusError.text = fragment.getText(R.string.wallet_balance_tx_in_progress)
|
||||
R.id.group_error
|
||||
}
|
||||
showStatus(statusView)
|
||||
tvStatusErrorMessage.hide()
|
||||
// tvStatusErrorMessage.hide()
|
||||
|
||||
if (tokenWalletData != null) {
|
||||
showBalanceWithToken(blockchainWalletData, true)
|
||||
|
|
@ -70,12 +71,12 @@ class BalanceWidget(
|
|||
tvCurrency.text = currency
|
||||
tvAmount.text = ""
|
||||
|
||||
tvStatusErrorMessage.text = blockchainWalletData.status.errorMessage
|
||||
tvStatusError.text =
|
||||
fragment.getString(R.string.wallet_balance_blockchain_unreachable)
|
||||
// tvStatusErrorMessage.text = blockchainWalletData.status.errorMessage
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
// tvStatusError.text = fragment.getString(R.string.wallet_balance_blockchain_unreachable)
|
||||
|
||||
showStatus(R.id.group_error)
|
||||
tvStatusErrorMessage.show(!blockchainWalletData.status.errorMessage.isNullOrBlank())
|
||||
// tvStatusErrorMessage.show(!blockchainWalletData.status.errorMessage.isNullOrBlank())
|
||||
}
|
||||
is WalletDataModel.NoAccount -> with(binding.lBalanceError) {
|
||||
binding.lBalance.root.hide()
|
||||
|
|
@ -93,7 +94,7 @@ class BalanceWidget(
|
|||
}
|
||||
|
||||
private fun showStatus(@IdRes viewRes: Int) = with(binding.lBalance) {
|
||||
groupError.show(viewRes == R.id.group_error)
|
||||
// groupError.show(viewRes == R.id.group_error)
|
||||
tvStatusLoading.show(viewRes == R.id.tv_status_loading)
|
||||
tvStatusVerified.show(viewRes == R.id.tv_status_verified)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,9 @@ import javax.inject.Inject
|
|||
/**
|
||||
* Wallet details fragment - use only for MultiWallet
|
||||
*/
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Suppress("LargeClass", "MagicNumber")
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
@AndroidEntryPoint
|
||||
class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), SafeStoreSubscriber<WalletState> {
|
||||
|
||||
|
|
@ -436,10 +438,11 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), SafeSt
|
|||
lBalance.root.show()
|
||||
lBalance.groupBalance.hide()
|
||||
lBalance.tvError.show()
|
||||
lBalance.tvError.setWarningStatus(
|
||||
R.string.wallet_balance_blockchain_unreachable,
|
||||
status.errorMessage,
|
||||
)
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
// lBalance.tvError.setWarningStatus(
|
||||
// R.string.wallet_balance_blockchain_unreachable,
|
||||
// status.errorMessage,
|
||||
// )
|
||||
}
|
||||
is WalletDataModel.NoAccount -> {
|
||||
lBalance.root.hide()
|
||||
|
|
|
|||
|
|
@ -9,43 +9,45 @@ import com.tangem.wallet.R
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
class WalletWarningConverter(
|
||||
private val context: Context,
|
||||
) : ModuleMessageConverter<WalletWarning, WalletWarningDescription> {
|
||||
|
||||
override fun convert(message: WalletWarning): WalletWarningDescription {
|
||||
val warningMessage = when (message) {
|
||||
is WalletWarning.ExistentialDeposit -> {
|
||||
context.getString(
|
||||
R.string.warning_existential_deposit_message,
|
||||
message.currencyName,
|
||||
message.edStringValueWithSymbol,
|
||||
)
|
||||
}
|
||||
is WalletWarning.BalanceNotEnoughForFee -> {
|
||||
context.getString(
|
||||
R.string.token_details_send_blocked_fee_format,
|
||||
message.currencyName,
|
||||
message.blockchainFullName,
|
||||
message.currencyName,
|
||||
message.blockchainFullName,
|
||||
message.blockchainSymbol,
|
||||
)
|
||||
}
|
||||
is WalletWarning.TransactionInProgress -> {
|
||||
context.getString(
|
||||
R.string.token_details_send_blocked_tx_format,
|
||||
message.currencyName,
|
||||
)
|
||||
}
|
||||
is WalletWarning.Rent -> {
|
||||
context.getString(
|
||||
R.string.solana_rent_warning,
|
||||
message.walletRent.rent,
|
||||
message.walletRent.exemptionAmount,
|
||||
)
|
||||
}
|
||||
}
|
||||
return WalletWarningDescription(context.getString(R.string.common_warning), warningMessage)
|
||||
// val warningMessage = when (message) {
|
||||
// is WalletWarning.ExistentialDeposit -> {
|
||||
// context.getString(
|
||||
// R.string.warning_existential_deposit_message,
|
||||
// message.currencyName,
|
||||
// message.edStringValueWithSymbol,
|
||||
// )
|
||||
// }
|
||||
// is WalletWarning.BalanceNotEnoughForFee -> {
|
||||
// context.getString(
|
||||
// R.string.token_details_send_blocked_fee_format,
|
||||
// message.currencyName,
|
||||
// message.blockchainFullName,
|
||||
// message.currencyName,
|
||||
// message.blockchainFullName,
|
||||
// message.blockchainSymbol,
|
||||
// )
|
||||
// }
|
||||
// is WalletWarning.TransactionInProgress -> {
|
||||
// context.getString(
|
||||
// R.string.token_details_send_blocked_tx_format,
|
||||
// message.currencyName,
|
||||
// )
|
||||
// }
|
||||
// is WalletWarning.Rent -> {
|
||||
// context.getString(
|
||||
// R.string.solana_rent_warning,
|
||||
// message.walletRent.rent,
|
||||
// message.walletRent.exemptionAmount,
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
return WalletWarningDescription(context.getString(R.string.common_warning), "")
|
||||
}
|
||||
}
|
||||
|
|
@ -22,6 +22,8 @@ import com.tangem.tap.store
|
|||
import com.tangem.wallet.R
|
||||
import com.tangem.wallet.databinding.ItemCurrencyWalletBinding
|
||||
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
class WalletAdapter : ListAdapter<WalletDataModel, WalletAdapter.WalletsViewHolder>(DiffUtilCallback) {
|
||||
|
||||
override fun getItemId(position: Int): Long {
|
||||
|
|
@ -59,7 +61,8 @@ class WalletAdapter : ListAdapter<WalletDataModel, WalletAdapter.WalletsViewHold
|
|||
root.getString(R.string.wallet_balance_tx_in_progress)
|
||||
}
|
||||
is WalletDataModel.Unreachable -> {
|
||||
root.getString(R.string.wallet_balance_blockchain_unreachable)
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
// root.getString(R.string.wallet_balance_blockchain_unreachable)
|
||||
}
|
||||
is WalletDataModel.MissedDerivation -> {
|
||||
root.getString(R.string.wallet_balance_missing_derivation)
|
||||
|
|
@ -86,7 +89,7 @@ class WalletAdapter : ListAdapter<WalletDataModel, WalletAdapter.WalletsViewHold
|
|||
lContent.tvAmount.text = wallet.getFormattedCryptoAmount()
|
||||
|
||||
lContent.tvStatus.isVisible = statusMessage != null
|
||||
lContent.tvStatus.text = statusMessage
|
||||
// lContent.tvStatus.text = statusMessage
|
||||
|
||||
lContent.tvExchangeRate.isVisible = statusMessage == null
|
||||
lContent.tvExchangeRate.text = wallet.getFormattedFiatRate(
|
||||
|
|
|
|||
|
|
@ -10,12 +10,7 @@ import com.google.android.play.core.review.ReviewManagerFactory
|
|||
import com.tangem.core.analytics.Analytics
|
||||
import com.tangem.tap.common.analytics.events.AnalyticsParam
|
||||
import com.tangem.tap.common.analytics.events.MainScreen
|
||||
import com.tangem.tap.common.extensions.getActivity
|
||||
import com.tangem.tap.common.extensions.getColor
|
||||
import com.tangem.tap.common.extensions.getString
|
||||
import com.tangem.tap.common.extensions.hide
|
||||
import com.tangem.tap.common.extensions.show
|
||||
import com.tangem.tap.common.feedback.RateCanBeBetterEmail
|
||||
import com.tangem.tap.common.extensions.*
|
||||
import com.tangem.tap.common.redux.global.GlobalAction
|
||||
import com.tangem.tap.domain.configurable.warningMessage.WarningMessage
|
||||
import com.tangem.tap.features.wallet.redux.WalletAction
|
||||
|
|
@ -24,6 +19,8 @@ import com.tangem.wallet.R
|
|||
import com.tangem.wallet.databinding.LayoutWarningCardActionBinding
|
||||
import timber.log.Timber
|
||||
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
class WarningMessagesAdapter : ListAdapter<WarningMessage, WarningMessageVH>(DiffUtilCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WarningMessageVH {
|
||||
|
|
@ -94,11 +91,11 @@ class WarningMessageVH(val binding: LayoutWarningCardActionBinding) : RecyclerVi
|
|||
|
||||
val buttonAction =
|
||||
when (warning.titleResId) {
|
||||
R.string.warning_important_security_info -> {
|
||||
View.OnClickListener {
|
||||
store.dispatch(WalletAction.DialogAction.SignedHashesMultiWalletDialog)
|
||||
}
|
||||
}
|
||||
// R.string.warning_important_security_info -> {
|
||||
// View.OnClickListener {
|
||||
// store.dispatch(WalletAction.DialogAction.SignedHashesMultiWalletDialog)
|
||||
// }
|
||||
// }
|
||||
else -> {
|
||||
View.OnClickListener {
|
||||
store.dispatch(GlobalAction.HideWarningMessage(warning))
|
||||
|
|
@ -120,12 +117,12 @@ class WarningMessageVH(val binding: LayoutWarningCardActionBinding) : RecyclerVi
|
|||
store.dispatch(GlobalAction.HideWarningMessage(warning))
|
||||
store.dispatch(WalletAction.Warnings.AppRating.RemindLater)
|
||||
}
|
||||
binding.btnCanBeBetter.setOnClickListener {
|
||||
Analytics.send(MainScreen.NoticeRateAppButton(AnalyticsParam.RateApp.Disliked))
|
||||
store.dispatch(WalletAction.Warnings.AppRating.SetNeverToShow)
|
||||
store.dispatch(GlobalAction.HideWarningMessage(warning))
|
||||
store.dispatch(GlobalAction.SendEmail(RateCanBeBetterEmail()))
|
||||
}
|
||||
// binding.btnCanBeBetter.setOnClickListener {
|
||||
// Analytics.send(MainScreen.NoticeRateAppButton(AnalyticsParam.RateApp.Disliked))
|
||||
// store.dispatch(WalletAction.Warnings.AppRating.SetNeverToShow)
|
||||
// store.dispatch(GlobalAction.HideWarningMessage(warning))
|
||||
// store.dispatch(GlobalAction.SendEmail(RateCanBeBetterEmail()))
|
||||
// }
|
||||
binding.btnReallyCool.setOnClickListener {
|
||||
val activity = binding.root.context.getActivity() ?: return@setOnClickListener
|
||||
|
||||
|
|
|
|||
|
|
@ -9,11 +9,13 @@ import com.tangem.tap.features.wallet.redux.WalletAction
|
|||
import com.tangem.tap.store
|
||||
import com.tangem.wallet.R
|
||||
|
||||
// TODO: Delete with WalletFeatureToggles
|
||||
@Deprecated(message = "Used only in old wallet screen")
|
||||
object SignedHashesWarningDialog {
|
||||
fun create(context: Context): AlertDialog {
|
||||
return MaterialAlertDialogBuilder(context, R.style.CustomMaterialDialog).apply {
|
||||
setTitle(context.getString(R.string.warning_important_security_info, "\u26A0"))
|
||||
setMessage(R.string.alert_signed_hashes_message)
|
||||
// setTitle(context.getString(R.string.warning_important_security_info, "\u26A0"))
|
||||
// setMessage(R.string.alert_signed_hashes_message)
|
||||
setPositiveButton(R.string.common_understand) { _, _ ->
|
||||
store.dispatch(WalletAction.Warnings.CheckHashesCount.SaveCardId)
|
||||
store.dispatch(
|
||||
|
|
|
|||
|
|
@ -38,41 +38,40 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/tv_currency"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_status_error"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="5dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/wallet_balance_blockchain_unreachable"
|
||||
android:textColor="@color/warning"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone"
|
||||
app:drawableStartCompat="@drawable/ic_warning_small"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_currency" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_status_error_message"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:textColor="@color/darkGray2"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_status_error" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_error"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:constraint_referenced_ids="tv_status_error, tv_status_error_message" />
|
||||
<!-- TODO: Delete with WalletFeatureToggles -->
|
||||
<!--<TextView-->
|
||||
<!-- android:id="@+id/tv_status_error"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:drawablePadding="5dp"-->
|
||||
<!-- android:paddingStart="16dp"-->
|
||||
<!-- android:paddingTop="4dp"-->
|
||||
<!-- android:paddingEnd="16dp"-->
|
||||
<!-- android:text="@string/wallet_balance_blockchain_unreachable"-->
|
||||
<!-- android:textColor="@color/warning"-->
|
||||
<!-- android:textSize="14sp"-->
|
||||
<!-- android:visibility="gone"-->
|
||||
<!-- app:drawableStartCompat="@drawable/ic_warning_small"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/tv_currency" />-->
|
||||
<!--<TextView-->
|
||||
<!-- android:id="@+id/tv_status_error_message"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:paddingStart="16dp"-->
|
||||
<!-- android:paddingTop="4dp"-->
|
||||
<!-- android:paddingEnd="16dp"-->
|
||||
<!-- android:textColor="@color/darkGray2"-->
|
||||
<!-- android:textSize="14sp"-->
|
||||
<!-- android:visibility="gone"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/tv_status_error" />-->
|
||||
<!--<androidx.constraintlayout.widget.Group-->
|
||||
<!-- android:id="@+id/group_error"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:visibility="gone"-->
|
||||
<!-- app:constraint_referenced_ids="tv_status_error, tv_status_error_message" />-->
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_status_loading"
|
||||
|
|
|
|||
|
|
@ -29,78 +29,73 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.skydoves.androidveil.VeilLayout
|
||||
android:id="@+id/veil_balance"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_processing"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title"
|
||||
app:veilLayout_baseColor="@color/lightGray0"
|
||||
app:veilLayout_highlightColor="@color/lightGray1"
|
||||
app:veilLayout_layout="@layout/card_total_balance_shimmer"
|
||||
app:veilLayout_radius="4dp"
|
||||
app:veilLayout_shimmerEnable="true"
|
||||
app:veilLayout_veiled="true"
|
||||
tools:veilLayout_veiled="false">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_balance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:minWidth="152dp"
|
||||
android:textColor="@color/text_primary_1"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="22 325.40 $" />
|
||||
|
||||
</com.skydoves.androidveil.VeilLayout>
|
||||
|
||||
<com.skydoves.androidveil.VeilLayout
|
||||
android:id="@+id/veil_balance_crypto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginTop="4dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/veil_balance"
|
||||
app:veilLayout_baseColor="@color/lightGray0"
|
||||
app:veilLayout_highlightColor="@color/lightGray1"
|
||||
app:veilLayout_layout="@layout/card_total_balance_shimmer"
|
||||
app:veilLayout_radius="4dp"
|
||||
app:veilLayout_shimmerEnable="true"
|
||||
app:veilLayout_veiled="true"
|
||||
tools:veilLayout_veiled="false"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_balance_crypto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:maxLines="1"
|
||||
android:minWidth="152dp"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:textSize="12sp"
|
||||
tools:text="5.13123123123 ETH"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</com.skydoves.androidveil.VeilLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_processing"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/wallet_balance_blockchain_unreachable"
|
||||
android:textColor="@color/warning"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/veil_balance"
|
||||
tools:visibility="visible" />
|
||||
<!--TODO: Delete with WalletFeatureToggles-->
|
||||
<!--<com.skydoves.androidveil.VeilLayout-->
|
||||
<!-- android:id="@+id/veil_balance"-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="4dp"-->
|
||||
<!-- app:layout_constraintBottom_toTopOf="@id/tv_processing"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/tv_title"-->
|
||||
<!-- app:veilLayout_baseColor="@color/lightGray0"-->
|
||||
<!-- app:veilLayout_highlightColor="@color/lightGray1"-->
|
||||
<!-- app:veilLayout_layout="@layout/card_total_balance_shimmer"-->
|
||||
<!-- app:veilLayout_radius="4dp"-->
|
||||
<!-- app:veilLayout_shimmerEnable="true"-->
|
||||
<!-- app:veilLayout_veiled="true"-->
|
||||
<!-- tools:veilLayout_veiled="false">-->
|
||||
<!-- <TextView-->
|
||||
<!-- android:id="@+id/tv_balance"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:maxLines="1"-->
|
||||
<!-- android:minWidth="152dp"-->
|
||||
<!-- android:textColor="@color/text_primary_1"-->
|
||||
<!-- android:textSize="24sp"-->
|
||||
<!-- android:textStyle="bold"-->
|
||||
<!-- tools:text="22 325.40 $" />-->
|
||||
<!--</com.skydoves.androidveil.VeilLayout>-->
|
||||
<!-- <com.skydoves.androidveil.VeilLayout
|
||||
android:id="@+id/veil_balance_crypto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginTop="4dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/veil_balance"
|
||||
app:veilLayout_baseColor="@color/lightGray0"
|
||||
app:veilLayout_highlightColor="@color/lightGray1"
|
||||
app:veilLayout_layout="@layout/card_total_balance_shimmer"
|
||||
app:veilLayout_radius="4dp"
|
||||
app:veilLayout_shimmerEnable="true"
|
||||
app:veilLayout_veiled="true"
|
||||
tools:veilLayout_veiled="false"
|
||||
tools:visibility="visible">
|
||||
<TextView
|
||||
android:id="@+id/tv_balance_crypto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:maxLines="1"
|
||||
android:minWidth="152dp"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:textSize="12sp"
|
||||
tools:text="5.13123123123 ETH"
|
||||
tools:visibility="visible" />
|
||||
</com.skydoves.androidveil.VeilLayout>-->
|
||||
<!--<TextView-->
|
||||
<!-- android:id="@+id/tv_processing"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="2dp"-->
|
||||
<!-- android:text="@string/wallet_balance_blockchain_unreachable"-->
|
||||
<!-- android:textColor="@color/warning"-->
|
||||
<!-- android:textSize="12sp"-->
|
||||
<!-- android:visibility="gone"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/veil_balance"-->
|
||||
<!-- tools:visibility="visible" />-->
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_currency_name"
|
||||
|
|
|
|||
|
|
@ -16,53 +16,53 @@
|
|||
android:id="@+id/iv_warning_icon"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:src="@drawable/img_warning_triangle_24"
|
||||
android:scaleType="center"
|
||||
android:background="@drawable/shape_ellipse"
|
||||
android:backgroundTint="@color/buttonGray"
|
||||
android:contentDescription="@null"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
android:paddingBottom="4dp"
|
||||
android:src="@drawable/img_warning_triangle_24"
|
||||
android:scaleType="center"
|
||||
android:background="@drawable/shape_ellipse"
|
||||
android:backgroundTint="@color/buttonGray"
|
||||
android:contentDescription="@null"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_warning_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/textBlack"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/main_no_backup_warning_title"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_warning_icon"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_warning_subtitle"
|
||||
app:layout_constraintEnd_toStartOf="@id/iv_warning_end_icon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_warning_subtitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/iconGray"
|
||||
android:text="@string/main_no_backup_warning_subtitle"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_warning_title"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_warning_title"
|
||||
app:layout_constraintEnd_toEndOf="@id/tv_warning_title" />
|
||||
<!-- TODO: Delete with WalletFeatureToggles -->
|
||||
<!--<TextView-->
|
||||
<!-- android:id="@+id/tv_warning_title"-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginStart="8dp"-->
|
||||
<!-- android:layout_marginEnd="16dp"-->
|
||||
<!-- android:textSize="14sp"-->
|
||||
<!-- android:textColor="@color/textBlack"-->
|
||||
<!-- android:textStyle="bold"-->
|
||||
<!-- android:text="@string/main_no_backup_warning_title"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toEndOf="@id/iv_warning_icon"-->
|
||||
<!-- app:layout_constraintBottom_toTopOf="@id/tv_warning_subtitle"-->
|
||||
<!-- app:layout_constraintEnd_toStartOf="@id/iv_warning_end_icon" />-->
|
||||
<!--<TextView-->
|
||||
<!-- android:id="@+id/tv_warning_subtitle"-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="4dp"-->
|
||||
<!-- android:textSize="12sp"-->
|
||||
<!-- android:textColor="@color/iconGray"-->
|
||||
<!-- android:text="@string/main_no_backup_warning_subtitle"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/tv_warning_title"-->
|
||||
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="@id/tv_warning_title"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="@id/tv_warning_title" />-->
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_warning_end_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_arrow_angle_right"
|
||||
android:contentDescription="@null"
|
||||
app:tint="@color/darkGray1"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:id="@+id/iv_warning_end_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_arrow_angle_right"
|
||||
android:contentDescription="@null"
|
||||
app:tint="@color/darkGray1"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -45,17 +45,18 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/warning_content_container" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_can_be_better"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-16dp"
|
||||
android:text="@string/warning_button_can_be_better"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@android:color/white"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btn_really_cool"
|
||||
app:layout_constraintTop_toBottomOf="@+id/warning_content_container" />
|
||||
<!--TODO: Delete with WalletFeatureToggles-->
|
||||
<!--<Button-->
|
||||
<!-- android:id="@+id/btn_can_be_better"-->
|
||||
<!-- style="@style/Widget.AppCompat.Button.Borderless"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="-16dp"-->
|
||||
<!-- android:text="@string/warning_button_can_be_better"-->
|
||||
<!-- android:textAllCaps="false"-->
|
||||
<!-- android:textColor="@android:color/white"-->
|
||||
<!-- app:layout_constraintEnd_toStartOf="@+id/btn_really_cool"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/warning_content_container" />-->
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_really_cool"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="alert_card_signed_transactions">Diese Karte wurde früher bereits aufgeladen und Transaktionen wurden damit signiert. Ziehen Sie eine sofortige Auszahlung aller Beträge in Betracht, wenn Sie diese Karte von einer nicht vertrauenswürdigen Quelle erhalten haben.</string>
|
||||
<string name="alert_developer_card">Die von Ihnen gescannte Karte ist eine Entwicklungskarte. Akzeptieren Sie sie nicht als Zahlungsmittel.</string>
|
||||
<string name="alert_unsupported_card">Diese Karte ist für die Zusammenarbeit mit Tangem nicht geeignet</string>
|
||||
<string name="chat_bot_name">Tangem Bot</string>
|
||||
<string name="common_accept">Akzeptieren</string>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="alert_card_signed_transactions">Cette carte a déjà été rechargée et a signé des transactions avant. Envisagez la possibilité de retirer tous les fonds immédiatement si vous avez reçu cette carte d\'une source non fiable.</string>
|
||||
<string name="alert_developer_card">La carte que vous avez scannée est une carte de développement. Ne l\'acceptez pas comme paiement.</string>
|
||||
<string name="alert_unsupported_card">Cette carte n\'est pas conçue pour fonctionner avec Tangem</string>
|
||||
<string name="chat_bot_name">Tangem Bot</string>
|
||||
<string name="common_accept">J\'accepte</string>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="alert_card_signed_transactions">Questa carta è già stata ricaricata e ha firmato transazioni in passato. Valuta la possibilità di prelevare immediatamente tutti i fondi se hai ricevuto questa carta da una fonte inaffidabile.</string>
|
||||
<string name="alert_developer_card">La carta che hai scansionato è una carta di sviluppo. Non utilizzarla come strumento di pagamento</string>
|
||||
<string name="alert_unsupported_card">Questa carta non è progettata per funzionare con Tangem</string>
|
||||
<string name="chat_bot_name">Tangem Bot</string>
|
||||
<string name="common_accept">Accetta</string>
|
||||
|
|
|
|||
|
|
@ -7,17 +7,12 @@
|
|||
<string name="alert_app_feedback_sent_title">Отправлено успешно</string>
|
||||
<string name="alert_button_request_support">Обратиться в поддержку</string>
|
||||
<string name="alert_button_send_feedback">Отправить отзыв</string>
|
||||
<string name="alert_card_signed_transactions">Эта карта ранее пополнялась и подписывала транзакции. Выведите средства как можно быстрее, если вы получили эту карту из ненадежного источника. Если это ваша карта, то не о чем беспокоиться.</string>
|
||||
<string name="alert_demo_feature_disabled">Эта функция недоступна в демонстрационном режиме</string>
|
||||
<string name="alert_demo_message">Приложение работает в демонстрационном режиме. Средства на всех счетах ненастоящие.</string>
|
||||
<string name="alert_developer_card">Карта, которую вы отсканировали, является картой разработчика. Не принимайте её в качестве оплаты.</string>
|
||||
<string name="alert_failed_to_send_email_title">Не удалось отправить письмо</string>
|
||||
<string name="alert_failed_to_send_transaction_message">Причина: %s</string>
|
||||
<string name="alert_failed_to_send_transaction_title">Не могу отправить транзакцию</string>
|
||||
<string name="alert_manage_tokens_addresses_message">Внимание! Валюты на разных сетях имеют разные адреса. Убедитесь, что адрес соответствует сети, в которой вы отправляете средства.</string>
|
||||
<string name="alert_manage_tokens_unsupported_curve_message">Для активации криптографии сети %1$s необходимо сбросить кошелек до заводских настроек. Пожалуйста, выведите свои средства, чтобы не потерять их, после сброса доступ к текущему кошельку будет невозможен.</string>
|
||||
<string name="alert_manage_tokens_unsupported_message">Токены в сети Solana не поддерживаются этой картой из-за ограничений прошивки.</string>
|
||||
<string name="alert_signed_hashes_message">Эта карта не является платежным средством. В настоящее время мы не можем сопоставить количество подписей на карте с информацией в блокчейне. Это нормально, но в редких случаях может означать, что предыдущий владелец удерживает подписанную транзакцию от публикации, что является поводом для беспокойства.\nНе принимайте эту карту в качестве физического платежа от кого-то, кому вы не доверяете.\nВо всех остальных отношениях эта карта совершенно безопасна.\nTangem — единственный аппаратный кошелек, предлагающий защиту методом подсчета подписей.</string>
|
||||
<string name="alert_troubleshooting_scan_card_title">У вас возникли трудности со сканированием карты?</string>
|
||||
<string name="alert_unsupported_card">Эта карта не предназначена для работы с этим приложением</string>
|
||||
<string name="app_settings_enable_biometrics_description">Перейдите в настройки, чтобы включить биометрическую аутентификацию в приложении Tangem</string>
|
||||
|
|
@ -63,6 +58,7 @@
|
|||
<string name="chat_user_actions_title">Пожалуйста, выберите действие</string>
|
||||
<string name="chat_user_rate_agent_title">Пожалуйста, оцените работу агента</string>
|
||||
<string name="common_accept">Принять</string>
|
||||
<string name="common_access_denied">Доступ запрещен</string>
|
||||
<string name="common_add">Добавить</string>
|
||||
<string name="common_apply">Применить</string>
|
||||
<string name="common_approval">Одобрение</string>
|
||||
|
|
@ -123,7 +119,6 @@
|
|||
<string name="common_transactions">Транзакции</string>
|
||||
<string name="common_transfer">Перевод</string>
|
||||
<string name="common_understand">Я понял</string>
|
||||
<string name="common_unlock_needed">Необходима разблокировка</string>
|
||||
<string name="common_unreachable">Недоступно</string>
|
||||
<string name="common_yes">Да</string>
|
||||
<string name="contract_address_copied_message">Адрес контракта скопирован!</string>
|
||||
|
|
@ -202,25 +197,14 @@
|
|||
<item quantity="other">Пройдите 3 урока и получите %d 1INCH токенов на свой кошелек</item>
|
||||
</plurals>
|
||||
<string name="main_manage_tokens">Управление токенами</string>
|
||||
<string name="main_no_backup_warning_subtitle">Чтобы защитить свои активы, мы советуем вам выполнить эту процедуру</string>
|
||||
<string name="main_no_backup_warning_title">Резервное копирование не выполнено</string>
|
||||
<string name="main_page_balance">Баланс</string>
|
||||
<string name="main_processing_full_amount">В сумме учтены не все монеты</string>
|
||||
<string name="main_promotion_credited">1INCH токены будут зачислены на адрес вашего кошелька в сети %s в течение 48 часов</string>
|
||||
<string name="main_scan_card_warning_view_subtitle">Чтобы получить доступ ко всем сетям, вам необходимо отсканировать карту</string>
|
||||
<string name="main_scan_card_warning_view_title">Отсканируйте карту</string>
|
||||
<string name="main_tokens">Токены</string>
|
||||
<plurals name="main_warning_missing_derivation_description">
|
||||
<item quantity="one">Вам надо сгенерировать адрес для %d новой сети, используя вашу карту</item>
|
||||
<item quantity="few">Вам надо сгенерировать адреса для %d новых сетей, используя вашу карту</item>
|
||||
<item quantity="many">Вам надо сгенерировать адреса для %d новых сетей, используя вашу карту</item>
|
||||
<item quantity="other">Вам надо сгенерировать адреса для %d новых сетей, используя вашу карту</item>
|
||||
</plurals>
|
||||
<string name="main_warning_missing_derivation_title">Некоторые адреса отсутствуют</string>
|
||||
<string name="manage_tokens_add">Добавить</string>
|
||||
<string name="manage_tokens_edit">Изменить</string>
|
||||
<string name="notification_subtitle_not_enough_funds">Чтобы отправить транзакцию %1$s, необходимо пополнить баланс %2$s (%3$s) для оплаты комиссии сети</string>
|
||||
<string name="notification_title_not_enough_funds">Невозможно покрыть %1$s комиссию</string>
|
||||
<string name="onboarding_access_code_feature_1_description">Вам необходимо установить единый код доступа для защиты всех ваших карт</string>
|
||||
<string name="onboarding_access_code_feature_1_title">Защита</string>
|
||||
<string name="onboarding_access_code_feature_2_description">Позже вы сможете установить индивидуальный код доступа для каждой карты</string>
|
||||
|
|
@ -398,7 +382,6 @@
|
|||
<string name="shop_other_payment_methods">Другие способы оплаты</string>
|
||||
<string name="shop_pre_order_now">Сделать предзаказ</string>
|
||||
<string name="shop_total">Итого</string>
|
||||
<string name="solana_rent_warning">Сеть Solana взимает арендную плату в размере %1$s каждые 2 дня. Аккаунты, которые не могут позволить себе арендную плату, удаляются из сети. Пополните свой счет более чем на %2$s, чтобы не платить арендную плату.</string>
|
||||
<string name="story_awe_description">Держите свои криптосбережения в безопасности. Приватные ключи надежно хранятся на карте.</string>
|
||||
<string name="story_awe_title">Революционный аппаратный кошелек</string>
|
||||
<string name="story_backup_description">До **трех карт** с одним кошельком</string>
|
||||
|
|
@ -462,8 +445,6 @@
|
|||
<string name="token_details_hide_alert_message">Вы скрываете токен с главного экрана, но в любой момент сможете добавить его обратно через страницу управления токенами.</string>
|
||||
<string name="token_details_hide_alert_title">Скрыть %s</string>
|
||||
<string name="token_details_hide_token">Скрыть токен</string>
|
||||
<string name="token_details_send_blocked_fee_format">%1$s — это токен в сети %2$s. Чтобы отправить транзакцию %3$s, необходимо пополнить баланс %4$s (%5$s) для оплаты комиссии сети.</string>
|
||||
<string name="token_details_send_blocked_tx_format">Пожалуйста, дождитесь завершения транзакции %s, чтобы иметь возможность отправить средства</string>
|
||||
<string name="token_details_token_type_subtitle">%1$s токен в сети %%image%% %2$s</string>
|
||||
<string name="token_details_unable_hide_alert_message">Токен %1$s является основной валютой в сети %2$s и не может быть скрыт до тех пор, пока у вас в списке есть другие токены этой сети.</string>
|
||||
<string name="token_details_unable_hide_alert_title">Невозможно скрыть %s</string>
|
||||
|
|
@ -488,7 +469,6 @@
|
|||
<string name="twins_recreate_warning">Это действие необратимо. У вас не будет доступа к старому кошельку.</string>
|
||||
<string name="twins_scan_twin_with_number">Приложите twin-карту с номером %s и не убирайте до окончания операции</string>
|
||||
<string name="unlock_wallet_description_full">Используйте %s или отсканируйте карту, чтобы получить доступ к своему кошельку</string>
|
||||
<string name="unlock_wallet_description_short">Используйте %s или отсканируйте карту</string>
|
||||
<string name="user_wallet_list_add_button">Добавить новый кошелек</string>
|
||||
<string name="user_wallet_list_delete_prompt">Вы уверены, что хотите удалить этот кошелек?</string>
|
||||
<string name="user_wallet_list_editing_count">%d выбрано</string>
|
||||
|
|
@ -502,7 +482,6 @@
|
|||
<string name="user_wallet_list_unlock_all">Разблокировать все</string>
|
||||
<string name="user_wallet_list_unlock_all_with">Разблокировать все с %s</string>
|
||||
<string name="wallet_address_button_explore">История транзакций</string>
|
||||
<string name="wallet_balance_blockchain_unreachable">Сеть недоступна</string>
|
||||
<string name="wallet_balance_blockchain_unreachable_try_later">Блокчейн недоступен. Попробуйте позже.</string>
|
||||
<string name="wallet_balance_loading">Баланс загружается…</string>
|
||||
<string name="wallet_balance_missing_derivation">Отсканируйте карту</string>
|
||||
|
|
@ -564,30 +543,49 @@
|
|||
<string name="wallet_pending_tx_sending">Отправка</string>
|
||||
<string name="wallet_pending_tx_sending_address_format">к %s</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_button_can_be_better">Можно лучше</string>
|
||||
<string name="warning_access_denied_message">Используйте %s или отсканируйте карту, чтобы разблокировать доступ к вашему кошельку</string>
|
||||
<string name="warning_button_could_be_better">Можно лучше</string>
|
||||
<string name="warning_button_learn_more">Узнать больше</string>
|
||||
<string name="warning_button_like_it">Нравится</string>
|
||||
<string name="warning_button_ok">Понятно!</string>
|
||||
<string name="warning_button_really_cool">Очень круто!</string>
|
||||
<string name="warning_demo_mode_message">Вы находитесь в режиме демо</string>
|
||||
<string name="warning_demo_mode_title">Демо режим включен</string>
|
||||
<string name="warning_developer_card_message">Отсканированная вами карта является картой разработчика. Не используйте ее для создания своего кошелька.</string>
|
||||
<string name="warning_developer_card_title">Не для пользователя!</string>
|
||||
<string name="warning_existential_deposit_message">Cеть %1$s использует концепцию экзистенциального депозита. Если баланс вашего счета будет ниже %2$s, то он будет деактивирован, а средства на счете уничтожены.</string>
|
||||
<string name="warning_existential_deposit_title">Для работы с сетью необходим депозит</string>
|
||||
<string name="warning_failed_to_verify_card_message">Эта карта может быть производственным образцом или подделкой</string>
|
||||
<string name="warning_failed_to_verify_card_title">Проверка подлинности не удалась</string>
|
||||
<string name="warning_important_security_info">Важная информация о безопасности %s</string>
|
||||
<string name="warning_low_signatures_format">На этой карте осталось только %s подписей. Вы должны вывести все свои средства.</string>
|
||||
<string name="warning_failed_to_verify_card_message">Возможно, данная карта - образец или подделка</string>
|
||||
<string name="warning_failed_to_verify_card_title">Ошибка проверки подлинности</string>
|
||||
<string name="warning_low_signatures_message">На этой карте осталось всего %s подписей. Вам следует вывести все ваши средства.</string>
|
||||
<string name="warning_low_signatures_title">Малое количество подписей</string>
|
||||
<string name="warning_manage_tokens_legacy_derivation_message">Токены на разных сетях могут иметь разные адреса. Пожалуйста, убедитесь при переводе средств, что ваш адрес соответствует сети.</string>
|
||||
<plurals name="warning_missing_derivation_message">
|
||||
<item quantity="one">Используйте вашу карту, чтобы сгенерировать адрес для %d новой сети</item>
|
||||
<item quantity="few">Используйте вашу карту, чтобы сгенерировать адреса для %d новых сетей</item>
|
||||
<item quantity="many">Используйте вашу карту, чтобы сгенерировать адреса для %d новых сетей</item>
|
||||
<item quantity="other">Используйте вашу карту, чтобы сгенерировать адреса для %d новых сетей</item>
|
||||
</plurals>
|
||||
<string name="warning_missing_derivation_title">Некоторые адреса отсутствуют</string>
|
||||
<string name="warning_network_unreachable_message">В данный момент сеть недоступна. Пожалуйста, попробуйте позже.</string>
|
||||
<string name="warning_network_unreachable_title">Сеть недоступна</string>
|
||||
<string name="warning_no_account_title">Пополните ваш кошелек</string>
|
||||
<string name="warning_no_backup_message">Ваш кошелек не имеет резервной копии. Проведите эту процедуру сейчас, чтобы защитить ваши активы.</string>
|
||||
<string name="warning_no_backup_title">Резервная копия отсутствует</string>
|
||||
<string name="warning_number_of_signed_hashes_incorrect_message">Эта карта ранее использовалась для подписи транзакций. Если она получена от ненадежного источника, рассмотрите возможность вывода своих средств. Если это ваша карта, дополнительных действий не требуется.</string>
|
||||
<string name="warning_number_of_signed_hashes_incorrect_title">Карта уже подписывала транзакции</string>
|
||||
<string name="warning_old_device_old_card_title">Устройство несовместимо</string>
|
||||
<string name="warning_rate_app_message">Ваш отзыв мотивирует нас сделать кошелек Tangem еще лучше</string>
|
||||
<string name="warning_rate_app_title">Нравится Tangem?</string>
|
||||
<string name="warning_rent_fee_title">Необходима плата за аренду сети</string>
|
||||
<string name="warning_send_blocked_funds_for_fee_message">%1$s - это токен в сети %2$s. Для совершения транзакции %3$s, вам необходимо внести депозит в размере %4$s (%5$s), чтобы покрыть комиссию сети.</string>
|
||||
<string name="warning_send_blocked_funds_for_fee_title">Недостаточно %1$s для оплаты комиссии сети</string>
|
||||
<string name="warning_send_blocked_pending_transactions_message">Отправка средств станет доступной после завершения транзакции %s</string>
|
||||
<string name="warning_signed_tx_previously">Эта карта подписывала транзакции в прошлом</string>
|
||||
<string name="warning_solana_rent_fee_message">Сеть Solana взимает арендную плату в размере %1$s каждые 2 дня. Аккаунты, которые не могут позволить себе арендную плату, удаляются из сети. Пополните свой счет более чем на %2$s, чтобы не платить арендную плату.</string>
|
||||
<string name="warning_some_networks_unreachable_message">Некоторые сети в настоящее время недоступны. Пожалуйста, повторите попытку позже.</string>
|
||||
<string name="warning_some_networks_unreachable_title">Некоторые сети недоступны</string>
|
||||
<string name="warning_testnet_card_message">Это тестовая карта. Не принимайте её в качестве оплаты. Эта карта должна использоваться только в целях тестирования и разработки.</string>
|
||||
<string name="warning_testnet_card_message">Это Testnet карта. Он не может обрабатывать транзакции и используется только в целях тестирования и разработки.</string>
|
||||
<string name="warning_testnet_card_title">Только для целей тестирования</string>
|
||||
<string name="welcome_interrupted_backup_alert_discard">Отказаться</string>
|
||||
<string name="welcome_interrupted_backup_alert_message">Вы не закончили резервное копирование. Хотите продолжить?</string>
|
||||
<string name="welcome_interrupted_backup_alert_resume">Да, возобновить</string>
|
||||
|
|
@ -599,5 +597,4 @@
|
|||
<string name="welcome_unlock_card">Сканировать карту</string>
|
||||
<string name="welcome_unlock_description">Используйте %s или отсканируйте карту для входа в приложение</string>
|
||||
<string name="welcome_unlock_title">C возвращением!</string>
|
||||
<string name="token_details_choose_address">Выберите адрес</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -7,16 +7,11 @@
|
|||
<string name="alert_app_feedback_sent_title">成功送出</string>
|
||||
<string name="alert_button_request_support">請求支持</string>
|
||||
<string name="alert_button_send_feedback">發送反饋</string>
|
||||
<string name="alert_card_signed_transactions">此卡過去已經充值並簽署過交易。如果您從不受信任的來源收到此卡,請考慮立即提取所有資金。如果是您的卡,則無需擔心</string>
|
||||
<string name="alert_demo_feature_disabled">此功能不在展示模式中提供</string>
|
||||
<string name="alert_demo_message">您正在展示模式。所有資產皆不是真的</string>
|
||||
<string name="alert_developer_card">您掃描的卡是開發卡。不要用它作為付款方式</string>
|
||||
<string name="alert_failed_to_send_email_title">發送電子郵件失敗</string>
|
||||
<string name="alert_failed_to_send_transaction_message">原因:%s</string>
|
||||
<string name="alert_failed_to_send_transaction_title">無法發送交易</string>
|
||||
<string name="alert_manage_tokens_addresses_message">請注意代幣在不同的網路有不同的地址。請再次檢查正確的地址</string>
|
||||
<string name="alert_manage_tokens_unsupported_message">此卡不支持Solana網路上的代幣因為韌體限制</string>
|
||||
<string name="alert_signed_hashes_message">這張卡不是不記名票據。我們目前無法將卡上的簽名計數與區塊鏈上的信息相匹配。這很正常,但在極少數情況下可能意味著以前的持有人正在阻止離線簽名,這是安全問題。不要接受此卡作為您不信任的人的實物付款。它在所有其他方面都非常安全。Tangem 是唯一提供簽名計數保護的硬件錢包。</string>
|
||||
<string name="alert_troubleshooting_scan_card_title">有困難在掃描卡上嗎?</string>
|
||||
<string name="alert_unsupported_card">此卡不適用於此app</string>
|
||||
<string name="app_settings_enable_biometrics_description">轉到設置以在 Tangem App 中啟用生物識別身份驗證</string>
|
||||
|
|
@ -166,8 +161,6 @@
|
|||
<string name="internal_error_wallet_manager_not_found">內部錯誤:找不到錢包管理器</string>
|
||||
<string name="key_invalidated_warning_description">您已更新生物識別登入,掃描您的卡進入</string>
|
||||
<string name="main_manage_tokens">管理代幣</string>
|
||||
<string name="main_no_backup_warning_subtitle">為了保護您的資產,我們建議您執行此程序</string>
|
||||
<string name="main_no_backup_warning_title">您的錢包尚未備份</string>
|
||||
<string name="main_page_balance">總餘額</string>
|
||||
<string name="main_processing_full_amount">該金額不包括您的部分資金</string>
|
||||
<string name="main_scan_card_warning_view_subtitle">要訪問所有的網路您需要掃描卡片</string>
|
||||
|
|
@ -320,7 +313,6 @@
|
|||
<string name="shop_one_wallet">Tangem Wallet</string>
|
||||
<string name="shop_other_payment_methods">其他付款方式</string>
|
||||
<string name="shop_total">總計</string>
|
||||
<string name="solana_rent_warning">Solana 網絡每 2 天收取 %1$s 的費用。無法付此費用的帳戶將從網絡中清除。向您的帳戶存入超過 %2$s 即可免費使用</string>
|
||||
<string name="story_awe_description">安全地存儲您的加密貨幣,同時將私鑰保存在您的卡中</string>
|
||||
<string name="story_awe_title">創新式的硬體錢包</string>
|
||||
<string name="story_backup_description">最多 **3張實體卡片** 到一個錢包</string>
|
||||
|
|
@ -375,8 +367,6 @@
|
|||
<string name="token_details_hide_alert_message">您即將在主屏幕上隱藏此代幣。您可以隨時通過管理代幣頁面將其添加回來。</string>
|
||||
<string name="token_details_hide_alert_title">隱藏 %s</string>
|
||||
<string name="token_details_hide_token">隱藏代幣</string>
|
||||
<string name="token_details_send_blocked_fee_format">%1$s 是 %2$s 網絡中的代幣, 要進行 %3$s 交易,您需要存入一些 %4$s (%5$s) 以支付網絡費用</string>
|
||||
<string name="token_details_send_blocked_tx_format">請等待 %s 交易完成才能發送資金</string>
|
||||
<string name="token_details_unable_hide_alert_message">%1$s 代幣是 %2$s 網絡上的主要貨幣,只要列表中還有該網絡上的其他代幣,它就無法被隱藏。</string>
|
||||
<string name="token_details_unable_hide_alert_title">無法隱藏 %s</string>
|
||||
<string name="token_item_no_rate">無費用</string>
|
||||
|
|
@ -406,7 +396,6 @@
|
|||
<string name="user_wallet_list_title">我的錢包</string>
|
||||
<string name="user_wallet_list_unlock_all_with">用 %s 解鎖全部</string>
|
||||
<string name="wallet_address_button_explore">交易記錄</string>
|
||||
<string name="wallet_balance_blockchain_unreachable">網路無法使用</string>
|
||||
<string name="wallet_balance_blockchain_unreachable_try_later">區塊鍊無法使用。稍後再試</string>
|
||||
<string name="wallet_balance_loading">餘額加載中</string>
|
||||
<string name="wallet_balance_missing_derivation">掃描卡片</string>
|
||||
|
|
@ -465,19 +454,14 @@
|
|||
<string name="wallet_pending_tx_sending">發送中</string>
|
||||
<string name="wallet_pending_tx_sending_address_format">至%s</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_button_can_be_better">可以更好</string>
|
||||
<string name="warning_button_could_be_better">可以更好</string>
|
||||
<string name="warning_button_learn_more">了解更多</string>
|
||||
<string name="warning_button_ok">了解</string>
|
||||
<string name="warning_button_really_cool">真的很酷!</string>
|
||||
<string name="warning_existential_deposit_message">%1$s 網絡有一個 Existential Deposit 的概念。如果您的帳戶低於 %2$s,它將被停用,所有剩餘資金將被銷毀</string>
|
||||
<string name="warning_failed_to_verify_card_message">此卡可能是生產樣本或偽造品</string>
|
||||
<string name="warning_failed_to_verify_card_title">認證檢查失敗</string>
|
||||
<string name="warning_important_security_info">重要安全信息 %s</string>
|
||||
<string name="warning_low_signatures_format">此卡上只有 %s 個簽名可用。您必須提取所有資金</string>
|
||||
<string name="warning_rate_app_message">你喜歡 Tangem 嗎?</string>
|
||||
<string name="warning_rate_app_title">一個問題</string>
|
||||
<string name="warning_signed_tx_previously">此卡過去曾簽署過交易</string>
|
||||
<string name="warning_testnet_card_message">這是一張測試網卡。不要接受它作為付款。 此卡只能用於測試和開發目的</string>
|
||||
<string name="warning_network_unreachable_title">網路無法使用</string>
|
||||
<string name="warning_solana_rent_fee_message">Solana 網絡每 2 天收取 %1$s 的費用。無法付此費用的帳戶將從網絡中清除。向您的帳戶存入超過 %2$s 即可免費使用</string>
|
||||
<string name="welcome_interrupted_backup_alert_discard">捨棄</string>
|
||||
<string name="welcome_interrupted_backup_alert_message">您有一個備份中斷了,您想繼續嗎?</string>
|
||||
<string name="welcome_interrupted_backup_alert_resume">是的,恢復</string>
|
||||
|
|
|
|||
|
|
@ -7,17 +7,12 @@
|
|||
<string name="alert_app_feedback_sent_title">Sent successfully</string>
|
||||
<string name="alert_button_request_support">Request support</string>
|
||||
<string name="alert_button_send_feedback">Send feedback</string>
|
||||
<string name="alert_card_signed_transactions">This card has been already topped up and signed transactions in the past. Consider immediate withdrawal of all funds if you have received this card from an untrusted source. If it\'s your card, there is nothing to worry about.</string>
|
||||
<string name="alert_demo_feature_disabled">This feature is disabled in Demo mode</string>
|
||||
<string name="alert_demo_message">You are currently running in Demo mode. All funds are not real.</string>
|
||||
<string name="alert_developer_card">The card you scanned is a development card. Don\'t accept it as a payment.</string>
|
||||
<string name="alert_failed_to_send_email_title">Failed to send the email</string>
|
||||
<string name="alert_failed_to_send_transaction_message">Reason: %s</string>
|
||||
<string name="alert_failed_to_send_transaction_title">Can\'t send a transaction</string>
|
||||
<string name="alert_manage_tokens_addresses_message">Note that tokens on different networks have different addresses. Double check that your address matches the network when you transfer funds.</string>
|
||||
<string name="alert_manage_tokens_unsupported_curve_message">To activate the %1$s blockchain\'s cryptographic encryption, you\'ll need to reset the wallet to factory settings. Please withdraw your funds before doing so to ensure that you don\'t lose them, and then complete the reset process. Access to the current wallet will not be possible after the reset.</string>
|
||||
<string name="alert_manage_tokens_unsupported_message">Tokens in Solana network are not supported by this card due to firmware limitation.</string>
|
||||
<string name="alert_signed_hashes_message">This card is not a bearer note. We can\'t currently match the signature count on the card with the information on the blockchain. This is normal but in rare cases can mean a previous holder is holding back an offline signature, which is a security concern.\nDo not accept this card as physical payment from someone you don\'t trust.\nIt\'s perfectly safe in all other respects.\nTangem is the only hardware wallet to offer signature count protection.</string>
|
||||
<string name="alert_troubleshooting_scan_card_title">Are you having difficulty scanning your card?</string>
|
||||
<string name="alert_unsupported_card">This card is not designed to work with this app</string>
|
||||
<string name="app_settings_enable_biometrics_description">Go to settings to enable biometric authentication in the Tangem App</string>
|
||||
|
|
@ -61,6 +56,7 @@
|
|||
<string name="chat_user_actions_title">Please select an action</string>
|
||||
<string name="chat_user_rate_agent_title">Please, rate the work of the agent</string>
|
||||
<string name="common_accept">Accept</string>
|
||||
<string name="common_access_denied">Access denied</string>
|
||||
<string name="common_add">Add</string>
|
||||
<string name="common_apply">Apply</string>
|
||||
<string name="common_approval">Approval</string>
|
||||
|
|
@ -119,10 +115,10 @@
|
|||
<string name="common_success">Success</string>
|
||||
<string name="common_swap">Swap</string>
|
||||
<string name="common_terms_and_conditions">terms and conditions</string>
|
||||
<string name="common_transaction_failed">Transaction failed</string>
|
||||
<string name="common_transactions">Transactions</string>
|
||||
<string name="common_transfer">Transfer</string>
|
||||
<string name="common_understand">I understand</string>
|
||||
<string name="common_unlock_needed">Unlock needed</string>
|
||||
<string name="common_unreachable">Unreachable</string>
|
||||
<string name="common_yes">Yes</string>
|
||||
<string name="contract_address_copied_message">Contract address copied!</string>
|
||||
|
|
@ -206,19 +202,12 @@
|
|||
<item quantity="other">Complete three lessons and receive %d 1INCH tokens to your wallet</item>
|
||||
</plurals>
|
||||
<string name="main_manage_tokens">Manage tokens</string>
|
||||
<string name="main_no_backup_warning_subtitle">To protect your assets, we advise you to carry out this procedure</string>
|
||||
<string name="main_no_backup_warning_title">Your wallet hasn\'t been backed up</string>
|
||||
<string name="main_page_balance">Total balance</string>
|
||||
<string name="main_processing_full_amount">The amount does not include some of your funds</string>
|
||||
<string name="main_promotion_credited">1INCH tokens will be credited to your %s wallet address within 48 hours</string>
|
||||
<string name="main_scan_card_warning_view_subtitle">To access all the networks you need to scan the card</string>
|
||||
<string name="main_scan_card_warning_view_title">Scan your card</string>
|
||||
<string name="main_tokens">Tokens</string>
|
||||
<plurals name="main_warning_missing_derivation_description">
|
||||
<item quantity="one">You need to generate address for %d new network using your card</item>
|
||||
<item quantity="other">You need to generate addresses for %d new networks using your card</item>
|
||||
</plurals>
|
||||
<string name="main_warning_missing_derivation_title">Some addresses are missing</string>
|
||||
<string name="manage_tokens_add">Add</string>
|
||||
<string name="manage_tokens_custom">Custom</string>
|
||||
<string name="manage_tokens_edit">Edit</string>
|
||||
|
|
@ -242,8 +231,6 @@
|
|||
<string name="manage_tokens_unavailable_description">The selected token is currently unavailable for actions within the crypto wallet. But worry not, you can express your interest by upvoting it.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Upvote</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Choose wallet</string>
|
||||
<string name="notification_subtitle_not_enough_funds">To make a %1$s transaction you need to deposit some %2$s (%3$s) to cover the network fee</string>
|
||||
<string name="notification_title_not_enough_funds">Unable to cover %1$s fee</string>
|
||||
<string name="onboarding_access_code_feature_1_description">You have to set up a single access code to protect all your wallets</string>
|
||||
<string name="onboarding_access_code_feature_1_title">Protect</string>
|
||||
<string name="onboarding_access_code_feature_2_description">You can set up an individual access code on each card later</string>
|
||||
|
|
@ -418,7 +405,6 @@
|
|||
<string name="shop_other_payment_methods">Other payment methods</string>
|
||||
<string name="shop_pre_order_now">Pre-order now</string>
|
||||
<string name="shop_total">Total</string>
|
||||
<string name="solana_rent_warning">Solana network charges a rent of %1$s every 2 days. Accounts that can\'t afford the rent are purged from the network. Deposit your account with more than %2$s to use it for free.</string>
|
||||
<string name="story_awe_description">Store your crypto assets secure while keeping private keys contained in your card</string>
|
||||
<string name="story_awe_title">Revolutionary Hardware Wallet</string>
|
||||
<string name="story_backup_description">Up to **3 physical cards** to one wallet</string>
|
||||
|
|
@ -481,8 +467,6 @@
|
|||
<string name="token_details_hide_alert_message">You are about to hide this token from the main screen. You can add it back anytime through the manage tokens page.</string>
|
||||
<string name="token_details_hide_alert_title">Hide %s</string>
|
||||
<string name="token_details_hide_token">Hide token</string>
|
||||
<string name="token_details_send_blocked_fee_format">%1$s is a token in the %2$s network. To make a %3$s transaction you need to deposit some %4$s (%5$s) to cover the network fee.</string>
|
||||
<string name="token_details_send_blocked_tx_format">Please wait for %s transaction to complete to be able to send funds</string>
|
||||
<string name="token_details_token_type_subtitle">%1$s token in %%image%% %2$s network</string>
|
||||
<string name="token_details_unable_hide_alert_message">The %1$s token is the main currency on the %2$s network and cannot be hidden as long as you have other tokens on this network in the list.</string>
|
||||
<string name="token_details_unable_hide_alert_title">Unable to hide %s</string>
|
||||
|
|
@ -507,7 +491,6 @@
|
|||
<string name="twins_recreate_warning">This action is irreversible. You will not have access to the old wallet.</string>
|
||||
<string name="twins_scan_twin_with_number">Tap the twin card with number %s and do not remove until the end of the operation</string>
|
||||
<string name="unlock_wallet_description_full">Use %s or scan a card to have an access to your wallet</string>
|
||||
<string name="unlock_wallet_description_short">Use %s or scan a card</string>
|
||||
<string name="user_wallet_list_add_button">Add new wallet</string>
|
||||
<string name="user_wallet_list_delete_prompt">Are you sure you want to delete this wallet?</string>
|
||||
<string name="user_wallet_list_editing_count">%d selected</string>
|
||||
|
|
@ -521,7 +504,6 @@
|
|||
<string name="user_wallet_list_unlock_all">Unlock all</string>
|
||||
<string name="user_wallet_list_unlock_all_with">Unlock all with %s</string>
|
||||
<string name="wallet_address_button_explore">Transaction history</string>
|
||||
<string name="wallet_balance_blockchain_unreachable">Network is unreachable</string>
|
||||
<string name="wallet_balance_blockchain_unreachable_try_later">Blockchain is unreachable. Try later</string>
|
||||
<string name="wallet_balance_loading">Balance is loading…</string>
|
||||
<string name="wallet_balance_missing_derivation">Scan the card</string>
|
||||
|
|
@ -583,31 +565,47 @@
|
|||
<string name="wallet_pending_tx_sending">Sending</string>
|
||||
<string name="wallet_pending_tx_sending_address_format">to %s</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_button_can_be_better">Can be better</string>
|
||||
<string name="warning_access_denied_message">Use %s or scan a card to unlock access to your wallet</string>
|
||||
<string name="warning_button_could_be_better">Could be better</string>
|
||||
<string name="warning_button_learn_more">Learn more</string>
|
||||
<string name="warning_button_love_it">Love it!</string>
|
||||
<string name="warning_button_like_it">Like it</string>
|
||||
<string name="warning_button_ok">Ok, Got it!</string>
|
||||
<string name="warning_button_really_cool">Really cool!</string>
|
||||
<string name="warning_demo_mode_message">You are currently in the Demo mode</string>
|
||||
<string name="warning_demo_mode_title">Demo mode active</string>
|
||||
<string name="warning_developer_card_message">The card you scanned is a developer card. Do not use it to create your wallet.</string>
|
||||
<string name="warning_developer_card_title">Not for users!</string>
|
||||
<string name="warning_existential_deposit_message">%1$s network requires an Existential Deposit. If your account drops below %2$s, it will be deactivated, and any remaining funds will be destroyed.</string>
|
||||
<string name="warning_existential_deposit_title">Network requires Existential Deposit</string>
|
||||
<string name="warning_failed_to_verify_card_message">This card might be a production sample or counterfeit</string>
|
||||
<string name="warning_failed_to_verify_card_title">Authenticity check failed</string>
|
||||
<string name="warning_important_security_info">Important security information %s</string>
|
||||
<string name="warning_low_signatures_format">There are only %s signatures available on this card. You must withdraw all of your funds.</string>
|
||||
<string name="warning_low_signatures_message">Only %s signatures are left on this card. You must withdraw all of your funds.</string>
|
||||
<string name="warning_low_signatures_title">Low signature count</string>
|
||||
<string name="warning_manage_tokens_legacy_derivation_message">Tokens on different networks can have different addresses. Double-check that your address matches the network when you transfer funds.</string>
|
||||
<plurals name="warning_missing_derivation_message">
|
||||
<item quantity="one">Use your card to generate an address for %d new network</item>
|
||||
<item quantity="other">Use your card to generate an addresses for %d new networks</item>
|
||||
</plurals>
|
||||
<string name="warning_missing_derivation_title">Some addresses are missing</string>
|
||||
<string name="warning_network_unreachable_message">The network is currently unreachable. Please try again later.</string>
|
||||
<string name="warning_network_unreachable_title">Network is unreachable</string>
|
||||
<string name="warning_no_account_title">Top up your wallet</string>
|
||||
<string name="warning_no_backup_message">Your wallet hasn\'t been backed up. Carry out this procedure to protect your assets now.</string>
|
||||
<string name="warning_no_backup_title">Missing backup</string>
|
||||
<string name="warning_number_of_signed_hashes_incorrect_message">This card has been previously used for transactions. If received from an untrusted source, consider withdrawing all funds. If it\'s your card, no action is required.</string>
|
||||
<string name="warning_number_of_signed_hashes_incorrect_title">Card has already signed transactions</string>
|
||||
<string name="warning_old_device_old_card_title">Device incompatibility detected</string>
|
||||
<string name="warning_rate_app_message">Your review keeps us motivated to make Tangem Wallet even better</string>
|
||||
<string name="warning_rate_app_title">Enjoying Tangem?</string>
|
||||
<string name="warning_rent_fee_title">Network rent fee required</string>
|
||||
<string name="warning_send_blocked_funds_for_fee_message">%1$s is a token in the %2$s network. To make a %3$s transaction, you must deposit some %4$s (%5$s) to cover the network fee.</string>
|
||||
<string name="warning_send_blocked_funds_for_fee_title">Insufficient %1$s to cover network fee</string>
|
||||
<string name="warning_send_blocked_pending_transactions_message">Sending funds will be available once the %s transaction is complete</string>
|
||||
<string name="warning_signed_tx_previously">This card has signed transactions in the past</string>
|
||||
<string name="warning_solana_rent_fee_message">Solana network charges a rent of %1$s every 2 days. Accounts that can\'t afford the rent are purged from the network. Deposit your account with more than %2$s to use it for free.</string>
|
||||
<string name="warning_some_networks_unreachable_message">Some networks currently are unreachable. Please try again later.</string>
|
||||
<string name="warning_some_networks_unreachable_title">Some networks are unreachable</string>
|
||||
<string name="warning_testnet_card_message">This is a Testnet card. Don\'t accept it as a payment. This card must only be used for testing and development purposes.</string>
|
||||
<string name="warning_testnet_card_message">This is a Testnet card. It cannot process transactions and should only be used for testing and development purposes.</string>
|
||||
<string name="warning_testnet_card_title">For testing purposes only</string>
|
||||
<string name="welcome_interrupted_backup_alert_discard">Discard</string>
|
||||
<string name="welcome_interrupted_backup_alert_message">You have an interrupted backup. Do you want to resume?</string>
|
||||
<string name="welcome_interrupted_backup_alert_resume">Yes, resume</string>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ sealed class WalletBottomSheetConfig(
|
|||
)
|
||||
|
||||
data class UnlockWallets(val onUnlockClick: () -> Unit, val onScanClick: () -> Unit) : WalletBottomSheetConfig(
|
||||
title = resourceReference(id = R.string.common_unlock_needed),
|
||||
title = resourceReference(id = R.string.common_access_denied),
|
||||
subtitle = resourceReference(
|
||||
id = R.string.unlock_wallet_description_full,
|
||||
formatArgs = wrappedList(
|
||||
|
|
|
|||
|
|
@ -27,17 +27,17 @@ sealed class WalletNotification(val config: NotificationConfig) {
|
|||
) {
|
||||
|
||||
object DevCard : Critical(
|
||||
title = resourceReference(id = R.string.common_warning),
|
||||
subtitle = resourceReference(id = R.string.alert_developer_card),
|
||||
title = resourceReference(id = R.string.warning_developer_card_title),
|
||||
subtitle = resourceReference(id = R.string.warning_developer_card_message),
|
||||
)
|
||||
|
||||
object DemoCard : Critical(
|
||||
title = resourceReference(id = R.string.common_warning),
|
||||
subtitle = resourceReference(id = R.string.alert_demo_message),
|
||||
title = resourceReference(id = R.string.warning_demo_mode_title),
|
||||
subtitle = resourceReference(id = R.string.warning_demo_mode_message),
|
||||
)
|
||||
|
||||
object TestNetCard : Critical(
|
||||
title = resourceReference(id = R.string.common_warning),
|
||||
title = resourceReference(id = R.string.warning_testnet_card_title),
|
||||
subtitle = resourceReference(id = R.string.warning_testnet_card_message),
|
||||
)
|
||||
|
||||
|
|
@ -47,9 +47,9 @@ sealed class WalletNotification(val config: NotificationConfig) {
|
|||
)
|
||||
|
||||
data class LowSignatures(val count: Int) : Critical(
|
||||
title = resourceReference(id = R.string.common_warning),
|
||||
title = resourceReference(id = R.string.warning_low_signatures_title),
|
||||
subtitle = resourceReference(
|
||||
id = R.string.warning_low_signatures_format,
|
||||
id = R.string.warning_low_signatures_message,
|
||||
formatArgs = wrappedList(count),
|
||||
),
|
||||
)
|
||||
|
|
@ -73,8 +73,8 @@ sealed class WalletNotification(val config: NotificationConfig) {
|
|||
) {
|
||||
|
||||
data class MissingBackup(val onStartBackupClick: () -> Unit) : Warning(
|
||||
title = resourceReference(id = R.string.main_no_backup_warning_title),
|
||||
subtitle = resourceReference(id = R.string.main_no_backup_warning_subtitle),
|
||||
title = resourceReference(id = R.string.warning_no_backup_title),
|
||||
subtitle = resourceReference(id = R.string.warning_no_backup_message),
|
||||
buttonsState = NotificationConfig.ButtonsState.SecondaryButtonConfig(
|
||||
text = resourceReference(id = R.string.button_start_backup_process),
|
||||
onClick = onStartBackupClick,
|
||||
|
|
@ -92,17 +92,17 @@ sealed class WalletNotification(val config: NotificationConfig) {
|
|||
)
|
||||
|
||||
data class NumberOfSignedHashesIncorrect(val onCloseClick: () -> Unit) : Warning(
|
||||
title = resourceReference(id = R.string.common_warning),
|
||||
subtitle = resourceReference(id = R.string.alert_card_signed_transactions),
|
||||
title = resourceReference(id = R.string.warning_number_of_signed_hashes_incorrect_title),
|
||||
subtitle = resourceReference(id = R.string.warning_number_of_signed_hashes_incorrect_message),
|
||||
onCloseClick = onCloseClick,
|
||||
)
|
||||
}
|
||||
|
||||
data class MissingAddresses(val missingAddressesCount: Int, val onGenerateClick: () -> Unit) : WalletNotification(
|
||||
config = NotificationConfig(
|
||||
title = resourceReference(id = R.string.main_warning_missing_derivation_title),
|
||||
title = resourceReference(id = R.string.warning_missing_derivation_title),
|
||||
subtitle = pluralReference(
|
||||
id = R.plurals.main_warning_missing_derivation_description,
|
||||
id = R.plurals.warning_missing_derivation_message,
|
||||
count = missingAddressesCount,
|
||||
formatArgs = wrappedList(missingAddressesCount),
|
||||
),
|
||||
|
|
@ -128,9 +128,9 @@ sealed class WalletNotification(val config: NotificationConfig) {
|
|||
|
||||
data class UnlockWallets(val onClick: () -> Unit) : WalletNotification(
|
||||
config = NotificationConfig(
|
||||
title = resourceReference(id = R.string.common_unlock_needed),
|
||||
title = resourceReference(id = R.string.common_access_denied),
|
||||
subtitle = resourceReference(
|
||||
id = R.string.unlock_wallet_description_short,
|
||||
id = R.string.warning_access_denied_message,
|
||||
formatArgs = wrappedList(
|
||||
resourceReference(R.string.common_biometrics),
|
||||
),
|
||||
|
|
@ -150,9 +150,9 @@ sealed class WalletNotification(val config: NotificationConfig) {
|
|||
subtitle = resourceReference(id = R.string.warning_rate_app_message),
|
||||
iconResId = R.drawable.ic_star_24,
|
||||
buttonsState = NotificationConfig.ButtonsState.PairButtonsConfig(
|
||||
primaryText = resourceReference(id = R.string.warning_button_love_it),
|
||||
primaryText = resourceReference(id = R.string.warning_button_like_it),
|
||||
onPrimaryClick = onLikeClick,
|
||||
secondaryText = resourceReference(id = R.string.warning_button_can_be_better),
|
||||
secondaryText = resourceReference(id = R.string.warning_button_could_be_better),
|
||||
onSecondaryClick = onDislikeClick,
|
||||
),
|
||||
onCloseClick = onCloseClick,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue