Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-16 09:13:23 +02:00
commit 81bf4b5296
128 changed files with 4244 additions and 477 deletions

View file

@ -27,7 +27,13 @@ internal object ABTestsManagerModule {
return if (BuildConfig.AB_TESTS_ENABLED) {
AmplitudeABTestsManager(
application = application,
apiKey = environmentConfig.amplitudeApiKey,
apiKey = if (BuildConfig.TESTER_MENU_ENABLED) {
requireNotNull(environmentConfig.amplitudeApiKeyDev) {
"Amplitude api key not found in ${BuildConfig.BUILD_TYPE}"
}
} else {
environmentConfig.amplitudeApiKey
},
scope = appScope,
)
} else {

View file

@ -8,5 +8,5 @@ interface ABTestsManager {
fun removeUserProperties()
fun getValue(key: String, defaultValue: String): String
suspend fun getValue(key: String, defaultValue: String): String
}

View file

@ -9,7 +9,9 @@ import com.tangem.core.abtests.manager.ABTestsManager
import com.tangem.core.analytics.models.AnalyticsParam
import com.tangem.utils.coroutines.AppCoroutineScope
import com.tangem.utils.logging.TangemLogger
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.launch
import kotlinx.coroutines.withTimeoutOrNull
internal class AmplitudeABTestsManager(
val application: Application,
@ -19,6 +21,8 @@ internal class AmplitudeABTestsManager(
private lateinit var client: ExperimentClient
private val variantsFetched = CompletableDeferred<Unit>()
private val logger = TangemLogger.withTag(TAG)
override fun init() {
@ -43,6 +47,8 @@ internal class AmplitudeABTestsManager(
logAllVariants(allVariants)
} catch (exception: Exception) {
logger.e("Failed to fetch AB test variants", exception)
} finally {
variantsFetched.complete(Unit)
}
}
}
@ -66,10 +72,24 @@ internal class AmplitudeABTestsManager(
client.setUser(ExperimentUser())
}
override fun getValue(key: String, defaultValue: String): String {
override suspend fun getValue(key: String, defaultValue: String): String {
if (!::client.isInitialized) return defaultValue
awaitVariantsFetched()
return client.variant(key).value ?: defaultValue
}
private suspend fun awaitVariantsFetched() {
if (variantsFetched.isCompleted) return
val completed = withTimeoutOrNull(FETCH_AWAIT_TIMEOUT_MILLIS) {
variantsFetched.await()
}
if (completed == null) {
logger.w("AB Tests variants not fetched within $FETCH_AWAIT_TIMEOUT_MILLIS ms, using default value")
// Prevent repeated blocking on subsequent calls; fetch can still complete in background.
variantsFetched.complete(Unit)
}
}
private fun logAllVariants(allVariants: Map<String, com.amplitude.experiment.Variant>) {
val message = buildString {
appendLine("AB Tests: Fetched ${allVariants.size} variants")
@ -91,5 +111,6 @@ internal class AmplitudeABTestsManager(
private companion object {
const val TAG = "AmplitudeABTestsManager"
const val FETCH_AWAIT_TIMEOUT_MILLIS = 3_000L
}
}

View file

@ -16,7 +16,7 @@ internal class StubABTestsManager : ABTestsManager {
// intentionally do nothing
}
override fun getValue(key: String, defaultValue: String): String {
override suspend fun getValue(key: String, defaultValue: String): String {
return defaultValue
}
}

View file

@ -6,11 +6,22 @@ package com.tangem.core.analytics.models
open class AnalyticsEvent(
val category: String,
val event: String,
val params: Map<String, String> = mapOf(),
params: Map<String, String> = mapOf(),
) {
var params: Map<String, String> = params
private set
val id: String = "[$category] $event"
fun withParams(newParams: Map<String, String>) = AnalyticsEvent(category, event, newParams)
/**
* Enriches this event with [newParams] and returns the same instance, preserving the concrete
* runtime type so that marker interfaces survive enrichment and the event can still be routed
* by the analytics filters and handlers.
*/
fun withParams(newParams: Map<String, String>): AnalyticsEvent {
params = newParams
return this
}
override fun equals(other: Any?): Boolean {
if (this === other) return true

View file

@ -0,0 +1,52 @@
package com.tangem.core.analytics.filter
import com.google.common.truth.Truth.assertThat
import com.tangem.core.analytics.api.AnalyticsHandler
import com.tangem.core.analytics.models.AnalyticsEvent
import com.tangem.core.analytics.models.AppsFlyerIncludedEvent
import com.tangem.core.analytics.models.AppsFlyerOnlyEvent
import io.mockk.every
import io.mockk.mockk
import org.junit.jupiter.api.Test
internal class AppsFlyerEventFilterRoutingTest {
private val filter = AppsFlyerEventFilter()
private class AppsFlyerOnlyTestEvent :
AnalyticsEvent(category = "Test", event = "OnlyEvent"), AppsFlyerOnlyEvent
private class AppsFlyerIncludedTestEvent :
AnalyticsEvent(category = "Test", event = "IncludedEvent"), AppsFlyerIncludedEvent
@Test
fun `withParams keeps AppsFlyerOnlyEvent routable to AppsFlyer`() {
val event: AnalyticsEvent = AppsFlyerOnlyTestEvent()
val enriched = event.withParams(mapOf("key" to "value"))
assertThat(filter.canBeAppliedTo(enriched)).isTrue()
assertThat(enriched.params).containsEntry("key", "value")
}
@Test
fun `withParams keeps AppsFlyerIncludedEvent routable to AppsFlyer`() {
val event: AnalyticsEvent = AppsFlyerIncludedTestEvent()
val enriched = event.withParams(mapOf("key" to "value"))
assertThat(filter.canBeAppliedTo(enriched)).isTrue()
assertThat(enriched.params).containsEntry("key", "value")
}
@Test
fun `enriched AppsFlyerOnlyEvent is consumable only by the AppsFlyer handler`() {
val enriched = (AppsFlyerOnlyTestEvent() as AnalyticsEvent).withParams(emptyMap())
val appsFlyerHandler = mockk<AnalyticsHandler> { every { id() } returns "AppsFlyer" }
val otherHandler = mockk<AnalyticsHandler> { every { id() } returns "Amplitude" }
assertThat(filter.canBeConsumedByHandler(appsFlyerHandler, enriched)).isTrue()
assertThat(filter.canBeConsumedByHandler(otherHandler, enriched)).isFalse()
}
}

View file

@ -123,6 +123,7 @@ internal object GeneratedEnvironmentConfigConverter {
etherscanApiKey = GeneratedEnvironmentConfig.etherscanApiKey,
blinkApiKey = GeneratedEnvironmentConfig.blinkApiKey,
tatumApiKey = GeneratedEnvironmentConfig.tatumApiKey,
alchemyApiKey = GeneratedEnvironmentConfig.alchemyApiKey,
)
}

View file

@ -1818,8 +1818,8 @@
<string name="tangempay_card_page_daily_limit_title">Tageslimit</string>
<string name="tangempay_card_page_settings_title">Einstellungen der Karte</string>
<plurals name="tangempay_cards_count">
<item quantity="one">Karte</item>
<item quantity="other">Karten</item>
<item quantity="one">%d Karte</item>
<item quantity="other">%d Karten</item>
</plurals>
<string name="tangempay_change_pin_code">PIN-Code ändern</string>
<string name="tangempay_come_back_if_forget_pin">Kehren Sie zur App zurück, falls Sie ihn vergessen.</string>

View file

@ -1682,6 +1682,10 @@
<string name="tangempay_card_page_daily_limit_success_title">El límite está establecido</string>
<string name="tangempay_card_page_daily_limit_title">Límite diario</string>
<string name="tangempay_card_page_settings_title">Configuración de la tarjeta</string>
<plurals name="tangempay_cards_count">
<item quantity="one">%d tarjeta</item>
<item quantity="other">%d tarjetas</item>
</plurals>
<string name="tangempay_change_pin_code">Cambiar código PIN</string>
<string name="tangempay_come_back_if_forget_pin">Vuelve a la app si lo olvidas.</string>
<string name="tangempay_daily_limit_hint" formatted="false">Establecer un límite de %s a %s</string>

View file

@ -1692,6 +1692,10 @@
<string name="tangempay_card_page_daily_limit_success_title">La limite est définie</string>
<string name="tangempay_card_page_daily_limit_title">Limite quotidienne</string>
<string name="tangempay_card_page_settings_title">Paramètres de la carte</string>
<plurals name="tangempay_cards_count">
<item quantity="one">%d carte</item>
<item quantity="other">%d cartes</item>
</plurals>
<string name="tangempay_change_pin_code">Modifier le code PIN</string>
<string name="tangempay_come_back_if_forget_pin">Revenez dans l\'application si vous l\'oubliez.</string>
<string name="tangempay_daily_limit_hint" formatted="false">Définir une limite de %s à %s</string>

View file

@ -159,6 +159,10 @@
<string name="tangempay_card_page_daily_limit_success_title">Il limite è impostato</string>
<string name="tangempay_card_page_daily_limit_title">Limite giornaliero</string>
<string name="tangempay_card_page_settings_title">Impostazioni della carta</string>
<plurals name="tangempay_cards_count">
<item quantity="one">%d carta</item>
<item quantity="other">%d carte</item>
</plurals>
<string name="tangempay_change_pin_code">Cambia codice PIN</string>
<string name="tangempay_come_back_if_forget_pin">Torna all\'app se lo dimentichi.</string>
<string name="tangempay_daily_limit_hint" formatted="false">Imposta un limite da %s a %s</string>

View file

@ -90,9 +90,9 @@
<string name="add_custom_token_choose_network">Выберите сеть</string>
<string name="add_custom_token_title">Добавить токен</string>
<string name="add_tokens_title">Валюты</string>
<string name="addfunds_buy_row_description">Кредитная карта или банковский аккаунт</string>
<string name="addfunds_buy_row_description">Банковская карта или банковский счет</string>
<string name="addfunds_fund_token">Пополнить токен</string>
<string name="addfunds_receive_row_description">Поделитесь своим адресом или QR-кодом.</string>
<string name="addfunds_receive_row_description">Поделитесь своим адресом или QR-кодом</string>
<string name="addfunds_swap_row_description">Между вашими портфелями</string>
<string name="addfunds_you_receive_title">Вы получите</string>
<string name="address_book_add_address">Добавить адрес</string>
@ -100,20 +100,23 @@
<string name="address_book_add_contact">Добавить контакт</string>
<plurals name="address_book_addresses">
<item quantity="one">адрес</item>
<item quantity="few">адресов</item>
<item quantity="few">адреса</item>
<item quantity="many">адресов</item>
<item quantity="other">адреса</item>
<item quantity="other">адресов</item>
</plurals>
<string name="address_book_contact">Контакт</string>
<string name="address_book_contact_name">Имя контакта</string>
<string name="address_book_copy_address">Копировать адрес</string>
<string name="address_book_creating_error">Не удалось создать контакт. Пожалуйста, попробуйте позже.</string>
<string name="address_book_delete_contact_description">Этот контакт будет удален из всех ваших адресных книг</string>
<string name="address_book_deleting_error">Не удалось удалить контакт. Пожалуйста, попробуйте позже.</string>
<string name="address_book_description">Управление контактами и адресами</string>
<string name="address_book_discard">Отменить</string>
<string name="address_book_edit_address">Редактировать адрес</string>
<string name="address_book_enter_address">Ввест адрес</string>
<string name="address_book_enter_address">Ввести адрес</string>
<string name="address_book_invalid_address_error">Неверный адрес</string>
<string name="address_book_keep_editing">Продолжить</string>
<string name="address_book_new_contact">Новый котакт</string>
<string name="address_book_new_contact">Новый контакт</string>
<string name="address_book_no_contacts">Нет добавленных контактов</string>
<string name="address_book_no_contacts_description">Здесь отобразятся добавленные вами контакты.</string>
<string name="address_book_remove_address">Удалить адрес</string>
@ -303,6 +306,7 @@
<string name="common_connecting">Подключение</string>
<string name="common_contact_support">Обратиться в поддержку</string>
<string name="common_contact_tangem_support">Связаться с поддержкой</string>
<string name="common_contact_visa_support">Обратиться в службу поддержки Visa</string>
<string name="common_continue">Продолжить</string>
<string name="common_convert">Конвертировать</string>
<string name="common_copy">Копировать</string>
@ -324,8 +328,8 @@
</plurals>
<plurals name="common_days_time_ago">
<item quantity="one">%d день назад</item>
<item quantity="few"></item>
<item quantity="many"></item>
<item quantity="few">%d дня назад</item>
<item quantity="many">%d дней назад</item>
<item quantity="other">%d дней назад</item>
</plurals>
<string name="common_delete">Удалить</string>
@ -410,7 +414,7 @@
<string name="common_nft">NFT</string>
<string name="common_no">Нет</string>
<string name="common_no_address">Нет адреса</string>
<string name="common_no_results">Нет результата</string>
<string name="common_no_results">Нет результатов</string>
<string name="common_not_added">Не добавлено</string>
<string name="common_not_available">Не доступно</string>
<string name="common_not_now">Не сейчас</string>
@ -480,7 +484,7 @@
<string name="common_to_wallet_name">На %s</string>
<string name="common_today">Сегодня</string>
<string name="common_token">Токен</string>
<string name="common_token_send">Токен к отправке</string>
<string name="common_token_send">Токен для отправки</string>
<plurals name="common_tokens_count">
<item quantity="one">%d токен</item>
<item quantity="few">%d токена</item>
@ -491,7 +495,7 @@
<string name="common_transaction_status">Статус транзакции</string>
<string name="common_transactions">Транзакции</string>
<string name="common_transfer">Перевод</string>
<string name="common_transferred">Отправлено</string>
<string name="common_transferred">Переведено</string>
<string name="common_try_again_later">Пожалуйста, попробуйте позже</string>
<string name="common_unable_to_load">Невозможно загрузить данные…</string>
<string name="common_understand">Я понял</string>
@ -502,7 +506,7 @@
<string name="common_unstake">Завершить стейкинг</string>
<string name="common_utxo_validate_withdrawal_message_warning">Из-за ограничений %1$s в одну транзакцию может поместиться только %2$d UTXO. Это означает, что вы можете отправить только %3$s или меньше. Вам нужно уменьшить сумму.</string>
<string name="common_value_copied">Значение скопировано</string>
<string name="common_view_all">Посмотреть все</string>
<string name="common_view_all">Показать все</string>
<string name="common_voting">Голосование</string>
<string name="common_wallets">Кошельки</string>
<string name="common_warning">Предупреждение</string>
@ -523,7 +527,7 @@
<string name="custom_token_creation_error_token_already_exist_title">Токен уже существует</string>
<string name="custom_token_creation_error_wrong_decimals">Десятичное число должно быть действительным целым числом, до %d</string>
<string name="custom_token_custom_derivation">Своя деривация</string>
<string name="custom_token_custom_derivation_dynamic_addresses_enabled_error">Включены динамические адреса. Пользовательские значения change и index недоступны.</string>
<string name="custom_token_custom_derivation_dynamic_addresses_enabled_error">Включены динамические адреса. Пользовательские значения \\"change\"\ и \\"index\"\ недоступны.</string>
<string name="custom_token_custom_derivation_placeholder">Например m/00\'/0000\'/0\'/0/0</string>
<string name="custom_token_custom_derivation_title">Введите свою деривацию</string>
<string name="custom_token_decimals_input_title">Знаков после запятой</string>
@ -577,25 +581,27 @@
<string name="domain_receive_assets_onboarding_network_name">%s сеть</string>
<string name="domain_receive_assets_onboarding_title">Отправляйте средства, используя только</string>
<string name="dynamic_addresses">Динамические адреса</string>
<string name="dynamic_addresses_custom_token_error_on_addition">Включены динамические адреса. Пользовательские значения change и index недоступны.</string>
<string name="dynamic_addresses_disable_description">Вы отключаете динамические адреса. Теперь средства будут поступать на ваш текущий адрес без его изменения.</string>
<string name="dynamic_addresses_custom_token_error_on_addition">Включены динамические адреса. Пользовательские значения \"change\" и \"index\" недоступны.</string>
<string name="dynamic_addresses_disable_description">Вы отключаете динамические адреса. Теперь средства будут поступать на ваш фиксированный адрес</string>
<string name="dynamic_addresses_disable_fee_description">Для перевода средств на фиксированный адрес взимается комиссия сети</string>
<string name="dynamic_addresses_disable_main_button_title">Отключить динамические адреса</string>
<string name="dynamic_addresses_disable_title">Отключить динамические адреса</string>
<string name="dynamic_addresses_disabled_popup_title">Динамические адреса отключены</string>
<string name="dynamic_addresses_enabled_toast_title">Динамические адреса включены</string>
<string name="dynamic_addresses_enter_features_privacy_description">Используйте новый адрес для каждой транзакции, чтобы снизить отслеживаемость и повысить конфиденциальность в блокчейне.</string>
<string name="dynamic_addresses_enter_features_privacy_title">Повышенная конфиденциальность</string>
<string name="dynamic_addresses_enter_features_receving_description">Легко получайте средства в сетях на базе UTXO благодаря автоматической генерации адресов — без необходимости управлять адресами вручную.</string>
<string name="dynamic_addresses_enter_features_receving_description">Получайте средства как обычно. Tangem управляет UTXO-адресами автоматически, вам не нужно выбирать или отслеживать их вручную.</string>
<string name="dynamic_addresses_enter_features_receving_title">Бесшовное получение</string>
<string name="dynamic_addresses_enter_main_button_title">Включить динамические адреса</string>
<string name="dynamic_addresses_enter_subtitle">Динамические адреса каждый раз создают новый адрес для дополнительной приватности — ваш общий баланс при этом не меняется.</string>
<string name="dynamic_addresses_enter_subtitle">Ваш кошелек может использовать несколько адресов для получения одного актива. Tangem показывает новый адрес после пополнения предыдущего — все они привязаны к одному кошельку.</string>
<string name="dynamic_addresses_error_has_custom_token_description">Динамические адреса нельзя включить, так как некоторые пользовательские адреса/токены используют измененный путь деривации, который не соответствует требуемым критериям.</string>
<string name="dynamic_addresses_error_has_custom_token_title">Динамические адреса недоступны</string>
<string name="dynamic_addresses_error_service_unavailable_description">Не удаётся подключиться к провайдеру. Попробуйте позже.</string>
<string name="dynamic_addresses_error_service_unavailable_description">Не удается подключиться к провайдеру. Пожалуйста, попробуйте позже.</string>
<string name="dynamic_addresses_error_service_unavailable_title">Сервис недоступен. Пожалуйста, попробуйте еще раз.</string>
<string name="dynamic_addresses_notification_funds_found_description">На дополнительных адресах найдены средства. Включите динамические адреса, чтобы получить к ним доступ</string>
<string name="dynamic_addresses_notification_funds_found_title">Обнаружены средства на связанных адресах</string>
<string name="dynamic_addresses_notification_funds_found_title">Найдены средства на дополнительных адресах</string>
<string name="dynamic_addresses_receive_badge">Динамический адрес</string>
<string name="dynamic_addresses_unavailability_reason_pending_transaction_send">Управление динамическими адресами будет доступно после завершения ожидающих транзакций в сети %@.</string>
<string name="dynamic_addresses_unavailability_reason_pending_transaction_send">Управление динамическими адресами станет доступно после подтверждения транзакций в сети %@</string>
<string name="earn_best_opportunities">Лучшие возможности</string>
<string name="earn_clear_filter">Очистить фильтр</string>
<string name="earn_empty">Список временно пуст — он обновляется. Пожалуйста, зайдите чуть позже.</string>
@ -665,15 +671,22 @@
<string name="express_legal_two_placeholders">Пользуясь сервисом, вы соглашаетесь с %1$s и %2$s.</string>
<string name="express_more_providers_soon">Больше провайдеров на подходе.\nСледите за обновлениями!</string>
<string name="express_provider">Провайдер</string>
<string name="express_provider_best_dex_rate">Лучший курс на DEX</string>
<string name="express_provider_best_rate">Лучший курс</string>
<string name="express_provider_fca_warning_list">Список предупреждений FCA</string>
<string name="express_provider_fixed_rate_is_unavailable">Фиксированная ставка недоступна</string>
<string name="express_provider_for_swap">Провайдер для обмена</string>
<string name="express_provider_great_rate">Лучший выбор</string>
<string name="express_provider_in_fca_warning_list">Провайдер в списке предупреждений FCA</string>
<string name="express_provider_max_amount">Доступно до %s</string>
<string name="express_provider_min_amount">Доступно с %s</string>
<string name="express_provider_not_available">Недоступно для этой пары</string>
<string name="express_provider_permission_needed">Требуется разрешение</string>
<string name="express_provider_permission_needed_v2">Требуется разрешение</string>
<string name="express_provider_recommended">Рекомендовано</string>
<string name="express_send_with_swap_not_supported_button">Обменять токен</string>
<string name="express_send_with_swap_not_supported_text">Обменяйте вручную, а затем отправьте получателю</string>
<string name="express_send_with_swap_not_supported_title">%s не поддерживается в Swap &amp; Send</string>
<string name="express_status_bought">Куплено %s</string>
<string name="express_status_buying">Покупка %s</string>
<string name="express_status_buying_active">Покупка %s...</string>
@ -693,7 +706,7 @@
<string name="fee_selector_choose_token_title">Выбрать токен</string>
<string name="feed_market_and_news">Рынок и Новости</string>
<string name="feed_search_show_all_user_assets">Показать все</string>
<string name="feed_search_show_less_user_assets">Показать меньше</string>
<string name="feed_search_show_less_user_assets">Скрыть</string>
<string name="feed_trending_now">В тренде</string>
<string name="feedback_data_collection_message">Информация ниже не является обязательной. Вы можете стереть её, если хотите.</string>
<string name="feedback_preface_rate_negative">Расскажите, каких функций вам не хватает, и мы постараемся вам помочь.</string>
@ -724,6 +737,7 @@
<string name="give_permission_staking_footer">Функция подтверждения необходима для предоставления другому адресу разрешения на использование определенного количества ваших токенов. По замыслу смарт-контракты не могут получить доступ к вашим токенам, если вы не одобрите доступ со своей стороны. «Разблокируя» свои токены, вы даете смарт-контракту StakeKit разрешение использовать ваши активы. Майнеры сети получают компенсацию за газ (оплачиваемый вами) за запись этого действия в блокчейне. Как только разрешение будет предоставлено, вы сможете осуществить стейкинг токена.</string>
<string name="give_permission_staking_subtitle">Чтобы продолжить, вам необходимо разрешить смарт контракту Polygon использовать ваш %s</string>
<string name="give_permission_swap_subtitle" formatted="false">Чтобы продолжить, вам нужно разрешить смарт-контракту %1s использовать ваш %2s</string>
<string name="give_permission_swap_subtitle_v2">Децентрализованные биржи требуют разрешения на взаимодействие с вашим кошельком. %1s</string>
<string name="give_permission_title">Дать разрешение</string>
<string name="give_permission_unlimited">Безлимитно</string>
<string name="hardware_wallet_backup_feature_description">Адреса будут сгенерированы прямо в аппаратном кошельке Tangem — готовы к использованию и полностью защищены</string>
@ -841,7 +855,7 @@
<string name="main_add_funds_promo_title">Пополните кошелёк</string>
<string name="main_empty_tokens_list_message">Чтобы начать отслеживать свои криптоактивы и транзакции, добавьте токены</string>
<string name="main_manage_tokens">Управление токенами</string>
<string name="main_qr_scan_hint">Отсканируйте QR-код, чтобы отправить средства или подключиться к приложению.</string>
<string name="main_qr_scan_hint">Отсканируйте QR-код, чтобы отправить средства или подключиться к приложению</string>
<string name="main_scan_card_warning_view_subtitle">Чтобы получить доступ ко всем сетям, вам необходимо отсканировать карту</string>
<string name="main_scan_card_warning_view_title">Отсканируйте карту или кольцо</string>
<string name="main_swap_changelly_promotion_message">Обменивайте свои токены с %1$s комиссии провайдера через Changelly с %2$s по %3$s февраля.</string>
@ -876,12 +890,14 @@
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Этот токен недоступен для данного кошелька</string>
<string name="markets_add_token">Добавить</string>
<string name="markets_apy_placeholder">APY %s</string>
<string name="markets_common_market_price">Рыночная цена</string>
<string name="markets_common_my_portfolio">Мой портфель</string>
<string name="markets_common_title">Рынок</string>
<string name="markets_earn_common_title">Доход с Tangem</string>
<string name="markets_generate_addresses_notification">Чтобы создать адреса для выбранных сетей, отсканируйте вашу карту или кольцо Tangem кошелька</string>
<string name="markets_hint">Потяните вверх или коснитесь поисковой строки, чтобы добавить токен</string>
<string name="markets_hint_part_one">Смахните вверх, чтобы изучить рынок</string>
<string name="markets_hint_part_one">Потяните вверх, чтобы открыть рынок</string>
<string name="markets_hint_part_two">Откройте для себя скрытые гемы</string>
<string name="markets_insights_info_description_message">Данные раздела получены из следующих сетей: %s</string>
<string name="markets_loading_error_title">Невозможно загрузить данные</string>
<string name="markets_loading_no_data_title">Нет данных</string>
@ -993,7 +1009,7 @@
<string name="markets_token_details_trading_volume">Объем торгов (24ч)</string>
<string name="markets_token_details_trading_volume_24h_description">Общая сумма криптовалюты, которая была продана за последние 24 часа, показывающая уровень активности и ликвидности на рынке.</string>
<string name="markets_token_details_trading_volume_full">Объем торгов (24ч)</string>
<string name="markets_token_details_valuation_value_in_total">%s в сумме</string>
<string name="markets_token_details_valuation_value_in_total">%s всего</string>
<string name="markets_token_details_volume">Объем</string>
<string name="markets_tooltip_message">Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка</string>
<string name="markets_tooltip_title">Добавить токены</string>
@ -1070,7 +1086,7 @@
<plurals name="nft_wallet_count_android">
<item quantity="one">%1$d NFT в %2$d коллекции</item>
<item quantity="few">%1$d NFT в %2$d коллекциях</item>
<item quantity="many"></item>
<item quantity="many">%1$d NFT в %2$d коллекциях</item>
<item quantity="other">%1$d NFT в %2$d коллекциях</item>
</plurals>
<string name="nft_wallet_receive_nft">Нажмите здесь, чтобы получить первую NFT</string>
@ -1223,13 +1239,14 @@
<string name="onramp_instant_status">Моментально</string>
<string name="onramp_kyc_verification_bullet_free">Верификация бесплатная и обычно занимает 1-2 минуты</string>
<string name="onramp_kyc_verification_bullet_privacy">Tangem не будет иметь доступа к вашим личным данным, вы передаете их напрямую лицензированному провайдеру</string>
<string name="onramp_kyc_verification_bullet_unlocks">Верификация открывает полный доступ к будущим транзакциям с этим провайдером.</string>
<string name="onramp_kyc_verification_bullet_unlocks">Верификация открывает полный доступ к будущим транзакциям с этим провайдером</string>
<string name="onramp_kyc_verification_choose_another">Выберите другой метод</string>
<string name="onramp_kyc_verification_subtitle">Согласно требованиям законодательства, %@ требует пройти верификацию личности.</string>
<string name="onramp_kyc_verification_title">Провайдер платежей требует подтверждения личности</string>
<string name="onramp_kyc_verification_verify_button">Верифицировать</string>
<string name="onramp_kyc_verification_whats_important">Что важно знать</string>
<string name="onramp_legal">Пользуясь сервисом покупки, вы соглашаетесь с %1$s и %2$s</string>
<string name="onramp_legal_text">Услуга предоставляется сторонним провайдером.\nTangem не несет ответственности.</string>
<string name="onramp_max_amount_restriction">Сумма покупки не может быть больше, чем %s</string>
<string name="onramp_min_amount_restriction">Сумма покупки должна составлять минимум %s</string>
<string name="onramp_native_payment_cumulative_limit" formatted="false">Общая сумма транзакций свыше %1s может потребовать верификации личности через %2s</string>
@ -1270,19 +1287,31 @@
<string name="onramp_title_available_from">Доступно от</string>
<string name="onramp_title_available_up_to">Доступно до</string>
<string name="onramp_title_you_get">Вы получите</string>
<string name="onramp_tos_external_providers">Услуга предоставляется сторонним провайдером.\nTangem не несет ответственности.</string>
<string name="onramp_transaction_status_footer_text">Вы можете закрыть этот экран и проверить статус транзакции на экране информации о токене.</string>
<string name="onramp_up_to_rate">До</string>
<string name="onramp_via">Через</string>
<string name="onramp_via_provider">через %s</string>
<string name="onramp_you_will_pay_title">Вы заплатите</string>
<string name="organize_tokens_group">Группы</string>
<string name="organize_tokens_menu_group_by_networks">Сгруппировать по сети</string>
<string name="organize_tokens_menu_group_by_networks">Сгруппировать по сетям</string>
<string name="organize_tokens_menu_sort_by_balance">Сортировать по балансу</string>
<string name="organize_tokens_sort_by_balance">По балансу</string>
<string name="organize_tokens_title">Упорядочить токены</string>
<string name="organize_tokens_ungroup">Список</string>
<string name="provider_name_support">Поддержка %s</string>
<string name="push_notification_settings_banner_description">Push-уведомления включены, но не будут работать без вашего разрешения</string>
<string name="push_notification_settings_banner_title">Разрешить уведомления</string>
<string name="push_notification_settings_offers_updates_subtitle">Новости продукта, эксклюзивные предложения и напоминания об активности</string>
<string name="push_notification_settings_offers_updates_title">Предложения и обновления</string>
<string name="push_notification_settings_price_alerts_subtitle">Получайте уведомления об изменении цен на популярные монеты</string>
<string name="push_notification_settings_price_alerts_title">Уведомления о ценах</string>
<string name="push_notification_settings_title">Настройки уведомлений</string>
<string name="push_notification_settings_transaction_alerts_subtitle">Уведомления о транзакциях, обменах и важных обновлениях в реальном времени</string>
<string name="push_notification_settings_transaction_alerts_title">Уведомления о транзакциях</string>
<string name="push_notification_warning_sheet_button_enable">Включить уведомления</string>
<string name="push_notification_warning_sheet_description">Вы не будете получать уведомления о пополнениях, выводах и транзакциях. Включить их можно в любой момент в Настройках Кошелька.</string>
<string name="push_notification_warning_sheet_title">Уведомления отключены</string>
<string name="push_notifications_more_info">Подробнее</string>
<string name="push_notifications_permission_alert_description">Вы можете включить нотификации в настройках</string>
<string name="push_notifications_permission_alert_negative_button">Включить позже</string>
@ -1302,8 +1331,8 @@
<string name="qr_scanner_error_unsupported_network_title">Поддерживаемые токены не найдены</string>
<string name="qr_scanner_warning_unknown_parameters_message">Этот QR-код содержит параметры, которые не распознаны: %s. Некоторые данные платежа могут быть утеряны, если вы продолжите.</string>
<string name="qr_scanner_warning_unknown_parameters_title">Неизвестные параметры</string>
<string name="quick_action_buy_description">Кредитная карта или банковский счет</string>
<string name="quick_action_receive_description">Поделиться адресом или QR кодом</string>
<string name="quick_action_buy_description">Банковская карта или банковский счет</string>
<string name="quick_action_receive_description">Поделитесь своим адресом или QR-кодом</string>
<string name="quick_action_sell_description">Продавайте криптовалюту безопасно</string>
<string name="quick_action_send_description">Отправить на другой кошелек</string>
<string name="quick_action_swap_description">Между вашими портфелями</string>
@ -1428,10 +1457,10 @@
<string name="send_memo_destination_tag_error">Недопустимый Memo</string>
<string name="send_network_fee_warning_title">Покрытие сетевой комиссии</string>
<plurals name="send_network_selection_hidden_tokens">
<item quantity="one">Токен %d не совместим с этим адресом</item>
<item quantity="few"></item>
<item quantity="many">Токены %d не совместимы с этим адресом</item>
<item quantity="other"></item>
<item quantity="one">%d токен не совместим с этим адресом</item>
<item quantity="few">%d токена не совместимы с этим адресом</item>
<item quantity="many">%d токенов не совместимо с этим адресом</item>
<item quantity="other">%d токены не совместимы с этим адресом</item>
</plurals>
<string name="send_nonce">Nonce</string>
<string name="send_nonce_footer">Уникальный номер транзакции. Измените, чтобы ускорить отправку или отменить зависшую операцию.</string>
@ -1530,6 +1559,7 @@
<string name="staking_amount_tron_integer_error">Согласно правилам сети, сумма стейкинга будет округлена до %1$sTRX.</string>
<string name="staking_amount_tron_integer_error_unstaking">Сумма для вывода из стейкинга будет округлена до %1$s TRX ввиду особенностей сети.</string>
<string name="staking_apr_earn_badge">APR %1$s%%</string>
<string name="staking_cardano_details_rewards_info_text">Ваши вознаграждения за стейкинг начнут начисляться через 5 эпох (~25 дней), пока ваша делегация регистрируется и учитывается сетью.</string>
<string name="staking_claim_unstaked">Забрать средства</string>
<string name="staking_details_account_fee">Комиссия за стейкинг аккаунт</string>
<string name="staking_details_account_fee_info">Стейкинг аккаунт — это специальный счет, на котором хранятся застейканные токены SOL. Он создается при делегировании ваших токенов валидатору для участия в подтверждении транзакций и получении наград. За создание стейкинг аккаунта взимается небольшая комиссия, которая возвращается после завершения стейкинга.</string>
@ -1670,6 +1700,7 @@
<string name="story_web3_title">Поддержка Web 3.0</string>
<string name="sui_not_enough_coin_for_fee_description">Для отправки требуется входящая транзакция на сумму не менее %1$s</string>
<string name="sui_not_enough_coin_for_fee_title">Недостаточно средств</string>
<string name="support_chat_swap_prefilled_message">Данные об операции обмена:\nОткуда: %1$s %2$s\nКуда: %3$s %4$s\nЧерез: %5$s - %6$s</string>
<string name="support_selector_view_chat_button">Открыть чат</string>
<string name="support_selector_view_email_button">Открыть почту</string>
<string name="swap_approve_description">Подтверждая, вы разрешаете смарт-контракту использовать ваши токены в будущих транзакциях.</string>
@ -1679,6 +1710,7 @@
<string name="swap_in_progress">Обмен в процессе</string>
<string name="swap_promo_text">Обменивайте больше токенов по лучшим курсам прямо в вашем кошельке.</string>
<string name="swap_promo_title">Новый провайдер обмена!</string>
<string name="swap_search_suggestion_hint">Ищете что-то другое?\nВоспользуйтесь поиском или выберите другую криптовалюту!</string>
<string name="swap_search_tooltip_description">Найдите любой токен, даже если его ещё нет в вашем списке</string>
<string name="swap_search_tooltip_title">Используйте поиск, чтобы найти то, что вам нужно.</string>
<string name="swap_simple_mode">Простой режим</string>
@ -1717,7 +1749,7 @@
<string name="swapping_high_price_impact_text">Вы можете получить значительно меньше из-за низкой ликвидности. Попробуйте меньшую сумму или другого провайдера.</string>
<string name="swapping_high_price_impact_title">Высокое влияние на цену</string>
<string name="swapping_insufficient_funds">Недостаточно средств</string>
<string name="swapping_insufficient_funds_description">Недостаточно средств для завершения этой транзакции. Уменьшите сумму для получения или добавьте больше средств.</string>
<string name="swapping_insufficient_funds_description">Недостаточно средств для завершения транзакции. Уменьшите сумму получения или добавьте больше средств</string>
<string name="swapping_permission_header">Дать разрешение</string>
<string name="swapping_rate_experience_title">Оцените ваш опыт взаимодействия с провайдером</string>
<string name="swapping_rate_feedback_placeholder">Напишите ваш отзыв</string>
@ -1730,13 +1762,15 @@
<string name="swapping_token_list_title">Выберите токен</string>
<string name="swapping_token_not_available">недоступен</string>
<string name="swapping_trade_too_large_text">Недостаточно ликвидности для этой сделки.\nУменьшите сумму или выберите другого провайдера.</string>
<string name="swapping_trade_too_large_title">Сумма сделки слишком велика</string>
<string name="swapping_transfer_action">Передача</string>
<string name="swapping_transfer_action_in_progress">Передача...</string>
<string name="swapping_trade_too_large_title">Слишком крупный обмен</string>
<string name="swapping_transfer_action">Перевод</string>
<string name="swapping_transfer_action_in_progress">Перевод...</string>
<string name="tangem_pay_beta_notification_subtitle">Будем рады вашей обратной связи</string>
<string name="tangem_pay_beta_notification_title">Tangem Pay в режиме beta</string>
<string name="tangem_pay_card_details_unable_to_rename_card_title">Не удалось переименовать карту</string>
<string name="tangem_pay_card_frozen">Карта заморожена</string>
<string name="tangem_pay_card_payment">Оплата картой</string>
<string name="tangem_pay_close_card_disabled_last_card">Единственную карту закрыть нельзя</string>
<string name="tangem_pay_close_card_popup_description">Она сразу пропадёт из приложения</string>
<string name="tangem_pay_close_card_popup_primary_button_title">Закрыть карту</string>
<string name="tangem_pay_close_card_popup_secondary_button_title">Назад</string>
@ -1757,6 +1791,8 @@
<string name="tangem_pay_history_item_spend_mc_title_format" formatted="false">%s・%s</string>
<string name="tangem_pay_history_item_spend_mcc">MCC %s</string>
<string name="tangem_pay_other">Другое</string>
<string name="tangem_pay_pin_code_title">ПИН-код</string>
<string name="tangem_pay_purchase">Покупка</string>
<string name="tangem_pay_rename_card_title">Переименовать карту</string>
<string name="tangem_pay_rooted_device_subtitle">Нельзя использовать на устройствах с root-доступом</string>
<string name="tangem_pay_status_completed">Успешно завершено</string>
@ -1766,6 +1802,8 @@
<string name="tangem_pay_terms_fees_limits">Тарифы и полные условия</string>
<string name="tangem_pay_terms_limits">Тарифы и лимиты</string>
<string name="tangem_pay_transaction_declined_notification_text">Банк отклонил транзакцию</string>
<string name="tangem_pay_transaction_details_category">Категория</string>
<string name="tangem_pay_transaction_details_mcc">MCC</string>
<string name="tangem_pay_transaction_fee_notification_text">Комиссия в соответствии с тарифами обслуживания</string>
<string name="tangem_pay_transaction_reversed_notification_text">Транзакция частично или полностью возвращена продавцом</string>
<string name="tangem_pay_unfreeze_card_alert_body">Продолжайте пользоваться картой, заморозить всегда успеете</string>
@ -1778,7 +1816,7 @@
<string name="tangempay_account_unable_to_use_rooted">Запрещено использовать на root-устройствах</string>
<string name="tangempay_available_balance">Баланс</string>
<string name="tangempay_cancel_kyc">Скрыть KYC с главной</string>
<string name="tangempay_card_default_name">Карта Tangem Pay</string>
<string name="tangempay_card_default_name">Карта Tangem Pay 1</string>
<string name="tangempay_card_details_add_funds">Пополнить</string>
<string name="tangempay_card_details_add_funds_subtitle">Способы пополнения</string>
<string name="tangempay_card_details_add_to_wallet_button_text">Добавить в Google Wallet</string>
@ -1813,27 +1851,38 @@
<string name="tangempay_card_details_reissue_card">Перевыпустить карту</string>
<string name="tangempay_card_details_rename_card_invalid_description">Можно вводить только буквы и цифры</string>
<string name="tangempay_card_details_rename_card_invalid_title">Недопустимые символы</string>
<string name="tangempay_card_details_rename_card_placeholder">Название карты</string>
<string name="tangempay_card_details_reveal_text">Показать</string>
<string name="tangempay_card_details_show_details">Реквизиты</string>
<string name="tangempay_card_details_title">Реквизиты</string>
<string name="tangempay_card_details_unable_to_rename_card_description">Пожалуйста, попробуйте позже</string>
<string name="tangempay_card_details_unfreeze_card">Разморозить карту</string>
<string name="tangempay_card_details_view_pin_code_description">Загляните в приложение, если забудете его.</string>
<string name="tangempay_card_details_view_pin_code_title">Ваш ПИН</string>
<string name="tangempay_card_details_withdraw">Вывести</string>
<string name="tangempay_card_details_withdraw_error_title">Вывод сейчас недоступен</string>
<string name="tangempay_card_details_withdraw_in_progress_description">Вы не можете начать обмен или новый вывод, пока не завершится текущий.</string>
<string name="tangempay_card_details_withdraw_in_progress_title">Вывод выполняется</string>
<string name="tangempay_card_edit_name_placeholder">Имя карты</string>
<string name="tangempay_card_edit_name_placeholder">Название карты</string>
<string name="tangempay_card_limit_setup_amount_subtitle">Можно установить от %s</string>
<string name="tangempay_card_limit_setup_error_message">Не удалось установить лимит. Пожалуйста, попробуйте снова.</string>
<string name="tangempay_card_page_closing_banner_description">Обычно занимает до 5 минут</string>
<string name="tangempay_card_page_closing_banner_title">Закрытие вашей карты</string>
<string name="tangempay_card_page_daily_limit_change">Изменить</string>
<string name="tangempay_card_page_daily_limit_current_limit">Текущий лимит</string>
<string name="tangempay_card_page_daily_limit_error_description">Не удалось загрузить суточный лимит. Пожалуйста, попробуйте снова.</string>
<string name="tangempay_card_page_daily_limit_error_subtitle">Обновите, чтобы попробовать снова</string>
<string name="tangempay_card_page_daily_limit_error_title">Лимит недоступен</string>
<string name="tangempay_card_page_daily_limit_success_description">Вы можете поменять его снова в любой момент</string>
<string name="tangempay_card_page_daily_limit_success_title">Лимит установлен</string>
<string name="tangempay_card_page_daily_limit_title">Суточный лимит</string>
<string name="tangempay_card_page_settings_title">Настройки карты</string>
<plurals name="tangempay_cards_count">
<item quantity="one">%d карта</item>
<item quantity="few">%d карты</item>
<item quantity="many">%d карт</item>
<item quantity="other">%d карты</item>
</plurals>
<string name="tangempay_change_pin_code">Изменить PIN-код</string>
<string name="tangempay_come_back_if_forget_pin">Можно посмотреть здесь, если забудете его.</string>
<string name="tangempay_daily_limit_hint" formatted="false">Установить лимит от %s до %s</string>
@ -1866,8 +1915,15 @@
<string name="tangempay_get_banner_description">Откройте бесплатную виртуальную карту Tangem Visa</string>
<string name="tangempay_get_tangem_pay">Получить Tangem Pay</string>
<string name="tangempay_go_to_support">Написать в поддержку</string>
<string name="tangempay_issue_additional_card_description">Это сгенерирует новые реквизиты карты</string>
<string name="tangempay_issue_additional_card_fee_label">Комиссия за выпуск</string>
<string name="tangempay_issue_additional_card_insufficient_funds_subtitle">Пополните платежный счет в USDC для оплаты комиссии за выпуск</string>
<string name="tangempay_issue_additional_card_insufficient_funds_title">Недостаточно средств для оплаты комиссии</string>
<string name="tangempay_issue_additional_card_title">Выпустить дополнительную карту?</string>
<string name="tangempay_issue_card">Выпустить карту</string>
<string name="tangempay_issue_card_notification_description">Обычно это занимает до 15 минут</string>
<string name="tangempay_issue_card_notification_title">Готовим вашу Tangem Card</string>
<string name="tangempay_issuing_new_digital_card_title">Выпуск новой цифровой карты</string>
<string name="tangempay_issuing_your_card">Выпускаем карту</string>
<string name="tangempay_issuing_your_card_description">Обычно это занимает не больше 5 минут, в редких случах при необходимости ручной проверки до 48 часов.</string>
<string name="tangempay_kyc_card_ready_notification_title">Tangem Pay</string>
@ -1884,6 +1940,8 @@
<string name="tangempay_kyc_rejected_button_text">Скрыть KYC с главной</string>
<string name="tangempay_kyc_rejected_description">Извините, мы не смогли подтвердить</string>
<string name="tangempay_kyc_rejected_description_span">ваш профиль.</string>
<string name="tangempay_maximum_cards_issued_description">Вы можете иметь до 3 карт. Удалите одну, чтобы добавить новую.</string>
<string name="tangempay_maximum_cards_issued_title">Выпущено максимальное количество карт</string>
<string name="tangempay_newonboard_Q1_body">Да — для использования регулируемой карты Visa нужна обязательная проверка личности. KYC проводит Sumsub, комплаенс-партнёр.</string>
<string name="tangempay_newonboard_Q1_title">Нужно предоставить документы?</string>
<string name="tangempay_newonboard_Q2_body">Нет. KYC привязывается только к Tangem Pay. Сам Tangem Wallet остаётся полностью отдельной self-custodial средой без KYC.</string>
@ -1931,7 +1989,11 @@
<string name="tangempay_service_unavailable_description">Мы устраняем техническую проблему. Пожалуйста, попробуйте позже.</string>
<string name="tangempay_service_unavailable_title">Сервис временно недоступен</string>
<string name="tangempay_service_unreachable_try_later">Не можем показать данные карты, но оплаты продолжают работать.</string>
<string name="tangempay_set_pin_code">Установите \n PIN-код</string>
<string name="tangempay_set_pin_header">Установить новый ПИН-код</string>
<string name="tangempay_set_pin_title">Установить ПИН-код</string>
<string name="tangempay_status_deactivated">Аккаунт закрыт</string>
<string name="tangempay_status_replacing">Замена вашей карты</string>
<string name="tangempay_sync_needed">Используйте карту или кольцо для обновления сессии</string>
<string name="tangempay_sync_needed_body">Используйте карту или кольцо для обновления сессии</string>
<string name="tangempay_sync_needed_button">Обновить сессию</string>
@ -1964,7 +2026,9 @@
<string name="token_button_unavailability_reason_sell_unavailable">Продажа %s в данный момент не поддерживается ни одним провайдером. Мы работаем над добавлением новых возможностей. Следите за нашими новостями.</string>
<string name="token_button_unavailability_reason_staking_unavailable">Стейкинг %s в данный момент не поддерживается ни одним провайдером. Мы работаем над добавлением новых возможностей. Следите за нашими новостями.</string>
<string name="token_button_unavailability_reason_yield_supply_approval">Разрешение было отозвано. Ваши средства остаются в Yield сервисе. Чтобы совершать операции, перейдите в Yield сервис и снова выдайте разрешение.</string>
<string name="token_details_balance_available">Доступный баланс</string>
<string name="token_details_balance_total">Общий баланс</string>
<string name="token_details_earn_staking_subtitle">До %s APR</string>
<string name="token_details_earn_staking_subtitle_apy">До %s APY</string>
<string name="token_details_generate_xpub">Сгенерировать XPUB</string>
<string name="token_details_hide_alert_hide">Скрыть</string>
@ -1975,7 +2039,9 @@
<string name="token_details_staking_block_title">Сервис стейкинга</string>
<string name="token_details_token_type_subtitle">%1$s токен в сети %%image%% %2$s</string>
<string name="token_details_token_type_subtitle_no_standard">Токен в сети %%image%% %1$s</string>
<string name="token_details_toolbar_subtitle_network">Сеть %s</string>
<string name="token_details_toolbar_subtitle_network">%s сеть</string>
<string name="token_details_toolbar_subtitle_standard">%1$s в сети %2$s</string>
<string name="token_details_toolbar_title_token_in_account">%1$sв %%image%% %2$s</string>
<string name="token_details_toolbar_title_token_in_wallet">%1$s в %2$s %%image%%</string>
<string name="token_details_unable_hide_alert_message">Токен %1$s (%2$s) является основной валютой в сети %3$s и не может быть скрыт до тех пор, пока у вас в списке есть другие токены этой сети</string>
<string name="token_details_unable_hide_alert_title">Невозможно скрыть %s</string>
@ -1992,17 +2058,17 @@
<string name="transaction_history_claiming_reward">Получение награды</string>
<string name="transaction_history_contract_address">контракт: %s</string>
<string name="transaction_history_disabling_yield_mode">Отключение режима доходности</string>
<string name="transaction_history_earned_from_stake">Получено из стейкинга</string>
<string name="transaction_history_earned_from_stake">Заработано на стейкинге</string>
<string name="transaction_history_empty_transactions">У вас еще нет транзакций</string>
<string name="transaction_history_error_failed_to_load">Не удалось загрузить историю транзакций.\nНажмите на кнопку перезагрузки, чтобы обновить информацию.</string>
<string name="transaction_history_from_inline_address">С: %%image%% %s</string>
<string name="transaction_history_from_inline_address">от: %%image%% %s</string>
<string name="transaction_history_multiple_addresses">Несколько адресов</string>
<string name="transaction_history_not_supported_description">История транзакций в настоящее время не поддерживается для этого блокчейна. Но не волнуйтесь, мы работаем над этим! А пока вы можете проверить ее в обозревателе.</string>
<string name="transaction_history_operation">Операция</string>
<string name="transaction_history_pending">Ожидание</string>
<string name="transaction_history_rewards_restaked">Награда рестейкнута</string>
<string name="transaction_history_rewards_restaking">Рестейкинг награды</string>
<string name="transaction_history_staking_reward">Стейкинг награды</string>
<string name="transaction_history_pending">В ожидании</string>
<string name="transaction_history_rewards_restaked">Награды рестейкнуты</string>
<string name="transaction_history_rewards_restaking">Рестейкинг наград</string>
<string name="transaction_history_staking_reward">Награда за стейкинг</string>
<string name="transaction_history_to_inline_address">на: %%image%% %s</string>
<string name="transaction_history_transaction_for_address">для: %s</string>
<string name="transaction_history_transaction_from_address">от: %s</string>
@ -2042,7 +2108,9 @@
<string name="user_push_notification_agreement_argument_three">Получайте уведомления о входящих транзакциях</string>
<string name="user_push_notification_agreement_argument_two">Узнавайте первым о новых акциях</string>
<string name="user_push_notification_agreement_argument_two_subtitle">Ранний доступ к новым функциям и эксклюзивным предложениям.</string>
<string name="user_push_notification_agreement_argument_two_subtitle_v2">Уведомления об изменении цен, новости продукта и эксклюзивные предложения</string>
<string name="user_push_notification_agreement_argument_two_title">Новые функции и важные новости</string>
<string name="user_push_notification_agreement_argument_two_title_v2">Предложения и обновления</string>
<string name="user_push_notification_agreement_header">Хотите использовать Push-уведомления?</string>
<string name="user_push_notification_banner_subtitle">Включите push-уведомления, и мы мгновенно сообщим вам, когда поступят средства.</string>
<string name="user_push_notification_banner_title">Не пропустите транзакцию</string>
@ -2064,6 +2132,7 @@
<string name="visa_onboarding_pin_not_accepted">ПИН не принят. Попробуйте ещё раз или введите другой код.</string>
<string name="visa_onboarding_pin_validation_error_message">Слабый ПИН: не используйте повторы или последовательности.</string>
<string name="visa_transaction_details_currency_code">Код валюты</string>
<string name="visa_tx_dispute_button">Оспорить эту транзакцию</string>
<string name="visa_unlock_notification_button">Разблокировать</string>
<string name="visa_unlock_notification_subtitle">Отсканируйте свою карту, чтобы разблокировать доступ</string>
<string name="wallet_add_common_title">Выберите тип кошелька</string>
@ -2158,7 +2227,8 @@
<string name="warning_approval_in_progress_title">Выдача разрешения</string>
<string name="warning_backup_error_add_funds_message">В этом кошельке возникла проблема с резервным копированием. Обратитесь в службу поддержки для её решения.</string>
<string name="warning_backup_error_add_funds_title">Пополнение отключено</string>
<string name="warning_backup_error_attention_title">Требуется действие: сбросьте свой кошелек</string>
<string name="warning_backup_error_attention_message">Ваши карточки были активированы неправильно. Чтобы обезопасить средства, переведите их на другой кошелек, сбросьте карты до заводских настроек и активируйте заново.</string>
<string name="warning_backup_error_attention_title">Требуется действие: сбросьте настройки кошелька</string>
<string name="warning_backup_errors_message">Похоже, что процесс активации карт или кольца не был завершен корректно. Это могло быть вызвано проблемой взаимодействия с модулем NFC либо некорректным прикладыванием карты или кольца к телефону. Пожалуйста, обратитесь в нашу службу поддержки для уточнения деталей.</string>
<string name="warning_backup_errors_title">Ошибка активации</string>
<string name="warning_beacon_chain_retirement_content">С 3 декабря 2024 года сеть BEP-2 была отключена по решению разработчиков сети и более не поддерживается</string>
@ -2400,7 +2470,12 @@
<string name="yield_apy_boost_banner_subtitle">Бонус за первую активацию!</string>
<string name="yield_apy_boost_banner_title">Спецпредложение для режима доходности</string>
<string name="yield_apy_boost_banner_title_apy_multiplied">APY x3</string>
<string name="yield_apy_boost_promo_activate_bonus">Активировать бонус</string>
<string name="yield_apy_boost_promo_bonus_paid_out_subtitle">Подробности в истории транзакций</string>
<string name="yield_apy_boost_promo_bonus_paid_out_title">Бонус режима доходности выплачен</string>
<string name="yield_apy_boost_promo_days_left_to_unlock">%1$sдней до разблокировки бонуса</string>
<string name="yield_apy_boost_promo_eligibility_text">Вам доступен буст APY на 30 дней</string>
<string name="yield_apy_boost_promo_terms_and_conditions">Действуют Условия и Положения</string>
<string name="yield_apy_boost_story_first_subtitle">Включите режим доходности впервые и получите до 3x дохода за первые 30 дней</string>
<string name="yield_apy_boost_story_first_title">Бонус APR за первый месяц</string>
<string name="yield_apy_boost_story_fourth_subtitle">Вы получаете рыночный доход + бонус. Бонус выплачивается единоразово в USDT или USDC в течение 14 дней после окончания 30-дневного периода. Акция действует, пока есть промо-бюджет. Действуют правила и условия</string>
@ -2418,6 +2493,7 @@
<string name="yield_module_approve_sheet_fee_note">Комиссия будет списана, и ваши активы снова начнут приносить доход.</string>
<string name="yield_module_approve_sheet_subtitle">Чтобы продолжить зарабатывать, нужно выдать разрешение.</string>
<string name="yield_module_approve_sheet_title">Подтвердить разрешение</string>
<string name="yield_module_average_apy">Средний APY %1$s%%</string>
<string name="yield_module_balance_info_sheet_subtitle">Ваши средства в данный момент размещены в протоколе Aave, но вы можете воспользоваться ими в любое время.</string>
<string name="yield_module_balance_info_sheet_title">Ваш %s внесён в Aave</string>
<string name="yield_module_chart_loading_error">Невозможно загрузить график</string>
@ -2491,6 +2567,7 @@
<string name="yield_module_token_details_earn_notification_earning_on_your_balance_subtitle">Проценты начисляются автоматически.</string>
<string name="yield_module_token_details_earn_notification_earning_on_your_balance_title">Режим доходности</string>
<string name="yield_module_token_details_earn_notification_processing">Включение режима доходности</string>
<string name="yield_module_token_details_earn_notification_subtitle">Режим доходности • %1$s%% APY</string>
<string name="yield_module_token_details_earn_notification_title">Режим доходности</string>
<string name="yield_module_transaction_deploy_contract">Установка контракта режима доходности</string>
<string name="yield_module_transaction_enter">Режим доходности подключен</string>
@ -2507,5 +2584,7 @@
<string name="yield_module_unable_to_cover_fee_title">Невозможно покрыть комиссию в %s</string>
<string name="yield_module_unavailable_subtitle">Режим доходности в данный момент недоступен. Пожалуйста, попробуйте позже.</string>
<string name="yield_module_unavailable_title">Режим доходности недоступен</string>
<string name="yield_promo_completed">Условия выплаты бонуса проверены</string>
<string name="yield_promo_left_title">до разблокировки бонуса</string>
<string name="yield_supply_chart_loading_error">Невозможно загрузить график</string>
</resources>

View file

@ -80,10 +80,51 @@
<string name="action_buttons_swap_not_enough_tokens_alert_title">Додайте токени</string>
<string name="action_buttons_you_want_to_receive">Оберіть токен для отримання</string>
<string name="action_buttons_you_want_to_swap">Оберіть токен для обміну</string>
<string name="actionbutton_addfunds_title">Поповнити</string>
<string name="actionbutton_swap_title">Обмін</string>
<string name="actionbutton_transfer_title">Переказ</string>
<string name="add_and_manage_sheet_manage_subtitle">Додати до портфеля</string>
<string name="add_and_manage_sheet_manage_title">Додати токени</string>
<string name="add_and_manage_sheet_organize_subtitle">Сортування та групування</string>
<string name="add_and_manage_sheet_organize_title">Упорядкувати токени</string>
<string name="add_custom_token_choose_network">Оберіть мережу</string>
<string name="add_custom_token_title">Додати токен</string>
<string name="add_tokens_title">Токени</string>
<string name="addfunds_buy_row_description">Банківська картка або банківський рахунок</string>
<string name="addfunds_fund_token">Поповнити токен</string>
<string name="addfunds_receive_row_description">Поділіться своєю адресою або QR-кодом</string>
<string name="addfunds_swap_row_description">Між вашими портфелями</string>
<string name="addfunds_you_receive_title">Ви отримаєте</string>
<string name="address_book_add_address">Додати адресу</string>
<string name="address_book_add_address_description">Додати адресу та вибрати мережу</string>
<string name="address_book_add_contact">Додати контакт</string>
<plurals name="address_book_addresses">
<item quantity="one">адреса</item>
<item quantity="few">адреси</item>
<item quantity="many">адрес</item>
<item quantity="other">адрес</item>
</plurals>
<string name="address_book_contact">Контакт</string>
<string name="address_book_contact_name">Ім\'я контакту</string>
<string name="address_book_copy_address">Скопіювати адресу</string>
<string name="address_book_creating_error">Не вдалося створити контакт. Будь ласка, спробуйте пізніше.</string>
<string name="address_book_delete_contact_description">Цей контакт буде видалено з усіх ваших адресних книг</string>
<string name="address_book_deleting_error">Не вдалося видалити контакт. Будь ласка, спробуйте пізніше.</string>
<string name="address_book_description">Керування контактами та адресами</string>
<string name="address_book_discard">Скасувати</string>
<string name="address_book_edit_address">Редагувати адресу</string>
<string name="address_book_enter_address">Ввести адресу</string>
<string name="address_book_invalid_address_error">Недійсна адреса</string>
<string name="address_book_keep_editing">Продовжити</string>
<string name="address_book_new_contact">Новий контакт</string>
<string name="address_book_no_contacts">Немає доданих контактів</string>
<string name="address_book_no_contacts_description">Тут відображатимуться додані вами контакти.</string>
<string name="address_book_remove_address">Видалити адресу</string>
<string name="address_book_save_wallet_to_description">Цей контакт буде прив\'язано до цього гаманця в адресній книзі.</string>
<string name="address_book_select_network">Вибрати мережу</string>
<string name="address_book_title">Адресна книга</string>
<string name="address_book_unsaved_changes">Незбережені зміни</string>
<string name="address_book_unsaved_changes_description">Ви впевнені, що хочете скасувати зміни?</string>
<string name="address_qr_code_message_format">Надсилайте тільки %1$s (%2$s) в мережі %3$s на цю адресу. Використання іншої мережі може призвести до втрати коштів.</string>
<string name="address_type_default">За замовчуванням</string>
<string name="address_type_legacy">Застарілий</string>
@ -220,8 +261,10 @@
<string name="common_access_denied">Доступ заборонено</string>
<string name="common_account">Акаунт</string>
<string name="common_accounts">Акаунти</string>
<string name="common_action_failed">%s не вдалося</string>
<string name="common_activate">Активувати</string>
<string name="common_add">Додати</string>
<string name="common_add_funds">Поповнити</string>
<string name="common_add_to_portfolio">Додати у портфель</string>
<string name="common_add_token">Додати токен</string>
<string name="common_add_tokens">Додайте токени</string>
@ -235,6 +278,8 @@
<string name="common_apply">Застосовувати</string>
<string name="common_approval">Затвердження</string>
<string name="common_approve">Підтвердити</string>
<string name="common_approved">Схвалено</string>
<string name="common_approving">Схвалення</string>
<string name="common_attention">Увага</string>
<string name="common_available_networks">Доступні мережі</string>
<string name="common_backup">Резервне копіювання</string>
@ -281,14 +326,22 @@
<item quantity="many">днів</item>
<item quantity="other">днів</item>
</plurals>
<plurals name="common_days_time_ago">
<item quantity="one">%d день тому</item>
<item quantity="few">%d дні тому</item>
<item quantity="many">%d днів тому</item>
<item quantity="other">%d дня тому</item>
</plurals>
<string name="common_delete">Видалити</string>
<string name="common_disable">Вимкнути</string>
<string name="common_disabled">Вимкнуто</string>
<string name="common_disabling">Вимкнення</string>
<string name="common_disconnect">Від\'єднати</string>
<string name="common_done">Готово</string>
<string name="common_edit">Редагувати</string>
<string name="common_enable">Увімкнути</string>
<string name="common_enabled">Увімкнено</string>
<string name="common_enabling">Увімкнення</string>
<string name="common_error">Помилка</string>
<string name="common_estimated_fee">Комісія мережі за поповнення</string>
<string name="common_exchange">Обміняти</string>
@ -315,6 +368,12 @@
<string name="common_hide">Приховати</string>
<string name="common_hold_to">Утримуйте, щоб %s</string>
<string name="common_hour">година</string>
<plurals name="common_hours">
<item quantity="one">година</item>
<item quantity="few">години</item>
<item quantity="many">годин</item>
<item quantity="other">години</item>
</plurals>
<plurals name="common_hours_time_ago">
<item quantity="one">%d годину тому</item>
<item quantity="few">%d години тому</item>
@ -324,6 +383,7 @@
<string name="common_import">Імпортувати</string>
<string name="common_in">у</string>
<string name="common_in_progress">В процесі</string>
<string name="common_insufficient_balance">Недостатній баланс</string>
<string name="common_later">Пізніше</string>
<string name="common_learn_more">Дізнатися більше</string>
<string name="common_left">Залишилося %1$s</string>
@ -338,6 +398,8 @@
<item quantity="other">%d хвилин тому</item>
</plurals>
<string name="common_month">місяць</string>
<string name="common_more">Більше</string>
<string name="common_network">Мережа</string>
<string name="common_network_fee_title">Комісія мережі</string>
<string name="common_network_fee_warning_content">Сума відправлення буде зменшена на %1$s (%2$s) для покриття обраного рівня комісії</string>
<plurals name="common_networks_count">
@ -352,12 +414,14 @@
<string name="common_nft">NFT</string>
<string name="common_no">Ні</string>
<string name="common_no_address">Немає адреси</string>
<string name="common_no_results">Немає результатів</string>
<string name="common_not_added">Не додано</string>
<string name="common_not_available">Недоступно</string>
<string name="common_not_now">Не зараз</string>
<string name="common_now">Зараз</string>
<string name="common_ok">ОК</string>
<string name="common_open_in_browser">Відкрити в браузері</string>
<string name="common_open_settings_button_title">Відкрити налаштування</string>
<string name="common_or">або</string>
<string name="common_origin_card">Основна картка</string>
<string name="common_origin_ring">Основне кільце</string>
@ -368,6 +432,8 @@
<string name="common_range_with_space">%1$s — %2$s</string>
<string name="common_read_more">Детальніше</string>
<string name="common_receive">Отримати</string>
<string name="common_received">Отримано</string>
<string name="common_receiving">Отримання</string>
<string name="common_recommended">Рекомендовано</string>
<string name="common_reject">Відхилити</string>
<string name="common_reload">Оновити</string>
@ -386,7 +452,10 @@
<string name="common_send">Надіслати</string>
<string name="common_send_colon">Відправка:</string>
<string name="common_send_tx_error">Не вдалося надіслати транзакцію</string>
<string name="common_sending">Надсилання</string>
<string name="common_sent">Надіслано</string>
<string name="common_server_unavailable">Сервер недоступний, спробуйте пізніше</string>
<string name="common_session_expired">Час сесії вичерпано</string>
<string name="common_share">Поширити</string>
<string name="common_share_link">Поділитися посиланням</string>
<string name="common_show_less">Сховати</string>
@ -396,6 +465,7 @@
<string name="common_skip">Пропустити</string>
<string name="common_something_went_wrong">Щось пішло не так</string>
<string name="common_stake">Застейкати</string>
<string name="common_staked">Застейкано</string>
<string name="common_staking">Стейкінг</string>
<string name="common_start">Почати</string>
<string name="common_submit">Продовжити</string>
@ -403,6 +473,8 @@
<string name="common_support">Підтримка</string>
<string name="common_supported_networks">Підтримувані мережі</string>
<string name="common_swap">Обмін</string>
<string name="common_swapped">Обміняно</string>
<string name="common_swapping">Обмін</string>
<string name="common_tangem">Tangem</string>
<string name="common_tangem_wallet">Tangem Wallet</string>
<string name="common_tap_and_hold_hint">Натисніть і утримуйте</string>
@ -412,6 +484,7 @@
<string name="common_to_wallet_name">На %s</string>
<string name="common_today">Сьогодні</string>
<string name="common_token">Токен</string>
<string name="common_token_send">Токен для надсилання</string>
<plurals name="common_tokens_count">
<item quantity="one">%d токен</item>
<item quantity="few">%d токени</item>
@ -422,18 +495,24 @@
<string name="common_transaction_status">Статус транзакції</string>
<string name="common_transactions">Транзакції</string>
<string name="common_transfer">Переказ</string>
<string name="common_transferred">Переказано</string>
<string name="common_try_again_later">Будь ласка, спробуйте пізніше</string>
<string name="common_unable_to_load">Неможливо завантажити дані...</string>
<string name="common_understand">Я зрозумів</string>
<string name="common_understand_continue">Я розумію, продовжити</string>
<string name="common_unknown_error">Виникла помилка. Будь ласка, спробуйте ще раз.</string>
<string name="common_unlock">Розблокувати</string>
<string name="common_unreachable">Недоступно</string>
<string name="common_unstake">Скасувати стейкінг</string>
<string name="common_utxo_validate_withdrawal_message_warning">Через обмеження %1$s в одну транзакцію може поміститися тільки %2$d UTXO. Це означає, що ви можете відправити тільки %3$s або менше. Вам потрібно зменшити суму.</string>
<string name="common_value_copied">Скопійовано</string>
<string name="common_view_all">Показати всі</string>
<string name="common_voting">Голосування</string>
<string name="common_wallets">Гаманці</string>
<string name="common_warning">Увага</string>
<string name="common_week">тиждень</string>
<string name="common_with">з</string>
<string name="common_withdrawing">Виведення</string>
<string name="common_yes">Так</string>
<string name="common_yield_mode">Режим дохідності</string>
<string name="contract_address_copied_message">Адреса контракту скопійована!</string>
@ -448,6 +527,7 @@
<string name="custom_token_creation_error_token_already_exist_title">Токен вже існує</string>
<string name="custom_token_creation_error_wrong_decimals">Десяткове число повинно бути дійсним цілим числом, до %d</string>
<string name="custom_token_custom_derivation">Власна деривація</string>
<string name="custom_token_custom_derivation_dynamic_addresses_enabled_error">Увімкнено динамічні адреси. Користувацькі значення \\"change\"\ та\\"index\"\ недоступні.</string>
<string name="custom_token_custom_derivation_placeholder">Наприклад, m/00\'/0000\'/0\'/0/0</string>
<string name="custom_token_custom_derivation_title">Введіть власну деривацію</string>
<string name="custom_token_decimals_input_title">Знаків після коми</string>
@ -500,6 +580,28 @@
<string name="domain_receive_assets_onboarding_description">Надсилання активів в інші мережі призведе до безповоротної втрати.</string>
<string name="domain_receive_assets_onboarding_network_name">%s мережа</string>
<string name="domain_receive_assets_onboarding_title">Надсилайте кошти, використовуючи лише</string>
<string name="dynamic_addresses">Динамічні адреси</string>
<string name="dynamic_addresses_custom_token_error_on_addition">Увімкнено динамічні адреси. Користувацькі значення \"change\" та \"index\" недоступні.</string>
<string name="dynamic_addresses_disable_description">Ви вимикаєте динамічні адреси. Тепер кошти надходитимуть на вашу фіксовану адресу</string>
<string name="dynamic_addresses_disable_fee_description">Для переказу коштів на фіксовану адресу стягується комісія мережі</string>
<string name="dynamic_addresses_disable_main_button_title">Вимкнути динамічні адреси</string>
<string name="dynamic_addresses_disable_title">Вимкнути динамічні адреси</string>
<string name="dynamic_addresses_disabled_popup_title">Динамічні адреси вимкнено</string>
<string name="dynamic_addresses_enabled_toast_title">Динамічні адреси увімкнено</string>
<string name="dynamic_addresses_enter_features_privacy_description">Використовуйте нову адресу для кожної транзакції, щоб знизити відстежуваність та підвищити конфіденційність у блокчейні.</string>
<string name="dynamic_addresses_enter_features_privacy_title">Підвищена конфіденційність</string>
<string name="dynamic_addresses_enter_features_receving_description">Отримуйте кошти як зазвичай. Tangem керує UTXO-адресами автоматично, вам не потрібно вибирати чи відстежувати їх вручну.</string>
<string name="dynamic_addresses_enter_features_receving_title">Безшовне отримання</string>
<string name="dynamic_addresses_enter_main_button_title">Увімкнути динамічні адреси</string>
<string name="dynamic_addresses_enter_subtitle">Ваш гаманець може використовувати кілька адрес для отримання одного активу. Tangem показує нову адресу після поповнення попередньої — усі вони прив\'язані до одного гаманця.</string>
<string name="dynamic_addresses_error_has_custom_token_description">Динамічні адреси не можна увімкнути, оскільки деякі користувацькі адреси/токени використовують змінений шлях деривації, що не відповідає потрібним критеріям.</string>
<string name="dynamic_addresses_error_has_custom_token_title">Динамічні адреси недоступні</string>
<string name="dynamic_addresses_error_service_unavailable_description">Не вдається підключитися до провайдера. Будь ласка, спробуйте пізніше.</string>
<string name="dynamic_addresses_error_service_unavailable_title">Сервіс недоступний. Будь ласка, спробуйте ще раз.</string>
<string name="dynamic_addresses_notification_funds_found_description">На додаткових адресах знайдено кошти. Увімкніть динамічні адреси, щоб отримати до них доступ</string>
<string name="dynamic_addresses_notification_funds_found_title">Знайдено кошти на додаткових адресах</string>
<string name="dynamic_addresses_receive_badge">Динамічна адреса</string>
<string name="dynamic_addresses_unavailability_reason_pending_transaction_send">Керування динамічними адресами стане доступним після підтвердження транзакцій у мережі %@</string>
<string name="earn_best_opportunities">Найкращі можливості</string>
<string name="earn_clear_filter">Очистити фільтр</string>
<string name="earn_empty">Список тимчасово порожній, оскільки триває оновлення. Спробуйте ще раз за мить.</string>
@ -569,16 +671,22 @@
<string name="express_legal_two_placeholders">Використовуючи сервіс обміну, ви погоджуєтеся з його %1$s та %2$s.</string>
<string name="express_more_providers_soon">Незабаром з\'являться нові провайдери.\nСлідкуйте за новинами!</string>
<string name="express_provider">Провайдер</string>
<string name="express_provider_best_dex_rate">Найкращий курс на DEX</string>
<string name="express_provider_best_rate">Найкращий курс</string>
<string name="express_provider_fca_warning_list">Список попереджень FCA</string>
<string name="express_provider_fixed_rate_is_unavailable">Фіксована ставка недоступна</string>
<string name="express_provider_for_swap">Провайдер для обміну</string>
<string name="express_provider_great_rate">Найкращий вибір</string>
<string name="express_provider_in_fca_warning_list">Список попереджень FCA</string>
<string name="express_provider_in_fca_warning_list">Провайдер у списку попереджень FCA</string>
<string name="express_provider_max_amount">Доступно до %s</string>
<string name="express_provider_min_amount">Доступно від %s</string>
<string name="express_provider_not_available">Недоступно для цієї пари</string>
<string name="express_provider_permission_needed">Потрібен дозвіл</string>
<string name="express_provider_permission_needed_v2">Потрібен дозвіл</string>
<string name="express_provider_recommended">Рекомендовано</string>
<string name="express_send_with_swap_not_supported_button">Обміняти токен</string>
<string name="express_send_with_swap_not_supported_text">Обміняйте вручну, а потім надішліть одержувачу</string>
<string name="express_send_with_swap_not_supported_title">%s не підтримується у Swap &amp; Send</string>
<string name="express_status_bought">Купив %s</string>
<string name="express_status_buying">Купівля %s</string>
<string name="express_status_buying_active">Купівля %s...</string>
@ -597,6 +705,8 @@
<string name="fee_selector_choose_token_description">Оберіть, який токен буде використовуватися для оплати мережевої комісії. %s</string>
<string name="fee_selector_choose_token_title">Обрати токен</string>
<string name="feed_market_and_news">Ринок та Новини</string>
<string name="feed_search_show_all_user_assets">Показати всі</string>
<string name="feed_search_show_less_user_assets">Сховати</string>
<string name="feed_trending_now">В тренді</string>
<string name="feedback_data_collection_message">Інформація нижче не є обов\'язковою. Ви можете стерти її, якщо бажаєте.</string>
<string name="feedback_preface_rate_negative">Розкажіть, яких функцій вам не вистачає, і ми спробуємо вам допомогти.</string>
@ -611,6 +721,11 @@
<string name="feedback_subject_support_tangem">Звернення в підтримку Tangem</string>
<string name="feedback_subject_tx_failed">Не вдається відправити транзакцію</string>
<string name="feedback_token_description_error">Помилка в описі монети</string>
<string name="force_update_banner_message">Для забезпечення коректної роботи оновіть застосунок до останньої версії.</string>
<string name="force_update_banner_title">Необхідне оновлення</string>
<string name="force_update_button">Оновити</string>
<string name="force_update_warning_message">Будь ласка, оновіть застосунок до останньої версії, щоб забезпечити його коректну роботу.</string>
<string name="force_update_warning_title">Потрібне оновлення</string>
<string name="gasless_not_enough_funds_to_cover_token_fee">Недостатньо коштів</string>
<string name="gasless_transaction_fee">Комісія за транзакцію</string>
<string name="generic_error">Виникла помилка</string>
@ -622,6 +737,7 @@
<string name="give_permission_staking_footer">Функція підтвердження необхідна для надання дозволу іншій адресі на використання певної кількості ваших токенів. За задумом, смарт-контракти не можуть отримати доступ до ваших токенів без вашого схвалення. \"Розблоковуючи\" свої токени, ви дозволяєте смарт-контракту StakeKit використовувати їх. Майнери мережі отримують плату за газ (сплачену вами), щоб зафіксувати цю дію в блокчейні. Ви зможете застейкати свій токен після того, як дасте дозвіл.</string>
<string name="give_permission_staking_subtitle">Щоб продовжити, вам потрібно дозволити смарт-контракту Polygon використовувати ваш %s</string>
<string name="give_permission_swap_subtitle" formatted="false">Щоб продовжити, вам потрібно дозволити смарт-контракту %1s використовувати ваш %2s</string>
<string name="give_permission_swap_subtitle_v2">Децентралізовані біржі вимагають дозволу на взаємодію з вашим гаманцем. %1s</string>
<string name="give_permission_title">Надати дозвіл</string>
<string name="give_permission_unlimited">Необмежено</string>
<string name="hardware_wallet_backup_feature_description">Резервна копія створюється на 23 картках Tangem. Зберігайте їх окремо для безпеки — seed-фраза не потрібна.</string>
@ -735,8 +851,11 @@
<string name="koinos_mana_level_description">Мережа Koinos вимагає Mana для мережевої комісії. У вас є %1$s/%2$s Mana</string>
<string name="koinos_mana_level_title">Рівень Mana</string>
<string name="main_add_and_manage_tokens">Додати та керувати</string>
<string name="main_add_funds_promo_description">Купіть криптовалюту або перекажіть її на свій гаманець.</string>
<string name="main_add_funds_promo_title">Поповніть гаманець</string>
<string name="main_empty_tokens_list_message">Щоб почати відстежувати свої криптоактиви та транзакції, додайте токени</string>
<string name="main_manage_tokens">Керування токенами</string>
<string name="main_qr_scan_hint">Відскануйте QR-код, щоб надіслати кошти або підключитися до застосунку</string>
<string name="main_scan_card_warning_view_subtitle">Для доступу до всіх мереж необхідно відсканувати картку</string>
<string name="main_scan_card_warning_view_title">Відскануйте картку або кільце</string>
<string name="main_swap_changelly_promotion_message">Насолоджуйтесь %1$s комісією за обслуговування на свопах через Changelly з %2$s по %3$s лютого.</string>
@ -771,20 +890,30 @@
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Цей токен недоступний для цього гаманця</string>
<string name="markets_add_token">Додати</string>
<string name="markets_apy_placeholder">APY %s</string>
<string name="markets_common_market_price">Ринкова ціна</string>
<string name="markets_common_my_portfolio">Моє портфоліо</string>
<string name="markets_common_title">Маркет</string>
<string name="markets_earn_common_title">Заробляйте з Tangem</string>
<string name="markets_generate_addresses_notification">Щоб згенерувати адреси для обраних мереж, відскануйте вашу картку або кільце Tangem гаманця</string>
<string name="markets_hint">Щоб додати токени, потягніть вгору або торкніться панелі пошуку</string>
<string name="markets_hint_part_one">Потягніть вгору, щоб відкрити ринок</string>
<string name="markets_hint_part_two">Відкрийте для себе приховані геми</string>
<string name="markets_insights_info_description_message">Дані цього розділу отримані з наступних мереж: %s</string>
<string name="markets_loading_error_title">Не вдалося завантажити дані...</string>
<string name="markets_loading_no_data_title">Немає даних</string>
<string name="markets_portfolio_block_add_token_title">**Додайте до свого портфеля**, щоб купувати, обмінювати або отримувати цей актив</string>
<string name="markets_portfolio_block_subtitle">У вашому портфелі</string>
<string name="markets_portfolio_block_title">Ваш портфель</string>
<string name="markets_pulse_common_title">Пульс ринку</string>
<string name="markets_quick_actions">Швидкі дії</string>
<string name="markets_search_clear_all_hints">Очистити все</string>
<string name="markets_search_header_title">Шукати на маркеті</string>
<string name="markets_search_hint_header">Нещодавні</string>
<string name="markets_search_portfolio_header">У вашому портфелі</string>
<string name="markets_search_result_title">Результат</string>
<string name="markets_search_see_tokens_under_100k">Переглянути токени до 100к USD ринкової капіталізації</string>
<string name="markets_search_show_tokens">Показати токени</string>
<string name="markets_search_title_placeholder">Криптовалюти, новини та не тільки</string>
<string name="markets_search_token_no_result_title">Жодного результату</string>
<string name="markets_select_network">Виберіть мережу</string>
<string name="markets_select_wallet">Оберіть гаманець</string>
@ -804,6 +933,7 @@
<string name="markets_sort_by_yield_mode_title">Режим дохідності</string>
<string name="markets_staking_banner_description_placeholder">Стейкінг — простий спосіб отримувати дохід з вашої криптовалюти. %s</string>
<string name="markets_staking_banner_title">Отримуйте до %s APY</string>
<string name="markets_token_add_subtitle">в іншій мережі або іншому акаунті</string>
<string name="markets_token_added">Токен додано</string>
<string name="markets_token_details_about_token_title">Про %s</string>
<plurals name="markets_token_details_amount_exchanges">
@ -842,6 +972,10 @@
<string name="markets_token_details_holders">Тримачі</string>
<string name="markets_token_details_holders_description">Зміна кількості власників токенів протягом певного періоду часу</string>
<string name="markets_token_details_holders_full">Тримачі</string>
<string name="markets_token_details_insight_day_timeline">Д</string>
<string name="markets_token_details_insight_month_timeline">М</string>
<string name="markets_token_details_insight_week_timeline">Т</string>
<string name="markets_token_details_insight_year_timeline">Р</string>
<string name="markets_token_details_insights">Інсайти</string>
<string name="markets_token_details_links">Посилання</string>
<string name="markets_token_details_liquidity">Ліквідність</string>
@ -857,9 +991,11 @@
<string name="markets_token_details_market_rating_description">Позиція в крипторейтингу між усіма монетами на основі ринкової капіталізації</string>
<string name="markets_token_details_market_rating_full">Рейтинг</string>
<string name="markets_token_details_max_supply">Макс. обсяг</string>
<string name="markets_token_details_max_supply_and_circulation_full">Циркулююча та максимальна пропозиція</string>
<string name="markets_token_details_max_supply_description">Максимальна кількість монет або токенів, яка може коли-небудь існувати для певної криптовалюти</string>
<string name="markets_token_details_max_supply_full">Максимальна пропозиція</string>
<string name="markets_token_details_metrics">Метрики</string>
<string name="markets_token_details_metrics_no_limited">Без обмежень</string>
<string name="markets_token_details_official_links">Офіційні посилання</string>
<string name="markets_token_details_price_performance">Цінова ефективність</string>
<string name="markets_token_details_repository">Репозиторій</string>
@ -869,9 +1005,11 @@
<string name="markets_token_details_total_supply">Загальна проп.</string>
<string name="markets_token_details_total_supply_description">Максимальна кількість монет або токенів, яка може коли-небудь існувати для певної криптовалюти</string>
<string name="markets_token_details_total_supply_full">Загальна пропозиція</string>
<string name="markets_token_details_trading_interval">24г</string>
<string name="markets_token_details_trading_volume">Обсяг торгів (24г)</string>
<string name="markets_token_details_trading_volume_24h_description">Загальна сума криптовалюти, якою торгували протягом останніх 24 годин, що вказує на рівень активності та ліквідності на ринку</string>
<string name="markets_token_details_trading_volume_full">Обсяг торгів (24г)</string>
<string name="markets_token_details_valuation_value_in_total">%s загалом</string>
<string name="markets_token_details_volume">Обсяг</string>
<string name="markets_tooltip_message">Потягніть вгору або торкніться панелі пошуку, щоб додати токени безпосередньо з маркету</string>
<string name="markets_tooltip_title">Додати токени</string>
@ -899,6 +1037,7 @@
<string name="news_related_tokens">Пов\'язані токени</string>
<string name="news_sources">Схожі новини</string>
<string name="news_stay_in_the_loop">Залишайтеся в курсі подій</string>
<string name="news_trending_score">Індекс популярності</string>
<string name="nfc_error_unavailable">Функція NFC недоступна на вашому пристрої</string>
<string name="nft_about_title">Про NFT</string>
<string name="nft_asset">NFT</string>
@ -947,7 +1086,7 @@
<plurals name="nft_wallet_count_android">
<item quantity="one">%1$d NFT в %2$d колекціi</item>
<item quantity="few">%1$d NFTs в %2$d колекціях</item>
<item quantity="many"></item>
<item quantity="many">%1$d NFTs в %2$d колекціях</item>
<item quantity="other">%1$d NFTs в %2$d колекціях</item>
</plurals>
<string name="nft_wallet_receive_nft">Натисніть тут, щоб отримати першу NFT</string>
@ -1025,7 +1164,9 @@
<string name="onboarding_getting_started">Підготовка</string>
<string name="onboarding_linking_error_card_with_wallets">На картці, яку ви намагаєтеся додати, вже створено інший гаманець. Якщо у вас є кошти на цьому гаманці, будь ласка, виведіть їх, а потім скиньте цю картку до заводських налаштувань і додайте її як резервну.</string>
<string name="onboarding_navbar_save_wallet">Збережіть ваш гаманець</string>
<string name="onboarding_navbar_title_biometrics">Використовувати біометрію</string>
<string name="onboarding_navbar_title_creating_backup">Резервна копія</string>
<string name="onboarding_navbar_title_last_step">Останній крок</string>
<string name="onboarding_navbar_upgrade_wallet_biometrics">Біометрія</string>
<string name="onboarding_seed_button_read_more">Дізнатися більше про seed-фразу</string>
<plurals name="onboarding_seed_generate_message_words_count">
@ -1098,6 +1239,7 @@
<string name="onramp_instant_status">Миттєво</string>
<string name="onramp_kyc_verification_bullet_free">Верифікація безкоштовна і зазвичай займає 1-2 хвилини</string>
<string name="onramp_kyc_verification_bullet_privacy">Tangem не матиме доступу до ваших особистих даних, ви передаєте їх безпосередньо ліцензованому провайдеру</string>
<string name="onramp_kyc_verification_bullet_unlocks">Верифікація відкриває повний доступ до майбутніх транзакцій із цим провайдером</string>
<string name="onramp_kyc_verification_choose_another">Виберіть інший метод</string>
<string name="onramp_kyc_verification_subtitle">Згідно з вимогами законодавства, %@ вимагає пройти верифікацію особи.</string>
<string name="onramp_kyc_verification_title">Провайдер платежів вимагає підтвердження особи</string>
@ -1152,10 +1294,24 @@
<string name="onramp_via_provider">через %s</string>
<string name="onramp_you_will_pay_title">Ви заплатите</string>
<string name="organize_tokens_group">Групами</string>
<string name="organize_tokens_menu_group_by_networks">Згрупувати за мережами</string>
<string name="organize_tokens_menu_sort_by_balance">Сортувати за балансом</string>
<string name="organize_tokens_sort_by_balance">За балансом</string>
<string name="organize_tokens_title">Сортування токенів</string>
<string name="organize_tokens_ungroup">Список</string>
<string name="provider_name_support">Підтримка %s</string>
<string name="push_notification_settings_banner_description">Push-сповіщення ввімкнені, але не працюватимуть без вашого дозволу</string>
<string name="push_notification_settings_banner_title">Дозволити сповіщення</string>
<string name="push_notification_settings_offers_updates_subtitle">Новини продукту, ексклюзивні пропозиції та нагадування про активність</string>
<string name="push_notification_settings_offers_updates_title">Пропозиції та оновлення</string>
<string name="push_notification_settings_price_alerts_subtitle">Отримуйте сповіщення про зміну цін на популярні монети</string>
<string name="push_notification_settings_price_alerts_title">Сповіщення про ціни</string>
<string name="push_notification_settings_title">Налаштування сповіщень</string>
<string name="push_notification_settings_transaction_alerts_subtitle">Сповіщення про транзакції, обміни та важливі оновлення в реальному часі</string>
<string name="push_notification_settings_transaction_alerts_title">Сповіщення про транзакції</string>
<string name="push_notification_warning_sheet_button_enable">Увімкнути сповіщення</string>
<string name="push_notification_warning_sheet_description">Ви не отримуватимете сповіщення про поповнення, виведення та транзакції. Увімкнути їх можна будь-коли в Налаштуваннях Гаманця.</string>
<string name="push_notification_warning_sheet_title">Сповіщення вимкнено</string>
<string name="push_notifications_more_info">Більше</string>
<string name="push_notifications_permission_alert_description">Ви можете ввімкнути сповіщення у налаштуваннях</string>
<string name="push_notifications_permission_alert_negative_button">Увімкнути пізніше</string>
@ -1175,6 +1331,12 @@
<string name="qr_scanner_error_unsupported_network_title">Підтримуваних токенів не знайдено</string>
<string name="qr_scanner_warning_unknown_parameters_message">Цей QR-код містить нерозпізнані параметри: %s. Деякі деталі платежу можуть бути втрачені, якщо ви продовжите.</string>
<string name="qr_scanner_warning_unknown_parameters_title">Невідомі параметри</string>
<string name="quick_action_buy_description">Банківська картка або банківський рахунок</string>
<string name="quick_action_receive_description">Поділіться своєю адресою або QR-кодом</string>
<string name="quick_action_sell_description">Безпечно продавайте криптовалюту</string>
<string name="quick_action_send_description">Надіслати на інший гаманець</string>
<string name="quick_action_swap_description">Між вашими портфелями</string>
<string name="quick_top_up_chip_other">Інші</string>
<string name="quick_top_up_title">Швидке поповнення</string>
<string name="receive_bottom_sheet_no_memo_required_message">Memo не вимагається</string>
<string name="receive_bottom_sheet_warning_message">%1$s (%2$s) у мережі %3$s</string>
@ -1294,6 +1456,12 @@
<string name="send_memo">Мемо: %s</string>
<string name="send_memo_destination_tag_error">Недопустимий Memo</string>
<string name="send_network_fee_warning_title">Покриття мережевої комісії</string>
<plurals name="send_network_selection_hidden_tokens">
<item quantity="one">%d токен не сумісний із цією адресою</item>
<item quantity="few">%d токени не сумісні із цією адресою</item>
<item quantity="many">%d токенів не сумісно із цією адресою</item>
<item quantity="other">%d токени не сумісні із цією адресою</item>
</plurals>
<string name="send_nonce">Nonce</string>
<string name="send_nonce_footer">Унікальний номер транзакції. Змініть його, щоб пришвидшити відправку або скасувати завислу операцію.</string>
<string name="send_nonce_hint">Введіть nonce…</string>
@ -1321,6 +1489,11 @@
<string name="send_notification_transaction_limit_title">Ліміт транзакції</string>
<string name="send_optional_field">Опціонально</string>
<string name="send_qrcode_scan_info">Будь ласка, сумістіть свій QR-код з квадратом, щоб відсканувати його. Переконайтеся, що ви скануєте адресу в мережі %s.</string>
<string name="send_rate_fixed_info_description">При фіксованому курсі сума, яку ви отримаєте, фіксується в момент обміну. Це захищає вас від зміни ціни під час транзакції.</string>
<string name="send_rate_fixed_info_title">Фіксований курс</string>
<string name="send_rate_floating_info_description">Плаваючий курс означає, що підсумкова сума, яку ви отримаєте, може дещо змінитися залежно від ринкових умов у період між початком і завершенням обміну.</string>
<string name="send_rate_floating_info_title">Плаваючий курс</string>
<string name="send_rate_is_fixed">Курс зафіксовано</string>
<string name="send_recent_transactions">Останні</string>
<string name="send_recipient">Одержувач</string>
<string name="send_recipient_address_error">Недійсна адреса</string>
@ -1364,6 +1537,7 @@
<string name="send_with_swap_recipient_get_amount">До отримання %s</string>
<string name="send_with_swap_remove_convert_alert_message">Ви впевнені, що хочете скасувати конвертацію? Ваші попередні дані будуть видалені.</string>
<string name="send_with_swap_remove_convert_alert_title">Прибрати конвертацію</string>
<string name="send_with_swap_something_went_wrong">Щось пішло не так. Спробуйте ще раз</string>
<string name="send_with_swap_title">Надіслати з обміном</string>
<string name="sent_transaction_sent_title">Трансакцію надіслано</string>
<string name="settings_card_settings_footer">Підготуйтеся до сканування кільця або картки, яку ви хочете налаштувати.</string>
@ -1416,6 +1590,7 @@
<string name="staking_details_unbonding_period_info">Період, який ви повинні чекати після запиту на виведення коштів зі стейкінгу, перш ніж токени стануть доступними.</string>
<string name="staking_details_warmup_period">Період блокування</string>
<string name="staking_details_warmup_period_info">Відведений час для активації участі в стейкінгу.</string>
<string name="staking_enabled">Стейкінг увімкнено</string>
<string name="staking_error_no_validators_message">Наразі немає вільних валідаторів. Повторіть спробу пізніше.</string>
<string name="staking_error_no_validators_title">Стейкінг недоступний</string>
<string name="staking_give_permission_fee_footer">Комісія за схвалення токену, щоб верифікувати, що саме ви дозволяєте використання токена для стейкінгу.</string>
@ -1525,6 +1700,9 @@
<string name="story_web3_title">Web 3.0 сумісність</string>
<string name="sui_not_enough_coin_for_fee_description">Для відправки потрібна вхідна транзакція на суму не менше %1$s</string>
<string name="sui_not_enough_coin_for_fee_title">Недостатньо коштів</string>
<string name="support_chat_swap_prefilled_message">Дані про операцію обміну:\nЗвідки: %1$s %2$s\nКуди: %3$s %4$s\nЧерез: %5$s - %6$s</string>
<string name="support_selector_view_chat_button">Відкрити чат</string>
<string name="support_selector_view_email_button">Відкрити пошту</string>
<string name="swap_approve_description">Підтверджуючи, ви дозволяєте смартконтракту використовувати ваші токени в майбутніх транзакціях.</string>
<string name="swap_detailed_mode">Детальний режим</string>
<string name="swap_fixed_rate">Фіксований курс</string>
@ -1564,11 +1742,14 @@
<string name="swapping_approve_information_text">Всі децентралізовані біржі вимагають схвалення, щоб запобігти доступу смарт-контрактів до вашого гаманця без вашого дозволу. За задумом смарт-контракти не можуть отримати доступ до ваших токенів без вашого схвалення. \"Розблоковуючи\" свої токени, ви дозволяєте смарт-контракту 1inch витрачати ваші активи. Майнери мережі отримують плату за газ (сплачену вами), щоб зафіксувати цю дію в блокчейні. Ви можете обміняти свій токен після того, як дасте дозвіл.</string>
<string name="swapping_approve_information_title">Підтвердити</string>
<string name="swapping_fee_estimation_error_text">Помилка при розрахунку комісії. Будь ласка, надішліть відгук до служби підтримки.</string>
<string name="swapping_from_account_title">Ви надсилаєте з</string>
<string name="swapping_from_title">Ви обмінюєте</string>
<string name="swapping_from_title_v2">Ви надсилаєте</string>
<string name="swapping_high_price_impact_description">Обмін цієї кількості обраних токенів призведе до значного впливу на ціну і зменшить вашу кінцеву суму.</string>
<string name="swapping_high_price_impact_text">Ви можете отримати значно менше через низьку ліквідність. Спробуйте меншу суму або іншого провайдера.</string>
<string name="swapping_high_price_impact_title">Високий вплив на ціну</string>
<string name="swapping_insufficient_funds">Недостатньо коштів</string>
<string name="swapping_insufficient_funds_description">Недостатньо коштів для завершення транзакції. Зменште суму отримання або додайте більше коштів</string>
<string name="swapping_permission_header">Надати дозвіл</string>
<string name="swapping_rate_experience_title">Оцініть ваш досвід взаємодії з провайдером</string>
<string name="swapping_rate_feedback_placeholder">Напишіть ваш відгук</string>
@ -1580,10 +1761,16 @@
<string name="swapping_to_title">Ви отримаєте</string>
<string name="swapping_token_list_title">Оберіть токен</string>
<string name="swapping_token_not_available">недоступно</string>
<string name="swapping_trade_too_large_text">Недостатньо ліквідності для цього обміну.\nЗменште суму або виберіть іншого провайдера.</string>
<string name="swapping_trade_too_large_title">Занадто великий обмін</string>
<string name="swapping_transfer_action">Переказ</string>
<string name="swapping_transfer_action_in_progress">Переказ...</string>
<string name="tangem_pay_beta_notification_subtitle">Будемо раді вашому зворотньому звʼязку</string>
<string name="tangem_pay_beta_notification_title">Tangem Pay у режимі beta</string>
<string name="tangem_pay_card_details_unable_to_rename_card_title">Не вдалося перейменувати картку</string>
<string name="tangem_pay_card_frozen">Картку заморожено</string>
<string name="tangem_pay_card_payment">Оплата карткою</string>
<string name="tangem_pay_close_card_disabled_last_card">Єдину картку закрити не можна</string>
<string name="tangem_pay_close_card_popup_description">Воно зникне з застосунку</string>
<string name="tangem_pay_close_card_popup_primary_button_title">Закрити картку</string>
<string name="tangem_pay_close_card_popup_secondary_button_title">Назад</string>
@ -1598,11 +1785,15 @@
<string name="tangem_pay_freeze_card_failed">Не вдалося заморозити картку. Спробуйте пізніше.</string>
<string name="tangem_pay_freeze_card_freeze">Заморозити</string>
<string name="tangem_pay_freeze_card_success">Вашу картку заморожено.</string>
<string name="tangem_pay_freeze_card_unfreeze">Розморозити</string>
<string name="tangem_pay_get_help">Звернутися до підтримки</string>
<string name="tangem_pay_history_item_spend_mc_declined_reason">Причина: %s</string>
<string name="tangem_pay_history_item_spend_mc_title_format" formatted="false">%s.%s</string>
<string name="tangem_pay_history_item_spend_mcc">MCC %s</string>
<string name="tangem_pay_other">Інше</string>
<string name="tangem_pay_pin_code_title">ПІН-код</string>
<string name="tangem_pay_purchase">Покупка</string>
<string name="tangem_pay_rename_card_title">Перейменувати картку</string>
<string name="tangem_pay_rooted_device_subtitle">Неможливо використовувати на пристроях з root-правами.</string>
<string name="tangem_pay_status_completed">Завершено</string>
<string name="tangem_pay_status_declined">Відхилено</string>
@ -1611,6 +1802,8 @@
<string name="tangem_pay_terms_fees_limits">Умови, комісії та ліміти</string>
<string name="tangem_pay_terms_limits">Умови та обмеження</string>
<string name="tangem_pay_transaction_declined_notification_text">Банк відхилив цей запит на транзакцію.</string>
<string name="tangem_pay_transaction_details_category">Категорія</string>
<string name="tangem_pay_transaction_details_mcc">MCC</string>
<string name="tangem_pay_transaction_fee_notification_text">Комісія відповідно до тарифів обслуговування</string>
<string name="tangem_pay_transaction_reversed_notification_text">Транзакцію було частково або повністю скасовано продавцем</string>
<string name="tangem_pay_unfreeze_card_alert_body">Продовжуйте користуватися карткою. Заморозити можна в будь-який момент.</string>
@ -1623,8 +1816,10 @@
<string name="tangempay_account_unable_to_use_rooted">Заборонено використовувати на root-пристроях</string>
<string name="tangempay_available_balance">Баланс</string>
<string name="tangempay_cancel_kyc">Приховати KYC з головного екрана</string>
<string name="tangempay_card_default_name">Картка Tangem Pay 1</string>
<string name="tangempay_card_details_add_funds">Поповнити рахунок</string>
<string name="tangempay_card_details_add_funds_subtitle">Варіанти поповнення</string>
<string name="tangempay_card_details_add_to_wallet_button_text">Додати до Google Wallet</string>
<string name="tangempay_card_details_card_number">Номер картки</string>
<string name="tangempay_card_details_change_pin">ПІН-код</string>
<string name="tangempay_card_details_change_pin_success_description">Картка готова до оплат.</string>
@ -1656,33 +1851,44 @@
<string name="tangempay_card_details_reissue_card">Перевипустити картку</string>
<string name="tangempay_card_details_rename_card_invalid_description">Дозволені лише літери та цифри</string>
<string name="tangempay_card_details_rename_card_invalid_title">Неприпустимі символи</string>
<string name="tangempay_card_details_rename_card_placeholder">Назва картки</string>
<string name="tangempay_card_details_reveal_text">Показати</string>
<string name="tangempay_card_details_show_details">Реквізити</string>
<string name="tangempay_card_details_title">Реквізити</string>
<string name="tangempay_card_details_unable_to_rename_card_description">Будь ласка, спробуйте пізніше</string>
<string name="tangempay_card_details_unfreeze_card">Розморозити картку</string>
<string name="tangempay_card_details_view_pin_code_description">Поверніться до додатка, якщо ви забудете його.</string>
<string name="tangempay_card_details_view_pin_code_description">Поверніться до застосунку, якщо забудете його</string>
<string name="tangempay_card_details_view_pin_code_title">Ваш ПІН</string>
<string name="tangempay_card_details_withdraw">Вивести</string>
<string name="tangempay_card_details_withdraw_error_title">Вивід наразі недоступний</string>
<string name="tangempay_card_details_withdraw_in_progress_description">Ви не можете розпочати обмін або новий вивід, поки не завершено поточний.</string>
<string name="tangempay_card_details_withdraw_in_progress_title">Вивід виконується</string>
<string name="tangempay_card_edit_name_placeholder">Назва картки</string>
<string name="tangempay_card_limit_setup_amount_subtitle">Встановити ліміт від %s</string>
<string name="tangempay_card_limit_setup_error_message">Не вдалося встановити ліміт. Будь ласка, спробуйте ще раз.</string>
<string name="tangempay_card_page_closing_banner_description">Зазвичай займає до 5 хвилин</string>
<string name="tangempay_card_page_closing_banner_title">Закриття вашої картки</string>
<string name="tangempay_card_page_daily_limit_change">Змінити</string>
<string name="tangempay_card_page_daily_limit_current_limit">Поточний ліміт</string>
<string name="tangempay_card_page_daily_limit_error_description">Не вдалося завантажити денний ліміт. Будь ласка, спробуйте ще раз.</string>
<string name="tangempay_card_page_daily_limit_error_subtitle">Оновіть, щоб спробувати знову</string>
<string name="tangempay_card_page_daily_limit_error_title">Ліміт недоступний</string>
<string name="tangempay_card_page_daily_limit_success_description">Ви можете змінити це будь-коли</string>
<string name="tangempay_card_page_daily_limit_success_title">Ліміт встановлено</string>
<string name="tangempay_card_page_daily_limit_title">Денний ліміт</string>
<string name="tangempay_card_page_settings_title">Налаштування картки</string>
<plurals name="tangempay_cards_count">
<item quantity="one">%d картка</item>
<item quantity="few">%d картки</item>
<item quantity="many">%d карток</item>
<item quantity="other">%d картки</item>
</plurals>
<string name="tangempay_change_pin_code">Змінити PIN-код</string>
<string name="tangempay_come_back_if_forget_pin">Можна подивитися тут, якщо забудете його.</string>
<string name="tangempay_daily_limit_hint" formatted="false">Встановити ліміт від %s до %s</string>
<string name="tangempay_daily_limit_set_button">Встановити</string>
<string name="tangempay_declined_reason_1">недостатньо коштів</string>
<string name="tangempay_declined_reason_10">se superó el límite de gasto de la tarjeta</string>
<string name="tangempay_declined_reason_10">перевищено ліміт витрат за карткою</string>
<string name="tangempay_declined_reason_11">помилка перевірки CVV2</string>
<string name="tangempay_declined_reason_12">неправильний термін дії картки</string>
<string name="tangempay_declined_reason_13">неправильний PIN-код</string>
@ -1709,8 +1915,15 @@
<string name="tangempay_get_banner_description">Отримайте безкоштовну віртуальну картку Tangem Visa</string>
<string name="tangempay_get_tangem_pay">Отримати Tangem Pay</string>
<string name="tangempay_go_to_support">Написати у підтримку</string>
<string name="tangempay_issue_additional_card_description">Це згенерує нові реквізити картки</string>
<string name="tangempay_issue_additional_card_fee_label">Комісія за випуск</string>
<string name="tangempay_issue_additional_card_insufficient_funds_subtitle">Поповніть платіжний рахунок у USDC для оплати комісії за випуск</string>
<string name="tangempay_issue_additional_card_insufficient_funds_title">Недостатньо коштів для оплати комісії</string>
<string name="tangempay_issue_additional_card_title">Випустити додаткову картку?</string>
<string name="tangempay_issue_card">Випустити картку</string>
<string name="tangempay_issue_card_notification_description">Зазвичай це займає до 15 хвилин</string>
<string name="tangempay_issue_card_notification_title">Готуємо вашу картку Tangem</string>
<string name="tangempay_issuing_new_digital_card_title">Випуск нової цифрової картки</string>
<string name="tangempay_issuing_your_card">Випускаємо картку</string>
<string name="tangempay_issuing_your_card_description">Карту зазвичай випускають автоматично протягом 5 хвилин. У рідкісних випадках, коли потрібна ручна перевірка, процес може тривати до 48 годин.</string>
<string name="tangempay_kyc_card_ready_notification_title">Tangem Pay</string>
@ -1727,6 +1940,8 @@
<string name="tangempay_kyc_rejected_button_text">Приховати блок KYC</string>
<string name="tangempay_kyc_rejected_description">Вибачте, ми не змогли підтвердити</string>
<string name="tangempay_kyc_rejected_description_span">вашу особу.</string>
<string name="tangempay_maximum_cards_issued_description">Ви можете мати до 3 карток. Видаліть одну, щоб додати нову.</string>
<string name="tangempay_maximum_cards_issued_title">Випущено максимальну кількість карток</string>
<string name="tangempay_newonboard_Q1_body">Так — для користування регульованою карткою Visa обов’язкова верифікація особи. KYC проводить Sumsub, compliance-партнер.</string>
<string name="tangempay_newonboard_Q1_title">Чи потрібно надавати документи?</string>
<string name="tangempay_newonboard_Q2_body">Ні. KYC стосується лише акаунта Tangem Pay. Сам Tangem Wallet залишається окремим self-custodial середовищем без KYC.</string>
@ -1775,7 +1990,10 @@
<string name="tangempay_service_unavailable_title">Сервіс тимчасово недоступний</string>
<string name="tangempay_service_unreachable_try_later">Не можемо показати дані картки, але оплати продовжують працювати.</string>
<string name="tangempay_set_pin_code">Встановіть \nPIN-код</string>
<string name="tangempay_set_pin_header">Встановити новий ПІН-код</string>
<string name="tangempay_set_pin_title">Встановити ПІН-код</string>
<string name="tangempay_status_deactivated">Рахунок закрито</string>
<string name="tangempay_status_replacing">Заміна вашої картки</string>
<string name="tangempay_sync_needed">Використайте картку або кільце для поновлення сесії</string>
<string name="tangempay_sync_needed_body">Використайте картку або кільце для поновлення сесії</string>
<string name="tangempay_sync_needed_button">Відновити доступ</string>
@ -1808,6 +2026,10 @@
<string name="token_button_unavailability_reason_sell_unavailable">Наразі продаж %s недоступний. Слідкуйте за нашими оновленнями.</string>
<string name="token_button_unavailability_reason_staking_unavailable">Стейкінг %s зараз недоступний. Будь ласка, слідкуйте за нашими оновленнями.</string>
<string name="token_button_unavailability_reason_yield_supply_approval">Дозвіл скасовано. Ваші кошти залишаються в режимі прибутковості. Щоб виконати дії, перейдіть у режим прибутковості та надайте дозвіл знову.</string>
<string name="token_details_balance_available">Доступний баланс</string>
<string name="token_details_balance_total">Загальний баланс</string>
<string name="token_details_earn_staking_subtitle">До %s APR</string>
<string name="token_details_earn_staking_subtitle_apy">До %s APY</string>
<string name="token_details_generate_xpub">Згенерувати XPUB</string>
<string name="token_details_hide_alert_hide">Приховати</string>
<string name="token_details_hide_alert_message">Ви збираєтеся приховати цей токен з головного екрану. Ви можете додати його назад будь-коли на сторінці керування токенами.</string>
@ -1817,8 +2039,13 @@
<string name="token_details_staking_block_title">Сервіс стейкінгу</string>
<string name="token_details_token_type_subtitle">%1$s токен в мережі %%image%% %2$s</string>
<string name="token_details_token_type_subtitle_no_standard">Токен у мережі %%image%% %1$s</string>
<string name="token_details_toolbar_subtitle_network">%s мережа</string>
<string name="token_details_toolbar_subtitle_standard">%1$s у мережі %2$s</string>
<string name="token_details_toolbar_title_token_in_account">%1$s у %%image%% %2$s</string>
<string name="token_details_toolbar_title_token_in_wallet">%1$s у %2$s %%image%%</string>
<string name="token_details_unable_hide_alert_message">Токен %1$s (%2$s) є основною валютою в мережі %3$s і не може бути прихований до тих пір, поки у вас в списку є інші токени цієї мережі</string>
<string name="token_details_unable_hide_alert_title">Неможливо приховати %s</string>
<string name="token_market_metrics_no_data">N/A</string>
<string name="token_receive_show_qr_code_title">Показати QR-код</string>
<string name="token_swap_changelly_promotion_message">Обмінюйте цей токен на інші з %1$s комісією за обслуговування з %2$s по %3$s лютого.</string>
<string name="token_swap_changelly_promotion_title">Обмін із Changelly, %s комісії</string>
@ -1828,18 +2055,28 @@
<string name="tokens_list_unavailable_to_sell_header">Недоступно для продажу</string>
<string name="tokens_list_unavailable_to_swap_header">Недоступно для обміну з %s</string>
<string name="tokens_list_unavailable_to_swap_source_header">Недоступно для обміну</string>
<string name="transaction_history_claiming_reward">Отримання нагороди</string>
<string name="transaction_history_contract_address">контракт: %s</string>
<string name="transaction_history_disabling_yield_mode">Вимкнення режиму дохідності</string>
<string name="transaction_history_earned_from_stake">Зароблено на стейкінгу</string>
<string name="transaction_history_empty_transactions">У вас ще немає транзакцій</string>
<string name="transaction_history_error_failed_to_load">Не вдалося завантажити історію транзакцій.\nНатисніть кнопку нижче, щоб оновити інформацію</string>
<string name="transaction_history_from_inline_address">від: %%image%% %s</string>
<string name="transaction_history_multiple_addresses">Кілька адрес</string>
<string name="transaction_history_not_supported_description">Історія транзакцій наразі не підтримується для цього блокчейну. Але не хвилюйтеся, ми працюємо над цим! А поки можете перевірити це в оглядачі.</string>
<string name="transaction_history_operation">Операція</string>
<string name="transaction_history_pending">В очікуванні</string>
<string name="transaction_history_rewards_restaked">Нагороди рестейкнуто</string>
<string name="transaction_history_rewards_restaking">Рестейкінг нагород</string>
<string name="transaction_history_staking_reward">Нагорода за стейкінг</string>
<string name="transaction_history_to_inline_address">на: %%image%% %s</string>
<string name="transaction_history_transaction_for_address">для: %s</string>
<string name="transaction_history_transaction_from_address">від: %s</string>
<string name="transaction_history_transaction_to_address">до: %s</string>
<string name="transaction_history_transaction_validator">валідатор: %s</string>
<string name="transaction_notifications_warning_description">Сповіщення ввімкнені, але не працюватимуть, доки ви не дозволите їх у налаштуваннях пристрою.</string>
<string name="transaction_notifications_warning_title">Сповіщення про транзакції</string>
<string name="transfer_in_progress_title">Переказ в процесі</string>
<string name="transfer_min_amount_error">Мінімум %s</string>
<string name="transfer_notification_invalid_minimum_transaction_amount_text">Мінімальна сума транзакції становить %1$s.</string>
<string name="tron_will_be_send_token_fee_description">Комісії мережі Tron для популярних токенів можуть бути вищими. Стейкінг TRX може допомогти знизити транзакційні витрати.</string>
@ -1861,6 +2098,9 @@
<string name="universal_error">Виникла помилка. Код помилки: %s. Спробуйте, будь ласка, знову. Якщо проблема знову виникає — зверніться до нашої служби підтримки.</string>
<string name="unlock_wallet_description_full">Використовуйте %s або відскануйте картку/кільце, щоб отримати доступ до свого гаманця</string>
<string name="unsupported_wc_version">Не вдалося встановити з\'єднання: Цей dApp використовує Wallet Connect версії 1.0, яка не підтримується. Будь ласка, переконайтеся, що dApp підтримує Wallet Connect версії 2.0 для успішного підключення.</string>
<string name="update_approval_permission_fee_note">Попередній дозвіл буде відкликано, а замість нього видано новий. За кожну з цих дій мережа стягне комісію за підтвердження токена. В історії транзакцій з\'явиться операція з нульовою сумою як підтвердження відкликання дозволу.</string>
<string name="update_approval_permission_subtitle">Сума транзакції перевищує раніше наданий дозвіл.\nОновіть дозвіл, щоб продовжити.</string>
<string name="update_approval_permission_title">Оновіть дозвіл</string>
<string name="upgrade_to_hardware_wallet_button_title">Оновлення до апаратного гаманця</string>
<string name="user_push_notification_agreement_argument_one">Будьте в курсі останніх функцій та новин</string>
<string name="user_push_notification_agreement_argument_one_subtitle">Миттєві сповіщення про транзакції, обміни та важливі оновлення.</string>
@ -1868,7 +2108,9 @@
<string name="user_push_notification_agreement_argument_three">Отримуйте сповіщення про вхідні транзакції</string>
<string name="user_push_notification_agreement_argument_two">Дізнавайтеся першими про нові акції</string>
<string name="user_push_notification_agreement_argument_two_subtitle">Ранній доступ до нових функцій та ексклюзивних пропозицій.</string>
<string name="user_push_notification_agreement_argument_two_subtitle_v2">Сповіщення про зміну цін, новини продукту та ексклюзивні пропозиції</string>
<string name="user_push_notification_agreement_argument_two_title">Нові функції та важливі новини</string>
<string name="user_push_notification_agreement_argument_two_title_v2">Пропозиції та оновлення</string>
<string name="user_push_notification_agreement_header">Бажаєте використовувати Push-повідомлення?</string>
<string name="user_push_notification_banner_subtitle">Увімкніть push-сповіщення, щоб отримувати повідомлення, коли кошти надходять на ваш гаманець.</string>
<string name="user_push_notification_banner_title">Не пропустіть транзакцію</string>
@ -1998,6 +2240,10 @@
<string name="warning_access_denied_message">Використовуйте %s або відскануйте картку/кільце, щоб розблокувати доступ до вашого гаманця</string>
<string name="warning_approval_in_progress_message">Процес підтвердження наразі триває і буде завершено найближчим часом</string>
<string name="warning_approval_in_progress_title">Підтвердження в процесі</string>
<string name="warning_backup_error_add_funds_message">У цьому гаманці виникла проблема з резервним копіюванням. Зверніться до служби підтримки для її вирішення.</string>
<string name="warning_backup_error_add_funds_title">Поповнення вимкнено</string>
<string name="warning_backup_error_attention_message">Ваші картки були активовані неправильно. Щоб убезпечити кошти, переведіть їх на інший гаманець, скиньте картки до заводських налаштувань і активуйте заново.</string>
<string name="warning_backup_error_attention_title">Потрібна дія: скиньте налаштування гаманця</string>
<string name="warning_backup_errors_message">Схоже, що активація карток або кільця була виконана неправильно. Це може бути пов\'язано з проблемою з модулем NFC вашого пристрою або неправильним прикладанням картки або кільця до телефону. Будь ласка, зверніться за допомогою до нашої служби підтримки для уточнення деталей.</string>
<string name="warning_backup_errors_title">Помилка активації</string>
<string name="warning_beacon_chain_retirement_content">3 грудня 2024 року мережу BEP-2 було відключено за рішенням розробників мережі, і вона більше не підтримується</string>
@ -2084,6 +2330,8 @@
<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_outdated_data_message">Буде оновлено якнайшвидше.</string>
<string name="warning_outdated_data_title">Відсутня частина балансу токенів.</string>
<string name="warning_rate_app_message">Ваш відгук мотивує нас робити гаманець Tangem Wallet ще кращим</string>
<string name="warning_rate_app_title">Подобається Tangem?</string>
<string name="warning_receive_blocked_hedera_token_association_required_message">Вам необхідно провести асоціацію токена, щоб мати можливість приймати його</string>
@ -2237,7 +2485,12 @@
<string name="yield_apy_boost_banner_subtitle">Бонус за першу активацію!</string>
<string name="yield_apy_boost_banner_title">Спецпропозиція для режиму дохідності</string>
<string name="yield_apy_boost_banner_title_apy_multiplied">APY x3</string>
<string name="yield_apy_boost_promo_activate_bonus">Активувати бонус</string>
<string name="yield_apy_boost_promo_bonus_paid_out_subtitle">Деталі в історії транзакцій</string>
<string name="yield_apy_boost_promo_bonus_paid_out_title">Бонус режиму дохідності виплачено</string>
<string name="yield_apy_boost_promo_days_left_to_unlock">%1$sднів до розблокування бонусу</string>
<string name="yield_apy_boost_promo_eligibility_text">Вам доступний буст APY на 30 днів</string>
<string name="yield_apy_boost_promo_terms_and_conditions">Діють Умови та Положення</string>
<string name="yield_apy_boost_story_first_subtitle">Увімкніть режим дохідності вперше та отримайте до 3x доходу за перші 30 днів</string>
<string name="yield_apy_boost_story_first_title">Бонус APR за перший місяць</string>
<string name="yield_apy_boost_story_fourth_subtitle">Ви отримуєте ринковий дохід + Бонус. Бонус виплачується одноразово в USDT або USDC протягом 14 днів після закінчення 30-денного періоду. Акція діє, доки є промо-бюджет. Діють правила та умови</string>
@ -2255,6 +2508,7 @@
<string name="yield_module_approve_sheet_fee_note">Комісія буде знята, а ваші активи знову почнуть приносити дохід.</string>
<string name="yield_module_approve_sheet_subtitle">Щоб продовжити заробляти, потрібне схвалення.</string>
<string name="yield_module_approve_sheet_title">Підтвердити дозвіл</string>
<string name="yield_module_average_apy">Середній APY %1$s%%</string>
<string name="yield_module_balance_info_sheet_subtitle">Наразі ваші кошти розміщені у протоколі Aave, але ви можете керувати ними в будь-який час.</string>
<string name="yield_module_balance_info_sheet_title">Ваш %s внесений у Aave</string>
<string name="yield_module_chart_loading_error">Неможливо завантажити графік</string>
@ -2328,6 +2582,7 @@
<string name="yield_module_token_details_earn_notification_earning_on_your_balance_subtitle">Відсотки нараховуються автоматично</string>
<string name="yield_module_token_details_earn_notification_earning_on_your_balance_title">Режим дохідності</string>
<string name="yield_module_token_details_earn_notification_processing">Відправка ваших коштів</string>
<string name="yield_module_token_details_earn_notification_subtitle">Режим дохідності • %1$s%% APY</string>
<string name="yield_module_token_details_earn_notification_title">Режим прибутковості</string>
<string name="yield_module_transaction_deploy_contract">Встановлення контракту режиму дохідності</string>
<string name="yield_module_transaction_enter">Режим прибутковості увімкнено</string>
@ -2344,5 +2599,7 @@
<string name="yield_module_unable_to_cover_fee_title">Неможливо покрити комісію в %s</string>
<string name="yield_module_unavailable_subtitle">Сервіс доходності у даний час недоступний. Будь ласка, спробуйте пізніше.</string>
<string name="yield_module_unavailable_title">Режим дохідності недоступний</string>
<string name="yield_promo_completed">Умови виплати бонусу перевірено</string>
<string name="yield_promo_left_title">до розблокування бонусу</string>
<string name="yield_supply_chart_loading_error">Не вдалося завантажити графік...</string>
</resources>

View file

@ -390,6 +390,9 @@
<string name="tangempay_card_details_withdraw_in_progress_title">提款进行中</string>
<string name="tangempay_card_limit_setup_amount_subtitle">從 %s 設定限額</string>
<string name="tangempay_card_limit_setup_error_message">我们无法设置限额,请稍后再试。</string>
<plurals name="tangempay_cards_count">
<item quantity="other">%d 張卡</item>
</plurals>
<string name="tangempay_change_pin_code">修改PIN码</string>
<string name="tangempay_come_back_if_forget_pin">如果忘记了,请返回应用查看。</string>
<string name="tangempay_declined_reason_1">餘額不足</string>

View file

@ -275,6 +275,7 @@
<string name="common_attention">Attention</string>
<string name="common_available_networks">Available networks</string>
<string name="common_backup">Backup</string>
<string name="common_backup_error">Backup Error</string>
<string name="common_balance">Balance: %s</string>
<string name="common_balance_title">Balance</string>
<string name="common_biometric_authentication">biometric authentication</string>
@ -566,10 +567,10 @@
<string name="dynamic_addresses_enabled_toast_title">Dynamic addresses enabled</string>
<string name="dynamic_addresses_enter_features_privacy_description">Use a new address for each transaction to reduce traceability and improve on-chain privacy.</string>
<string name="dynamic_addresses_enter_features_privacy_title">Enhanced Privacy</string>
<string name="dynamic_addresses_enter_features_receving_description">Easily receive funds in UTXO-based networks with automatic address generation — no manual address management required.</string>
<string name="dynamic_addresses_enter_features_receving_description">Receive funds as usual. Tangem manages UTXO addresses automatically, so you dont need to choose or track them manually.</string>
<string name="dynamic_addresses_enter_features_receving_title">Seamless receiving</string>
<string name="dynamic_addresses_enter_main_button_title">Enable Dynamic Addresses</string>
<string name="dynamic_addresses_enter_subtitle">Dynamic addresses create a new one each time for extra privacy — your total balance stays the same. </string>
<string name="dynamic_addresses_enter_subtitle">Your wallet can use multiple receiving addresses for one asset. Tangem shows a new address after the previous one receives funds — all addresses still belong to the same wallet.</string>
<string name="dynamic_addresses_error_has_custom_token_description">Dynamic Addresses cannot be enabled because some custom addresses/tokens use a modified derivation path, which doesnt meet the required criteria.</string>
<string name="dynamic_addresses_error_has_custom_token_title">Dynamic Addresses Unavailable</string>
<string name="dynamic_addresses_error_service_unavailable_description">We cant connect to the provider right now. Please try again later.</string>
@ -647,6 +648,7 @@
<string name="express_legal_two_placeholders">By using swap functionality, you agree with providers %1$s and %2$s.</string>
<string name="express_more_providers_soon">More providers will be available soon</string>
<string name="express_provider">Provider</string>
<string name="express_provider_best_dex_rate">Best DEX Rate</string>
<string name="express_provider_best_rate">Best rate</string>
<string name="express_provider_fca_warning_list">FCA Warning List</string>
<string name="express_provider_fixed_rate_is_unavailable">Fixed rate is unavailable</string>
@ -1516,9 +1518,9 @@
<string name="staking_details_apr">APR</string>
<string name="staking_details_apy">APY</string>
<string name="staking_details_auto_claiming_rewards_daily_text">Rewards automatically accumulate in your staking balance daily.</string>
<string name="staking_details_autocompound_rewards_earned">Rewards are compounded to your staking balance. Funds earned: %s</string>
<string name="staking_details_autocompound_rewards_compounded">Rewards are compounded to your staking balance.</string>
<string name="staking_details_autocompound_funds_earned">Funds earned: %s</string>
<string name="staking_details_autocompound_rewards_compounded">Rewards are compounded to your staking balance.</string>
<string name="staking_details_autocompound_rewards_earned">Rewards are compounded to your staking balance. Funds earned: %s</string>
<string name="staking_details_available">Available</string>
<string name="staking_details_average_reward_rate">Average Reward Rate</string>
<string name="staking_details_banner_text">How Staking Works?</string>

@ -1 +1 @@
Subproject commit 0be9b5e9f7fe13c483f9d037617e36c8848f2842
Subproject commit 76d6a50dc3161cfc6cc7055afc8ce4ba619ac5c6

View file

@ -1 +1 @@
058e1ecd83440d5fda33512248f67176db593029c9b398e4a2692816703e451c
7a974320353cf7ea1e0a25ca074f8e200ce44506044cc5b2bdcb00aee2c6dc85

View file

@ -1,6 +1,6 @@
# token-gen
Generates Kotlin (Jetpack Compose) source files from design tokens defined in the `ds-tokens` git submodule.
Generates Kotlin (Jetpack Compose) source files from design tokens and icons defined in the `ds-tokens` git submodule.
## Updating tokens
@ -23,10 +23,18 @@ Generates Kotlin (Jetpack Compose) source files from design tokens defined in th
```bash
cd core/ui/token-gen && npm run build
```
`npm run build` generates both tokens and icons. To regenerate only one of them:
```bash
npm run build:tokens # node build-tokens.mjs
npm run build:icons # node build-icons.mjs
```
3. Commit the generated files (and the submodule pointer too, only if you ran step 1).
## How it works
The script uses [Style Dictionary v5](https://styledictionary.com/) with [@tokens-studio/sd-transforms](https://github.com/tokens-studio/sd-transforms) to read JSON token files from `core/ui/ds-tokens/tokens/` and generate Kotlin files into `core/ui/src/main/java/com/tangem/core/ui/res/generated/`.
The build runs two scripts:
- **`build-tokens.mjs`** uses [Style Dictionary v5](https://styledictionary.com/) with [@tokens-studio/sd-transforms](https://github.com/tokens-studio/sd-transforms) to read JSON token files from `core/ui/ds-tokens/tokens/` and generate Kotlin files into `core/ui/src/main/java/com/tangem/core/ui/res/generated/`.
- **`build-icons.mjs`** generates Kotlin icon source files into `core/ui/src/main/java/com/tangem/core/ui/res/generated/icons/`.
All generated files are written to `com.tangem.core.ui.res.generated` and should not be edited manually.

View file

@ -4,7 +4,9 @@
"private": true,
"type": "module",
"scripts": {
"build": "node build-tokens.mjs"
"build": "node build-tokens.mjs && node build-icons.mjs",
"build:tokens": "node build-tokens.mjs",
"build:icons": "node build-icons.mjs"
},
"devDependencies": {
"style-dictionary": "^5.4.0",