Updated on 2026-08-14
This commit is contained in:
parent
2ade5a1407
commit
645cf17efb
24 changed files with 612 additions and 112 deletions
|
|
@ -27,6 +27,7 @@ class BasicEventsPreChecker {
|
|||
BasicTopUpEventConverter().convert(converterData)?.let { Analytics.send(it) }
|
||||
}
|
||||
|
||||
@Suppress("ComplexMethod")
|
||||
private fun isReadyToSend(data: BasicEventsSourceData): Boolean {
|
||||
val (scanResponse, walletState, biometricsWalletDataModels) = data
|
||||
if (walletState.derivationsCheckIsScheduled) {
|
||||
|
|
@ -69,13 +70,14 @@ class BasicEventsPreChecker {
|
|||
return false
|
||||
}
|
||||
|
||||
if (biometricsWalletDataModels.any {
|
||||
val isCorrectStatus = biometricsWalletDataModels.any {
|
||||
it.status is WalletDataModel.Loading ||
|
||||
it.status is WalletDataModel.NoAccount ||
|
||||
it.status is WalletDataModel.Unreachable ||
|
||||
it.status is WalletDataModel.MissedDerivation ||
|
||||
it.status.isErrorStatus
|
||||
}) {
|
||||
}
|
||||
if (isCorrectStatus) {
|
||||
Timber.d("FAILED: by status")
|
||||
return false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,8 @@ class ShopOrderToEventConverter : Converter<Pair<Storefront.Checkout, ProductTyp
|
|||
ProductType.WALLET_3_CARDS -> "3"
|
||||
}
|
||||
val amount = "${checkout.totalPriceV2.amount} ${checkout.totalPriceV2.currencyCode.name}"
|
||||
val code = (checkout.discountApplications.edges.firstOrNull()?.node as? Storefront.DiscountCodeApplication)?.code
|
||||
val code = (checkout.discountApplications.edges.firstOrNull()?.node as? Storefront.DiscountCodeApplication)
|
||||
?.code
|
||||
|
||||
return Shop.Purchased(sku, count, amount, code)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -148,27 +148,29 @@ object ScanCardProcessor {
|
|||
store.dispatchOnMain(DisclaimerAction.SetDisclaimer(disclaimer))
|
||||
|
||||
if (disclaimer.isAccepted()) {
|
||||
nextHandler((scanResponse))
|
||||
} else scope.launch {
|
||||
delay(DELAY_SDK_DIALOG_CLOSE)
|
||||
disclaimerWillShow()
|
||||
dispatchOnMain(
|
||||
DisclaimerAction.Show(
|
||||
fromScreen = AppScreen.Home,
|
||||
callback = DisclaimerCallback(
|
||||
onAccept = {
|
||||
scope.launch(Dispatchers.Main) {
|
||||
nextHandler(scanResponse)
|
||||
}
|
||||
},
|
||||
onDismiss = {
|
||||
scope.launch(Dispatchers.Main) {
|
||||
onFailure(TangemSdkError.UserCancelled())
|
||||
}
|
||||
},
|
||||
nextHandler(scanResponse)
|
||||
} else {
|
||||
scope.launch {
|
||||
delay(DELAY_SDK_DIALOG_CLOSE)
|
||||
disclaimerWillShow()
|
||||
dispatchOnMain(
|
||||
DisclaimerAction.Show(
|
||||
fromScreen = AppScreen.Home,
|
||||
callback = DisclaimerCallback(
|
||||
onAccept = {
|
||||
scope.launch(Dispatchers.Main) {
|
||||
nextHandler(scanResponse)
|
||||
}
|
||||
},
|
||||
onDismiss = {
|
||||
scope.launch(Dispatchers.Main) {
|
||||
onFailure(TangemSdkError.UserCancelled())
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,10 +47,10 @@ internal class DefaultTotalFiatBalanceCalculator : TotalFiatBalanceCalculator {
|
|||
is WalletDataModel.VerifiedOnline,
|
||||
is WalletDataModel.SameCurrencyTransactionInProgress,
|
||||
is WalletDataModel.TransactionInProgress,
|
||||
is WalletDataModel.NoAccount,
|
||||
-> {
|
||||
if (walletData.fiatRate == null) TotalFiatBalanceStatus.Error
|
||||
else TotalFiatBalanceStatus.Loaded
|
||||
is WalletDataModel.NoAccount -> if (walletData.fiatRate == null) {
|
||||
TotalFiatBalanceStatus.Error
|
||||
} else {
|
||||
TotalFiatBalanceStatus.Loaded
|
||||
}
|
||||
is WalletDataModel.Unreachable,
|
||||
is WalletDataModel.MissedDerivation,
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ private fun readCard(analyticsEvent: AnalyticsEvent?) = scope.launch {
|
|||
|
||||
private suspend fun navigateTo(appScreen: AppScreen) {
|
||||
store.dispatchOnMain(NavigationAction.NavigateTo(appScreen))
|
||||
delay(200)
|
||||
delay(timeMillis = 200)
|
||||
changeButtonState(ButtonState.ENABLED)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,35 +11,33 @@ import com.tangem.tap.store
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class SaltPayExceptionHandler {
|
||||
companion object {
|
||||
fun handle(throwable: Throwable) {
|
||||
when (throwable) {
|
||||
is SaltPayActivationError -> {
|
||||
val dialog = when (throwable) {
|
||||
is SaltPayActivationError.NoGas -> SaltPayDialog.Activation.NoGas
|
||||
is SaltPayActivationError.PutVisaCard -> SaltPayDialog.Activation.PutVisaCard
|
||||
else -> SaltPayDialog.Activation.OnError(throwable)
|
||||
object SaltPayExceptionHandler {
|
||||
fun handle(throwable: Throwable) {
|
||||
when (throwable) {
|
||||
is SaltPayActivationError -> {
|
||||
val dialog = when (throwable) {
|
||||
is SaltPayActivationError.NoGas -> SaltPayDialog.Activation.NoGas
|
||||
is SaltPayActivationError.PutVisaCard -> SaltPayDialog.Activation.PutVisaCard
|
||||
else -> SaltPayDialog.Activation.OnError(throwable)
|
||||
}
|
||||
store.dispatchDialogShow(dialog)
|
||||
}
|
||||
is TangemSdkError -> {
|
||||
when (throwable) {
|
||||
is TangemSdkError.NetworkError -> {
|
||||
val message = throwable.customMessage
|
||||
store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(message))
|
||||
}
|
||||
store.dispatchDialogShow(dialog)
|
||||
}
|
||||
is TangemSdkError -> {
|
||||
when (throwable) {
|
||||
is TangemSdkError.NetworkError -> {
|
||||
val message = (throwable).customMessage
|
||||
store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(message))
|
||||
}
|
||||
else -> Unit
|
||||
}
|
||||
}
|
||||
is BlockchainSdkError -> {
|
||||
store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(throwable.customMessage))
|
||||
}
|
||||
else -> {
|
||||
val message = throwable.localizedMessage ?: "SaltPay unknown error"
|
||||
store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(message))
|
||||
else -> Unit
|
||||
}
|
||||
}
|
||||
is BlockchainSdkError -> {
|
||||
store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(throwable.customMessage))
|
||||
}
|
||||
else -> {
|
||||
val message = throwable.localizedMessage ?: "SaltPay unknown error"
|
||||
store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(message))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -11,17 +11,15 @@ import com.tangem.wallet.R
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class InterruptOnboardingDialog {
|
||||
companion object {
|
||||
fun create(context: Context, dialog: OnboardingDialog.InterruptOnboarding): Dialog {
|
||||
return AlertDialog.Builder(context).apply {
|
||||
setTitle(context.getString(R.string.onboarding_exit_alert_title))
|
||||
setMessage(context.getString(R.string.onboarding_exit_alert_message))
|
||||
setPositiveButton(R.string.common_ok) { _, _ -> dialog.onOk() }
|
||||
setNegativeButton(R.string.common_cancel) { _, _ -> }
|
||||
setOnDismissListener { store.dispatchDialogHide() }
|
||||
setCancelable(false)
|
||||
}.create()
|
||||
}
|
||||
object InterruptOnboardingDialog {
|
||||
fun create(context: Context, dialog: OnboardingDialog.InterruptOnboarding): Dialog {
|
||||
return AlertDialog.Builder(context).apply {
|
||||
setTitle(context.getString(R.string.onboarding_exit_alert_title))
|
||||
setMessage(context.getString(R.string.onboarding_exit_alert_message))
|
||||
setPositiveButton(R.string.common_ok) { _, _ -> dialog.onOk() }
|
||||
setNegativeButton(R.string.common_cancel) { _, _ -> }
|
||||
setOnDismissListener { store.dispatchDialogHide() }
|
||||
setCancelable(false)
|
||||
}.create()
|
||||
}
|
||||
}
|
||||
|
|
@ -10,18 +10,16 @@ import com.tangem.wallet.R
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class PutVisaCardDialog {
|
||||
companion object {
|
||||
fun create(context: Context): Dialog {
|
||||
return AlertDialog.Builder(context).apply {
|
||||
setTitle(R.string.saltpay_error_empty_backup_title)
|
||||
setMessage(R.string.saltpay_error_empty_backup_message)
|
||||
setPositiveButton(R.string.common_ok) { _, _ -> }
|
||||
setOnDismissListener {
|
||||
store.dispatch(GlobalAction.HideDialog)
|
||||
}
|
||||
setCancelable(false)
|
||||
}.create()
|
||||
}
|
||||
object PutVisaCardDialog {
|
||||
fun create(context: Context): Dialog {
|
||||
return AlertDialog.Builder(context).apply {
|
||||
setTitle(R.string.saltpay_error_empty_backup_title)
|
||||
setMessage(R.string.saltpay_error_empty_backup_message)
|
||||
setPositiveButton(R.string.common_ok) { _, _ -> }
|
||||
setOnDismissListener {
|
||||
store.dispatch(GlobalAction.HideDialog)
|
||||
}
|
||||
setCancelable(false)
|
||||
}.create()
|
||||
}
|
||||
}
|
||||
|
|
@ -48,8 +48,7 @@ sealed class SaltPayActivationError(
|
|||
object FailedToGetFundsToClaim : SaltPayActivationError(subCode = 14)
|
||||
object NoFundsToClaim : SaltPayActivationError(subCode = 15)
|
||||
object ClaimTransactionFailed : SaltPayActivationError(subCode = 16)
|
||||
|
||||
object PutVisaCard : SaltPayActivationError(18)
|
||||
object PutVisaCard : SaltPayActivationError(subCode = 18)
|
||||
|
||||
companion object {
|
||||
const val EMPTY_MESSAGE = ""
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ class ShopFragment : BaseStoreFragment(R.layout.fragment_shop), StoreSubscriber<
|
|||
private val binding: FragmentShopBinding by viewBinding(FragmentShopBinding::bind)
|
||||
private var cardTranslationY = 70f
|
||||
|
||||
lateinit var keyboardObserver: KeyboardObserver
|
||||
private lateinit var keyboardObserver: KeyboardObserver
|
||||
|
||||
override fun subscribeToStore() {
|
||||
store.subscribe(this) { state ->
|
||||
|
|
|
|||
|
|
@ -66,7 +66,6 @@ import kotlinx.coroutines.awaitAll
|
|||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import org.rekotlin.Action
|
||||
import org.rekotlin.DispatchFunction
|
||||
import org.rekotlin.Middleware
|
||||
import timber.log.Timber
|
||||
import java.math.BigDecimal
|
||||
|
|
@ -87,17 +86,17 @@ class WalletMiddleware {
|
|||
)
|
||||
}
|
||||
|
||||
val walletMiddleware: Middleware<AppState> = { dispatch, state ->
|
||||
val walletMiddleware: Middleware<AppState> = { _, state ->
|
||||
{ next ->
|
||||
{ action ->
|
||||
handleAction(state, action, dispatch)
|
||||
handleAction(state, action)
|
||||
next(action)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("LongMethod", "ComplexMethod")
|
||||
private fun handleAction(state: () -> AppState?, action: Action, dispatch: DispatchFunction) {
|
||||
private fun handleAction(state: () -> AppState?, action: Action) {
|
||||
if (DemoHelper.tryHandle(state, action)) return
|
||||
|
||||
val globalState = store.state.globalState
|
||||
|
|
@ -203,7 +202,7 @@ class WalletMiddleware {
|
|||
is WalletAction.Scan -> {
|
||||
store.dispatch(NavigationAction.PopBackTo(AppScreen.Home))
|
||||
scope.launch {
|
||||
delay(700)
|
||||
delay(timeMillis = 700)
|
||||
store.dispatchOnMain(HomeAction.ReadCard(action.onScanSuccessEvent))
|
||||
}
|
||||
}
|
||||
|
|
@ -344,7 +343,7 @@ class WalletMiddleware {
|
|||
.filter { store ->
|
||||
store.walletsData.any { it.status is WalletDataModel.MissedDerivation }
|
||||
}
|
||||
.map { it.blockchainNetwork }
|
||||
.map(WalletStoreModel::blockchainNetwork)
|
||||
|
||||
store.dispatchOnMain(WalletAction.MultiWallet.AddMissingDerivations(missedDerivations))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,10 +104,12 @@ internal class WalletSelectorMiddleware {
|
|||
updatedWalletStores: Map<UserWalletId, List<WalletStoreModel>>,
|
||||
state: WalletSelectorState,
|
||||
) {
|
||||
if (updatedWalletStores.isNotEmpty()) scope.launch(Dispatchers.Default) {
|
||||
val updatedWallets = state.wallets.updateWalletStoresAndCalculateFiatBalance(updatedWalletStores)
|
||||
if (updatedWallets != state.wallets) {
|
||||
store.dispatchOnMain(WalletSelectorAction.BalancesLoaded(updatedWallets))
|
||||
if (updatedWalletStores.isNotEmpty()) {
|
||||
scope.launch(Dispatchers.Default) {
|
||||
val updatedWallets = state.wallets.updateWalletStoresAndCalculateFiatBalance(updatedWalletStores)
|
||||
if (updatedWallets != state.wallets) {
|
||||
store.dispatchOnMain(WalletSelectorAction.BalancesLoaded(updatedWallets))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,10 +228,10 @@ private fun LoadingTokensInfo(isMultiCurrencyWallet: Boolean) {
|
|||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
private fun LoadedTokensInfo(
|
||||
modifier: Modifier = Modifier,
|
||||
balanceAmount: String,
|
||||
tokensCount: Int?,
|
||||
showWarning: Boolean,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Column(
|
||||
modifier = modifier,
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ object Versions {
|
|||
const val tangemBlockchainSdk = "develop-154"
|
||||
// const val tangemBlockchainSdk = "0.0.1" // Keep it! - used for local builds
|
||||
|
||||
const val tangemCardSdk = "develop-180"
|
||||
const val tangemCardSdk = "develop-184"
|
||||
// const val tangemCardSgk = "0.0.1" // Keep it! - used for local builds
|
||||
// endregion Tangem
|
||||
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@
|
|||
<string name="app_settings_saved_wallet">Keep the wallet in the app</string>
|
||||
<string name="app_settings_saved_wallet_footer">Enable to link all the wallets to Tangem app. Biometric authentication will be required for unlocking the app. Transaction signing requires tapping your Tangem card.</string>
|
||||
<string name="app_settings_title">App Settings</string>
|
||||
<string name="card_settings_action_sheet_reset">Reset</string>
|
||||
<string name="card_settings_action_sheet_title">Are you sure you want to do this?</string>
|
||||
<string name="card_settings_change_access_code">Change Access Code</string>
|
||||
<string name="card_settings_change_access_code_footer">Access code will be changed on this card only</string>
|
||||
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
|
||||
|
|
@ -348,7 +346,7 @@
|
|||
<string name="swapping_swap">Swap</string>
|
||||
<string name="swapping_swap_of_to">Swap of %1$s to %2$s</string>
|
||||
<string name="swapping_token_list_other_tokens">Other tokens</string>
|
||||
<string name="swapping_token_list_your_title">Choose token</string>
|
||||
<string name="swapping_token_list_title">Choose token</string>
|
||||
<string name="swapping_token_list_your_tokens">Your tokens</string>
|
||||
<string name="swapping_token_not_available">not available</string>
|
||||
<string name="tangem_app_name">Tangem</string>
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@
|
|||
<string name="app_settings_saved_wallet">Keep the wallet in the app</string>
|
||||
<string name="app_settings_saved_wallet_footer">Enable to link all the wallets to Tangem app. Biometric authentication will be required for unlocking the app. Transaction signing requires tapping your Tangem card.</string>
|
||||
<string name="app_settings_title">App Settings</string>
|
||||
<string name="card_settings_action_sheet_reset">Reset</string>
|
||||
<string name="card_settings_action_sheet_title">Are you sure you want to do this?</string>
|
||||
<string name="card_settings_change_access_code">Change Access Code</string>
|
||||
<string name="card_settings_change_access_code_footer">Access code will be changed on this card only</string>
|
||||
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
|
||||
|
|
@ -348,7 +346,7 @@
|
|||
<string name="swapping_swap">Swap</string>
|
||||
<string name="swapping_swap_of_to">Swap of %1$s to %2$s</string>
|
||||
<string name="swapping_token_list_other_tokens">Other tokens</string>
|
||||
<string name="swapping_token_list_your_title">Choose token</string>
|
||||
<string name="swapping_token_list_title">Choose token</string>
|
||||
<string name="swapping_token_list_your_tokens">Your tokens</string>
|
||||
<string name="swapping_token_not_available">not available</string>
|
||||
<string name="tangem_app_name">Tangem</string>
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@
|
|||
<string name="app_settings_saved_wallet">Keep the wallet in the app</string>
|
||||
<string name="app_settings_saved_wallet_footer">Enable to link all the wallets to Tangem app. Biometric authentication will be required for unlocking the app. Transaction signing requires tapping your Tangem card.</string>
|
||||
<string name="app_settings_title">App Settings</string>
|
||||
<string name="card_settings_action_sheet_reset">Reset</string>
|
||||
<string name="card_settings_action_sheet_title">Are you sure you want to do this?</string>
|
||||
<string name="card_settings_change_access_code">Change Access Code</string>
|
||||
<string name="card_settings_change_access_code_footer">Access code will be changed on this card only</string>
|
||||
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
|
||||
|
|
@ -348,7 +346,7 @@
|
|||
<string name="swapping_swap">Swap</string>
|
||||
<string name="swapping_swap_of_to">Swap of %1$s to %2$s</string>
|
||||
<string name="swapping_token_list_other_tokens">Other tokens</string>
|
||||
<string name="swapping_token_list_your_title">Choose token</string>
|
||||
<string name="swapping_token_list_title">Choose token</string>
|
||||
<string name="swapping_token_list_your_tokens">Your tokens</string>
|
||||
<string name="swapping_token_not_available">not available</string>
|
||||
<string name="tangem_app_name">Tangem</string>
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@
|
|||
<string name="app_settings_saved_wallet">Cохранение кошелька</string>
|
||||
<string name="app_settings_saved_wallet_footer">Подключите функцию привязки карты в приложении, а также возможность биометрической аутентификации. Подпись транзакции все так же потребует карту.</string>
|
||||
<string name="app_settings_title">Настройки приложения</string>
|
||||
<string name="card_settings_action_sheet_reset">Сбросить</string>
|
||||
<string name="card_settings_action_sheet_title">Вы уверены, что хотите это сделать?</string>
|
||||
<string name="card_settings_change_access_code">Смена кода доступа</string>
|
||||
<string name="card_settings_change_access_code_footer">Код доступа будет изменен только на данной карте</string>
|
||||
<string name="card_settings_reset_card_to_factory">Сброс к заводским настройкам</string>
|
||||
|
|
@ -348,7 +346,7 @@
|
|||
<string name="swapping_swap">Обмен</string>
|
||||
<string name="swapping_swap_of_to">Обмен %1$s на %2$s</string>
|
||||
<string name="swapping_token_list_other_tokens">Другие токены</string>
|
||||
<string name="swapping_token_list_your_title">Выберите токен</string>
|
||||
<string name="swapping_token_list_title">Выберите токен</string>
|
||||
<string name="swapping_token_list_your_tokens">Ваши токены</string>
|
||||
<string name="swapping_token_not_available">не доступен</string>
|
||||
<string name="tangem_app_name">Tangem</string>
|
||||
|
|
|
|||
23
core/res/src/main/res/values-zh-rTW/strings-blockchain.xml
Normal file
23
core/res/src/main/res/values-zh-rTW/strings-blockchain.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="address_type_default">默認</string>
|
||||
<string name="address_type_legacy">遺留資產</string>
|
||||
<string name="common_fee_error">獲取費用失敗</string>
|
||||
<string name="no_account_generic">加載 %1$s+ %2$s 以創建帳戶</string>
|
||||
<string name="no_account_polkadot">目標帳戶未激活。發送 %s 或更多以激活帳戶。</string>
|
||||
<string name="send_error_blockchain_internal">區塊鏈內部錯誤</string>
|
||||
<string name="send_error_dust_amount_format">最小數量是 %s</string>
|
||||
<string name="send_error_dust_change">更動太小</string>
|
||||
<string name="send_error_insufficient_balance">餘額不足</string>
|
||||
<string name="send_error_invalid_fee_value">無效費用</string>
|
||||
<string name="send_error_minimum_balance_format">最低餘額為 %s</string>
|
||||
<string name="send_error_no_target_account">未創建目標帳戶。發送金額應為 %s + 費用或更多</string>
|
||||
<string name="send_error_unknown">未知錯誤</string>
|
||||
<string name="send_validation_amount_exceeds_balance">金額超出餘額</string>
|
||||
<string name="send_validation_invalid_amount">無效金額</string>
|
||||
<string name="send_validation_invalid_fee">費用超出餘額</string>
|
||||
<string name="send_validation_invalid_total">總金額超出餘額</string>
|
||||
<string name="xtz_withdrawal_message_ignore">不,全部發送</string>
|
||||
<string name="xtz_withdrawal_message_reduce">減少 %s XTZ</string>
|
||||
<string name="xtz_withdrawal_message_warning">為避免下次給錢包充值時支付增加的佣金,請將金額減少 %s XTZ</string>
|
||||
</resources>
|
||||
468
core/res/src/main/res/values-zh-rTW/strings.xml
Normal file
468
core/res/src/main/res/values-zh-rTW/strings.xml
Normal file
|
|
@ -0,0 +1,468 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="add_custom_token_title">添加自定義代幣</string>
|
||||
<string name="address_qr_code_message_format">僅將 %1$s (%2$s) 從 %3$s 網絡發送到此地址。使用其他代幣和網絡可能會導致資金損失</string>
|
||||
<string name="alert_button_request_support">請求支持</string>
|
||||
<string name="alert_button_send_feedback">發送反饋</string>
|
||||
<string name="alert_card_signed_transactions">此卡過去已經充值並簽署過交易。如果您從不受信任的來源收到此卡,請考慮立即提取所有資金。如果是您的卡,則無需擔心</string>
|
||||
<string name="alert_demo_feature_disabled">此功能不在展示模式中提供</string>
|
||||
<string name="alert_demo_message">您正在展示模式。所有資產皆不是真的</string>
|
||||
<string name="alert_developer_card">您掃描的卡是開發卡。不要用它作為付款方式</string>
|
||||
<string name="alert_failed_to_send_transaction_message">原因:%s</string>
|
||||
<string name="alert_failed_to_send_transaction_title">無法發送交易</string>
|
||||
<string name="alert_manage_tokens_addresses_message">請注意代幣在不同的網路有不同的地址。請再次檢查正確的地址</string>
|
||||
<string name="alert_manage_tokens_unsupported_message">此卡不支持Solana網路上的代幣因為韌體限制</string>
|
||||
<string name="alert_signed_hashes_message">這張卡不是不記名票據。我們目前無法將卡上的簽名計數與區塊鏈上的信息相匹配。這很正常,但在極少數情況下可能意味著以前的持有人正在阻止離線簽名,這是安全問題。不要接受此卡作為您不信任的人的實物付款。它在所有其他方面都非常安全。Tangem 是唯一提供簽名計數保護的硬件錢包。</string>
|
||||
<string name="alert_troubleshooting_scan_card_title">有困難在掃描卡上嗎?</string>
|
||||
<string name="alert_unsupported_card">此卡不適用於此app</string>
|
||||
<string name="app_settings_enable_biometrics_description">轉到設置以在 Tangem App 中啟用生物識別身份驗證</string>
|
||||
<string name="app_settings_enable_biometrics_title">啟用生物辨識</string>
|
||||
<string name="app_settings_off_saved_access_code_alert_message">這將刪除所有保存的錢包訪問代碼。對錢包的任何進一步操作都需要提交訪問代碼。</string>
|
||||
<string name="app_settings_off_saved_wallet_alert_message">移除已保存的卡會刪除所有已保存的錢包及其訪問密碼</string>
|
||||
<string name="app_settings_saved_access_codes">保存訪問密碼</string>
|
||||
<string name="app_settings_saved_access_codes_footer">在與您的卡進行交互時,將要求進行生物識別身份驗證,而不是訪問密碼</string>
|
||||
<string name="app_settings_saved_wallet">將錢包保存在應用程序中</string>
|
||||
<string name="app_settings_saved_wallet_footer">啟用以將所有錢包鏈接到 Tangem 應用程序。解鎖應用程序需要生物識別身份驗證。交易簽名需要輕觸您的 Tangem 卡片</string>
|
||||
<string name="app_settings_title">APP設置</string>
|
||||
<string name="card_settings_change_access_code">更改訪問密碼</string>
|
||||
<string name="card_settings_change_access_code_footer">訪問密碼將僅在此卡上更改</string>
|
||||
<string name="card_settings_reset_card_to_factory">回復至原廠設置</string>
|
||||
<string name="card_settings_security_mode">安全模式</string>
|
||||
<string name="card_settings_title">卡片設置</string>
|
||||
<string name="chat_bot_name">Tangem 機器人</string>
|
||||
<string name="common_accept">接受</string>
|
||||
<string name="common_add">添加</string>
|
||||
<string name="common_attention">注意</string>
|
||||
<string name="common_balance">餘額: %s</string>
|
||||
<string name="common_biometric_authentication">生物識別</string>
|
||||
<string name="common_biometrics">生物</string>
|
||||
<string name="common_camera_denied_alert_message">您尚未授予相機訪問權限,請更改您的隱私設置</string>
|
||||
<string name="common_cancel">刪除</string>
|
||||
<string name="common_close">關閉</string>
|
||||
<string name="common_continue">繼續</string>
|
||||
<string name="common_copy">複製</string>
|
||||
<string name="common_create">創造</string>
|
||||
<string name="common_delete">刪除</string>
|
||||
<string name="common_disconnect">斷開連接</string>
|
||||
<string name="common_done">完成</string>
|
||||
<string name="common_enable">允許</string>
|
||||
<string name="common_error">錯誤</string>
|
||||
<string name="common_no">否</string>
|
||||
<string name="common_ok">OK</string>
|
||||
<string name="common_origin_card">主卡片</string>
|
||||
<string name="common_reject">拒絕</string>
|
||||
<string name="common_retry">重試</string>
|
||||
<string name="common_save_changes">保存設置</string>
|
||||
<string name="common_search">搜索</string>
|
||||
<string name="common_server_unavailable">伺服器不可用,請稍後在試</string>
|
||||
<string name="common_share">分享</string>
|
||||
<string name="common_sign">簽署</string>
|
||||
<string name="common_sign_and_send">簽署和發送</string>
|
||||
<string name="common_start">開始</string>
|
||||
<string name="common_submit">提交</string>
|
||||
<string name="common_success">成功</string>
|
||||
<string name="common_terms_and_conditions">條款和條件</string>
|
||||
<string name="common_understand">我了解</string>
|
||||
<string name="common_warning">警告</string>
|
||||
<string name="common_yes">是</string>
|
||||
<string name="contract_address_copied_message">已複製代幣地址</string>
|
||||
<string name="currency_subtitle_expanded">支持的網路</string>
|
||||
<string name="custom_token_contract_address_input_title">代幣地址</string>
|
||||
<string name="custom_token_creation_error_invalid_contract_address">無效地址</string>
|
||||
<string name="custom_token_creation_error_invalid_derivation_path">衍生路徑錯誤</string>
|
||||
<string name="custom_token_creation_error_network_not_selected">請選擇網路</string>
|
||||
<string name="custom_token_creation_error_required_field">必填</string>
|
||||
<string name="custom_token_creation_error_wrong_decimals">十進制數必須是有效整數,不大於 %d</string>
|
||||
<string name="custom_token_decimals_input_title">小數點</string>
|
||||
<string name="custom_token_derivation_path_default">默認</string>
|
||||
<string name="custom_token_derivation_path_input_title">BIP44 幣種</string>
|
||||
<string name="custom_token_name_input_placeholder">如 USD Coin</string>
|
||||
<string name="custom_token_name_input_title">名稱</string>
|
||||
<string name="custom_token_network_input_not_selected">未選擇</string>
|
||||
<string name="custom_token_network_input_title">網路</string>
|
||||
<string name="custom_token_token_symbol_input_placeholder">如 USDC</string>
|
||||
<string name="custom_token_token_symbol_input_title">代幣符號</string>
|
||||
<string name="custom_token_validation_error_already_added">此代幣/網路已被加入</string>
|
||||
<string name="custom_token_validation_error_not_found">請注意代幣可以被任何人創造。小心詐騙</string>
|
||||
<string name="details_chat">交談</string>
|
||||
<string name="details_manage_security_access_code">訪問密碼</string>
|
||||
<string name="details_manage_security_access_code_description">在掃描卡之前,您必須提交正確的訪問密碼</string>
|
||||
<string name="details_manage_security_long_tap">長按</string>
|
||||
<string name="details_manage_security_long_tap_description">此機制可防止對卡進行鄰近攻擊。它將強制執行命令的接收和執行之間的延遲。</string>
|
||||
<string name="details_manage_security_passcode">密碼</string>
|
||||
<string name="details_manage_security_passcode_description">在執行任何需要更改卡狀態的命令之前,您必須輸入密碼</string>
|
||||
<string name="details_referral_title">推薦計畫</string>
|
||||
<string name="details_row_privacy_policy">隱私政策</string>
|
||||
<string name="details_row_subtitle_signed_hashes_format">%s hashes</string>
|
||||
<string name="details_row_title_card_tou">卡片使用條款</string>
|
||||
<string name="details_row_title_cid">卡號</string>
|
||||
<string name="details_row_title_create_backup">連結更多錢包</string>
|
||||
<string name="details_row_title_currency">App Currency</string>
|
||||
<string name="details_row_title_issuer">發行人</string>
|
||||
<string name="details_row_title_send_feedback">發送反饋</string>
|
||||
<string name="details_row_title_signed_hashes">簽署</string>
|
||||
<string name="details_title">細節</string>
|
||||
<string name="disclaimer_error_loading">檢查您的網路連接或切換到其他網絡</string>
|
||||
<string name="disclaimer_title">服務條款</string>
|
||||
<string name="error_update_app">糟糕,當前版本的應用程序無法使用此卡,請檢查更新</string>
|
||||
<string name="error_wrong_wallet_tapped">您使用了另一個錢包中的卡。點按與此錢包關聯的卡片</string>
|
||||
<string name="exchange_receive_view_header">您收到</string>
|
||||
<string name="exchange_send_view_header">您發送</string>
|
||||
<string name="feedback_data_collection_message">以下信息是可選的。如果不想共享,可以將其刪除</string>
|
||||
<string name="feedback_preface_rate_negative">告訴我們您缺少哪些功能,我們會盡力幫助您</string>
|
||||
<string name="feedback_preface_scan_failed">請告訴我們你有什麼卡</string>
|
||||
<string name="feedback_preface_support">嗨! 幫助團隊,</string>
|
||||
<string name="feedback_preface_tx_failed">請告訴我們更多有關您的問題的信息。提供任何小細節都會帶來幫助</string>
|
||||
<string name="feedback_subject_rate_negative">我的建議</string>
|
||||
<string name="feedback_subject_scan_failed">無法掃卡</string>
|
||||
<string name="feedback_subject_support">反饋</string>
|
||||
<string name="feedback_subject_support_tangem">Tangem反饋</string>
|
||||
<string name="feedback_subject_tx_failed">無法發送交易</string>
|
||||
<string name="home_button_order">訂購</string>
|
||||
<string name="initial_message_change_access_code_body">要更改訪問密碼,請完全按照上圖所示連接手機和卡片</string>
|
||||
<string name="initial_message_change_passcode_body">要更改密碼,請完全按照上圖所示連接手機和卡</string>
|
||||
<string name="initial_message_create_wallet_body">要創建錢包,請完全按照上圖所示連接手機和卡</string>
|
||||
<string name="initial_message_scan_header">點擊掃描</string>
|
||||
<string name="initial_message_sign_header">點擊簽名</string>
|
||||
<string name="initial_message_tap_header">點按卡片</string>
|
||||
<string name="internal_error_wallet_manager_not_found">內部錯誤:找不到錢包管理器</string>
|
||||
<string name="main_manage_tokens">管理代幣</string>
|
||||
<string name="main_no_backup_warning_subtitle">為了保護您的資產,我們建議您執行此程序</string>
|
||||
<string name="main_no_backup_warning_title">您的錢包尚未備份</string>
|
||||
<string name="main_page_balance">總餘額</string>
|
||||
<string name="main_processing_full_amount">該金額不包括您的部分資金</string>
|
||||
<string name="main_scan_card_warning_view_subtitle">要訪問所有的網路您需要掃描卡片</string>
|
||||
<string name="main_scan_card_warning_view_title">掃描卡片</string>
|
||||
<string name="main_tokens">代幣</string>
|
||||
<string name="onboarding_access_code_feature_1_description">您必須設置一個單一的訪問代碼來保護您的所有錢包。</string>
|
||||
<string name="onboarding_access_code_feature_1_title">保護</string>
|
||||
<string name="onboarding_access_code_feature_2_description">您可以稍後在每張卡上設置單獨的訪問密碼</string>
|
||||
<string name="onboarding_access_code_feature_2_title">個人化</string>
|
||||
<string name="onboarding_access_code_feature_3_description">門禁密碼可以用聯動卡恢復,不要把所有卡都放在一個地方。</string>
|
||||
<string name="onboarding_access_code_feature_3_title">恢復</string>
|
||||
<string name="onboarding_access_code_hint">選擇您想要的任何單詞、短語或數字作為您的訪問代碼。</string>
|
||||
<string name="onboarding_access_code_intro_title">建立訪問密碼</string>
|
||||
<string name="onboarding_access_code_repeat_code_title">重新輸入訪問密碼</string>
|
||||
<string name="onboarding_access_code_too_short">訪問代碼的長度必須至少為 4 個字符</string>
|
||||
<string name="onboarding_access_codes_doesnt_match">輸入的訪問密碼與初始訪問密碼不匹配</string>
|
||||
<string name="onboarding_alert_message_not_max_backup_cards_added">您已添加一張備用卡。備份過程完成後,您將無法添加更多備份卡。如果您還有一張卡,請將其添加到備份中。您想繼續備份過程嗎?</string>
|
||||
<string name="onboarding_backup_exit_warning">備份過程已部分完成。你現在不能退出</string>
|
||||
<string name="onboarding_balance_title">餘額</string>
|
||||
<string name="onboarding_button_add_backup_card">添加備用卡</string>
|
||||
<string name="onboarding_button_backup_card_format">掃描卡片 #%d</string>
|
||||
<string name="onboarding_button_backup_now">立即備份</string>
|
||||
<string name="onboarding_button_backup_origin">掃描主卡</string>
|
||||
<string name="onboarding_button_claim">獲取</string>
|
||||
<string name="onboarding_button_continue_wallet">繼續至我的錢包</string>
|
||||
<string name="onboarding_button_finalize_backup">完成備份過程</string>
|
||||
<string name="onboarding_button_kyc_start">通過Utorg驗證</string>
|
||||
<string name="onboarding_button_kyc_waiting">刷新</string>
|
||||
<string name="onboarding_button_pin">設置PIN碼</string>
|
||||
<string name="onboarding_button_receive_crypto">接收貨幣</string>
|
||||
<string name="onboarding_button_register_wallet">註冊</string>
|
||||
<string name="onboarding_button_scan_origin_card">掃描主卡</string>
|
||||
<string name="onboarding_button_skip_backup">暫時略過</string>
|
||||
<string name="onboarding_button_what_does_it_mean">它是如何運作的?</string>
|
||||
<string name="onboarding_chat_button_title">支援</string>
|
||||
<string name="onboarding_create_wallet_body">讓我們生成您卡上的所有密鑰並創建一個安全的錢包</string>
|
||||
<string name="onboarding_create_wallet_button_create_wallet">創建錢包</string>
|
||||
<string name="onboarding_create_wallet_header">創造錢包</string>
|
||||
<string name="onboarding_done_body">您的卡已激活並可以使用</string>
|
||||
<string name="onboarding_done_header">成功!</string>
|
||||
<string name="onboarding_exit_alert_message">這此情況,您必須要重新開始</string>
|
||||
<string name="onboarding_exit_alert_title">您想要離開啟用程序嗎?</string>
|
||||
<string name="onboarding_getting_started">開始</string>
|
||||
<string name="onboarding_navbar_kyc_progress">驗證身分</string>
|
||||
<string name="onboarding_navbar_kyc_start">KYC</string>
|
||||
<string name="onboarding_navbar_pin">PIN 碼</string>
|
||||
<string name="onboarding_navbar_register_wallet">連接</string>
|
||||
<string name="onboarding_navbar_title_creating_backup">創建備份</string>
|
||||
<string name="onboarding_saltpay_button_backup_origin">點擊 SaltPay 卡</string>
|
||||
<string name="onboarding_saltpay_subtitle_no_backup_cards">要開始備份過程,您必須添加 Tangem 卡片作為備份</string>
|
||||
<string name="onboarding_saltpay_subtitle_one_backup_card">通過創建訪問密碼完成備份</string>
|
||||
<string name="onboarding_saltpay_title_backup_card">點擊 Tangem 卡片</string>
|
||||
<string name="onboarding_saltpay_title_no_backup_card">沒有備份卡片</string>
|
||||
<string name="onboarding_saltpay_title_one_backup_card">備份卡片已準備完成</string>
|
||||
<string name="onboarding_saltpay_title_prepare_origin">準備SaltPay卡</string>
|
||||
<string name="onboarding_subtitle_claim">要開始,只需將 wxDAI 獲取到您的錢包</string>
|
||||
<string name="onboarding_subtitle_claim_progress">這會花上幾秒</string>
|
||||
<string name="onboarding_subtitle_kyc_retry">請查看Email已獲得更多指示</string>
|
||||
<string name="onboarding_subtitle_kyc_start">要開始使用您的卡,您必須通過 KYC驗證</string>
|
||||
<string name="onboarding_subtitle_kyc_waiting">請等待驗證完成,您將收到電子郵件通知。通常最多需要 1 小時。您可以關閉該應用程序,稍後再回來</string>
|
||||
<string name="onboarding_subtitle_no_backup_cards">要開始備份過程,最多可添加兩張備份卡。</string>
|
||||
<string name="onboarding_subtitle_one_backup_card">您可以再添加一張卡或完成備份過程</string>
|
||||
<string name="onboarding_subtitle_pin">為您的 SaltPay 卡設置 PIN 碼</string>
|
||||
<string name="onboarding_subtitle_register_wallet">將您的卡片連接到去中心化支付系統</string>
|
||||
<string name="onboarding_subtitle_scan_backup_card_format">準備編號為 %s 的備份卡</string>
|
||||
<string name="onboarding_subtitle_scan_origin_card">準備主卡</string>
|
||||
<string name="onboarding_subtitle_scan_primary_card_format">準備編號為 %s 的主卡</string>
|
||||
<string name="onboarding_subtitle_success_claim">恭喜! 您的第一張支付加密卡已啟用!</string>
|
||||
<string name="onboarding_subtitle_success_tangem_wallet_onboarding">您的錢包卡已配置完畢,可以使用了</string>
|
||||
<string name="onboarding_subtitle_two_backup_cards">已添加至最大數量。完成備份過程</string>
|
||||
<string name="onboarding_supplement_button_kyc_waiting">聯繫客服</string>
|
||||
<string name="onboarding_title">啟用卡片</string>
|
||||
<string name="onboarding_title_backup_card_format">備份卡 #%d</string>
|
||||
<string name="onboarding_title_claim">獲取%s</string>
|
||||
<string name="onboarding_title_claim_progress">獲取中</string>
|
||||
<string name="onboarding_title_kyc_retry">有東西出錯了</string>
|
||||
<string name="onboarding_title_kyc_start">確認你的身分</string>
|
||||
<string name="onboarding_title_kyc_waiting">KYC 認證中</string>
|
||||
<string name="onboarding_title_no_backup_cards">沒有備用卡</string>
|
||||
<string name="onboarding_title_one_backup_card">添加了一張備用卡</string>
|
||||
<string name="onboarding_title_pin">PIN 碼</string>
|
||||
<string name="onboarding_title_register_wallet">連接你的錢包</string>
|
||||
<string name="onboarding_title_scan_origin_card">準備好你的卡片</string>
|
||||
<string name="onboarding_title_two_backup_cards">添加了兩張備用卡</string>
|
||||
<string name="onboarding_top_up_body">要開始使用,只需為錢包充值任意金額</string>
|
||||
<string name="onboarding_top_up_body_no_account_error">要開始,只需為錢包充值超過 %1$s %2$s</string>
|
||||
<string name="onboarding_top_up_button_but_crypto">購買加密貨幣</string>
|
||||
<string name="onboarding_top_up_button_show_wallet_address">顯示錢包地址</string>
|
||||
<string name="onboarding_top_up_header">充值你的錢包</string>
|
||||
<string name="onboarding_twin_exit_warning">結對過程已部分完成。你現在不能退出</string>
|
||||
<string name="onboarding_twins_interrupt_warning">如果創建錢包的過程以任何方式中斷,您將得重新開始</string>
|
||||
<string name="onboarding_wallet_info_subtitle_first">您最多可以備份另外兩張空白的 Tangem 錢包卡。</string>
|
||||
<string name="onboarding_wallet_info_subtitle_fourth">可以使用其中一張備用卡恢復訪問密碼</string>
|
||||
<string name="onboarding_wallet_info_subtitle_second">所有備用卡都可以使用相同的密鑰作為全功能使用。</string>
|
||||
<string name="onboarding_wallet_info_subtitle_third">您將能夠設置訪問密碼來保護您的錢包</string>
|
||||
<string name="onboarding_wallet_info_title_first">備援錢包</string>
|
||||
<string name="onboarding_wallet_info_title_fourth">訪問密碼還原</string>
|
||||
<string name="onboarding_wallet_info_title_second">相同的卡片</string>
|
||||
<string name="onboarding_wallet_info_title_third">訪問密碼</string>
|
||||
<string name="referral_button_participate">參與</string>
|
||||
<string name="referral_error_failed_to_load_info">無法加載有關推薦計劃的消息。請稍後再試</string>
|
||||
<string name="referral_error_failed_to_load_info_with_reason">無法加載有關推薦計劃的消息。原因:%s。請稍後再試</string>
|
||||
<string name="referral_error_failed_to_participate">無法處理您的請求。原因:%s。請稍後再試。無如果問題仍然存在—請隨時聯繫服務人員</string>
|
||||
<string name="referral_friends_bought_title">您的朋友買</string>
|
||||
<string name="referral_point_currencies_description_prefix">會得到</string>
|
||||
<string name="referral_point_currencies_description_suffix">對於你的朋友在你的 %1$s 網絡地址%2$s 上購買的每個錢包</string>
|
||||
<string name="referral_point_currencies_title">你</string>
|
||||
<string name="referral_point_discount_description_prefix">得到</string>
|
||||
<string name="referral_point_discount_description_suffix">當在 tangem.com購買卡片</string>
|
||||
<string name="referral_point_discount_description_value">%s 折扣</string>
|
||||
<string name="referral_point_discount_title">你的朋友</string>
|
||||
<string name="referral_promo_code_copied">個人促銷碼已複製!</string>
|
||||
<string name="referral_promo_code_title">您的優惠碼</string>
|
||||
<string name="referral_share_link">以折扣價購買 Tangem 錢包!%s</string>
|
||||
<string name="referral_title">推薦您的好友至Tangem</string>
|
||||
<string name="referral_tos_enroled_prefix">你接受了</string>
|
||||
<string name="referral_tos_not_enroled_prefix">點擊此按鈕即表示您接受</string>
|
||||
<string name="referral_tos_suffix">在推薦計劃</string>
|
||||
<string name="registration_task_alert_message">請持有卡片直至操作完成</string>
|
||||
<string name="reset_card_to_factory_button_title">重置卡片</string>
|
||||
<string name="reset_card_to_factory_warning_message">我了解執行此操作後,我將無法再訪問當前錢包</string>
|
||||
<string name="reset_card_with_backup_to_factory_message">恢復原廠設置將從所選卡中完全刪除錢包。您將無法恢復當前錢包或使用卡恢復訪問密碼</string>
|
||||
<string name="reset_card_without_backup_to_factory_message">恢復原廠設置將從所選卡中完全刪除錢包並將其從應用程序中刪除。您將無法恢復當前錢包</string>
|
||||
<string name="russian_bank_card_warning_subtitle">您有其他國家的銀行卡或銀聯卡嗎?</string>
|
||||
<string name="russian_bank_card_warning_title">目前不接受俄羅斯銀行卡</string>
|
||||
<string name="saltpay_error_empty_backup_message">輕觸帶有 visa 標誌的卡片</string>
|
||||
<string name="saltpay_error_empty_backup_title">注意</string>
|
||||
<string name="saltpay_error_no_gas_message">請聯繫客服</string>
|
||||
<string name="saltpay_error_no_gas_title">沒有激活資金</string>
|
||||
<string name="saltpay_error_pin_weak_message">這樣的 PIN 很容易被暴力破解</string>
|
||||
<string name="saltpay_error_pin_weak_title">四個相同的數字不安全</string>
|
||||
<string name="save_user_wallet_agreement_access_description">登錄應用程序並在不掃描卡片的情況下檢查您的資產</string>
|
||||
<string name="save_user_wallet_agreement_access_title">訪問應用程序</string>
|
||||
<string name="save_user_wallet_agreement_allow_biometrics">允許使用生物辨識</string>
|
||||
<string name="save_user_wallet_agreement_code_description_biometrics">將要求生物識別而不是訪問密碼來與您的錢包進行交互</string>
|
||||
<string name="save_user_wallet_agreement_code_title">訪問密碼</string>
|
||||
<string name="save_user_wallet_agreement_enroll_biometrics_description">您好像禁用了生物識別,有必要保存錢包</string>
|
||||
<string name="save_user_wallet_agreement_enroll_biometrics_title">啟用生物識別授權</string>
|
||||
<string name="save_user_wallet_agreement_header_biometrics">您想使用生物識別技術嗎?</string>
|
||||
<string name="save_user_wallet_agreement_notice">請注意,用您的資金進行交易仍需要您的卡片</string>
|
||||
<string name="scan_card_error">掃卡失敗。再試一次</string>
|
||||
<string name="scan_card_settings_button">掃描卡片</string>
|
||||
<string name="scan_card_settings_message">掃描卡片以更改其設置。這些更改只會影響您掃描過的卡,不會影響綁定到您錢包的其他卡。</string>
|
||||
<string name="scan_card_settings_title">準備好您的卡!</string>
|
||||
<string name="search_tokens_title">搜尋代幣</string>
|
||||
<string name="send_amount_label">數量</string>
|
||||
<string name="send_destination_hint_address">地址</string>
|
||||
<string name="send_destination_hint_address_payid">地址或 PayString</string>
|
||||
<string name="send_error_address_same_as_wallet">地址與錢包地址相同</string>
|
||||
<string name="send_error_payid_not_registered">PayString 未註冊</string>
|
||||
<string name="send_error_payid_request_failed">PayString 請求失敗</string>
|
||||
<string name="send_error_payid_unsupported_by_blockchain">PayString 不被區塊鏈支持</string>
|
||||
<string name="send_extras_error_invalid_destination_tag">標籤無效。它不會被添加到交易中</string>
|
||||
<string name="send_extras_error_invalid_memo">Memo無效。 它不會被添加到交易中</string>
|
||||
<string name="send_extras_hint_destination_tag">Tag</string>
|
||||
<string name="send_extras_hint_memo">Memo</string>
|
||||
<string name="send_fee_include_description">包含費用</string>
|
||||
<string name="send_fee_label">費用</string>
|
||||
<string name="send_fee_picker_low">低</string>
|
||||
<string name="send_fee_picker_normal">正常</string>
|
||||
<string name="send_fee_picker_priority">優先</string>
|
||||
<string name="send_max_amount_label">最大值</string>
|
||||
<string name="send_network_fee_title">網路費</string>
|
||||
<string name="send_title">發送</string>
|
||||
<string name="send_title_currency_format">發送 %s</string>
|
||||
<string name="send_total_label">總計</string>
|
||||
<string name="send_total_subtitle_asset_format">%1$s 和 %2$s 將被發送</string>
|
||||
<string name="send_total_subtitle_fiat_format">≈ %1$s (費用包含: %2$s)</string>
|
||||
<string name="send_total_subtitle_format">%s 將被發送</string>
|
||||
<string name="send_transaction_success">交易已成功簽署並發送至區塊鏈節點。錢包餘額稍後更新</string>
|
||||
<string name="send_validation_invalid_address">無效地址</string>
|
||||
<string name="shop_buy_now">現在購買</string>
|
||||
<string name="shop_free">免費</string>
|
||||
<string name="shop_i_have_a_promo_code">輸入折扣碼</string>
|
||||
<string name="shop_one_wallet">Tangem 冷錢包</string>
|
||||
<string name="shop_other_payment_methods">其他付款方式</string>
|
||||
<string name="shop_shipping">運送</string>
|
||||
<string name="shop_total">總計</string>
|
||||
<string name="solana_rent_warning">Solana 網絡每 2 天收取 %1$s 的費用。無法付此費用的帳戶將從網絡中清除。向您的帳戶存入超過 %2$s 即可免費使用</string>
|
||||
<string name="story_awe_description">安全地存儲您的加密貨幣,同時將私鑰保存在您的卡中</string>
|
||||
<string name="story_awe_title">創新式的硬體錢包</string>
|
||||
<string name="story_backup_description_1">最多</string>
|
||||
<string name="story_backup_description_2_bold">3張實體卡片</string>
|
||||
<string name="story_backup_description_3">到一個錢包</string>
|
||||
<string name="story_backup_title">更多的安全備份</string>
|
||||
<string name="story_currencies_description">一個冷錢包,可同時將您的比特幣、以太幣和其他幣種-全部存在一張卡中</string>
|
||||
<string name="story_currencies_title">千種虛擬貨幣</string>
|
||||
<string name="story_finish_description">隨時隨地使用它,不需要接線或電池,只需要你的卡片和手機</string>
|
||||
<string name="story_finish_title">適合每個人的冷錢包</string>
|
||||
<string name="story_meet_borrow">借入</string>
|
||||
<string name="story_meet_buy">購買</string>
|
||||
<string name="story_meet_exchange">交易</string>
|
||||
<string name="story_meet_lend">借出</string>
|
||||
<string name="story_meet_pay">付款</string>
|
||||
<string name="story_meet_send">發送</string>
|
||||
<string name="story_meet_store">保存</string>
|
||||
<string name="story_meet_title">認識Tangem</string>
|
||||
<string name="story_web3_description">交易、購買NFT、自由穿梭於100+去中心化服務</string>
|
||||
<string name="story_web3_title">兼容DeFi</string>
|
||||
<string name="swapping_generic_error">有錯誤。請再試一遍</string>
|
||||
<string name="swapping_give_permission">賦予權限</string>
|
||||
<string name="swapping_insufficient_funds">餘額不足</string>
|
||||
<string name="swapping_not_enough_funds_for_fee">您的 %1$s 錢包中沒有足夠的資金來創建交易。首先為您的 %2$s 錢包充值</string>
|
||||
<string name="swapping_pending_transaction_subtitle">交易進行中...</string>
|
||||
<string name="swapping_pending_transaction_title">等待中</string>
|
||||
<string name="swapping_permission_buttons_approve">允許</string>
|
||||
<string name="swapping_permission_header">賦予權限</string>
|
||||
<string name="swapping_permission_rows_amount">數量 %s</string>
|
||||
<string name="swapping_permission_rows_spender">花費者</string>
|
||||
<string name="swapping_permission_rows_your_wallet">您的錢包</string>
|
||||
<string name="swapping_permission_subheader">要繼續,您需要允許 1inch 智能合約使用您的 %s</string>
|
||||
<string name="swapping_permit_and_swap">許可和交換</string>
|
||||
<string name="swapping_success_view_explorer_button_title">在瀏覽器中查看</string>
|
||||
<string name="swapping_success_view_title">進行中</string>
|
||||
<string name="swapping_swap">交換</string>
|
||||
<string name="swapping_swap_of_to">交易 %s 至</string>
|
||||
<string name="swapping_token_list_other_tokens">其他代幣</string>
|
||||
<string name="swapping_token_list_title">選擇代幣</string>
|
||||
<string name="swapping_token_list_your_tokens">您的代幣</string>
|
||||
<string name="swapping_token_not_available">無法使用</string>
|
||||
<string name="tangem_app_name">Tangem</string>
|
||||
<string name="token_details_hide_alert_hide">隱藏</string>
|
||||
<string name="token_details_hide_alert_message">您即將在主屏幕上隱藏此代幣。您可以隨時通過管理代幣頁面將其添加回來。</string>
|
||||
<string name="token_details_hide_alert_title">隱藏 %s</string>
|
||||
<string name="token_details_hide_token">隱藏代幣</string>
|
||||
<string name="token_details_send_blocked_fee_format">%1$s 是 %2$s 網絡中的代幣, 要進行 %3$s 交易,您需要存入一些 %4$s (%5$s) 以支付網絡費用</string>
|
||||
<string name="token_details_send_blocked_tx_format">請等待 %s 交易完成才能發送資金</string>
|
||||
<string name="token_details_unable_hide_alert_message">%1$s 代幣是 %2$s 網絡上的主要貨幣,只要列表中還有該網絡上的其他代幣,它就無法被隱藏。</string>
|
||||
<string name="token_details_unable_hide_alert_title">無法隱藏 %s</string>
|
||||
<string name="token_item_no_rate">無費用</string>
|
||||
<string name="twin_error_same_card">您掃描了同一張卡片。要創建雙錢包,您需要掃描編號為 %d 的卡</string>
|
||||
<string name="twins_onboarding_description_format">這一個是你手裡拿著的,另一個是編號為 %s 的,這兩張卡都可以用來從這個錢包中提取資金</string>
|
||||
<string name="twins_onboarding_subtitle">一個錢包,兩張卡片</string>
|
||||
<string name="twins_recreate_button_format">掃描卡片 #%s</string>
|
||||
<string name="twins_recreate_title_creating_wallet">創建錢包</string>
|
||||
<string name="twins_recreate_title_format">掃描 #%s 雙胞胎卡</string>
|
||||
<string name="twins_recreate_title_preparing">準備卡片</string>
|
||||
<string name="twins_recreate_toolbar">Tangem雙胞胎卡</string>
|
||||
<string name="twins_recreate_warning">這個動作是不可逆的。您將無法訪問舊錢包</string>
|
||||
<string name="user_wallet_list_add_button">添加新錢包</string>
|
||||
<string name="user_wallet_list_editing_count">已選擇 %d</string>
|
||||
<string name="user_wallet_list_error_wallet_already_saved">此錢包已保存,您可以再添加一個</string>
|
||||
<string name="user_wallet_list_multi_header">多幣種</string>
|
||||
<string name="user_wallet_list_rename_popup_placeholder">錢包名稱</string>
|
||||
<string name="user_wallet_list_rename_popup_title">重新命名錢包</string>
|
||||
<string name="user_wallet_list_single_header">單一幣種</string>
|
||||
<string name="user_wallet_list_title">我的錢包</string>
|
||||
<string name="user_wallet_list_unlock_all">用 %s 解鎖全部</string>
|
||||
<string name="wallet_address_button_create_payid">創建支付字符串</string>
|
||||
<string name="wallet_address_button_explore">探索地址</string>
|
||||
<string name="wallet_balance_blockchain_unreachable">網路無法使用</string>
|
||||
<string name="wallet_balance_blockchain_unreachable_try_later">區塊鍊無法使用。稍後再試</string>
|
||||
<string name="wallet_balance_loading">餘額加載中</string>
|
||||
<string name="wallet_balance_missing_derivation">掃描卡片</string>
|
||||
<string name="wallet_balance_tx_in_progress">交易進行中</string>
|
||||
<string name="wallet_balance_verified">檢視餘額</string>
|
||||
<string name="wallet_button_actions">動作</string>
|
||||
<string name="wallet_button_buy">購買</string>
|
||||
<string name="wallet_button_create_wallet">創造錢包</string>
|
||||
<string name="wallet_button_sell">銷售</string>
|
||||
<string name="wallet_button_send">發送</string>
|
||||
<string name="wallet_button_trade">交易</string>
|
||||
<string name="wallet_choose_trade_action">您想要購買或賣出交易貨幣?</string>
|
||||
<string name="wallet_connect_alert_sign_message">請求籤署消息。%s</string>
|
||||
<string name="wallet_connect_bnb_sign_message">Dapp %1$s,請求\n簽署 BNB 交易。\n%2$s</string>
|
||||
<string name="wallet_connect_bnb_trade_order_message">%1$s 的交易訂單\n價格: %2$s\n接收金額:%3$s\n支付數量: %4$s</string>
|
||||
<string name="wallet_connect_bnb_transaction_message">交易明細:\n從: %1$s\n到: %2$s\n數量: %3$s</string>
|
||||
<string name="wallet_connect_clipboard_alert">剪貼板包含 WalletConnect 代碼。使用複制的值或掃描二維碼</string>
|
||||
<string name="wallet_connect_create_tx_message">請求為 %1$s 創建交易\n%2$s\n\n數量: %3$s\n費用: %4$s\n全部的: %5$s\n餘額: %6$s</string>
|
||||
<string name="wallet_connect_create_tx_not_enough_funds">無法交易,無足夠資金</string>
|
||||
<string name="wallet_connect_error_failed_to_connect">未能建立 WalletConnect 連接。請稍後再試</string>
|
||||
<string name="wallet_connect_error_timeout">無法建立 WalletConnect 連接:超時錯誤。請稍後再試</string>
|
||||
<string name="wallet_connect_error_unsupported_dapp">由於技術問題,無法與此 Dapp 建立連接</string>
|
||||
<string name="wallet_connect_network_not_found_format">沒有 %s 網路,請先加入後再試一次</string>
|
||||
<string name="wallet_connect_no_sessions_message">沒有打開中的WalletConnect連接</string>
|
||||
<string name="wallet_connect_no_sessions_title">Ooops, 沒有連接</string>
|
||||
<string name="wallet_connect_open_session">打開連接</string>
|
||||
<string name="wallet_connect_paste_from_clipboard">從剪貼板貼上</string>
|
||||
<string name="wallet_connect_request_session_start">請求開始會話\n%1$s\n\n網絡: %2$s\n\n網址:%3$s</string>
|
||||
<string name="wallet_connect_same_wcuri">無法完成執行,您已經使用此參數建立了 WalletConnect 連接</string>
|
||||
<string name="wallet_connect_scan_new_code">掃描新密碼</string>
|
||||
<string name="wallet_connect_scanner_error_not_valid_card">此卡不能用於建立 WalletConnect 連接</string>
|
||||
<string name="wallet_connect_scanner_error_unsupported_network">不支持此網絡。請選擇其他網絡</string>
|
||||
<string name="wallet_connect_select_network">選擇網路</string>
|
||||
<string name="wallet_connect_sessions_title">WalletConnect 連接</string>
|
||||
<string name="wallet_connect_subtitle">連結到Dapps</string>
|
||||
<string name="wallet_connect_title">WalletConnect</string>
|
||||
<string name="wallet_create_payid">創建支付字符串</string>
|
||||
<string name="wallet_create_payid_domain">$payid.tangem.com</string>
|
||||
<string name="wallet_create_payid_empty">首先輸入所需的PayString</string>
|
||||
<string name="wallet_create_payid_error_already_created">此 PayString 已存在。嘗試用不同的</string>
|
||||
<string name="wallet_create_payid_error_message">創建 PayString 時的錯誤回復</string>
|
||||
<string name="wallet_create_payid_hint">支付字符串名稱</string>
|
||||
<string name="wallet_create_payid_info">您的 PayString 是您獨有的信息,例如您的電話號碼、電子郵件或 ABN</string>
|
||||
<string name="wallet_currency_subtitle">%s 網路</string>
|
||||
<string name="wallet_error_empty_card">空白卡片</string>
|
||||
<string name="wallet_error_empty_card_subtitle">創建錢包以開始使用Tangem</string>
|
||||
<string name="wallet_error_empty_twin_card">創建雙胞胎錢包</string>
|
||||
<string name="wallet_error_empty_twin_card_subtitle">在兩張卡上生成錢包密鑰以開始使用您的雙胞胎</string>
|
||||
<string name="wallet_error_no_account">帳號尚未被創造</string>
|
||||
<string name="wallet_error_unsupported_blockchain">不支持此卡</string>
|
||||
<string name="wallet_error_unsupported_blockchain_subtitle">您的 Tangem 卡是為與不同的應用程序一起工作而設計的。請查看卡片上的名稱和說明,並安裝正確的應用程序</string>
|
||||
<string name="wallet_notification_address_copied">地址已復製到剪貼板</string>
|
||||
<string name="wallet_notification_no_internet">無網路</string>
|
||||
<string name="wallet_pending_tx_receiving">接收中</string>
|
||||
<string name="wallet_pending_tx_receiving_address_format">來自%s</string>
|
||||
<string name="wallet_pending_tx_sending">發送中</string>
|
||||
<string name="wallet_pending_tx_sending_address_format">至%s</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_button_can_be_better">可以更好</string>
|
||||
<string name="warning_button_learn_more">了解更多</string>
|
||||
<string name="warning_button_ok">了解</string>
|
||||
<string name="warning_button_really_cool">真的很酷!</string>
|
||||
<string name="warning_existential_deposit_message">%1$s 網絡有一個 Existential Deposit 的概念。如果您的帳戶低於 %2$s,它將被停用,所有剩餘資金將被銷毀</string>
|
||||
<string name="warning_failed_to_verify_card_message">此卡可能是生產樣本或偽造品</string>
|
||||
<string name="warning_failed_to_verify_card_title">認證檢查失敗</string>
|
||||
<string name="warning_important_security_info">重要安全信息\U26A0</string>
|
||||
<string name="warning_low_signatures_format">此卡上只有 %s 個簽名可用。您必須提取所有資金</string>
|
||||
<string name="warning_rate_app_message">你喜歡 Tangem 嗎?</string>
|
||||
<string name="warning_rate_app_title">一個問題</string>
|
||||
<string name="warning_signed_tx_previously">此卡過去曾簽署過交易</string>
|
||||
<string name="warning_testnet_card_message">這是一張測試網卡。不要接受它作為付款。 此卡只能用於測試和開發目的</string>
|
||||
<string name="welcome_interrupted_backup_alert_discard">捨棄</string>
|
||||
<string name="welcome_interrupted_backup_alert_message">您有一個備份中斷了,您想繼續嗎?</string>
|
||||
<string name="welcome_interrupted_backup_alert_resume">是的,恢復</string>
|
||||
<string name="welcome_interrupted_backup_discard_discard">捨棄</string>
|
||||
<string name="welcome_interrupted_backup_discard_message">如果您現在要放棄備份,則必須將卡重置為出廠設置才能重新開始</string>
|
||||
<string name="welcome_interrupted_backup_discard_resume">恢復備份</string>
|
||||
<string name="welcome_interrupted_backup_discard_title">此動作不可逆</string>
|
||||
<string name="welcome_unlock">使用 %s 登錄</string>
|
||||
<string name="welcome_unlock_card">掃描卡片</string>
|
||||
<string name="welcome_unlock_description">使用 %s 或掃描卡片以訪問該應用程序</string>
|
||||
<string name="welcome_unlock_title">歡迎回來!</string>
|
||||
|
||||
<!-- Special string -->
|
||||
<string name="common_custom_string">%s</string>
|
||||
</resources>
|
||||
13
core/res/src/main/res/values-zh-rTW/strings_plurals.xml
Normal file
13
core/res/src/main/res/values-zh-rTW/strings_plurals.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<resources>
|
||||
<plurals name="card_label_card_count">
|
||||
<item quantity="other">%d 卡片</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="tokens_count">
|
||||
<item quantity="other">%d 代幣</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="referral_wallets_purchased_count">
|
||||
<item quantity="other">%d 錢包</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
|
@ -24,8 +24,6 @@
|
|||
<string name="app_settings_saved_wallet">Keep the wallet in the app</string>
|
||||
<string name="app_settings_saved_wallet_footer">Enable to link all the wallets to Tangem app. Biometric authentication will be required for unlocking the app. Transaction signing requires tapping your Tangem card.</string>
|
||||
<string name="app_settings_title">App Settings</string>
|
||||
<string name="card_settings_action_sheet_reset">Reset</string>
|
||||
<string name="card_settings_action_sheet_title">Are you sure you want to do this?</string>
|
||||
<string name="card_settings_change_access_code">Change Access Code</string>
|
||||
<string name="card_settings_change_access_code_footer">Access code will be changed on this card only</string>
|
||||
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
|
||||
|
|
@ -348,7 +346,7 @@
|
|||
<string name="swapping_swap">Swap</string>
|
||||
<string name="swapping_swap_of_to">Swap of %1$s to %2$s</string>
|
||||
<string name="swapping_token_list_other_tokens">Other tokens</string>
|
||||
<string name="swapping_token_list_your_title">Choose token</string>
|
||||
<string name="swapping_token_list_title">Choose token</string>
|
||||
<string name="swapping_token_list_your_tokens">Your tokens</string>
|
||||
<string name="swapping_token_not_available">not available</string>
|
||||
<string name="tangem_app_name">Tangem</string>
|
||||
|
|
@ -465,6 +463,7 @@
|
|||
<string name="welcome_unlock_card">Scan card</string>
|
||||
<string name="welcome_unlock_description">Use %s or scan a card to access the app</string>
|
||||
<string name="welcome_unlock_title">Welcome back!</string>
|
||||
|
||||
<!-- Special string -->
|
||||
<string name="common_custom_string">%s</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -599,8 +599,14 @@ internal class SwapInteractorImpl @Inject constructor(
|
|||
private const val INFINITY_SYMBOL = "∞"
|
||||
|
||||
private val ONE_INCH_SUPPORTED_NETWORKS = listOf(
|
||||
"ethereum", "binance-smart-chain", "polygon-pos",
|
||||
"optimistic-ethereum", "arbitrum-one", "xdai", "avalanche", "fantom",
|
||||
"ethereum",
|
||||
"binance-smart-chain",
|
||||
"polygon-pos",
|
||||
"optimistic-ethereum",
|
||||
"arbitrum-one",
|
||||
"xdai",
|
||||
"avalanche",
|
||||
"fantom",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -52,7 +52,7 @@ fun SwapSelectTokenScreen(state: SwapSelectTokenStateHolder, onBack: () -> Unit)
|
|||
},
|
||||
topBar = {
|
||||
ExpandableSearchView(
|
||||
title = stringResource(R.string.swapping_token_list_your_title),
|
||||
title = stringResource(R.string.swapping_token_list_title),
|
||||
onBackClick = onBack,
|
||||
placeholderSearchText = stringResource(id = R.string.search_tokens_title),
|
||||
onSearchChange = state.onSearchEntered,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue