Updated on 2026-08-14

This commit is contained in:
Tangem 2023-05-18 19:48:52 +08:00
parent a62354d5fb
commit 131ef0ae71
29 changed files with 218 additions and 132 deletions

View file

@ -26,10 +26,8 @@ sealed class TapError(
val stateError: String,
) : TapError(R.string.common_custom_string, listOf("Unsupported state: $stateError"))
object ScanCardError : TapError(R.string.scan_card_error)
object UnknownBlockchain : TapError(R.string.wallet_error_unsupported_blockchain_subtitle)
object NoInternetConnection : TapError(R.string.wallet_notification_no_internet)
object BlockchainInternalError : TapError(R.string.send_error_blockchain_internal)
object AmountExceedsBalance : TapError(R.string.send_validation_amount_exceeds_balance)
data class AmountLowerExistentialDeposit(
override val args: List<Any>,
@ -43,7 +41,7 @@ sealed class TapError(
object DustChange : TapError(R.string.send_error_dust_change)
sealed class WalletManager {
object CreationError : CustomError("Can't create wallet manager")
object CreationError : CustomError(customMessage = "Can't create wallet manager")
class NoAccountError(amountToCreateAccount: String) : CustomError(amountToCreateAccount)
class InternalError(message: String) : CustomError(message)
object BlockchainIsUnreachableTryLater : TapError(R.string.wallet_balance_blockchain_unreachable_try_later)

View file

@ -29,7 +29,7 @@ internal fun AddCustomTokenFloatingButton(model: AddCustomTokenFloatingButton, m
.imePadding()
.padding(horizontal = TangemTheme.dimens.spacing16)
.fillMaxWidth(),
text = stringResource(id = R.string.common_add),
text = stringResource(id = R.string.custom_token_add_token),
iconResId = R.drawable.ic_plus_24,
enabled = model.isEnabled,
onClick = model.onClick,

View file

@ -12,7 +12,7 @@ import com.tangem.wallet.R
object ClipboardOrScanQrDialog {
fun create(wcUri: String, context: Context): AlertDialog {
return AlertDialog.Builder(context).apply {
setTitle(context.getString(R.string.wallet_connect_title))
setTitle(context.getString(R.string.common_select_action))
setMessage(context.getText(R.string.wallet_connect_clipboard_alert))
setPositiveButton(context.getText(R.string.wallet_connect_paste_from_clipboard)) { _, _ ->
store.dispatch(WalletConnectAction.OpenSession(wcUri))

View file

@ -188,7 +188,7 @@ fun StoriesScreen(
contentDescription = null,
)
Text(
text = stringResource(id = R.string.search_tokens_title),
text = stringResource(id = R.string.common_search_tokens),
fontWeight = FontWeight.Medium,
fontSize = 16.sp,
textAlign = TextAlign.Center,

View file

@ -1,11 +1,6 @@
package com.tangem.tap.features.home.compose.views
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.*
import androidx.compose.material.Button
import androidx.compose.material.ButtonDefaults
import androidx.compose.material.CircularProgressIndicator
@ -51,7 +46,7 @@ fun HomeButtons(
},
content = {
Text(
text = stringResource(id = R.string.welcome_unlock_card),
text = stringResource(id = R.string.home_button_scan),
fontWeight = FontWeight.Medium,
fontSize = 16.sp,
textAlign = TextAlign.Center,

View file

@ -151,7 +151,7 @@ class OnboardingNoteFragment : BaseOnboardingFragment<OnboardingNoteState>() {
btnAlternativeAction.isVisible = false
}
tvHeader.setText(R.string.onboarding_top_up_header)
tvHeader.setText(R.string.onboarding_topup_title)
if (state.balanceNonCriticalError == null) {
tvBody.setText(R.string.onboarding_top_up_body)
} else {

View file

@ -350,7 +350,7 @@ class TwinsCardsFragment : BaseOnboardingFragment<TwinCardsState>() {
btnAlternativeAction.isVisible = false
}
tvHeader.setText(R.string.onboarding_top_up_header)
tvHeader.setText(R.string.onboarding_topup_title)
tvBody.setText(R.string.onboarding_top_up_body)
btnRefreshBalanceWidget.changeState(state.walletBalance.state)

View file

@ -257,7 +257,7 @@ class OnboardingWalletFragment :
prepareBackupView()
tvHeader.text = getText(R.string.onboarding_title_scan_origin_card)
tvBody.text = getString(
R.string.onboarding_subtitle_scan_origin_card,
R.string.onboarding_subtitle_scan_primary,
)
with(layoutButtonsCommon) {

View file

@ -15,7 +15,6 @@ import com.tangem.core.navigation.NavigationAction
import com.tangem.tap.common.GlobalLayoutStateHandler
import com.tangem.tap.common.KeyboardObserver
import com.tangem.tap.common.extensions.getQuantityString
import com.tangem.tap.common.extensions.hide
import com.tangem.tap.common.extensions.show
import com.tangem.tap.features.BaseStoreFragment
import com.tangem.tap.features.shop.domain.models.ProductState
@ -153,11 +152,12 @@ internal class ShopFragment : BaseStoreFragment(R.layout.fragment_shop), StoreSu
animateProductSelection(state.selectedProduct)
handlePriceState(state)
handlePromoCodeState(state)
if (shopifyFeatureToggleManager.isDynamicSalesProductsEnabled) {
handleNotificationBlock(state)
} else {
handleOrderingDelayBlock(isVisible = state.isOrderingDelayBlockVisible)
}
// TODO: https://tangem.slack.com/archives/C01HARKDLQ0/p1691421861756069
// if (shopifyFeatureToggleManager.isDynamicSalesProductsEnabled) {
// handleNotificationBlock(state)
// } else {
// handleOrderingDelayBlock(isVisible = state.isOrderingDelayBlockVisible)
// }
handleButtonsState(state)
}
@ -198,20 +198,20 @@ internal class ShopFragment : BaseStoreFragment(R.layout.fragment_shop), StoreSu
pbPromoCode.show(state.promoCodeLoading)
}
private fun handleOrderingDelayBlock(isVisible: Boolean) {
if (isVisible) binding.tvSoldOutDesc.show() else binding.tvSoldOutDesc.hide()
}
private fun handleNotificationBlock(state: ShopState) {
if (isVisible) {
binding.tvSoldOutDesc.show()
getSelectedSalesProduct(state)?.notification?.let { notification ->
binding.tvSoldOutDesc.text = notification.description
}
} else {
binding.tvSoldOutDesc.hide()
}
}
// private fun handleOrderingDelayBlock(isVisible: Boolean) {
// if (isVisible) binding.tvSoldOutDesc.show() else binding.tvSoldOutDesc.hide()
// }
//
// private fun handleNotificationBlock(state: ShopState) {
// if (isVisible) {
// binding.tvSoldOutDesc.show()
// getSelectedSalesProduct(state)?.notification?.let { notification ->
// binding.tvSoldOutDesc.text = notification.description
// }
// } else {
// binding.tvSoldOutDesc.hide()
// }
// }
private fun handleButtonsState(state: ShopState) = with(binding) {
btnPayGooglePay.root.show(state.isGooglePayAvailable)

View file

@ -234,7 +234,7 @@ private fun Preview_TokensListScreen_Read() {
TokensListScreen(
stateHolder = TokensListStateHolder.ReadContent(
toolbarState = TokensListToolbarState.Title.Read(
titleResId = R.string.search_tokens_title,
titleResId = R.string.common_search_tokens,
onBackButtonClick = {},
onSearchButtonClick = {},
),

View file

@ -11,12 +11,7 @@ import androidx.compose.material.Icon
import androidx.compose.material.IconButton
import androidx.compose.material.Text
import androidx.compose.material.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
@ -186,7 +181,7 @@ private fun Preview_AddTokensToolbar_ReadAccess() {
TangemTheme {
TokensListToolbar(
state = Title.Read(
titleResId = R.string.search_tokens_title,
titleResId = R.string.common_search_tokens,
onBackButtonClick = {},
onSearchButtonClick = {},
),

View file

@ -102,14 +102,14 @@ internal class TokensListViewModel @Inject constructor(
private fun getInitialToolbarState(): TokensListToolbarState {
return if (args.isManageAccess) {
TokensListToolbarState.Title.Manage(
titleResId = R.string.main_manage_tokens,
titleResId = R.string.add_tokens_title,
onBackButtonClick = actionsHandler::onBackButtonClick,
onSearchButtonClick = actionsHandler::onSearchButtonClick,
onAddCustomTokenClick = actionsHandler::onAddCustomTokenClick,
)
} else {
TokensListToolbarState.Title.Read(
titleResId = R.string.search_tokens_title,
titleResId = R.string.common_search_tokens,
onBackButtonClick = actionsHandler::onBackButtonClick,
onSearchButtonClick = actionsHandler::onSearchButtonClick,
)

View file

@ -251,7 +251,7 @@ private fun LoadedTokensInfo(
SpacerH2()
Text(
text = pluralStringResource(
id = R.plurals.tokens_count,
id = R.plurals.token_count,
count = tokensCount,
tokensCount,
),

View file

@ -10,7 +10,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
android:text="Select"
android:text="@string/wallet_choice_wallet_option_title"
android:textSize="14sp"
android:textStyle="bold" />

View file

@ -264,16 +264,17 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_sold_out_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:background="@drawable/shape_rectangle_rounded_4"
android:padding="16dp"
android:text="@string/shop_sold_out_description"
android:textColor="@color/text_tertiary"
android:textSize="16sp" />
<!--TODO: https://tangem.slack.com/archives/C01HARKDLQ0/p1691421861756069-->
<!--<TextView-->
<!-- android:id="@+id/tv_sold_out_desc"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="14dp"-->
<!-- android:background="@drawable/shape_rectangle_rounded_4"-->
<!-- android:padding="16dp"-->
<!-- android:text="@string/shop_sold_out_description"-->
<!-- android:textColor="@color/text_tertiary"-->
<!-- android:textSize="16sp" />-->
</LinearLayout>
<LinearLayout

View file

@ -2,7 +2,6 @@
<resources>
<string name="common_fee_error">Erhalt der Gebühr fehlgeschlagen</string>
<string name="no_account_generic">Laden Sie %1$s+ %2$s auf um ein Konto zu erstellen</string>
<string name="send_error_blockchain_internal">Interner Fehler der Blockchain</string>
<string name="send_error_dust_amount_format">Minimaler Betrag ist %s</string>
<string name="send_error_dust_change">Restbestand zu klein</string>
<string name="send_error_invalid_fee_value">Falsche Gebühr</string>

View file

@ -10,6 +10,7 @@
<string name="common_cancel">Abbrechen</string>
<string name="common_delete">Entfernen</string>
<string name="common_done">Erledigt</string>
<string name="common_error">Fehler</string>
<string name="common_ok">OK</string>
<string name="common_save_changes">Änderungen speichern</string>
<string name="common_send">Absenden</string>
@ -27,12 +28,14 @@
<string name="details_row_title_signed_hashes">Signiert</string>
<string name="details_title">Details</string>
<string name="disclaimer_title">Nutzungsbedingungen</string>
<string name="home_button_scan">Karte scannen</string>
<string name="initial_message_change_access_code_body">Tippen Sie um den Zugangscode zu ändern</string>
<string name="initial_message_change_passcode_body">Tippen Sie um den Passcode zu ändern</string>
<string name="initial_message_scan_header">Legen Sie die Karte zum Scannen an</string>
<string name="initial_message_sign_header">Tippen um zu signieren</string>
<string name="initial_message_tap_header">Legen Sie die Karte an</string>
<string name="main_processing_full_amount">Der Betrag enthält nicht einige Ihrer Mittel</string>
<string name="onboarding_create_wallet_button_create_wallet">Ein wallet erstellen</string>
<string name="send_amount_label">Betrag</string>
<string name="send_destination_hint_address">Adresse</string>
<string name="send_error_address_same_as_wallet">Die Adresse stimmt mit der Adresse Ihrer Brieftasche überein</string>

View file

@ -2,7 +2,6 @@
<resources>
<string name="common_fee_error">Échec de réception des commissions</string>
<string name="no_account_generic">Pour créer un compte, téléchargez %1$s+ %2$s</string>
<string name="send_error_blockchain_internal">Erreur interne de la blockchain</string>
<string name="send_error_dust_amount_format">Le montant minimal est de %s</string>
<string name="send_error_dust_change">Le reste est trop petit</string>
<string name="send_error_invalid_fee_value">Commission non valide</string>

View file

@ -10,6 +10,7 @@
<string name="common_cancel">Annuler</string>
<string name="common_delete">Supprimer</string>
<string name="common_done">Exécuté</string>
<string name="common_error">Erreur</string>
<string name="common_ok">OK</string>
<string name="common_save_changes">Sauvegarder les modifications</string>
<string name="common_send">Envoyer</string>
@ -27,12 +28,14 @@
<string name="details_row_title_signed_hashes">Signé</string>
<string name="details_title">Référénces</string>
<string name="disclaimer_title">Conditions d\'utilisation</string>
<string name="home_button_scan">Scannez la carte</string>
<string name="initial_message_change_access_code_body">Touchez, pour modifier le code d\'accès</string>
<string name="initial_message_change_passcode_body">Touchez, pour modifier le mot de passe</string>
<string name="initial_message_scan_header">Posez pour scanner</string>
<string name="initial_message_sign_header">Touchez pour signer</string>
<string name="initial_message_tap_header">Posez la carte</string>
<string name="main_processing_full_amount">Le montant n\'inclut pas certains de vos fonds</string>
<string name="onboarding_create_wallet_button_create_wallet">Créer un portefeuille</string>
<string name="send_amount_label">Somme</string>
<string name="send_destination_hint_address">Adresse</string>
<string name="send_error_address_same_as_wallet">L\'adresse est la même que celle de votre portefeuille</string>

View file

@ -2,7 +2,6 @@
<resources>
<string name="common_fee_error">Impossibile ottenere la commissione</string>
<string name="no_account_generic">Scarica %1$s+ %2$s per creare un account</string>
<string name="send_error_blockchain_internal">Errore interno della blockchain</string>
<string name="send_error_dust_amount_format">L\'importo minimo è di %s</string>
<string name="send_error_dust_change">L\'importo residuo è molto basso</string>
<string name="send_error_invalid_fee_value">Commissione non valida</string>

View file

@ -10,6 +10,7 @@
<string name="common_cancel">Annulla</string>
<string name="common_delete">Rimuovere</string>
<string name="common_done">Fatto</string>
<string name="common_error">Errore</string>
<string name="common_ok">OK</string>
<string name="common_save_changes">Mantieni le modifiche</string>
<string name="common_send">Invia</string>
@ -27,12 +28,14 @@
<string name="details_row_title_signed_hashes">Firmato</string>
<string name="details_title">Requisiti</string>
<string name="disclaimer_title">Termini del servizio</string>
<string name="home_button_scan">Scansiona carta</string>
<string name="initial_message_change_access_code_body">Avvicina per modificare il codice di accesso</string>
<string name="initial_message_change_passcode_body">Avvicina per modificare la password</string>
<string name="initial_message_scan_header">Avvicina per scansionare</string>
<string name="initial_message_sign_header">Avvicina per firmare</string>
<string name="initial_message_tap_header">Avvicina la carta</string>
<string name="main_processing_full_amount">L\'importo non include alcuni dei tuoi fondi</string>
<string name="onboarding_create_wallet_button_create_wallet">Crea portafoglio</string>
<string name="send_amount_label">Importo</string>
<string name="send_destination_hint_address">Indirizzo</string>
<string name="send_error_address_same_as_wallet">L\'indirizzo corrisponde all\'indirizzo del tuo portafoglio</string>

View file

@ -6,7 +6,6 @@
<string name="kaspa_withdrawal_message_warning">Из-за ограничений Kaspa в одну транзакцию может поместиться только %1$d UTXO. Это означает, что вы можете отправить только %2$s или меньше. Вам нужно уменьшить сумму.</string>
<string name="no_account_generic">Пополните счет на %1$s+ %2$s, чтобы создать аккаунт</string>
<string name="no_account_polkadot">Аккаунт получателя не активирован. Отправьте %s или более для активации аккаунта.</string>
<string name="send_error_blockchain_internal">Внутренняя ошибка блокчейна</string>
<string name="send_error_dust_amount_format">Минимальная сумма: %s</string>
<string name="send_error_dust_change">Сдача слишком мала</string>
<string name="send_error_invalid_fee_value">Неверная комиссия</string>

View file

@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="add_custom_token_title">Добавить токен</string>
<string name="add_tokens_title">Валюты</string>
<string name="address_qr_code_message_format">Отправляйте только %1$s (%2$s) в сети %3$s на этот адрес. Использование другой сети может привести к утрате средств.</string>
<string name="alert_app_feedback_sent_message">Спасибо за ваш отзыв</string>
<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>
@ -36,14 +40,22 @@
</plurals>
<string name="card_settings_access_code_recovery_disabled_description">Отключите эту опцию, если не хотите, чтобы эта карта использовалась для сброса кодов доступа на другие карты этого кошелька. Обратите внимание, сброс кода также не будет доступен на этой карте.</string>
<string name="card_settings_access_code_recovery_enabled_description">Использовать эту карту для сброса кода доступа на других картах в этом кошельке</string>
<string name="card_settings_access_code_recovery_footer">Отключить возможность сброса кода доступа на этой карте или других картах этого кошелька</string>
<string name="card_settings_access_code_recovery_title">Восстановление кода доступа</string>
<string name="card_settings_action_sheet_reset">Сбросить</string>
<string name="card_settings_action_sheet_title">Вы уверены, что хотите это сделать?</string>
<string name="card_settings_change_access_code">Смена кода доступа</string>
<string name="card_settings_change_access_code_footer">Код доступа будет изменен только на данной карте</string>
<string name="card_settings_reset_card_to_factory">Заводские настройки</string>
<string name="card_settings_security_mode">Тип безопасности</string>
<string name="card_settings_security_mode_footer">Выбранный способ защиты приложения</string>
<string name="card_settings_title">Настройки карты</string>
<string name="chat_bot_name">Tangem Bot</string>
<string name="chat_button_title">Чат</string>
<string name="chat_user_action_rate_user">Оценить агента</string>
<string name="chat_user_action_send_log">Отправить логи</string>
<string name="chat_user_actions_title">Пожалуйста, выберите действие</string>
<string name="chat_user_rate_agent_title">Пожалуйста, оцените работу агента</string>
<string name="common_accept">Принять</string>
<string name="common_add">Добавить</string>
<string name="common_apply">Применить</string>
@ -56,6 +68,7 @@
<string name="common_camera_denied_alert_message">Вы не предоставили доступ к камере, пожалуйста, измените настройки конфиденциальности.</string>
<string name="common_cancel">Отмена</string>
<string name="common_close">Закрыть</string>
<string name="common_continue">Продолжить</string>
<string name="common_copy">Копировать</string>
<string name="common_copy_address">Скопировать адрес</string>
<string name="common_create">Создать</string>
@ -65,12 +78,17 @@
<string name="common_done">Готово</string>
<string name="common_enable">Включить</string>
<string name="common_enabled">Включено</string>
<string name="common_error">Ошибка</string>
<string name="common_exchange">Обменять</string>
<string name="common_explore_transaction_history">Посмотреть историю транзакций</string>
<string name="common_explorer">Обозреватель</string>
<string name="common_generate_addresses">Сгенерировать адреса</string>
<string name="common_import">Импортировать</string>
<string name="common_like">Нравится</string>
<string name="common_locked">Заблокирован</string>
<string name="common_main_network">Основная сеть</string>
<string name="common_no">Нет</string>
<string name="common_no_address">Нет адреса</string>
<string name="common_no_data">Нет данных</string>
<string name="common_ok">OK</string>
<string name="common_origin_card">Основная карта</string>
@ -79,7 +97,9 @@
<string name="common_reload">Перезагрузить</string>
<string name="common_save_changes">Сохранить изменения</string>
<string name="common_search">Искать</string>
<string name="common_search_tokens">Поиск токенов</string>
<string name="common_seed_phrase">Секретная фраза</string>
<string name="common_select_action">Выберите действие</string>
<string name="common_sell">Продать</string>
<string name="common_send">Отправить</string>
<string name="common_server_unavailable">Сервер недоступен, повторите попытку позднее</string>
@ -99,6 +119,7 @@
<string name="common_yes">Да</string>
<string name="contract_address_copied_message">Адрес контракта скопирован!</string>
<string name="currency_subtitle_expanded">Доступные сети</string>
<string name="custom_token_add_token">Добавить токен</string>
<string name="custom_token_contract_address_input_title">Адрес контракта</string>
<string name="custom_token_creation_error_invalid_contract_address">Адрес контракта некорректен</string>
<string name="custom_token_creation_error_invalid_derivation_path">Путь деривации некорректен</string>
@ -138,7 +159,6 @@
<string name="disclaimer_error_loading">Проверьте подключение с интернетом или переключитесь на другую сеть</string>
<string name="disclaimer_title">Условия использования</string>
<string name="error_update_app">К сожалению, текущая версия приложения не готова к работе с этой картой, проверьте наличие обновлений</string>
<string name="error_wrong_card_type">Данное приложение не предназначено для работы с этой картой или требует обновления</string>
<string name="error_wrong_wallet_tapped">Вы использовали карту от другого кошелька. Приложите карту, связанную с этим кошельком.</string>
<string name="exchange_receive_view_header">Вы получаете</string>
<string name="exchange_send_view_header">Вы отправляете</string>
@ -153,10 +173,13 @@
<string name="feedback_subject_support_tangem">Обращение в поддержку Tangem</string>
<string name="feedback_subject_tx_failed">Не могу отправить транзакцию</string>
<string name="home_button_order">Купить</string>
<string name="home_button_scan">Сканировать</string>
<string name="initial_message_change_access_code_body">Чтобы изменить код доступа, приложите карту как показано выше и не убирайте до окончания операции</string>
<string name="initial_message_change_passcode_body">Чтобы изменить пароль, приложите карту как показано выше и не убирайте до окончания операции</string>
<string name="initial_message_create_wallet_body">Чтобы создать кошелек, приложите карту как показано выше и не убирайте до окончания операции</string>
<string name="initial_message_purge_wallet_body">Чтобы сбросить настройки до заводских, приложите карту как показано выше и не убирайте до окончания операции</string>
<string name="initial_message_scan_header">Приложите, чтобы отсканировать</string>
<string name="initial_message_sign_body">Чтобы подписать транзакцию, приложите карту как показано выше и не убирайте до окончания операции</string>
<string name="initial_message_sign_header">Приложите, чтобы подписать</string>
<string name="initial_message_tap_header">Приложите карту</string>
<string name="internal_error_wallet_manager_not_found">Внутренняя ошибка: не удается найти менеджер кошельков</string>
@ -174,10 +197,16 @@
<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_promotion_no_purchase">По вашему промокоду не было покупки кошелька, а значит вы не можете получить бонус. Купите кошелек Tangem, отсканируйте его в приложении и получите бонус.</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="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>
@ -219,7 +248,7 @@
<string name="onboarding_navbar_pin">Код доступа</string>
<string name="onboarding_navbar_register_wallet">Подключиться</string>
<string name="onboarding_navbar_title_creating_backup">Резервная копия</string>
<string name="onboarding_seed_button_read_more">Читать про секретную фразу</string>
<string name="onboarding_seed_button_read_more">Прочитать о секретной фразе</string>
<string name="onboarding_seed_generate_message">Запишите эти 12 слов в порядке, указанном ниже, и сохраните их в надежном месте.</string>
<string name="onboarding_seed_generate_title">Ваша секретная фраза</string>
<string name="onboarding_seed_import_message">Чтобы импортировать кошелек, введите секретную фразу в поле ниже</string>
@ -237,7 +266,7 @@
<string name="onboarding_subtitle_no_backup_cards">Чтобы начать процесс резервного копирования, добавьте одну или две резервные карты.</string>
<string name="onboarding_subtitle_one_backup_card">Вы можете добавить еще одну карту или завершить процесс резервного копирования</string>
<string name="onboarding_subtitle_scan_backup_card_format">Подготовьте резервную карту с номером %s</string>
<string name="onboarding_subtitle_scan_origin_card">Подготовьте основную карту</string>
<string name="onboarding_subtitle_scan_primary">Отсканируйте основную карту, чтобы начать процесс резервного копирования.</string>
<string name="onboarding_subtitle_scan_primary_card_format">Подготовьте основную карту с номером %s</string>
<string name="onboarding_subtitle_success_claim">Поздравляем! Ваша платежная крипто карта теперь активирована!</string>
<string name="onboarding_subtitle_success_tangem_wallet_onboarding">Ваша карта настроена и готова к использованию.</string>
@ -255,7 +284,7 @@
<string name="onboarding_top_up_body_no_account_error">Пополните кошелек более чем на %1$s %2$s, чтобы начать пользоваться картой</string>
<string name="onboarding_top_up_button_but_crypto">Купить криптовалюту</string>
<string name="onboarding_top_up_button_show_wallet_address">Показать адрес кошелька</string>
<string name="onboarding_top_up_header">Пополните свой кошелек</string>
<string name="onboarding_topup_title">Активация кошелька</string>
<string name="onboarding_twin_exit_warning">Процесс связывания карт частично завершен. Вы не можете выйти из него сейчас.</string>
<string name="onboarding_twins_interrupt_warning">Если процесc создания кошелька каким-либо образом прервется, вам придется начинать сначала</string>
<string name="onboarding_wallet_info_subtitle_first">Вы можете сделать резервную копию своих ключей на одной или двух других пустых картах Wallet.</string>
@ -275,12 +304,23 @@
<string name="referral_button_participate">Участвовать</string>
<string name="referral_error_failed_to_load_info">Не удалось загрузить информацию по реферальной программе. Пожалуйста, попробуйте позже.</string>
<string name="referral_error_failed_to_load_info_with_reason">Не удалось загрузить информацию по реферальной программе. Код ошибки: %s. Пожалуйста, попробуйте позже.</string>
<string name="referral_expected_awards">Грядущие выплаты</string>
<string name="referral_friends_bought_title">Ваши друзья купили</string>
<string name="referral_less">Меньше</string>
<string name="referral_more">Больше</string>
<string name="referral_no_expected_awards">Нет грядущих выплат</string>
<plurals name="referral_number_of_wallets">
<item quantity="one">за %d кошелек</item>
<item quantity="few">за %d кошелька</item>
<item quantity="many">за %d кошельков</item>
<item quantity="other">за %d кошельков</item>
</plurals>
<string name="referral_point_currencies_description">Получите ^^%1$s^^ на ваш адрес в сети %2$s %3$s ^^спустя 30 дней^^ за каждый кошелек, который купит ваш друг</string>
<string name="referral_point_currencies_description_prefix">Получите</string>
<string name="referral_point_currencies_description_suffix">на ваш адрес в сети %1$s%2$s за каждый кошелек, который купит ваш друг</string>
<string name="referral_point_currencies_title">Вы</string>
<string name="referral_point_discount_description_prefix">Получит</string>
<string name="referral_point_discount_description_suffix">при покупке карточки на сайте tangem.com</string>
<string name="referral_point_discount_description_suffix">при покупке кошелька на сайте tangem.com</string>
<string name="referral_point_discount_description_value">%s скидку</string>
<string name="referral_point_discount_title">Ваш друг</string>
<string name="referral_promo_code_copied">Персональный код скопирован!</string>
@ -316,7 +356,6 @@
<string name="scan_card_settings_button">Сканировать</string>
<string name="scan_card_settings_message">Отсканируйте карту, чтобы изменить ее настройки. Изменения затронут только ту карту, которую вы отсканировали, и не повлияют на другие карты, привязанные к вашему кошельку.</string>
<string name="scan_card_settings_title">Приготовьте свою карту</string>
<string name="search_tokens_title">Поиск валют</string>
<string name="send_amount_label">Сумма</string>
<string name="send_destination_hint_address">Адрес</string>
<string name="send_error_address_same_as_wallet">Адрес совпадает с адресом кошелька</string>
@ -342,7 +381,7 @@
<string name="shop_i_have_a_promo_code">У меня есть промо-код…</string>
<string name="shop_one_wallet">Tangem Wallet</string>
<string name="shop_other_payment_methods">Другие способы оплаты</string>
<string name="shop_sold_out_description">Из-за высокого количества заказов, которые мы получаем, доставка может быть задержана на срок до 5 недель в зависимости от вашего местоположения</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>
@ -414,12 +453,6 @@
<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>
<plurals name="tokens_count">
<item quantity="one">%d токен</item>
<item quantity="few">%d токена</item>
<item quantity="many">%d токенов</item>
<item quantity="other">%d токенов</item>
</plurals>
<string name="transaction_history_contract_address">контракт: %s</string>
<string name="transaction_history_empty_transactions">У вас еще нет транзакций</string>
<string name="transaction_history_error_failed_to_load">Не удалось загрузить историю транзакций.\nНажмите на кнопку перезагрузки, чтобы обновить информацию.</string>
@ -437,6 +470,7 @@
<string name="twins_recreate_title_preparing">Подготовка карты</string>
<string name="twins_recreate_toolbar">Tangem Twin</string>
<string name="twins_recreate_warning">Это действие необратимо. У вас не будет доступа к старому кошельку.</string>
<string name="twins_scan_twin_with_number">Приложите twin-карту с номером %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>
@ -456,6 +490,7 @@
<string name="wallet_balance_tx_in_progress">Транзакция подтверждается…</string>
<string name="wallet_balance_verified">Подтвержденный баланс</string>
<string name="wallet_button_actions">Действия</string>
<string name="wallet_choice_wallet_option_title">Что отправить?</string>
<string name="wallet_choose_trade_action">Вы хотите купить или продать криптовалюту?</string>
<string name="wallet_connect_alert_sign_message">Запрос на подпись сообщения.\n\n%s</string>
<string name="wallet_connect_bnb_sign_message">Dapp %1$s, запрос на\nподпись транзакции с BNB.\n\n%2$s</string>
@ -477,7 +512,10 @@
<string name="wallet_connect_generic_error_with_code">Произошла непредвиденная ошибка. Код ошибки: %d Попробуйте, пожалуйста, позже. Если проблема будет продолжать возникать - обратитесь в службу поддержки.</string>
<string name="wallet_connect_message_signed">Сообщение было успешно подписано и отправлено в Dapp</string>
<string name="wallet_connect_network_not_found_format">Сеть %s не найдена. Пожалуйста, добавьте её и попробуйте заново.</string>
<string name="wallet_connect_no_sessions_message">Нет открытых сессий WalletConnect</string>
<string name="wallet_connect_no_sessions_title">Упс. Нет сессий.</string>
<string name="wallet_connect_paste_from_clipboard">Вставить из буфера обмена</string>
<string name="wallet_connect_personal_sign_message">Сообщение для %1$s:\n%2$s</string>
<string name="wallet_connect_request_session_start">Запрос на открытие сессии для\n%1$s\n\nСЕТЬ: %2$s\n\nURL: %3$s</string>
<string name="wallet_connect_same_wcuri">Операция не может быть завершена.\n\nВы уже установили сеанс WalletConnect с этими параметрами.</string>
<string name="wallet_connect_scan_new_code">Сканировать новый код</string>
@ -485,6 +523,8 @@
<string name="wallet_connect_scanner_error_unsupported_network">Сеть не поддерживается. Пожалуйста, выберите другую сеть.</string>
<string name="wallet_connect_select_network">Выберите сеть</string>
<string name="wallet_connect_service_no_chain_id">Dapp не предоставил необходимые данные для открытия сессии WalletConnect</string>
<string name="wallet_connect_session_not_found">Не удалось найти сессию для обработки запроса</string>
<string name="wallet_connect_sessions_title">Сессии WalletConnect</string>
<string name="wallet_connect_subtitle">Подключение к Dapps</string>
<string name="wallet_connect_title">WalletConnect</string>
<string name="wallet_connect_transaction_signed">Транзакция успешно подписана и отправлена ​​в Dapp</string>

View file

@ -6,7 +6,6 @@
<string name="kaspa_withdrawal_message_warning">由於 Kaspa 的限制,只有%1$d UTXO 可以放入單次交易中。這意味著您只能發送%2$s或更少數量。您需要減少數量。</string>
<string name="no_account_generic">加載 %1$s+ %2$s 以創建帳戶</string>
<string name="no_account_polkadot">目標帳戶未激活。發送 %s 或更多以激活帳戶</string>
<string name="send_error_blockchain_internal">區塊鏈內部錯誤</string>
<string name="send_error_dust_amount_format">最小數量是 %s</string>
<string name="send_error_dust_change">更動太小</string>
<string name="send_error_invalid_fee_value">無效費用</string>

View file

@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="add_custom_token_title">添加自定義代幣</string>
<string name="add_tokens_title">管理代幣</string>
<string name="address_qr_code_message_format">僅將 %1$s (%2$s) 從 %3$s 網絡發送到此地址。使用其他代幣和網絡可能會導致資金損失</string>
<string name="alert_app_feedback_sent_message">謝謝您的反饋</string>
<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>
@ -32,14 +36,22 @@
</plurals>
<string name="card_settings_access_code_recovery_disabled_description">如果您不希望使用此卡重置此錢包中其他卡上的訪問密碼,請禁用此選項。請注意,這也會阻止您重置此卡上的訪問密碼。</string>
<string name="card_settings_access_code_recovery_enabled_description">允許您使用此卡重置此錢包中其他卡上的訪問密碼</string>
<string name="card_settings_access_code_recovery_footer">禁用重置此卡或此錢包中其他卡上的訪問密碼的功能</string>
<string name="card_settings_access_code_recovery_title">恢復訪問密碼</string>
<string name="card_settings_action_sheet_reset">重置</string>
<string name="card_settings_action_sheet_title">您確定要這麼做嗎?</string>
<string name="card_settings_change_access_code">更改訪問密碼</string>
<string name="card_settings_change_access_code_footer">訪問密碼將僅在此卡上更改</string>
<string name="card_settings_reset_card_to_factory">回復至原廠設置</string>
<string name="card_settings_security_mode">安全模式</string>
<string name="card_settings_security_mode_footer">選定的應用程序保護方法</string>
<string name="card_settings_title">卡片設置</string>
<string name="chat_bot_name">Tangem 機器人</string>
<string name="chat_button_title">支援</string>
<string name="chat_user_action_rate_user">請評價</string>
<string name="chat_user_action_send_log">發送logs</string>
<string name="chat_user_actions_title">請選擇一個操作</string>
<string name="chat_user_rate_agent_title">請評價我們的服務</string>
<string name="common_accept">接受</string>
<string name="common_add">添加</string>
<string name="common_attention">注意</string>
@ -50,6 +62,7 @@
<string name="common_camera_denied_alert_message">您尚未授予相機訪問權限,請更改您的隱私設置</string>
<string name="common_cancel">刪除</string>
<string name="common_close">關閉</string>
<string name="common_continue">繼續</string>
<string name="common_copy">複製</string>
<string name="common_copy_address">複製地址</string>
<string name="common_create">創造</string>
@ -59,7 +72,9 @@
<string name="common_done">完成</string>
<string name="common_enable">允許</string>
<string name="common_enabled">啟用</string>
<string name="common_error">錯誤</string>
<string name="common_exchange">交易</string>
<string name="common_import">導入</string>
<string name="common_like">喜歡</string>
<string name="common_no"></string>
<string name="common_ok">OK</string>
@ -67,6 +82,8 @@
<string name="common_reject">拒絕</string>
<string name="common_save_changes">保存設置</string>
<string name="common_search">搜索</string>
<string name="common_search_tokens">搜尋代幣</string>
<string name="common_select_action">選擇</string>
<string name="common_sell">銷售</string>
<string name="common_send">發送</string>
<string name="common_server_unavailable">伺服器不可用,請稍後在試</string>
@ -84,6 +101,7 @@
<string name="common_yes"></string>
<string name="contract_address_copied_message">已複製代幣地址</string>
<string name="currency_subtitle_expanded">支持的網路</string>
<string name="custom_token_add_token">添加代幣</string>
<string name="custom_token_contract_address_input_title">代幣地址</string>
<string name="custom_token_creation_error_invalid_contract_address">無效地址</string>
<string name="custom_token_creation_error_invalid_derivation_path">衍生路徑錯誤</string>
@ -135,10 +153,13 @@
<string name="feedback_subject_support_tangem">Tangem反饋</string>
<string name="feedback_subject_tx_failed">無法發送交易</string>
<string name="home_button_order">訂購</string>
<string name="home_button_scan">掃描卡片</string>
<string name="initial_message_change_access_code_body">要更改訪問密碼,請完全按照上圖所示連接手機和卡片</string>
<string name="initial_message_change_passcode_body">要更改密碼,請完全按照上圖所示連接手機和卡</string>
<string name="initial_message_create_wallet_body">要創建錢包,請完全按照上圖所示連接手機和卡</string>
<string name="initial_message_purge_wallet_body">要重置為出廠設置,請完全按照上圖所示連接手機和卡片</string>
<string name="initial_message_scan_header">點擊掃描</string>
<string name="initial_message_sign_body">要簽名,請完全按照上圖所示連接手機和卡</string>
<string name="initial_message_sign_header">點擊簽名</string>
<string name="initial_message_tap_header">點按卡片</string>
<string name="internal_error_wallet_manager_not_found">內部錯誤:找不到錢包管理器</string>
@ -188,7 +209,7 @@
<string name="onboarding_exit_alert_message">這此情況,您必須要重新開始</string>
<string name="onboarding_exit_alert_title">您想要離開啟用程序嗎?</string>
<string name="onboarding_getting_started">開始</string>
<string name="onboarding_linking_error_card_with_wallets">您要添加的卡上已經創建了另一個錢包。你想重置它並將卡用於新錢包嗎</string>
<string name="onboarding_linking_error_card_with_wallets">您要添加的卡上已經創建了另一個錢包。你想重置它並將卡用於新錢包嗎</string>
<string name="onboarding_navbar_pin">PIN 碼</string>
<string name="onboarding_navbar_register_wallet">連接</string>
<string name="onboarding_navbar_title_creating_backup">創建備份</string>
@ -210,7 +231,7 @@
<string name="onboarding_subtitle_no_backup_cards">要開始備份過程,最多可添加兩張備份卡。</string>
<string name="onboarding_subtitle_one_backup_card">您可以再添加一張卡或完成備份過程</string>
<string name="onboarding_subtitle_scan_backup_card_format">準備編號為 %s 的備份卡</string>
<string name="onboarding_subtitle_scan_origin_card">準備主卡</string>
<string name="onboarding_subtitle_scan_primary">掃描主卡以啟動備份過程</string>
<string name="onboarding_subtitle_scan_primary_card_format">準備編號為 %s 的主卡</string>
<string name="onboarding_subtitle_success_claim">恭喜! 您的第一張支付加密卡已啟用!</string>
<string name="onboarding_subtitle_success_tangem_wallet_onboarding">您的錢包卡已配置完畢,可以使用了</string>
@ -228,7 +249,7 @@
<string name="onboarding_top_up_body_no_account_error">要開始,只需為錢包充值超過 %1$s %2$s</string>
<string name="onboarding_top_up_button_but_crypto">購買加密貨幣</string>
<string name="onboarding_top_up_button_show_wallet_address">顯示錢包地址</string>
<string name="onboarding_top_up_header">充值你的錢包</string>
<string name="onboarding_topup_title">啟動錢包</string>
<string name="onboarding_twin_exit_warning">結對過程已部分完成。你現在不能退出</string>
<string name="onboarding_twins_interrupt_warning">如果創建錢包的過程以任何方式中斷,您將得重新開始</string>
<string name="onboarding_wallet_info_subtitle_first">您最多可以額外備份兩張空白的 Tangem冷錢包</string>
@ -247,7 +268,6 @@
<string name="referral_point_currencies_description_suffix">對於你的朋友在你的 %1$s 網絡地址%2$s上購買的每個錢包</string>
<string name="referral_point_currencies_title"></string>
<string name="referral_point_discount_description_prefix">得到</string>
<string name="referral_point_discount_description_suffix">當在 tangem.com購買卡片</string>
<string name="referral_point_discount_description_value">%s 折扣</string>
<string name="referral_point_discount_title">你的朋友</string>
<string name="referral_promo_code_copied">個人促銷碼已複製!</string>
@ -280,7 +300,6 @@
<string name="scan_card_settings_button">掃描卡片</string>
<string name="scan_card_settings_message">掃描卡片以更改其設置。這些更改只會影響您掃描過的卡,不會影響綁定到您錢包的其他卡。</string>
<string name="scan_card_settings_title">準備好您的卡!</string>
<string name="search_tokens_title">搜尋代幣</string>
<string name="send_amount_label">數量</string>
<string name="send_destination_hint_address">地址</string>
<string name="send_error_address_same_as_wallet">地址與錢包地址相同</string>
@ -367,9 +386,6 @@
<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>
<plurals name="tokens_count">
<item quantity="other">%d 代幣</item>
</plurals>
<string name="transaction_history_empty_transactions">您還沒有任何交易</string>
<string name="transaction_history_error_failed_to_load">無法加載交易</string>
<string name="transaction_history_tx_in_progress">進行中…</string>
@ -383,6 +399,7 @@
<string name="twins_recreate_title_preparing">準備卡片</string>
<string name="twins_recreate_toolbar">Tangem Twin</string>
<string name="twins_recreate_warning">這個動作是不可逆的。您將無法訪問舊錢包</string>
<string name="twins_scan_twin_with_number">將您的 iPhone 靠近編號為 %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>
@ -402,6 +419,7 @@
<string name="wallet_balance_tx_in_progress">交易進行中</string>
<string name="wallet_balance_verified">檢視餘額</string>
<string name="wallet_button_actions">動作</string>
<string name="wallet_choice_wallet_option_title">選擇錢包選項</string>
<string name="wallet_choose_trade_action">您想要購買或賣出交易貨幣?</string>
<string name="wallet_connect_alert_sign_message">請求籤署消息。%s</string>
<string name="wallet_connect_bnb_sign_message">Dapp %1$s請求\n簽署 BNB 交易。\n%2$s</string>
@ -423,7 +441,10 @@
<string name="wallet_connect_generic_error_with_code">我們遇到了未知錯誤。錯誤代碼:%d。如果問題仍然存在-請隨時聯繫我們的支持人員</string>
<string name="wallet_connect_message_signed">消息已成功簽名並發送至Dapp</string>
<string name="wallet_connect_network_not_found_format">沒有 %s 網路,請先加入後再試一次</string>
<string name="wallet_connect_no_sessions_message">沒有已連結的WalletConnect</string>
<string name="wallet_connect_no_sessions_title">Ooops, 沒有連接</string>
<string name="wallet_connect_paste_from_clipboard">從剪貼板貼上</string>
<string name="wallet_connect_personal_sign_message">給 %1$s 的消息:%2$s</string>
<string name="wallet_connect_request_session_start">請求開始會話\n%1$s\n\n網絡 %2$s\n\n網址%3$s</string>
<string name="wallet_connect_same_wcuri">無法完成執行,您已經使用此參數建立了 WalletConnect 連接</string>
<string name="wallet_connect_scan_new_code">掃描新密碼</string>
@ -431,6 +452,8 @@
<string name="wallet_connect_scanner_error_unsupported_network">不支持此網絡。請選擇其他網絡</string>
<string name="wallet_connect_select_network">選擇網路</string>
<string name="wallet_connect_service_no_chain_id">Dapp 沒有提供必要的數據來建立 WalletConnect 連接</string>
<string name="wallet_connect_session_not_found">找不到請求的連接</string>
<string name="wallet_connect_sessions_title">WalletConnect 連接</string>
<string name="wallet_connect_subtitle">連結到Dapps</string>
<string name="wallet_connect_title">WalletConnect</string>
<string name="wallet_connect_transaction_signed">交易已成功簽署並發送至 Dapp</string>

View file

@ -6,7 +6,6 @@
<string name="kaspa_withdrawal_message_warning">Due to Kaspa limitations only %1$d UTXOs can fit in a single transaction. This means you can only send %2$s or less. You need to reduce the amount.</string>
<string name="no_account_generic">Load %1$s+ %2$s to create account</string>
<string name="no_account_polkadot">Destination account is not active. Send %s or more to activate the account.</string>
<string name="send_error_blockchain_internal">Blockchain internal error</string>
<string name="send_error_dust_amount_format">Minimum amount is %s</string>
<string name="send_error_dust_change">Change is too small</string>
<string name="send_error_invalid_fee_value">Invalid Fee</string>

View file

@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="add_custom_token_title">Add custom token</string>
<string name="add_tokens_title">Manage tokens</string>
<string name="address_qr_code_message_format">Send only %1$s (%2$s) from %3$s network to this address. Using other tokens and networks may result in loss of funds.</string>
<string name="alert_app_feedback_sent_message">Thank you for your feedback</string>
<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>
@ -34,14 +38,22 @@
</plurals>
<string name="card_settings_access_code_recovery_disabled_description">Disable this option if you don\'t want this card to be used to reset access codes on other cards in this wallet. Please note that this will also prevent you from resetting the access code on this card.</string>
<string name="card_settings_access_code_recovery_enabled_description">Allows you to use this card to reset access code on other cards in this wallet</string>
<string name="card_settings_access_code_recovery_footer">Disable the ability to reset the access code on this card or other cards in this wallet</string>
<string name="card_settings_access_code_recovery_title">Access code recovery</string>
<string name="card_settings_action_sheet_reset">Reset</string>
<string name="card_settings_action_sheet_title">Are you sure you want to do this?</string>
<string name="card_settings_change_access_code">Change Access Code</string>
<string name="card_settings_change_access_code_footer">Access code will be changed on this card only</string>
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
<string name="card_settings_security_mode">Security Mode</string>
<string name="card_settings_security_mode_footer">Selected application protection method</string>
<string name="card_settings_title">Card Settings</string>
<string name="chat_bot_name">Tangem Bot</string>
<string name="chat_button_title">Support</string>
<string name="chat_user_action_rate_user">Rate agent</string>
<string name="chat_user_action_send_log">Send logs</string>
<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_add">Add</string>
<string name="common_apply">Apply</string>
@ -54,6 +66,7 @@
<string name="common_camera_denied_alert_message">You have not given access to your camera, please adjust your privacy settings</string>
<string name="common_cancel">Cancel</string>
<string name="common_close">Close</string>
<string name="common_continue">Continue</string>
<string name="common_copy">Copy</string>
<string name="common_copy_address">Copy address</string>
<string name="common_create">Create</string>
@ -63,13 +76,18 @@
<string name="common_done">Done</string>
<string name="common_enable">Enable</string>
<string name="common_enabled">Enabled</string>
<string name="common_error">Error</string>
<string name="common_exchange">Exchange</string>
<string name="common_explore_transaction_history">Explore transaction history</string>
<string name="common_explorer">Explorer</string>
<string name="common_generate_addresses">Generate addresses</string>
<string name="common_import">Import</string>
<string name="common_learn_and_earn">Learn &amp; Earn</string>
<string name="common_like">Like</string>
<string name="common_locked">Locked</string>
<string name="common_main_network">Main network</string>
<string name="common_no">No</string>
<string name="common_no_address">No address</string>
<string name="common_no_data">No data</string>
<string name="common_ok">OK</string>
<string name="common_origin_card">Primary Card</string>
@ -78,7 +96,9 @@
<string name="common_reload">Reload</string>
<string name="common_save_changes">Save changes</string>
<string name="common_search">Search</string>
<string name="common_search_tokens">Search tokens</string>
<string name="common_seed_phrase">Seed phrase</string>
<string name="common_select_action">Select action</string>
<string name="common_sell">Sell</string>
<string name="common_send">Send</string>
<string name="common_server_unavailable">The server is not available, please try again later</string>
@ -98,6 +118,7 @@
<string name="common_yes">Yes</string>
<string name="contract_address_copied_message">Contract address copied!</string>
<string name="currency_subtitle_expanded">Available networks</string>
<string name="custom_token_add_token">Add token</string>
<string name="custom_token_contract_address_input_title">Contract address</string>
<string name="custom_token_creation_error_invalid_contract_address">Contract address is invalid</string>
<string name="custom_token_creation_error_invalid_derivation_path">Derivation path is invalid</string>
@ -137,7 +158,6 @@
<string name="disclaimer_error_loading">Check your internet connection or switch to a different network</string>
<string name="disclaimer_title">Terms of Service</string>
<string name="error_update_app">Oops, the current version of the application is not ready to work with this card, please check for updates.</string>
<string name="error_wrong_card_type">This application is not designed to work with this card or needs to be updated</string>
<string name="error_wrong_wallet_tapped">You have used a card from another wallet. Tap the card associated with this wallet</string>
<string name="exchange_receive_view_header">You Receive</string>
<string name="exchange_send_view_header">You Send</string>
@ -152,10 +172,13 @@
<string name="feedback_subject_support_tangem">Tangem feedback</string>
<string name="feedback_subject_tx_failed">Can\'t send a transaction</string>
<string name="home_button_order">Order</string>
<string name="home_button_scan">Scan card</string>
<string name="initial_message_change_access_code_body">To change the access code tap the card as shown above and do not remove until the end of the operation</string>
<string name="initial_message_change_passcode_body">To change the passcode tap the card as shown above and do not remove until the end of the operation</string>
<string name="initial_message_create_wallet_body">To create the wallet tap the card as shown above and do not remove until the end of the operation</string>
<string name="initial_message_purge_wallet_body">To reset to factory settings tap the card as shown above and do not remove until the end of the operation</string>
<string name="initial_message_scan_header">Tap to scan</string>
<string name="initial_message_sign_body">To sign tap the card as shown above and do not remove until the end of the operation</string>
<string name="initial_message_sign_header">Tap to sign</string>
<string name="initial_message_tap_header">Tap the card</string>
<string name="internal_error_wallet_manager_not_found">Internal error: wallet manager not found</string>
@ -172,10 +195,14 @@
<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_promotion_no_purchase">There was no purchase of a wallet using your promo code, which means you cannot receive a bonus. Buy Tangem wallet, scan it in the app, and get the bonus.</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="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>
@ -235,7 +262,7 @@
<string name="onboarding_subtitle_no_backup_cards">To start the backup process add up to two backup cards.</string>
<string name="onboarding_subtitle_one_backup_card">You can add one more card or finalize the backup process</string>
<string name="onboarding_subtitle_scan_backup_card_format">Prepare the backup card with number %s</string>
<string name="onboarding_subtitle_scan_origin_card">Prepare the primary card</string>
<string name="onboarding_subtitle_scan_primary">Scan the primary card to start the backup process.</string>
<string name="onboarding_subtitle_scan_primary_card_format">Prepare the primary card with number %s</string>
<string name="onboarding_subtitle_success_claim">Congratulations! Your first payment crypto card has been activated!</string>
<string name="onboarding_subtitle_success_tangem_wallet_onboarding">Your wallet card is configured and ready for use.</string>
@ -253,7 +280,7 @@
<string name="onboarding_top_up_body_no_account_error">To get started, simply top up the wallet with more than %1$s %2$s</string>
<string name="onboarding_top_up_button_but_crypto">Buy crypto</string>
<string name="onboarding_top_up_button_show_wallet_address">Show the wallet\'s address</string>
<string name="onboarding_top_up_header">Top up your wallet</string>
<string name="onboarding_topup_title">Activate a wallet</string>
<string name="onboarding_twin_exit_warning">The twinning process is partly complete. You can\'t exit it now.</string>
<string name="onboarding_twins_interrupt_warning">If the process of creating the wallet gets interrupted in any way, you\'ll have to start over</string>
<string name="onboarding_wallet_info_subtitle_first">You can backup your keys up to two other blank Tangem Wallet cards.</string>
@ -274,12 +301,21 @@
<string name="referral_button_participate">Participate</string>
<string name="referral_error_failed_to_load_info">Failed to load the information about the referral program. Please try again later.</string>
<string name="referral_error_failed_to_load_info_with_reason">Failed to load the information about the referral program. Error code: %s. Please try again later.</string>
<string name="referral_expected_awards">Upcoming payments</string>
<string name="referral_friends_bought_title">Your friends bought</string>
<string name="referral_less">Less</string>
<string name="referral_more">More</string>
<string name="referral_no_expected_awards">No upcoming payments</string>
<plurals name="referral_number_of_wallets">
<item quantity="one">for %d wallet</item>
<item quantity="other">for %d wallets</item>
</plurals>
<string name="referral_point_currencies_description">Will get ^^%1$s^^ for each wallet bought by your friend on your %2$s network address %3$s ^^30 days after^^ that</string>
<string name="referral_point_currencies_description_prefix">Will get</string>
<string name="referral_point_currencies_description_suffix">for each wallet bought by your friend on your %1$s network address%2$s</string>
<string name="referral_point_currencies_title">You</string>
<string name="referral_point_discount_description_prefix">Will get a</string>
<string name="referral_point_discount_description_suffix">when buying a card on tangem.com</string>
<string name="referral_point_discount_description_suffix">when buying a wallet on tangem.com</string>
<string name="referral_point_discount_description_value">%s discount</string>
<string name="referral_point_discount_title">Your friend</string>
<string name="referral_promo_code_copied">Personal code copied!</string>
@ -313,7 +349,6 @@
<string name="scan_card_settings_button">Scan Card</string>
<string name="scan_card_settings_message">Scan the card to change its settings. The changes will impact only the card you\'ve scanned and will not affect other cards tied to your wallet.</string>
<string name="scan_card_settings_title">Get your card ready!</string>
<string name="search_tokens_title">Search tokens</string>
<string name="send_amount_label">Amount</string>
<string name="send_destination_hint_address">Address</string>
<string name="send_error_address_same_as_wallet">Address is the same as wallet address</string>
@ -339,7 +374,7 @@
<string name="shop_i_have_a_promo_code">I have a promo code…</string>
<string name="shop_one_wallet">Tangem Wallet</string>
<string name="shop_other_payment_methods">Other payment methods</string>
<string name="shop_sold_out_description">Due to the high volume of orders we are receiving shipping may be delayed up to 5 weeks depending on your location</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>
@ -409,10 +444,6 @@
<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>
<string name="token_item_no_rate">No rate</string>
<plurals name="tokens_count">
<item quantity="one">%d token</item>
<item quantity="other">%d tokens</item>
</plurals>
<string name="transaction_history_contract_address">contract: %s</string>
<string name="transaction_history_empty_transactions">You don\'t have any transactions yet</string>
<string name="transaction_history_error_failed_to_load">Failed to load transaction history.\nClick on reload button to update the information.</string>
@ -430,6 +461,7 @@
<string name="twins_recreate_title_preparing">Preparing card</string>
<string name="twins_recreate_toolbar">Tangem Twin</string>
<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="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>
@ -449,6 +481,7 @@
<string name="wallet_balance_tx_in_progress">Transaction is in progress…</string>
<string name="wallet_balance_verified">Verified Balance</string>
<string name="wallet_button_actions">Actions</string>
<string name="wallet_choice_wallet_option_title">Choose wallet option</string>
<string name="wallet_choose_trade_action">Do you want to buy or sell crypto?</string>
<string name="wallet_connect_alert_sign_message">Requesting to sign a message.\n\n%s</string>
<string name="wallet_connect_bnb_sign_message">Dapp %1$s, requesting to\nsign BNB transaction.\n\n%2$s</string>
@ -470,7 +503,10 @@
<string name="wallet_connect_generic_error_with_code">We\'ve encountered unknown error. Error code: %d. If the problem persists — feel free to contact our support</string>
<string name="wallet_connect_message_signed">The message has been successfully signed and sent to the Dapp</string>
<string name="wallet_connect_network_not_found_format">%s network not found. Please, add it first and try again.</string>
<string name="wallet_connect_no_sessions_message">No opened WalletConnect sessions</string>
<string name="wallet_connect_no_sessions_title">Ooops. No Sessions.</string>
<string name="wallet_connect_paste_from_clipboard">Paste from clipboard</string>
<string name="wallet_connect_personal_sign_message">Message for %1$s:\n%2$s</string>
<string name="wallet_connect_request_session_start">Request to start a session for\n%1$s\n\nNETWORK: %2$s\n\nURL: %3$s</string>
<string name="wallet_connect_same_wcuri">The operation couldn\'t be completed.\n\nYou have already established a WalletConnect session with this parameters.</string>
<string name="wallet_connect_scan_new_code">Scan new code</string>
@ -478,6 +514,8 @@
<string name="wallet_connect_scanner_error_unsupported_network">This network is not supported. Please select another network.</string>
<string name="wallet_connect_select_network">Select network</string>
<string name="wallet_connect_service_no_chain_id">Dapp didn\'t provide essential data to establish WalletConnect session</string>
<string name="wallet_connect_session_not_found">Failed to find session for request</string>
<string name="wallet_connect_sessions_title">WalletConnect Sessions</string>
<string name="wallet_connect_subtitle">Connect to Dapps</string>
<string name="wallet_connect_title">WalletConnect</string>
<string name="wallet_connect_transaction_signed">The transaction has been successfully signed and sent to the Dapp</string>

View file

@ -16,7 +16,8 @@ import com.tangem.feature.learn2earn.presentation.ui.state.MainScreenState
internal fun Learn2earnDialogs(dialog: MainScreenState.Dialog?) {
when (dialog) {
is MainScreenState.Dialog.Claimed -> ClaimedDialog(dialog)
is MainScreenState.Dialog.PromoCodeNotRegistered -> PromoCodeNotRegisteredDialog(dialog)
// TODO: https://tangem.slack.com/archives/C01HARKDLQ0/p1691421861756069
// is MainScreenState.Dialog.PromoCodeNotRegistered -> PromoCodeNotRegisteredDialog(dialog)
is MainScreenState.Dialog.Error -> ErrorDialog(dialog)
else -> Unit
}
@ -41,30 +42,30 @@ private fun ClaimedDialog(dialog: MainScreenState.Dialog.Claimed) {
)
}
@Composable
private fun PromoCodeNotRegisteredDialog(dialog: MainScreenState.Dialog.PromoCodeNotRegistered) {
AlertDialog(
title = {
Text(text = stringResource(id = R.string.common_error))
},
text = {
Text(text = stringResource(id = R.string.main_promotion_no_purchase))
},
dismissButton = {
TextButton(
text = stringResource(id = R.string.common_cancel),
onClick = dialog.onCancel,
)
},
confirmButton = {
TextButton(
text = stringResource(id = R.string.common_buy),
onClick = dialog.onOk,
)
},
onDismissRequest = dialog.onDismissRequest,
)
}
// @Composable
// private fun PromoCodeNotRegisteredDialog(dialog: MainScreenState.Dialog.PromoCodeNotRegistered) {
// AlertDialog(
// title = {
// Text(text = stringResource(id = R.string.common_error))
// },
// text = {
// Text(text = stringResource(id = R.string.main_promotion_no_purchase))
// },
// dismissButton = {
// TextButton(
// text = stringResource(id = R.string.common_cancel),
// onClick = dialog.onCancel,
// )
// },
// confirmButton = {
// TextButton(
// text = stringResource(id = R.string.common_buy),
// onClick = dialog.onOk,
// )
// },
// onDismissRequest = dialog.onDismissRequest,
// )
// }
@Composable
private fun ErrorDialog(dialog: MainScreenState.Dialog.Error) {

View file

@ -5,15 +5,7 @@ import androidx.annotation.StringRes
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.shape.CircleShape
@ -62,7 +54,7 @@ fun SwapSelectTokenScreen(
ExpandableSearchView(
title = stringResource(R.string.swapping_token_list_title),
onBackClick = onBack,
placeholderSearchText = stringResource(id = R.string.search_tokens_title),
placeholderSearchText = stringResource(id = R.string.common_search_tokens),
onSearchChange = state.onSearchEntered,
onSearchDisplayClose = { state.onSearchEntered("") },
onFocusChange = onSearchFocusChange,