diff --git a/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt b/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt
index cf8e7642dc..7e483efbca 100644
--- a/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt
+++ b/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt
@@ -333,30 +333,30 @@ class VerifyCardFragment : BaseFragment(), NavigationResultListener, NfcAdapter.
var features = ""
features += if (ctx.card!!.allowSwapPIN()!! && ctx.card!!.allowSwapPIN2()!!) {
- "Allows change PIN1 and PIN2\n"
+ getString(R.string.details_both_pins_can_be_changed)
} else if (ctx.card!!.allowSwapPIN()!!) {
- "Allows change PIN1\n"
+ getString(R.string.details_pin1_can_be_changed)
} else if (ctx.card!!.allowSwapPIN2()!!) {
- "Allows change PIN2\n"
+ getString(R.string.details_pin2_can_be_changed)
} else {
- "Fixed PIN1 and PIN2\n"
+ getString(R.string.details_both_pins_fixed)
}
if (ctx.card!!.needCVC()!!)
- features += "Requires CVC\n"
+ features += getString(R.string.details_required_cvc)
if (ctx.card!!.supportDynamicNDEF()!!) {
- features += "Dynamic NDEF for iOS\n"
+ features += getString(R.string.details_dynamic_ndef)
} else if (ctx.card!!.supportNDEF()!!)
- features += "NDEF\n"
+ features += getString(R.string.details_ndef)
if (ctx.card!!.supportBlock()!!)
- features += "Blockable\n"
+ features += getString(R.string.details_blockable)
if (ctx.card!!.supportOnlyOneCommandAtTime()!!)
- features += "Atomic command mode"
+ features += getString(R.string.details_atomic_commmands)
if (features.endsWith("\n"))
features = features.substring(0, features.length - 1)
diff --git a/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt b/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt
index 70fa44d1fd..b7de010cfa 100644
--- a/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt
+++ b/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt
@@ -627,9 +627,9 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte
val validator = BalanceValidator()
// TODO why attest=false?
validator.check(ctx, false)
- context?.let { ContextCompat.getColor(it, validator.color) }?.let { tvBalanceLine1.setTextColor(it) }
- tvBalanceLine1.text = validator.firstLine
- tvBalanceLine2.text = validator.getSecondLine(false)
+ context?.let { ContextCompat.getColor(it, validator.color) }?.let { tvBalanceLine1?.setTextColor(it) }
+ tvBalanceLine1?.text = getString(validator.firstLine)
+ tvBalanceLine2?.text = getString(validator.getSecondLine(false))
}
val engine = CoinEngineFactory.create(ctx)
diff --git a/app/src/main/java/com/tangem/wallet/BalanceValidator.java b/app/src/main/java/com/tangem/wallet/BalanceValidator.java
index 9e5bc56951..9457557164 100644
--- a/app/src/main/java/com/tangem/wallet/BalanceValidator.java
+++ b/app/src/main/java/com/tangem/wallet/BalanceValidator.java
@@ -1,36 +1,40 @@
package com.tangem.wallet;
+import androidx.annotation.StringRes;
+
import com.tangem.App;
import com.tangem.tangem_card.data.TangemCard;
public class BalanceValidator {
- private String firstLine;
- private String secondLine;
+ private @StringRes int firstLine;
+ private @StringRes int secondLine;
private int score;
private boolean hasPending;
- public String getFirstLine() {
+ public @StringRes int getFirstLine() {
return firstLine;
}
- public void setFirstLine(String value) {
+ public void setFirstLine(@StringRes int value) {
firstLine = value;
}
- public String getSecondLine(Boolean recommend) {
- if (!recommend) return secondLine;
- if (score > 89) {
- return "Safe to accept. " + secondLine;
- } else if (score > 74) {
- return "Not fully safe to accept. " + secondLine;
- } else if (score > 30) {
- return "Not safe to accept. " + secondLine;
- } else {
- return "Do not accept! " + secondLine;
- }
+ public @StringRes int getSecondLine(Boolean recommend) {
+// if (!recommend)
+ return secondLine;
+
+// if (score > 89) {
+// return "Safe to accept. " + secondLine;
+// } else if (score > 74) {
+// return "Not fully safe to accept. " + secondLine;
+// } else if (score > 30) {
+// return "Not safe to accept. " + secondLine;
+// } else {
+// return "Do not accept! " + secondLine;
+// }
}
- public void setSecondLine(String value) {
+ public void setSecondLine(@StringRes int value) {
secondLine = value;
}
@@ -55,8 +59,8 @@ public class BalanceValidator {
}
public void check(TangemContext ctx, Boolean attest) {
- firstLine = "Verification failed";
- secondLine = "";
+ firstLine = R.string.balance_validator_first_line_verification_failed;
+ secondLine = R.string.empty_string;
TangemCard card = ctx.getCard();
CoinEngine engine = CoinEngineFactory.INSTANCE.create(ctx);
@@ -66,8 +70,8 @@ public class BalanceValidator {
if( hasPending )
{
- firstLine = "Pending transaction...";
- secondLine = "Swipe down to refresh";
+ firstLine = R.string.balance_validator_first_line_pending_transaction;
+ secondLine = R.string.balance_validator_second_line_swipe_to_refresh;
return;
}
@@ -76,38 +80,38 @@ public class BalanceValidator {
if (!card.isWalletPublicKeyValid()) {
score = 0;
- firstLine = "Verification failed";
- secondLine = "Wallet verification failed. Tap again.";
+ firstLine = R.string.balance_validator_first_line_verification_failed;
+ secondLine = R.string.balance_validator_second_line_verification_failed;
return;
}
if (card.isOnlineVerified() != null && !card.isOnlineVerified()) {
score = 0;
- firstLine = "Not genuine banknote";
- secondLine = "Tangem Attestation service says the banknote is not genuine.";
+ firstLine = R.string.balance_validator_first_line_not_genuine;
+ secondLine = R.string.balance_validator_second_line_failed_attestation;
return;
}
if (card.isCodeConfirmed() != null && !card.isCodeConfirmed()) {
score = 0;
- firstLine = "Not genuine banknote";
- secondLine = "Firmware binary code verification failed";
+ firstLine = R.string.balance_validator_first_line_not_genuine;
+ secondLine = R.string.balance_validator_second_line_failed_binary_code_verification;
return;
}
if (card.PIN2 == TangemCard.PIN2_Mode.CustomPIN2) {
score = 0;
- firstLine = "Locked with PIN2";
- secondLine = "Ask the holder to disable PIN2 before accepting";
+ firstLine = R.string.balance_validator_first_line_locked_pin2;
+ secondLine = R.string.balance_validator_second_line_disable_pin_2;
return;
}
// rule 2.b
if (card.isOnlineVerified()) {
- secondLine += "Verified note identity. ";
+ secondLine += R.string.balance_validator_first_line_verify_identity;
} else {
score = 80;
- secondLine += "Card identity was not verified. Cannot reach Tangem attestation service. ";
+ secondLine += R.string.balance_validator_second_line_identity_not_verified;
}
}
}
diff --git a/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java b/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java
index 25d5aa6cc2..953259ba17 100644
--- a/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java
+++ b/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java
@@ -234,8 +234,8 @@ public class BtcCashEngine extends CoinEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
@@ -249,18 +249,18 @@ public class BtcCashEngine extends CoinEngine {
if (coinData.getBalanceUnconfirmed() != 0) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived() && coinData.isBalanceEqual()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalanceInInternalUnits().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
@@ -275,8 +275,8 @@ public class BtcCashEngine extends CoinEngine {
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalanceInInternalUnits().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
// if(card.getFailedBalanceRequestCounter()!=0) {
diff --git a/app/src/main/java/com/tangem/wallet/binance/BinanceEngine.java b/app/src/main/java/com/tangem/wallet/binance/BinanceEngine.java
index e61cb7115f..ef2d8e087f 100644
--- a/app/src/main/java/com/tangem/wallet/binance/BinanceEngine.java
+++ b/app/src/main/java/com/tangem/wallet/binance/BinanceEngine.java
@@ -226,30 +226,30 @@ public class BinanceEngine extends CoinEngine {
if(coinData.isError404()) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("No account or network error");
- balanceValidator.setSecondLine("To create account send funds to this address");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_no_account);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_create_account);
} else {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
}
if (coinData.isBalanceReceived()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalance().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalance().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
return true;
diff --git a/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java b/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java
index d1f8a9564e..0fe90dd9f0 100644
--- a/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java
+++ b/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java
@@ -257,8 +257,8 @@ public class BtcEngine extends CoinEngine {
try {
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
@@ -272,18 +272,18 @@ public class BtcEngine extends CoinEngine {
if (coinData.getBalanceUnconfirmed() != 0 || coinData.isHasUnconfirmed()) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived() && coinData.isBalanceEqual()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalanceInInternalUnits().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
@@ -298,8 +298,8 @@ public class BtcEngine extends CoinEngine {
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalanceInInternalUnits().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
// if(card.getFailedBalanceRequestCounter()!=0) {
diff --git a/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java b/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java
index 8f46e4b8d0..5e83598bc8 100644
--- a/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java
+++ b/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java
@@ -236,25 +236,25 @@ public class CardanoEngine extends CoinEngine {
try {
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
if (coinData.isBalanceReceived()) {// && coinData.isBalanceEqual()) { TODO:check
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalanceInInternalUnits().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalanceInInternalUnits().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
return true;
diff --git a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java
index e64d02975b..4a29f13377 100644
--- a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java
+++ b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java
@@ -226,8 +226,8 @@ public class DucatusEngine extends BtcEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
@@ -241,18 +241,18 @@ public class DucatusEngine extends BtcEngine {
if (coinData.getBalanceUnconfirmed() != 0) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived()) {// && coinData.isBalanceEqual()) { TODO:check
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalanceInInternalUnits().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
@@ -267,8 +267,8 @@ public class DucatusEngine extends BtcEngine {
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalanceInInternalUnits().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
// if(card.getFailedBalanceRequestCounter()!=0) {
diff --git a/app/src/main/java/com/tangem/wallet/eos/EosEngine.java b/app/src/main/java/com/tangem/wallet/eos/EosEngine.java
index 235923561e..51705e5d92 100644
--- a/app/src/main/java/com/tangem/wallet/eos/EosEngine.java
+++ b/app/src/main/java/com/tangem/wallet/eos/EosEngine.java
@@ -277,25 +277,25 @@ public class EosEngine extends CoinEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (getBalance() == null) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
if (coinData.isBalanceReceived()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (getBalance().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && getBalance().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Restore internet connection to obtain trusted balance from blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_verify_online);
}
return true;
diff --git a/app/src/main/java/com/tangem/wallet/eth/EthEngine.java b/app/src/main/java/com/tangem/wallet/eth/EthEngine.java
index 6c20030578..fb92bb5751 100644
--- a/app/src/main/java/com/tangem/wallet/eth/EthEngine.java
+++ b/app/src/main/java/com/tangem/wallet/eth/EthEngine.java
@@ -311,32 +311,32 @@ public class EthEngine extends CoinEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (getBalance() == null) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
if (!coinData.getUnconfirmedTXCount().equals(coinData.getConfirmedTXCount())) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (getBalance().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && getBalance().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Restore internet connection to obtain trusted balance from blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_verify_online);
}
return true;
diff --git a/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java b/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java
index 01b0c78627..b8d834bce6 100644
--- a/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java
+++ b/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java
@@ -235,8 +235,8 @@ public class LtcEngine extends BtcEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
@@ -250,18 +250,18 @@ public class LtcEngine extends BtcEngine {
if (coinData.getBalanceUnconfirmed() != 0) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived() && coinData.isBalanceEqual()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalanceInInternalUnits().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
@@ -276,8 +276,8 @@ public class LtcEngine extends BtcEngine {
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalanceInInternalUnits().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_verify_online);
}
// if(card.getFailedBalanceRequestCounter()!=0) {
diff --git a/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java b/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java
index 28d86ebbdf..859d8f3d24 100644
--- a/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java
+++ b/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java
@@ -15,6 +15,7 @@ import com.tangem.wallet.BalanceValidator;
import com.tangem.wallet.CoinData;
import com.tangem.wallet.CoinEngine;
import com.tangem.wallet.Keccak256;
+import com.tangem.wallet.R;
import com.tangem.wallet.TangemContext;
import com.tangem.wallet.eth.EthData;
import com.tangem.wallet.token.TokenData;
@@ -210,20 +211,20 @@ public class NftTokenEngine extends CoinEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (coinData.getBalanceInInternalUnits() == null) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("No connection");
- balanceValidator.setSecondLine("Authenticity cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_no_connection);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_authenticity_not_verified);
return false;
}
if (coinData.isBalanceReceived()) {
if (isBalanceNotZero()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified in blockchain");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_in_blockchain);
+ balanceValidator.setSecondLine(R.string.empty_string);
} else {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Authenticity was not verified");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_authenticity);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
diff --git a/app/src/main/java/com/tangem/wallet/token/TokenEngine.java b/app/src/main/java/com/tangem/wallet/token/TokenEngine.java
index fdb57d5e2f..df1a0088f1 100644
--- a/app/src/main/java/com/tangem/wallet/token/TokenEngine.java
+++ b/app/src/main/java/com/tangem/wallet/token/TokenEngine.java
@@ -382,32 +382,32 @@ public class TokenEngine extends CoinEngine {
public boolean validateBalance(BalanceValidator balanceValidator) {
if (getBalance() == null) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
if (!coinData.getUnconfirmedTXCount().equals(coinData.getConfirmedTXCount())) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (getBalance().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && getBalance().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Restore internet connection to obtain trusted balance from blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_verify_online);
}
return true;
diff --git a/app/src/main/java/com/tangem/wallet/xlm/XlmEngine.java b/app/src/main/java/com/tangem/wallet/xlm/XlmEngine.java
index e8ad0ce1d2..e2940ab4d6 100644
--- a/app/src/main/java/com/tangem/wallet/xlm/XlmEngine.java
+++ b/app/src/main/java/com/tangem/wallet/xlm/XlmEngine.java
@@ -200,12 +200,12 @@ public class XlmEngine extends CoinEngine {
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
if (coinData.isError404()) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("No account or network error");
- balanceValidator.setSecondLine("To create account send 1+ XLM to this address");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_no_account);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_create_account_instruction);
} else {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
}
@@ -227,11 +227,11 @@ public class XlmEngine extends CoinEngine {
if (coinData.isBalanceReceived() && coinData.isBalanceEqual()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalance().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
@@ -246,8 +246,8 @@ public class XlmEngine extends CoinEngine {
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalance().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
// if(card.getFailedBalanceRequestCounter()!=0) {
diff --git a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java
index d10cb59f62..3e6e0d1802 100644
--- a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java
+++ b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java
@@ -198,39 +198,39 @@ public class XrpEngine extends CoinEngine {
try {
if (coinData.isAccountNotFound()) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Account not found");
- balanceValidator.setSecondLine("Load 20+ XRP to create account");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_account_not_found);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_create_account_xrp);
return false;
}
if (((ctx.getCard().getOfflineBalance() == null) && !ctx.getCoinData().isBalanceReceived()) || (!ctx.getCoinData().isBalanceReceived() && (ctx.getCard().getRemainingSignatures() != ctx.getCard().getMaxSignatures()))) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Unknown balance");
- balanceValidator.setSecondLine("Balance cannot be verified. Swipe down to refresh.");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_unknown_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
return false;
}
if (coinData.hasUnconfirmed()) {
balanceValidator.setScore(0);
- balanceValidator.setFirstLine("Transaction in progress");
- balanceValidator.setSecondLine("Wait for confirmation in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_transaction_in_progress);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_wait_for_confirmation);
return false;
}
if (coinData.isBalanceReceived()) {
balanceValidator.setScore(100);
- balanceValidator.setFirstLine("Verified balance");
- balanceValidator.setSecondLine("Balance confirmed in blockchain");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain);
if (coinData.getBalanceInInternalUnits().isZero()) {
- balanceValidator.setFirstLine("Empty wallet");
- balanceValidator.setSecondLine("");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet);
+ balanceValidator.setSecondLine(R.string.empty_string);
}
}
if ((ctx.getCard().getOfflineBalance() != null) && !coinData.isBalanceReceived() && (ctx.getCard().getRemainingSignatures() == ctx.getCard().getMaxSignatures()) && coinData.getBalanceInInternalUnits().notZero()) {
balanceValidator.setScore(80);
- balanceValidator.setFirstLine("Verified offline balance");
- balanceValidator.setSecondLine("Can't obtain balance from blockchain. Restore internet connection to be more confident. ");
+ balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_offline);
+ balanceValidator.setSecondLine(R.string.balance_validator_second_line_internet_to_get_balance);
}
return true;
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000000..baafb172fc
--- /dev/null
+++ b/app/src/main/res/values-fr/strings.xml
@@ -0,0 +1,294 @@
+
+
+
+ Annuler
+ Oui
+ Non
+ Erreur!
+ Pas de connexion avec les nœuds de la chaîne de blocage
+ Continuer
+ Le code PIN est vide
+ Blockchain
+ Réessayez de numériser
+ Impossible d\'effacer le porte-monnaie avec un solde différent de zéro
+ Envoyer le paiement
+ Depuis la carte
+ sur la carte
+ avec solde
+ Envoyer au porte-monnaie
+ Montant
+ BTC
+ Tangem AG
+ Scanner à nouveau pour vérifier la carte
+ READING…
+ Le porte-monnaie est vide
+
+
+ Paramètres
+ Commun
+ Frais de modification manuelle
+ Modes de cryptage
+
+ - Aucun
+ - Rapide
+ - Fort
+
+
+ - 0
+ - 1
+ - 2
+
+ Sélectionner des nœuds
+
+
+ Votre appareil Android est rooté. La sécurité en danger!
+ Je l\'ai
+ Avertissement
+ Délai de sécurité
+ Oups .. Il semble que votre smartphone ne supporte pas de tels paquets NFC.
+ Essayez d\'envoyer une quantité inférieure ou utilisez un smartphone avec prise en charge complète de NFC.
+ Votre argent est en jeu!
+ Cette carte a imposé un délai de sécurité
+ Veuillez tenir la carte fermement \ n jusqu\'à ce que l\'opération soit terminéev…
+ Vous devrez peut-être répéter cette opération plusieurs fois en fonction des performances NFC de votre smartphone. \ n Ceci est fait pour la sécurité de vos fonds.
+
+
+ Gérer le code PIN de l\'utilisateur…
+ Gérer le code PIN de l\'utilisateur…
+ Envoyer les journaux…
+ À propos de…
+
+
+ Définir PIN1
+ Définir le code PIN2
+ >Réinitialiser PIN1 par défaut
+ Réinitialiser le code PIN2 par défaut
+ Réinitialiser les codes confidentiels par défaut
+ Effacer le porte-monnaie
+
+
+ ALPHA v.%1$s \n dev \n génération %2$s
+ v.%1$s
+ Cardano
+
+
+ Appuyez sur la carte Tangem avec votre smartphone
+ Scanner une carte avec votre \n %1$s \n comme indiqué ci-dessus
+ phone
+ Le porte-monnaie a été effacé
+ Non personnalisé
+ Il existe une nouvelle version de l\'application: %1$s
+ Mettre à jour
+
+
+ Aucun porte-monnaie compatible installé
+ Veuillez patienter pendant que la transaction précédente est confirmée dans la blockchain
+ Impossible d\'obtenir toutes les entrées. Balayez vers le bas pour actualiser.
+ La carte n\'a plus de signature!
+ Si vous oubliez votre nouveau code PIN, vous perdrez votre argent pour toujours!
+ Si vous utilisez un code PIN par défaut, une personne peut voler votre argent!
+ >Impossible d\'obtenir des données de la blockchain
+ Impossible d\'obtenir des données de la blockchain (connexion refusée)
+ Impossible d\'obtenir les données de la blockchain (réponse vide reçue)
+ Impossible d\'obtenir les données de la blockchain (erreur de communication)
+ Partager l\'adresse du porte-monnaie avec:
+ copié dans le presse-papiers
+ Retirer
+ Charger
+ Explorer
+ Copier
+ Détails
+ Scanner
+ Vérification dans la blockchain…
+ Avertissement: cette carte a déjà été complétée et des transactions signées dans le passé.Envisagez le retrait immédiat de tous les fonds si vous avez reçu cette carte d’une source non fiable.
+ VERIFYING…
+ via CRYPTONIT
+ via CRYPTONIT2
+ via KRAKEN
+ Une autre application de porte-monnaie
+ Adresse de partage
+ Afficher le code QR
+ LOAD
+
+
+ Solde vérifié
+ Solde inconnu
+ Transaction en cours
+ Solde hors ligne vérifié
+ Portefeuille vide
+ La vérification a échoué
+ Transaction en attente…
+ Billet non authentique
+ Verrouillé avec code PIN2
+ Identité de note vérifiée.
+ Aucun compte ni erreur réseau
+ Compte introuvable
+ Pas de connexion
+ Vérifié dans la blockchain
+ L\'authenticité n\'a pas été vérifiée
+
+ Solde confirmé dans la blockchain
+ Solde ne peut pas être vérifié. Balayez vers le bas pour actualiser..
+ Attendez la confirmation dans la chaîne de blocs
+ Restaurez la connexion Internet pour obtenir un solde sécurisé de la chaîne de blocs
+ Impossible d\'obtenir le
+ solde de la blockchain. Restaurez la connexion Internet pour être plus confiant.
+ Glissez vers le bas pour actualiser
+ La vérification du portefeuille a échoué. Touchez à nouveau.
+ Le service d\'attestation Tangem indique que le billet n\'est pas authentique.
+ La vérification du code binaire du micrologiciel a échoué
+ Demandez au titulaire de désactiver le code PIN2 avant d\'accepter
+ \'identité de la carte n\'a pas été vérifiée. Impossible d\'atteindre le service d\'attestation Tangem.
+ Pour créer un compte, envoyez des fonds à cette adresse
+ Pour créer un compte, envoyez 1+ XLM à cette adresse
+ Chargez plus de 20 XRP pour créer un compte
+ L\'authenticité ne peut pas être vérifiée. Balayez vers le bas pour actualiser.
+
+
+ Maintenant, touchez la carte avec l\'ID
+ pour créer le porte-monnaie
+ pour effacer le porte-monnaie
+ pour signer le paiement
+ pour changer les codes PIN / PIN2
+ En tapotant sur la carte, vous retirerez définitivement le porte-monnaie de la blockchain. Assurez-vous qu\'il n\'y aura pas d\autres transactions entrantes
+ Impossible d\'effacer le porte-monnaie. Veillez à entrer le code PIN2 correct!
+ Impossible de créer un porte-monnaie. Veillez à entrer le code PIN2 correct!
+
+
+ Entrez un nouveau code PIN ou utilisez un lecteur d\'empreintes digitales
+ Entrez le nouveau code PIN
+ Entrez un code PIN ou utilisez un lecteur d\'empreintes digitales
+ Entrez le code PIN2 ou utilisez un lecteur d\'empreintes digitales
+ Confirmer le nouveau code confidentiel
+ Confirmer le nouveau code PIN2
+ Entrez le code confidentiel
+ Entrez le code PIN2
+ Entrez un nouveau code PIN2 ou utilisez un lecteur d\'empreintes digitales
+ Entrez le nouveau code PIN2
+ Veuillez saisir le code PIN pour confirmation!
+
+
+ Veuillez patienter pendant l\'envoi du paiement…
+ La transaction a été signée et envoyée avec succès au noeud de la blockchain. La balance de porte-monnaie sera mise à jour dans un moment
+ Réessayez. Échec d\'envoi de la transaction (%s)
+ Impossible de signer la transaction. Veillez à entrer le code PIN2 correct!
+ Le montant et les frais sont supérieurs au solde total du porte-monnaie!
+
+
+ entrez l\'adresse du porte-monnaie
+ entrer le montant
+ Vérifiez
+ Pas assez de fonds
+ Format de montant inconnu
+ Adresse du porte-monnaie de destination incorrecte
+ L\'adresse du porte-monnaie de destination est identique à l\'adresse source
+ Le montant est vide
+
+
+ adresse du porte-monnaie cible
+ montant des frais
+ Frais
+ Envoyer
+ Minimal
+ Normal
+ Priorité
+ Frais inclus
+ Frais non compris
+ (frais inclus)
+ (sans frais)
+ Les données obtenues sont obsolètes! Réessayez
+ Impossible d\'atteindre le nœud de la blockchain active en cours. Réessayez
+ Impossible de vérifier le solde! Pas de connexion avec les noeuds de la blockchain
+ Impossible de calculer les frais! Mauvaises données reçues du noeud
+ Veuillez attendre la confirmation de la transaction entrante
+ Pas assez de fonds ETH contre des taxes
+ Pas assez de fonds RBTC pour les frais
+ Un code PIN2 est requis pour signer le paiement
+ Service indisponible
+ Vous courez un risque de retarder la transaction
+
+
+ Le porte-monnaie n\'a pas encore été créé
+ Créer un porte-monnaie
+
+
+ ID de la carte
+ Méthode de signature
+ Cette carte est
+ Transactions signées
+ Signatures restantes
+ Heure de la dernière signature
+ Fonctionnalités
+ Fabricant
+ Porte-monnaie
+ Identité de la carte
+ Attested
+ Non confirmé
+ Réutilisable
+ None
+ Le dernier!
+ Unlimited
+ Carte ponctuelle
+ Micrologiciel
+ Date d\'enregistrement
+ Possession prouvée
+ Possession NON prouvée
+ non disponible
+ Émetteur
+ Clé privée
+ Noeud de validation
+ Unspents
+ Cette carte est protégé par le code PIN1 par défaut
+ Cette carte est protégé par le code PIN1 de l’utilisateur
+ Cette carte est protégé par le code PIN2 par défaut
+ Cette carte est protégé par le code PIN2 de l’utilisateur
+ Carte débloqué, uniquement à des fins de développement
+ Cette carte appliquera un délai de sécurité de %.0f secondes pour toutes lesopérations nécessitant un code PIN2
+ Permet de changer les codes PIN1 et PIN2\n
+ Permet de changer PIN1\n
+ Permet de changer le code PIN2\n
+ PIN1 et PIN2 sont fixes\n
+ Requiert CVC\n
+ NDEF dynamique pour iOS\n
+ NDEF\n
+ Bloquable\n
+ Mode de commande atomique
+
+
+ Enregistrer
+ Supprimer
+ Protéger avec empreinte digitale
+ Appuyez sur le lecteur d\'empreintes digitales pour confirmer
+ L\'utilisateur n\'a pas activé l\'écran verrouillé
+ L\'utilisateur n\'a pas obtenu l\'autorisation d\'utiliser une empreinte digitale
+ L\'utilisateur n\'a enregistré aucune empreinte digitale
+ Échec de l\'enregistrement du code confidentiel
+ Entrez le code PIN et enregistrez-le
+ Entrez le code PIN2 et enregistrez-le
+
+
+ Paiement CRYPTONIT
+ À partir du compte CRYPTONIT:
+ ID utilisateur:
+ clé:
+ secret:
+ nonce:
+ nom d\'utilisateur:
+ mot_de_passe:
+ Veuillez saisir les données du compte
+ Obtenir le solde
+ Retrait
+ frais d\'opération
+ Retrait réussi!
+
+
+ Paiement KRAKEN
+ À partir du compte KRAKEN:
+ clé:
+ secret:
+ "Veuillez saisir les données du compte
+ Obtenir le solde
+ Retrait
+ Opération annulée!
+ Veuillez confirmer retirer
+
\ 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 53129d77a4..65b9ca9a21 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -16,7 +16,7 @@
with balance
Send to wallet
Amount
- BTC
+ BTC
Tangem AG
Scan again to verify the card
READING…
@@ -70,7 +70,6 @@
v.%1$s
Cardano
-
Tap Tangem card with your smartphone
Scan a banknote with your \n %1$s \n as shown above
@@ -111,6 +110,39 @@
Show QR-code
LOAD
+
+ Verified balance
+ Unknown balance
+ Transaction in progress
+ Verified offline balance
+ Empty wallet
+ Verification failed
+ Pending transaction…
+ Not genuine banknote
+ Locked with PIN2
+ Verified note identity.
+ No account or network error
+ Account not found
+ No connection
+ Verified in blockchain
+ Authenticity was not verified
+
+ Balance confirmed in blockchain
+ Balance cannot be verified. Swipe down to refresh.
+ Wait for confirmation in blockchain
+ Restore internet connection to obtain trusted balance from blockchain
+ Can\'t obtain balance from blockchain. Restore internet connection to be more confident.
+ Swipe down to refresh
+ Wallet verification failed. Tap again.
+ Tangem Attestation service says the banknote is not genuine.
+ Firmware binary code verification failed
+ Ask the holder to disable PIN2 before accepting
+ Card identity was not verified. Cannot reach Tangem attestation service.
+ To create account send funds to this address
+ To create account send 1+ XLM to this address
+ Load 20+ XRP to create account
+ Authenticity cannot be verified. Swipe down to refresh.
+
Now touch the banknote with ID
to create the wallet
@@ -134,7 +166,6 @@
Enter new PIN2
Please enter the PIN for confirmation!
-
Please wait while the payment is sent…
Transaction has been successfully signed and sent to blockchain node. Wallet balance will be updated in a while
@@ -212,6 +243,15 @@
This banknote is protected by user\'s PIN2 code
Unlocked banknote, only for development use
This banknote will enforce %.0f seconds security delay for all operations requiring PIN2 code
+ Allows to change PIN1 and PIN2/n
+ Allows to change PIN1/n
+ Allows to change PIN2/n
+ Fixed PIN1 and PIN2/n
+ Requires CVC/n
+ Dynamic NDEF for iOS/n
+ NDEF/n
+ Blockable/n
+ Atomic command mode
Save
diff --git a/app/src/main/res/values/strings_untranslatable.xml b/app/src/main/res/values/strings_untranslatable.xml
index 7783a7ef97..0b6a2bcf98 100644
--- a/app/src/main/res/values/strings_untranslatable.xml
+++ b/app/src/main/res/values/strings_untranslatable.xml
@@ -1,31 +1,32 @@
- <--
- -->
- **
- !!
- --
- -- -- --
- ---- ---- ---- ----
- <
- --
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 0
+ <--
+ -->
+ **
+ !!
+ --
+ -- -- --
+ ---- ---- ---- ----
+ <
+ --
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 0
- com.tangem.data.LogFileProvider
- Can\'t create CoinEngine!
+ com.tangem.data.LogFileProvider
+ Can\'t create CoinEngine!
- category_common
- manual_editing_fee
- select_nodes
- encryption_modes
+ category_common
+ manual_editing_fee
+ select_nodes
+ encryption_modes
diff --git a/tangem-sdk/src/main/res/values-fr/strings.xml b/tangem-sdk/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000000..e546894281
--- /dev/null
+++ b/tangem-sdk/src/main/res/values-fr/strings.xml
@@ -0,0 +1,8 @@
+
+
+ tangemcard
+ OK
+ Quitter
+ Activer NFC?
+ Cette application est inutile lorsque NFC est désactivé. Le mode lecteur en dépend. Appuyez sur OK pour accéder aux paramètres, où vous pouvez activer NFC.
+
\ No newline at end of file
diff --git a/tangem-sdk/src/main/res/values/strings.xml b/tangem-sdk/src/main/res/values/strings.xml
index b92c6c14f9..067b995daf 100644
--- a/tangem-sdk/src/main/res/values/strings.xml
+++ b/tangem-sdk/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
- tangemcard
+ tangemcard
OK
Quit
Enable NFC?