diff --git a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt index d122202ca1..d6b7730bcb 100644 --- a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt @@ -24,17 +24,17 @@ class TangemSdkManager(val activity: ComponentActivity) { suspend fun scanNote(): CompletionResult { return runTaskAsyncReturnOnMain(ScanNoteTask(), - initialMessage = Message(activity.getString(R.string.tap_to_scan))) + initialMessage = Message(activity.getString(R.string.initial_message_scan_header))) } suspend fun createWallet(cardId: String?): CompletionResult { return runTaskAsyncReturnOnMain(CreateWalletAndRescanTask(), cardId, - initialMessage = Message(activity.getString(R.string.tap_to_create_wallet))) + initialMessage = Message(activity.getString(R.string.initial_message_create_wallet_body))) } suspend fun eraseWallet(cardId: String?): CompletionResult { return runTaskAsyncReturnOnMain(PurgeWalletCommand(), cardId, - initialMessage = Message(activity.getString(R.string.tap_to_purge_wallet))) + initialMessage = Message(activity.getString(R.string.initial_message_purge_wallet_body))) } suspend fun setPasscode(cardId: String?): CompletionResult { @@ -42,7 +42,7 @@ class TangemSdkManager(val activity: ComponentActivity) { pinType = PinType.Pin2, newPin1 = tangemSdk.config.defaultPin1.calculateSha256(), newPin2 = null - ), cardId, initialMessage = Message(activity.getString(R.string.tap_to_change_passcode))) + ), cardId, initialMessage = Message(activity.getString(R.string.initial_message_change_passcode_body))) } suspend fun setAccessCode(cardId: String?): CompletionResult { @@ -50,7 +50,7 @@ class TangemSdkManager(val activity: ComponentActivity) { pinType = PinType.Pin1, newPin1 = null, newPin2 = tangemSdk.config.defaultPin2.calculateSha256() - ), cardId, initialMessage = Message(activity.getString(R.string.tap_to_change_access_code))) + ), cardId, initialMessage = Message(activity.getString(R.string.initial_message_change_access_code_body))) } suspend fun setLongTap(cardId: String?): CompletionResult { @@ -58,7 +58,7 @@ class TangemSdkManager(val activity: ComponentActivity) { pinType = PinType.Pin1, newPin1 = tangemSdk.config.defaultPin1.calculateSha256(), newPin2 = tangemSdk.config.defaultPin2.calculateSha256() - ), cardId, initialMessage = Message(activity.getString(R.string.tap_the_card))) + ), cardId, initialMessage = Message(activity.getString(R.string.initial_message_tap_header))) } private suspend fun runTaskAsync( diff --git a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt index 8b01a14b04..e3f8ab3646 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt @@ -20,22 +20,22 @@ sealed class TapError( override val args: List? = null ) : Throwable(), TapErrors, ArgError { - object UnknownError : TapError(R.string.error_unknown) - object PayIdAlreadyCreated : TapError(R.string.error_payid_already_created) - object PayIdCreatingError : TapError(R.string.error_creating_payid) + object UnknownError : TapError(R.string.send_error_unknown) + object PayIdAlreadyCreated : TapError(R.string.wallet_create_payid_error_already_created) + object PayIdCreatingError : TapError(R.string.wallet_create_payid_error_message) object PayIdEmptyField : TapError(R.string.wallet_create_payid_empty) - object UnknownBlockchain : TapError(R.string.wallet_unknown_blockchain) - object NoInternetConnection : TapError(R.string.notification_no_internet) - object InsufficientBalance : TapError(R.string.error_insufficient_balance) - object BlockchainInternalError : TapError(R.string.error_blockchain_internal) - object AmountExceedsBalance : TapError(R.string.amount_exceeds_balance) - object FeeExceedsBalance : TapError(R.string.fee_exceeds_balance) - object TotalExceedsBalance : TapError(R.string.total_exceeds_balance) - object InvalidAmountValue : TapError(R.string.invalid_amount_value) - object InvalidFeeValue : TapError(R.string.invalid_fee_value) - data class DustAmount(override val args: List) : TapError(R.string.dust_amount) - object DustChange : TapError(R.string.dust_change) - data class CreateAccountUnderfunded(override val args: List) : TapError(R.string.create_account_underfunded) + object UnknownBlockchain : TapError(R.string.wallet_error_unsupported_blockchain_subtitle) + object NoInternetConnection : TapError(R.string.wallet_notification_no_internet) + object InsufficientBalance : TapError(R.string.send_error_insufficient_balance) + object BlockchainInternalError : TapError(R.string.send_error_blockchain_internal) + object AmountExceedsBalance : TapError(R.string.send_error_amount_exceeds_balance) + object FeeExceedsBalance : TapError(R.string.send_error_fee_exceeds_balance) + object TotalExceedsBalance : TapError(R.string.send_error_total_exceeds_balance) + object InvalidAmountValue : TapError(R.string.send_error_invalid_amount) + object InvalidFeeValue : TapError(R.string.send_error_invalid_fee_value) + data class DustAmount(override val args: List) : TapError(R.string.send_error_dust_amount_format) + object DustChange : TapError(R.string.send_error_dust_change) + data class CreateAccountUnderfunded(override val args: List) : TapError(R.string.send_error_no_target_accout) data class ValidateTransactionErrors( override val errorList: List, @@ -47,7 +47,7 @@ sealed class TapSdkError(override val messageResId: Int?) : Throwable(), TangemE final override val code: Int = 1 override var customMessage: String = code.toString() - object CardForDifferentApp : TapSdkError(R.string.error_card_for_different_app) + object CardForDifferentApp : TapSdkError(R.string.alert_unsupported_card) } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/CurrencySelectionDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/CurrencySelectionDialog.kt index dc00b896f8..47720dfbc4 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/CurrencySelectionDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/CurrencySelectionDialog.kt @@ -20,11 +20,11 @@ class CurrencySelectionDialog { var currentSelection = currencies.indexOfFirst { it.symbol == currentAppCurrency } dialog = AlertDialog.Builder(context) - .setTitle(context.getString(R.string.details_currency)) - .setNegativeButton(context.getString(R.string.generic_cancel)) { _, _ -> + .setTitle(context.getString(R.string.details_row_title_currency)) + .setNegativeButton(context.getString(R.string.common_cancel)) { _, _ -> store.dispatch(DetailsAction.AppCurrencyAction.Cancel) } - .setPositiveButton(context.getString(R.string.generic_done)) { _, _ -> + .setPositiveButton(context.getString(R.string.common_done)) { _, _ -> val selectedCurrency = currencies[currentSelection] store.dispatch(DetailsAction.AppCurrencyAction.SelectAppCurrency(selectedCurrency.symbol)) } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsConfirmFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsConfirmFragment.kt index d75799b5c1..7439dee4ec 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsConfirmFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsConfirmFragment.kt @@ -58,9 +58,9 @@ class DetailsConfirmFragment : Fragment(R.layout.fragment_details_confirm), when (state.confirmScreenState) { ConfirmScreenState.EraseWallet -> { - toolbar.title = getString(R.string.details_erase_wallet) + toolbar.title = getString(R.string.details_row_title_erase_wallet) tv_warning_description.text = getString(R.string.details_erase_wallet_warning) - btn_confirm.text = getString(R.string.details_erase_wallet) + btn_confirm.text = getString(R.string.details_row_title_erase_wallet) btn_confirm.setCompoundDrawablesRelativeWithIntrinsicBounds( null, null, getDrawable(R.drawable.ic_send), null ) @@ -68,9 +68,9 @@ class DetailsConfirmFragment : Fragment(R.layout.fragment_details_confirm), } ConfirmScreenState.LongTap, ConfirmScreenState.AccessCode, ConfirmScreenState.PassCode -> { - toolbar.title = getString(R.string.details_manage_security) - tv_warning_description.text = getString(R.string.details_manage_security_warning) - btn_confirm.text = getString(R.string.details_save_changes) + toolbar.title = getString(R.string.details_row_title_manage_security) + tv_warning_description.text = getString(R.string.details_security_management_warning) + btn_confirm.text = getString(R.string.common_save_changes) btn_confirm.setCompoundDrawablesRelativeWithIntrinsicBounds( null, null, getDrawable(R.drawable.ic_save), null ) diff --git a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt index 4d4ade93a9..e2729db034 100644 --- a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt @@ -31,7 +31,7 @@ class HomeFragment : Fragment(R.layout.fragment_home), StoreSubscriber Unit) { val snackbar = Snackbar.make(mainView, message, Snackbar.LENGTH_INDEFINITE) - snackbar.setAction(getString(R.string.generic_retry)) { + snackbar.setAction(getString(R.string.common_retry)) { snackbar.dismiss() action() }.show() diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt b/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt index 67e22baa41..b0ed6c6bf4 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt @@ -110,7 +110,7 @@ sealed class SendAction : SendScreenAction { data class ChangeSendButtonState(val state: SendButtonState) : SendAction() object SendSuccess : SendAction(), ToastNotificationAction { - override val messageResource: Int = R.string.send_transaction_complete + override val messageResource: Int = R.string.send_transaction_success } data class SendError(override val error: TapError) : SendAction(), ErrorAction diff --git a/app/src/main/java/com/tangem/tap/features/send/ui/SendFragment.kt b/app/src/main/java/com/tangem/tap/features/send/ui/SendFragment.kt index 2e2e4b9ed2..6d3799ea4d 100644 --- a/app/src/main/java/com/tangem/tap/features/send/ui/SendFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/send/ui/SendFragment.kt @@ -67,7 +67,7 @@ class SendFragment : BaseStoreFragment(R.layout.fragment_send) { btnSend.setOnClickListener { store.dispatch(SendActionUi.SendAmountToRecipient( - Message(getString(R.string.tap_to_sign)) + Message(getString(R.string.initial_message_sign_header)) )) } } diff --git a/app/src/main/java/com/tangem/tap/features/send/ui/stateSubscribers/SendStateSubscriber.kt b/app/src/main/java/com/tangem/tap/features/send/ui/stateSubscribers/SendStateSubscriber.kt index 349898d061..eb6fb4f317 100644 --- a/app/src/main/java/com/tangem/tap/features/send/ui/stateSubscribers/SendStateSubscriber.kt +++ b/app/src/main/java/com/tangem/tap/features/send/ui/stateSubscribers/SendStateSubscriber.kt @@ -73,11 +73,11 @@ class SendStateSubscriber(fragment: BaseStoreFragment) : FragmentStateSubscriber private fun handleAddressPayIdState(fg: BaseStoreFragment, state: AddressPayIdState) { fun parseError(context: Context, error: Error?): String? { val resId = when (error) { - Error.PAY_ID_UNSUPPORTED_BY_BLOCKCHAIN -> R.string.error_payid_unsupported_by_blockchain - Error.PAY_ID_NOT_REGISTERED -> R.string.error_payid_not_registere - Error.PAY_ID_REQUEST_FAILED -> R.string.error_payid_request_failed - Error.ADDRESS_INVALID_OR_UNSUPPORTED_BY_BLOCKCHAIN -> R.string.error_address_invalid_or_unsupported - Error.ADDRESS_SAME_AS_WALLET -> R.string.error_address_same_as_wallet + Error.PAY_ID_UNSUPPORTED_BY_BLOCKCHAIN -> R.string.send_error_payid_unsupported_by_blockchain + Error.PAY_ID_NOT_REGISTERED -> R.string.send_error_payid_not_registere + Error.PAY_ID_REQUEST_FAILED -> R.string.send_error_payid_request_failed + Error.ADDRESS_INVALID_OR_UNSUPPORTED_BY_BLOCKCHAIN -> R.string.send_error_address_invalid_or_unsupported + Error.ADDRESS_SAME_AS_WALLET -> R.string.send_error_address_same_as_wallet else -> null } return if (resId == null) null else context.getString(resId, "", "") @@ -139,7 +139,7 @@ class SendStateSubscriber(fragment: BaseStoreFragment) : FragmentStateSubscriber fg.tvAmountCurrency.update(state.mainCurrency.currencySymbol) (fg as? SendFragment)?.saveMainCurrency(state.mainCurrency.type) - val balanceText = fg.getString(R.string.send_balance, + val balanceText = fg.getString(R.string.send_balance_subtitle_format, state.mainCurrency.currencySymbol, state.viewBalanceValue) fg.tvBalance.update(balanceText) @@ -173,7 +173,7 @@ class SendStateSubscriber(fragment: BaseStoreFragment) : FragmentStateSubscriber } if (state.error == FeeAction.Error.REQUEST_FAILED) { - fg.showRetrySnackbar(fg.requireContext().getString(R.string.error_fee_request_failed)) { + fg.showRetrySnackbar(fg.requireContext().getString(R.string.send_error_fee_request_failed)) { store.dispatch(FeeAction.RequestFee) } } @@ -186,7 +186,8 @@ class SendStateSubscriber(fragment: BaseStoreFragment) : FragmentStateSubscriber val mainLayout = fg.clReceiptContainer as ViewGroup val totalLayout = fg.llTotal as ViewGroup val totalTokenLayout = fg.flTotalTokenCrypto as ViewGroup - fun getString(id: Int): String = mainLayout.context.getString(id) + fun getString(id: Int, vararg formatStrings: String): String = + mainLayout.context.getString(id, *formatStrings) val rough = getString(R.string.sign_rough) fun roughOrEmpty(value: String): String = if (value == ReceiptReducer.EMPTY) value else "$rough $value" @@ -201,11 +202,9 @@ class SendStateSubscriber(fragment: BaseStoreFragment) : FragmentStateSubscriber fg.tvReceiptFeeValue.update("${receipt.feeFiat} ${receipt.symbols.fiat}") totalLayout.tvTotalValue.update("${roughOrEmpty(receipt.totalFiat)} ${receipt.symbols.fiat}") - val willSent = SpannableStringBuilder() - .bold { append(receipt.willSentCrypto) }.append(" ") - .append(receipt.symbols.crypto).append(" ") - .append(getString(R.string.send_total_will_be_sent)) - totalLayout.tvWillBeSentValue.update(willSent.toString()) + val willSent = getString(R.string.send_total_subtitle_format, + receipt.willSentCrypto, receipt.symbols.crypto) + totalLayout.tvWillBeSentValue.update(willSent) } ReceiptLayoutType.CRYPTO -> { @@ -235,18 +234,12 @@ class SendStateSubscriber(fragment: BaseStoreFragment) : FragmentStateSubscriber fg.tvReceiptFeeValue.update("${receipt.feeFiat} ${receipt.symbols.fiat}") totalLayout.tvTotalValue.update("${roughOrEmpty(receipt.totalFiat)} ${receipt.symbols.fiat}") - val willSent = SpannableStringBuilder() - .bold { - append(receipt.symbols.token) - append(" ") - append(receipt.willSentToken) - }.append(" ").append(getString(R.string.generic_and)).append(" ") - .bold { - append(receipt.symbols.crypto).append(" ") - append(receipt.willSentFeeCoin).append(" ") - } - .append(mainLayout.context.getString(R.string.send_total_will_be_sent)) - totalLayout.tvWillBeSentValue.update(willSent.toString()) + val willSent = getString( + R.string.send_total_subtitle_asset_format, + receipt.symbols.token ?: "", receipt.willSentToken, + receipt.symbols.crypto, receipt.willSentFeeCoin + ) + totalLayout.tvWillBeSentValue.update(willSent) } ReceiptLayoutType.TOKEN_CRYPTO -> { val receipt = state.tokenCrypto ?: return diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt index 5717bdf1ef..3bbbda0d1c 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt @@ -74,7 +74,7 @@ sealed class WalletAction : Action { data class CopyAddress(val context: Context) : WalletAction() { object Success : WalletAction(), NotificationAction { - override val messageResource = R.string.notification_address_copied + override val messageResource = R.string.wallet_notification_address_copied } } diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt index 4a8cb2ca4f..65c7679e62 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt @@ -68,7 +68,7 @@ class BalanceWidget( R.id.tv_status_verified } else { fragment.tv_status_error.text = - fragment.getText(R.string.wallet_transaction_in_progress) + fragment.getText(R.string.wallet_balance_tx_in_progress) R.id.group_error } showStatus(statusView) @@ -93,7 +93,7 @@ class BalanceWidget( fragment.tv_amount.text = "" fragment.tv_status_error_message.text = data.errorMessage fragment.tv_status_error.text = - fragment.getString(R.string.wallet_blockchain_is_unreachable) + fragment.getString(R.string.wallet_balance_blockchain_unreachable) showStatus(R.id.group_error) fragment.tv_status_error_message.show(!data.errorMessage.isNullOrBlank()) @@ -101,25 +101,25 @@ class BalanceWidget( BalanceStatus.EmptyCard -> { fragment.l_balance.hide() fragment.l_balance_error.show() - fragment.tv_error_title.text = fragment.getText(R.string.wallet_empty_card) - fragment.tv_error_descriptions.text = fragment.getText(R.string.wallet_empty_card_description) + fragment.tv_error_title.text = fragment.getText(R.string.wallet_error_empty_card) + fragment.tv_error_descriptions.text = fragment.getText(R.string.wallet_error_empty_card_subtitle) } BalanceStatus.NoAccount -> { fragment.l_balance.hide() fragment.l_balance_error.show() - fragment.tv_error_title.text = fragment.getText(R.string.wallet_no_account) + fragment.tv_error_title.text = fragment.getText(R.string.wallet_error_no_account) fragment.tv_error_descriptions.text = fragment.getString( - R.string.wallet_no_account_description, + R.string.wallet_error_no_account_subtitle_format, data.amountToCreateAccount, data.currencySymbol ) } BalanceStatus.UnknownBlockchain -> { fragment.l_balance.hide() fragment.l_balance_error.show() - fragment.tv_error_title.text = fragment.getText(R.string.wallet_unknown_blockchain_title) + fragment.tv_error_title.text = fragment.getText(R.string.wallet_error_unsupported_blockchain) fragment.tv_error_descriptions.text = - fragment.getString(R.string.wallet_unknown_blockchain) + fragment.getString(R.string.wallet_error_unsupported_blockchain_subtitle) } } } diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/PendingTransactionsAdapter.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/PendingTransactionsAdapter.kt index 7602ecd237..66b0a11d9c 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/PendingTransactionsAdapter.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/PendingTransactionsAdapter.kt @@ -41,12 +41,12 @@ class PendingTransactionsAdapter fun bind(transaction: PendingTransaction) { val transactionDescriptionRes = when (transaction.type) { - PendingTransactionType.Incoming -> R.string.wallet_pending_transaction_incoming - PendingTransactionType.Outcoming -> R.string.wallet_pending_transaction_outcoming + PendingTransactionType.Incoming -> R.string.wallet_pending_tx_receiving + PendingTransactionType.Outcoming -> R.string.wallet_pending_tx_sending } val transactionAddressRes = when (transaction.type) { - PendingTransactionType.Incoming -> R.string.wallet_pending_transaction_incoming_address - PendingTransactionType.Outcoming -> R.string.wallet_pending_transaction_outcoming_address + PendingTransactionType.Incoming -> R.string.wallet_pending_tx_receiving_address_format + PendingTransactionType.Outcoming -> R.string.wallet_pending_tx_sending_address_format } val image = when (transaction.type) { PendingTransactionType.Incoming -> R.drawable.ic_arrow_left diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt index c337a895b8..38ac6742a6 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt @@ -95,7 +95,7 @@ class WalletFragment : Fragment(R.layout.fragment_wallet), StoreSubscriber dismiss() }.setOnDismissListener { @@ -21,8 +21,8 @@ class WarningDialog(context: Context) : AlertDialog(context) { fun show(warningType: WarningType) { val messageRes = when (warningType) { - WarningType.CardSignedHashesBefore -> R.string.warning_card_signed_transactions - WarningType.DevCard -> R.string.wallet_warning_dev_card + WarningType.CardSignedHashesBefore -> R.string.alert_card_signed_transactions + WarningType.DevCard -> R.string.alert_developer_card } dialog.setMessage(dialog.context.getString(messageRes)) dialog.show() diff --git a/app/src/main/res/layout/dialog_create_payid.xml b/app/src/main/res/layout/dialog_create_payid.xml index eee3f1ef91..3c4d10891d 100644 --- a/app/src/main/res/layout/dialog_create_payid.xml +++ b/app/src/main/res/layout/dialog_create_payid.xml @@ -19,7 +19,7 @@ android:ellipsize="middle" android:fontFamily="sans-serif-medium" android:paddingEnd="24dp" - android:text="@string/wallet_dialog_pay_id_button" + android:text="@string/wallet_create_payid" android:textColor="@color/textGray" android:textSize="17sp" app:layout_constraintStart_toStartOf="parent" @@ -31,7 +31,7 @@ android:layout_height="50dp" android:layout_marginStart="24dp" android:layout_marginTop="24dp" - android:hint="@string/wallet_dialog_pay_id_hint" + android:hint="@string/wallet_create_payid_hint" android:inputType="textNoSuggestions|textVisiblePassword" android:paddingStart="4dp" android:paddingEnd="4dp" @@ -46,7 +46,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="24dp" android:paddingBottom="1dp" - android:text="@string/wallet_pay_id_address" + android:text="@string/wallet_create_payid_domain" android:textColor="@color/darkGray4" app:layout_constraintBottom_toBottomOf="@+id/et_payid" app:layout_constraintEnd_toEndOf="parent" @@ -60,7 +60,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="24dp" android:layout_marginEnd="24dp" - android:text="@string/wallet_dialog_pay_id_description" + android:text="@string/wallet_create_payid_info" android:textColor="@color/darkGray1" android:textSize="13sp" app:layout_constraintEnd_toEndOf="parent" @@ -80,7 +80,7 @@ android:insetBottom="0dp" android:paddingTop="8dp" android:paddingBottom="8dp" - android:text="@string/wallet_dialog_pay_id_button" + android:text="@string/wallet_create_payid" android:textColor="@color/blue" android:textSize="14sp" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/dialog_qrcode.xml b/app/src/main/res/layout/dialog_qrcode.xml index af37e85986..79b7c187e4 100644 --- a/app/src/main/res/layout/dialog_qrcode.xml +++ b/app/src/main/res/layout/dialog_qrcode.xml @@ -49,7 +49,7 @@ android:insetBottom="0dp" android:paddingTop="8dp" android:paddingBottom="8dp" - android:text="@string/generic_done" + android:text="@string/common_done" android:textColor="@color/blue" android:textSize="14sp" /> diff --git a/app/src/main/res/layout/fragment_details.xml b/app/src/main/res/layout/fragment_details.xml index 7dac8c7e31..22386e2aaf 100644 --- a/app/src/main/res/layout/fragment_details.xml +++ b/app/src/main/res/layout/fragment_details.xml @@ -22,7 +22,7 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:navigationIcon="@drawable/ic_baseline_arrow_back_24" - app:title="@string/details_toolbar_title" /> + app:title="@string/details_title" /> @@ -48,7 +48,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="14dp" - android:text="@string/details_card_id" + android:text="@string/details_row_title_cid" android:textColor="@color/darkGray6" android:textSize="16sp" @@ -71,7 +71,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="14dp" - android:text="@string/details_issuer" + android:text="@string/details_row_title_issuer" android:textColor="@color/darkGray6" android:textSize="16sp" app:layout_constraintStart_toStartOf="parent" @@ -92,7 +92,7 @@ android:id="@+id/tv_signed_hashes_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/details_signed_hashes" + android:text="@string/details_row_title_signed_hashes" android:textColor="@color/darkGray6" android:textSize="16sp" app:layout_constraintStart_toStartOf="parent" @@ -114,7 +114,7 @@ android:layout_height="wrap_content" android:layout_marginTop="40dp" android:paddingBottom="4dp" - android:text="@string/details_settings" + android:text="@string/details_section_title_settings" android:textAllCaps="true" android:textColor="@color/colorSecondary" android:textSize="13sp" @@ -146,7 +146,7 @@ android:layout_height="wrap_content" android:paddingTop="10dp" android:paddingBottom="10dp" - android:text="@string/details_currency" + android:text="@string/details_row_title_currency" android:textColor="@color/darkGray6" android:textSize="16sp" app:layout_constraintStart_toStartOf="parent" @@ -164,7 +164,7 @@ android:layout_height="wrap_content" android:layout_marginTop="22dp" android:paddingBottom="4dp" - android:text="@string/details_card" + android:text="@string/details_section_title_card" android:textAllCaps="true" android:textColor="@color/colorSecondary" android:textSize="13sp" @@ -197,7 +197,7 @@ android:layout_height="wrap_content" android:paddingTop="10dp" android:paddingBottom="7dp" - android:text="@string/details_manage_security" + android:text="@string/details_row_title_manage_security" android:textColor="@color/darkGray6" android:textSize="16sp" app:layout_constraintStart_toStartOf="parent" @@ -216,7 +216,7 @@ app:drawableEndCompat="@drawable/ic_angle_bracket_right" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_security_title" - android:text="@string/details_erase_wallet" /> + android:text="@string/details_row_title_erase_wallet" /> diff --git a/app/src/main/res/layout/fragment_details_security.xml b/app/src/main/res/layout/fragment_details_security.xml index 17aa16be23..ea340717a4 100644 --- a/app/src/main/res/layout/fragment_details_security.xml +++ b/app/src/main/res/layout/fragment_details_security.xml @@ -20,7 +20,7 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" - app:title="@string/details_manage_security" + app:title="@string/details_row_title_manage_security" app:navigationIcon="@drawable/ic_baseline_arrow_back_24" /> diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 55b20af069..b986dc7b5c 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -54,7 +54,7 @@ android:layout_marginTop="100dp" android:paddingStart="30dp" android:paddingEnd="30dp" - android:text="@string/home_do_you_have_card" + android:text="@string/home_welcome" android:textColor="@color/darkGray6" android:textSize="29sp" app:layout_constraintTop_toBottomOf="@id/iv_home_card" /> diff --git a/app/src/main/res/layout/fragment_wallet.xml b/app/src/main/res/layout/fragment_wallet.xml index 367050f06d..99fcce3719 100644 --- a/app/src/main/res/layout/fragment_wallet.xml +++ b/app/src/main/res/layout/fragment_wallet.xml @@ -22,7 +22,7 @@ android:layout_height="?attr/actionBarSize" app:menu="@menu/wallet" app:navigationIcon="@drawable/ic_baseline_arrow_back_24" - app:title="@string/wallet_toolbar_title" /> + app:title="@string/wallet_title" /> diff --git a/app/src/main/res/layout/layout_address.xml b/app/src/main/res/layout/layout_address.xml index 960f7cd9f0..ab3ff4955a 100644 --- a/app/src/main/res/layout/layout_address.xml +++ b/app/src/main/res/layout/layout_address.xml @@ -49,7 +49,7 @@ android:paddingTop="4dp" android:paddingEnd="16dp" android:paddingBottom="25dp" - android:text="@string/wallet_explore_address" + android:text="@string/wallet_address_button_explore" android:textColor="@color/darkGray6" android:textSize="14sp" android:textStyle="bold" @@ -130,7 +130,7 @@ android:layout_height="wrap_content" android:drawablePadding="9dp" android:padding="16dp" - android:text="@string/wallet_create_payid" + android:text="@string/wallet_address_button_create_payid" android:textColor="@color/darkGray6" android:textSize="14sp" android:textStyle="bold" diff --git a/app/src/main/res/layout/layout_balance.xml b/app/src/main/res/layout/layout_balance.xml index 1931632965..de3660b802 100644 --- a/app/src/main/res/layout/layout_balance.xml +++ b/app/src/main/res/layout/layout_balance.xml @@ -29,7 +29,7 @@ android:paddingStart="16dp" android:paddingTop="4dp" android:paddingEnd="16dp" - android:text="@string/wallet_verified_balance" + android:text="@string/wallet_balance_verified" android:textColor="@color/accent" android:textSize="14sp" android:visibility="gone" @@ -45,7 +45,7 @@ android:paddingStart="16dp" android:paddingTop="4dp" android:paddingEnd="16dp" - android:text="@string/wallet_blockchain_is_unreachable" + android:text="@string/wallet_balance_blockchain_unreachable" android:textColor="@color/warning" android:textSize="14sp" android:visibility="gone" @@ -81,7 +81,7 @@ android:paddingStart="16dp" android:paddingTop="4dp" android:paddingEnd="16dp" - android:text="@string/wallet_balance_is_loading" + android:text="@string/wallet_balance_loading" android:textColor="@color/darkGray6" android:textSize="13sp" android:visibility="gone" diff --git a/app/src/main/res/layout/layout_balance_error.xml b/app/src/main/res/layout/layout_balance_error.xml index 3e25481d00..1341d89e1f 100644 --- a/app/src/main/res/layout/layout_balance_error.xml +++ b/app/src/main/res/layout/layout_balance_error.xml @@ -20,7 +20,7 @@ android:id="@+id/tv_error_title" app:layout_constraintStart_toEndOf="@id/iv_balance_error" app:layout_constraintTop_toTopOf="parent" - tools:text="@string/wallet_account_not_created" + tools:text="@string/wallet_error_no_account" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="16dp" diff --git a/app/src/main/res/layout/layout_receipt_total.xml b/app/src/main/res/layout/layout_receipt_total.xml index c24c9bff3c..b130817a2c 100644 --- a/app/src/main/res/layout/layout_receipt_total.xml +++ b/app/src/main/res/layout/layout_receipt_total.xml @@ -24,7 +24,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start" - android:text="@string/send_total" + android:text="@string/send_total_label" android:textSize="20sp" android:textStyle="bold" /> @@ -45,8 +45,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end" + android:gravity="end" android:layout_marginTop="4dp" - android:text="@string/send_total_will_be_sent" + tools:text="@string/send_total_subtitle_format" android:textColor="@color/darkGray1" /> @@ -62,7 +63,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start" - android:text="@string/send_total" + android:text="@string/send_total_label" android:textColor="@color/darkGray1" android:textSize="14sp" android:textStyle="bold" /> diff --git a/app/src/main/res/layout/layout_send_address_payid.xml b/app/src/main/res/layout/layout_send_address_payid.xml index 09a4677052..a1423a4ed9 100644 --- a/app/src/main/res/layout/layout_send_address_payid.xml +++ b/app/src/main/res/layout/layout_send_address_payid.xml @@ -11,7 +11,7 @@ android:id="@+id/tilAddressOrPayId" android:layout_width="0dp" android:layout_height="wrap_content" - android:hint="@string/send_address_or_payid" + android:hint="@string/send_destination_hint" app:boxBackgroundColor="@color/backgroundLightGray" app:errorIconDrawable="@null" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/layout_send_fee.xml b/app/src/main/res/layout/layout_send_fee.xml index ebe9b5c629..7170e42d59 100644 --- a/app/src/main/res/layout/layout_send_fee.xml +++ b/app/src/main/res/layout/layout_send_fee.xml @@ -11,7 +11,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" - android:text="@string/send_fee" + android:text="@string/send_network_fee_title" android:textSize="14sp" app:layout_constraintBottom_toBottomOf="@+id/flExpandCollapse" app:layout_constraintStart_toStartOf="parent" @@ -51,21 +51,21 @@ style="@style/ChipNetworkFee" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/send_fee_low" /> + android:text="@string/send_fee_picker_low" /> + android:text="@string/send_fee_picker_normal" /> + android:text="@string/send_fee_picker_priority" /> @@ -75,7 +75,7 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" - android:text="@string/send_fee_include" + android:text="@string/send_fee_include_description" android:textSize="13sp" /> diff --git a/app/src/main/res/layout/layout_send_receipt.xml b/app/src/main/res/layout/layout_send_receipt.xml index ed8665c225..7309706654 100644 --- a/app/src/main/res/layout/layout_send_receipt.xml +++ b/app/src/main/res/layout/layout_send_receipt.xml @@ -12,7 +12,7 @@ android:id="@+id/tvReceiptAmount" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/send_total_amount" + android:text="@string/send_amount_label" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -33,7 +33,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="@string/send_total_fee" + android:text="@string/send_fee_label" android:textColor="@color/darkGray1" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/layout_token.xml b/app/src/main/res/layout/layout_token.xml index a1343def65..8e03d11ca1 100644 --- a/app/src/main/res/layout/layout_token.xml +++ b/app/src/main/res/layout/layout_token.xml @@ -10,7 +10,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="2dp" - android:text="@string/wallet_tokens" + android:text="@string/wallet_balance_tokens_title" android:textColor="@color/darkGray1" android:textSize="14sp" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/view_snackbar_max_amount_content.xml b/app/src/main/res/layout/view_snackbar_max_amount_content.xml index 9b905b7aab..de8cdfa27e 100644 --- a/app/src/main/res/layout/view_snackbar_max_amount_content.xml +++ b/app/src/main/res/layout/view_snackbar_max_amount_content.xml @@ -11,7 +11,7 @@ android:id="@+id/tv_message" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/send_set_maximum_amount" + android:text="@string/send_max_amount_label" android:textColor="#F4F5F6" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/menu/wallet.xml b/app/src/main/res/menu/wallet.xml index 42b5aa07c6..c4947ea75b 100644 --- a/app/src/main/res/menu/wallet.xml +++ b/app/src/main/res/menu/wallet.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f9600d0a21..df165bb8c6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,129 +2,148 @@ Tangem Tap - Done - Cancel - Retry - and - Warning + No + Save changes + Warning + Retry + Done + Cancel + + Camera access denied + You have not given access to your camera, please adjust your privacy settings + Settings - Tap to scan - Tap the card - Tap to sign - Tap to purge wallet - Tap to create wallet - Tap to change passcode - Tap to change access code - - Address was successfully copied - No internet connection - @string/generic_retry - - Welcome to Tangem.\nDo you have one of our cards? + Welcome to Tangem.\nDo you have one of our cards? Welcome back to Tangem Tap. \nScan your card to start. Yes. Scan it! - Scan card Shop - No + Get ready to tap your \ncard to the back of the \nphone. + Tap in + Scan card + @string/common_no - Tangem Tap + @string/app_name Scan Send Create Wallet - Explore address + Choice wallet option + + Explore address + Create PayID + + Verified Balance + Blockchain is unreachable + Balance is loading… + Transaction is in progress + Tokens + Token + + This card is not supported + Your Tangem card was made to work with a different application. Please see the name and instructions on your card, and install the correct app. + Empty Card + Create wallet to start using Tangem card + Account is not created + Load %1s+ %2s to create account + + Receiving\u0020 + Sending\u0020 + from %s + to %s + Create PayID - Verified Balance - Blockchain is unreachable - Transaction is in progress - Your Tangem card was made to work with a different application. Please see the name and instructions on your card, and install the correct app. - Uh oh! - Balance is loading… - Account is not created - Empty Card - Create wallet to start using Tangem card - Account is not created - Load %1s+ %2s to create account - Tokens - Receiving\u0020 - Sending\u0020 - from %s - to %s - - Create PayID + Card: %s Enter desired PayID first - PayID name - $payid.tangem.com - Your PayID is information unique to you, like your phone number, email or ABN. - %s wallet + PayID name + Create + $payid.tangem.com + Your PayID is information unique to you, like your phone number, email or ABN. + This PayID already exists. Try a different one. + Error response while creating PayID + PayID created successfully and copied to clipboard - The card you scanned is a development card. Don\'t accept it as a payment. - Warning: This card has been already topped up and signed transactions in the past. + %s wallet + + Address was successfully copied + No internet connection + @string/common_retry + + The card you scanned is a development card. Don\'t accept it as a payment. + Warning: This card has been already topped up and signed transactions in the past. Consider immediate withdrawal of all funds if you have received this card from an untrusted source. + This card it is not designed to work with Tangem Tap + You may experience NFC problems with some iPhone 7/7+ during the extraction - This PayID already exists. Try a different one. - Error response while creating PayID. - - This card it is not designed to work with Tangem Tap - - Unknown error - PayID verification failed - PayID unsupported by blockchain - PayID not registered - PayID request failed - Address is invalid or unsupported by blockchain - Address is the same as wallet address - Network fee request is failed - Insufficient balance - Blockchain internal error - Amount Exceeds Balance - Fee Exceeds Balance - Total Exceeds Balance - Invalid Amount - Invalid Fee - Minimum amount is %s - Change is too small - Target account is not created. Send more than %1$s %2$s to create + Unknown error + PayID verification failed + PayID unsupported by blockchain + PayID not registered + PayID request failed + Address is invalid or unsupported by blockchain + Address is the same as wallet address + Network fee request is failed + Insufficient balance + Blockchain internal error + Amount Exceeds Balance + Fee Exceeds Balance + Total Exceeds Balance + Invalid Amount + Invalid Fee + Minimum amount is %s + Change is too small + Target account is not created. Send more than %1$s %2$s to create Send - Address or PayID - Network fee - Include fee - Low - Normal - Priority - Send - Total - Amount - Fee - will be sent - Balance: %1s %2s - Maximum amount - Transaction was signed and sent to the blockchain + Address or PayID + Network fee + Include fee + Low + Normal + Priority + @string/send_title + Total + Amount + Fee + %1s %2s will be sent + ≈ %1s (inc. fee: %2s) + %1s %2s and %3s %4s will be sent + Balance: %1s %2s + Maximum amount + Transaction was signed and sent to the blockchain - Details + Details Card settings prohibits from erasing wallet You balance on this wallet is not zero, or you have unconfirmed transactions This is the currently active option - Card ID - Issuer - Signed - Settings - App currency - Card - Validate card - Manage security - Erase wallet - Save changes + Card ID + Issuer + Signed + %s hashes + App currency + Settings + Card + Validate card + Manage security + Erase wallet Continue + Long Tap Passcode Access Code This mechanism protects against proximity attack on a card. It will enforce a delay between reception and execution of a command. After the first signed transaction this phone will be linked with the card and transactions will be signed immediately. Before execution of any command entailing a change of the card state you will have to enter the passcode. You will have to submit the correct access code before scanning the card. - This action is irreversible. If, after deleting the wallet, someone sends funds to it, then you will not be able to withdraw them. - If you forget the code, you will lose the ability to use the card. There is no way to recover or change your code if you lose it. - + This action is irreversible. If, after deleting the wallet, someone sends funds to it, then you will not be able to withdraw them. + If you forget the code, you will lose the ability to use the card. There is no way to recover or change your code if you lose it. + + Tap to scan + Tap the card + Tap to sign + Tap to erase wallet + Tap to create wallet + Tap to change the passcode + Tap to change the access code + + Invalid PayID \ No newline at end of file